diff options
author | Jakub Jirutka <jakub@jirutka.cz> | 2017-04-15 01:28:21 +0200 |
---|---|---|
committer | Jakub Jirutka <jakub@jirutka.cz> | 2017-04-15 01:28:21 +0200 |
commit | 5c0d4d7203965cf8c0ed0a393742c7c3be788504 (patch) | |
tree | 0259e7d9a85c26ff888a8dc9b75efd8812ea61fe /community | |
parent | 6020727d4b626472aac1a38a7ca0ed6959f9a85f (diff) | |
download | aports-5c0d4d7203965cf8c0ed0a393742c7c3be788504.tar.bz2 aports-5c0d4d7203965cf8c0ed0a393742c7c3be788504.tar.xz |
community/binaryen: move from testing
Diffstat (limited to 'community')
-rw-r--r-- | community/binaryen/APKBUILD | 56 | ||||
-rw-r--r-- | community/binaryen/dont-enforce-sse.patch | 12 | ||||
-rw-r--r-- | community/binaryen/fix-install-paths.patch | 85 | ||||
-rw-r--r-- | community/binaryen/link-dynamically.patch | 70 |
4 files changed, 223 insertions, 0 deletions
diff --git a/community/binaryen/APKBUILD b/community/binaryen/APKBUILD new file mode 100644 index 0000000000..f9927582bd --- /dev/null +++ b/community/binaryen/APKBUILD @@ -0,0 +1,56 @@ +# Contributor: Jakub Jirutka <jakub@jirutka.cz> +# Maintainer: Jakub Jirutka <jakub@jirutka.cz> +pkgname=binaryen +pkgver=1.37.9 +pkgrel=1 +pkgdesc="Compiler infrastructure and toolchain library for WebAssembly, in C++" +url="https://github.com/WebAssembly/binaryen" +arch="all" +license="ASL-2.0" +makedepends="cmake" +checkdepends="nodejs python2" +subpackages="$pkgname-dev" +source="$pkgname-$pkgver.tar.gz::https://github.com/WebAssembly/$pkgname/archive/$pkgver.tar.gz + fix-install-paths.patch + link-dynamically.patch + dont-enforce-sse.patch" +builddir="$srcdir/$pkgname-$pkgver" + +case "$CARCH" in + x86) options="!check";; # XXX: two tests fail +esac + +build() { + cd "$builddir" + + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + -DCMAKE_C_FLAGS="$CFLAGS" \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DBUILD_SHARED_LIBS=ON + make +} + +check() { + cd "$builddir" + + # waterfall requires additional dependency + # gcc-tests fail, dunno why + python2 check.py --no-test-waterfall --no-run-gcc-tests +} + +package() { + cd "$builddir" + + make install DESTDIR="$pkgdir" + rm -R "$pkgdir"/usr/src + rm "$pkgdir"/usr/share/binaryen/binaryen.js +} + +sha512sums="def54c53e4fd8e0cbf9d13215020456054674da26dd6f590c2c1cbd172707ef9da5fe1d4d6415eba1afdc87c37db0867a4e2e9c3188b61e9f8f817d1fc839e33 binaryen-1.37.9.tar.gz +40720200053bf0a35528b67c999b21884787186c5ea305c4164421d365ae0257a593dda128b81688f74912585778d418fa24b6be881a345af5af7d4db5a3c811 fix-install-paths.patch +4c69c4fe55690694143163576036b935072b7b0eac30e17921115b3ddeb58266a91cf7b6ff39396cede9059dac4fa2f9de691f6fd83cddca88abbbcc93d3c4fd link-dynamically.patch +747dcebb46db3480f877f004c8a5efee297cedda7f826b1a85ba4a0cddc357c480a668efd5bfdf58f716d15756c7634fa73cc1a84c7a66edb43178f0e746537e dont-enforce-sse.patch" diff --git a/community/binaryen/dont-enforce-sse.patch b/community/binaryen/dont-enforce-sse.patch new file mode 100644 index 0000000000..970477cbd0 --- /dev/null +++ b/community/binaryen/dont-enforce-sse.patch @@ -0,0 +1,12 @@ +Not all CPU architectures support these instructions. +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -92,8 +92,6 @@ + SET(CMAKE_THREAD_PREFER_PTHREAD ON) + FIND_PACKAGE(Threads REQUIRED) + ADD_COMPILE_FLAG("-std=c++11") +- ADD_COMPILE_FLAG("-msse2") +- ADD_COMPILE_FLAG("-mfpmath=sse") + ADD_COMPILE_FLAG("-Wall") + ADD_COMPILE_FLAG("-Werror") + ADD_COMPILE_FLAG("-Wextra") diff --git a/community/binaryen/fix-install-paths.patch b/community/binaryen/fix-install-paths.patch new file mode 100644 index 0000000000..f885fbfcaa --- /dev/null +++ b/community/binaryen/fix-install-paths.patch @@ -0,0 +1,85 @@ +From: Jakub Jirutka <jakub@jirutka.cz> +Date: Sat, 1 Apr 2017 02:00:34 +0200 +Subject: [PATCH] Fix install locations per FHS and allow to customize them + +Include built-in cmake module GNUInstallDirs that defines customizable +CMAKE_INSTALL_* variables with common defaults per FHS. + +Upstream-Issue: https://github.com/WebAssembly/binaryen/pull/958 +--- +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,6 @@ + PROJECT(binaryen C CXX) + CMAKE_MINIMUM_REQUIRED(VERSION 2.8.7) ++INCLUDE(GNUInstallDirs) + + IF(NOT CMAKE_BUILD_TYPE) + MESSAGE(STATUS "No build type selected, default to Release") +@@ -138,11 +139,11 @@ ELSE() + ADD_LIBRARY(binaryen SHARED ${binaryen_SOURCES}) + ENDIF() + TARGET_LINK_LIBRARIES(binaryen ${all_passes} wasm asmjs ast support) +-INSTALL(TARGETS binaryen DESTINATION lib) ++INSTALL(TARGETS binaryen DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +-INSTALL(FILES src/binaryen-c.h DESTINATION include) +-INSTALL(FILES bin/wasm.js DESTINATION bin) +-INSTALL(FILES bin/binaryen.js DESTINATION bin) ++INSTALL(FILES src/binaryen-c.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++INSTALL(FILES bin/wasm.js DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}) ++INSTALL(FILES bin/binaryen.js DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}) + INSTALL(DIRECTORY src/js DESTINATION src) + + SET(wasm-shell_SOURCES +@@ -154,7 +155,7 @@ ADD_EXECUTABLE(wasm-shell + TARGET_LINK_LIBRARIES(wasm-shell wasm asmjs emscripten-optimizer ${all_passes} ast support) + SET_PROPERTY(TARGET wasm-shell PROPERTY CXX_STANDARD 11) + SET_PROPERTY(TARGET wasm-shell PROPERTY CXX_STANDARD_REQUIRED ON) +-INSTALL(TARGETS wasm-shell DESTINATION bin) ++INSTALL(TARGETS wasm-shell DESTINATION ${CMAKE_INSTALL_BINDIR}) + + SET(wasm-opt_SOURCES + src/tools/wasm-opt.cpp +@@ -164,7 +165,7 @@ ADD_EXECUTABLE(wasm-opt + TARGET_LINK_LIBRARIES(wasm-opt wasm asmjs emscripten-optimizer ${all_passes} ast support) + SET_PROPERTY(TARGET wasm-opt PROPERTY CXX_STANDARD 11) + SET_PROPERTY(TARGET wasm-opt PROPERTY CXX_STANDARD_REQUIRED ON) +-INSTALL(TARGETS wasm-opt DESTINATION bin) ++INSTALL(TARGETS wasm-opt DESTINATION ${CMAKE_INSTALL_BINDIR}) + + SET(asm2wasm_SOURCES + src/tools/asm2wasm.cpp +@@ -175,7 +176,7 @@ ADD_EXECUTABLE(asm2wasm + TARGET_LINK_LIBRARIES(asm2wasm emscripten-optimizer ${all_passes} wasm asmjs ast support) + SET_PROPERTY(TARGET asm2wasm PROPERTY CXX_STANDARD 11) + SET_PROPERTY(TARGET asm2wasm PROPERTY CXX_STANDARD_REQUIRED ON) +-INSTALL(TARGETS asm2wasm DESTINATION bin) ++INSTALL(TARGETS asm2wasm DESTINATION ${CMAKE_INSTALL_BINDIR}) + + SET(s2wasm_SOURCES + src/tools/s2wasm.cpp +@@ -187,7 +188,7 @@ ADD_EXECUTABLE(s2wasm + TARGET_LINK_LIBRARIES(s2wasm passes wasm asmjs ast support) + SET_PROPERTY(TARGET s2wasm PROPERTY CXX_STANDARD 11) + SET_PROPERTY(TARGET s2wasm PROPERTY CXX_STANDARD_REQUIRED ON) +-INSTALL(TARGETS s2wasm DESTINATION bin) ++INSTALL(TARGETS s2wasm DESTINATION ${CMAKE_INSTALL_BINDIR}) + + SET(wasm_as_SOURCES + src/tools/wasm-as.cpp +@@ -197,7 +198,7 @@ ADD_EXECUTABLE(wasm-as + TARGET_LINK_LIBRARIES(wasm-as wasm asmjs passes ast support) + SET_PROPERTY(TARGET wasm-as PROPERTY CXX_STANDARD 11) + SET_PROPERTY(TARGET wasm-as PROPERTY CXX_STANDARD_REQUIRED ON) +-INSTALL(TARGETS wasm-as DESTINATION bin) ++INSTALL(TARGETS wasm-as DESTINATION ${CMAKE_INSTALL_BINDIR}) + + SET(wasm_dis_SOURCES + src/tools/wasm-dis.cpp +@@ -207,4 +208,4 @@ ADD_EXECUTABLE(wasm-dis + TARGET_LINK_LIBRARIES(wasm-dis passes wasm asmjs ast support) + SET_PROPERTY(TARGET wasm-dis PROPERTY CXX_STANDARD 11) + SET_PROPERTY(TARGET wasm-dis PROPERTY CXX_STANDARD_REQUIRED ON) +-INSTALL(TARGETS wasm-dis DESTINATION bin) ++INSTALL(TARGETS wasm-dis DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/community/binaryen/link-dynamically.patch b/community/binaryen/link-dynamically.patch new file mode 100644 index 0000000000..f5945dba3e --- /dev/null +++ b/community/binaryen/link-dynamically.patch @@ -0,0 +1,70 @@ +From: Jakub Jirutka <jakub@jirutka.cz> +Date: Sat, 3 Apr 2017 00:01:00 +0200 +Subject: [PATCH] Link binaries with libbinaryen dynamically + +Link binaries with libbinaryen.so to significantly reduce their size. +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -137,7 +137,7 @@ + ELSE() + ADD_LIBRARY(binaryen SHARED ${binaryen_SOURCES}) + ENDIF() +-TARGET_LINK_LIBRARIES(binaryen ${all_passes} wasm asmjs ast support) ++TARGET_LINK_LIBRARIES(binaryen ${all_passes} wasm asmjs ast support emscripten-optimizer) + INSTALL(TARGETS binaryen DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + INSTALL(FILES src/binaryen-c.h DESTINATION include) +@@ -151,7 +151,7 @@ + ) + ADD_EXECUTABLE(wasm-shell + ${wasm-shell_SOURCES}) +-TARGET_LINK_LIBRARIES(wasm-shell wasm asmjs emscripten-optimizer ${all_passes} ast support) ++TARGET_LINK_LIBRARIES(wasm-shell binaryen) + SET_PROPERTY(TARGET wasm-shell PROPERTY CXX_STANDARD 11) + SET_PROPERTY(TARGET wasm-shell PROPERTY CXX_STANDARD_REQUIRED ON) + INSTALL(TARGETS wasm-shell DESTINATION ${CMAKE_INSTALL_BINDIR}) +@@ -161,7 +161,7 @@ + ) + ADD_EXECUTABLE(wasm-opt + ${wasm-opt_SOURCES}) +-TARGET_LINK_LIBRARIES(wasm-opt wasm asmjs emscripten-optimizer ${all_passes} ast support) ++TARGET_LINK_LIBRARIES(wasm-opt binaryen) + SET_PROPERTY(TARGET wasm-opt PROPERTY CXX_STANDARD 11) + SET_PROPERTY(TARGET wasm-opt PROPERTY CXX_STANDARD_REQUIRED ON) + INSTALL(TARGETS wasm-opt DESTINATION ${CMAKE_INSTALL_BINDIR}) +@@ -172,7 +172,7 @@ + ) + ADD_EXECUTABLE(asm2wasm + ${asm2wasm_SOURCES}) +-TARGET_LINK_LIBRARIES(asm2wasm emscripten-optimizer ${all_passes} wasm asmjs ast support) ++TARGET_LINK_LIBRARIES(asm2wasm binaryen) + SET_PROPERTY(TARGET asm2wasm PROPERTY CXX_STANDARD 11) + SET_PROPERTY(TARGET asm2wasm PROPERTY CXX_STANDARD_REQUIRED ON) + INSTALL(TARGETS asm2wasm DESTINATION ${CMAKE_INSTALL_BINDIR}) +@@ -184,7 +184,7 @@ + ) + ADD_EXECUTABLE(s2wasm + ${s2wasm_SOURCES}) +-TARGET_LINK_LIBRARIES(s2wasm passes wasm asmjs ast support) ++TARGET_LINK_LIBRARIES(s2wasm binaryen) + SET_PROPERTY(TARGET s2wasm PROPERTY CXX_STANDARD 11) + SET_PROPERTY(TARGET s2wasm PROPERTY CXX_STANDARD_REQUIRED ON) + INSTALL(TARGETS s2wasm DESTINATION ${CMAKE_INSTALL_BINDIR}) +@@ -194,7 +194,7 @@ + ) + ADD_EXECUTABLE(wasm-as + ${wasm_as_SOURCES}) +-TARGET_LINK_LIBRARIES(wasm-as wasm asmjs passes ast support) ++TARGET_LINK_LIBRARIES(wasm-as binaryen) + SET_PROPERTY(TARGET wasm-as PROPERTY CXX_STANDARD 11) + SET_PROPERTY(TARGET wasm-as PROPERTY CXX_STANDARD_REQUIRED ON) + INSTALL(TARGETS wasm-as DESTINATION ${CMAKE_INSTALL_BINDIR}) +@@ -204,7 +204,7 @@ + ) + ADD_EXECUTABLE(wasm-dis + ${wasm_dis_SOURCES}) +-TARGET_LINK_LIBRARIES(wasm-dis passes wasm asmjs ast support) ++TARGET_LINK_LIBRARIES(wasm-dis binaryen) + SET_PROPERTY(TARGET wasm-dis PROPERTY CXX_STANDARD 11) + SET_PROPERTY(TARGET wasm-dis PROPERTY CXX_STANDARD_REQUIRED ON) + INSTALL(TARGETS wasm-dis DESTINATION ${CMAKE_INSTALL_BINDIR}) |