From d4a0280fd01c0ce9db7fa638afd78bda3c3f4db5 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 10 Feb 2015 02:00:29 -0700 Subject: [PATCH] add rucksack package --- index.html | 4 +++ src/rucksack-1-freeimage.patch | 51 ++++++++++++++++++++++++++++++++++ src/rucksack-test.c | 14 ++++++++++ src/rucksack.mk | 31 +++++++++++++++++++++ 4 files changed, 100 insertions(+) create mode 100644 src/rucksack-1-freeimage.patch create mode 100644 src/rucksack-test.c create mode 100644 src/rucksack.mk diff --git a/index.html b/index.html index 5a051f48..7b8a823f 100644 --- a/index.html +++ b/index.html @@ -2309,6 +2309,10 @@ local-pkg-list: $(LOCAL_PKG_LIST) rubberband Rubberband + + rucksack + rucksack + sdl SDL diff --git a/src/rucksack-1-freeimage.patch b/src/rucksack-1-freeimage.patch new file mode 100644 index 00000000..f998b0bf --- /dev/null +++ b/src/rucksack-1-freeimage.patch @@ -0,0 +1,51 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c24e161..9867184 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -19,12 +19,15 @@ else(C99_FLAG_DETECTED) + endif(C99_FLAG_DETECTED) + + # check for freeimage +-find_package(FreeImage) +-if(FreeImage_FOUND) ++if(NOT PKG_CONFIG_FOUND) ++ find_package(PkgConfig REQUIRED) ++endif() ++pkg_check_modules(FREEIMAGE freeimage) ++if(FREEIMAGE_FOUND) + set(STATUS_FREEIMG "OK") +-else(FreeImage_FOUND) ++else(FREEIMAGE_FOUND) + set(STATUS_FREEIMG "not found") +-endif(FreeImage_FOUND) ++endif(FREEIMAGE_FOUND) + + # check for laxjson + find_package(LaxJson) +@@ -76,7 +79,7 @@ set(EXE_HEADERS + ${PROJECT_SOURCE_DIR}/src/mkdirp.h + ) + +-set(LIB_CFLAGS "${C99_C_FLAGS} -pedantic -Werror -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_POSIX_C_SOURCE=200809L") ++set(LIB_CFLAGS "${C99_C_FLAGS} -pedantic -Werror -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_POSIX_C_SOURCE=200809L ${FREEIMAGE_CFLAGS_OTHER}") + set(EXE_CFLAGS ${LIB_CFLAGS}) + + add_library(rucksack_static STATIC ${RUCKSACK_LIB_SOURCES} ${RUCKSACK_LIB_HEADERS}) +@@ -92,7 +95,7 @@ set_target_properties(rucksack_shared PROPERTIES + COMPILE_FLAGS ${LIB_CFLAGS}) + + +-include_directories(${FreeImage_INCLUDE_DIRS}) ++include_directories(${FREEIMAGE_INCLUDE_DIRS}) + add_library(rucksackspritesheet_static STATIC + ${RUCKSACK_SPRITESHEET_LIB_SOURCES} ${RUCKSACK_SPRITESHEET_LIB_HEADERS}) + set_target_properties(rucksackspritesheet_static PROPERTIES +@@ -106,7 +109,7 @@ set_target_properties(rucksackspritesheet_shared PROPERTIES + SOVERSION ${VERSION_MAJOR} + VERSION ${VERSION} + COMPILE_FLAGS ${LIB_CFLAGS}) +-target_link_libraries(rucksackspritesheet_shared rucksack_shared ${FreeImage_LIBRARIES}) ++target_link_libraries(rucksackspritesheet_shared rucksack_shared ${FREEIMAGE_LIBRARIES}) + + + diff --git a/src/rucksack-test.c b/src/rucksack-test.c new file mode 100644 index 00000000..b18a991d --- /dev/null +++ b/src/rucksack-test.c @@ -0,0 +1,14 @@ +/* + * This file is part of MXE. + * See index.html for further information. + */ + +#include + +int main(int argc, char * argv[]) { + (void)argc; + struct RuckSackBundle *bundle; + rucksack_bundle_open(argv[1], &bundle); + rucksack_bundle_close(bundle); + return 0; +} diff --git a/src/rucksack.mk b/src/rucksack.mk new file mode 100644 index 00000000..3db9c8db --- /dev/null +++ b/src/rucksack.mk @@ -0,0 +1,31 @@ +# This file is part of MXE. +# See index.html for further information. + +PKG := rucksack +$(PKG)_IGNORE := +$(PKG)_VERSION := 3.1.0 +$(PKG)_CHECKSUM := 77b0d5d1cb4417496835df811eef5ae1a7d14487 +$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) +$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.gz +$(PKG)_URL := https://github.com/andrewrk/rucksack/archive/$($(PKG)_VERSION).tar.gz +$(PKG)_DEPS := gcc freeimage liblaxjson + +define $(PKG)_UPDATE + $(WGET) -q -O- 'https://github.com/andrewrk/rucksack/releases' | \ + $(SED) -n 's,.*/archive/\([0-9][^>]*\)\.tar.*,\1,p' | \ + head -1 +endef + +define $(PKG)_BUILD + mkdir '$(1)/build' + cd '$(1)/build' && cmake .. -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' + + $(MAKE) -C '$(1)/build' -j '$(JOBS)' install VERBOSE=1 + + '$(TARGET)-gcc' \ + -W -Wall -Werror -ansi -pedantic -std=c99 \ + '$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-rucksack.exe' \ + -lrucksack -llaxjson \ + `'$(TARGET)-pkg-config' freeimage --cflags --libs` +endef +