diff options
-rw-r--r-- | user/muparser/APKBUILD | 39 | ||||
-rw-r--r-- | user/muparser/muparser-buildsystem.patch | 114 |
2 files changed, 153 insertions, 0 deletions
diff --git a/user/muparser/APKBUILD b/user/muparser/APKBUILD new file mode 100644 index 000000000..fed5fa295 --- /dev/null +++ b/user/muparser/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com> +# Maintainer: Kiyoshi Aman <kiyoshi.aman@gmail.com> +pkgname=muparser +pkgver=2.2.5 +pkgrel=0 +pkgdesc="a fast math parser library" +url="http://beltoforion.de/article.php?a=muparser" +arch="all" +license="MIT" +depends="" +makedepends="cmake" +install="" +subpackages="$pkgname-dev" +source="$pkgname-$pkgver.tar.gz::https://github.com/beltoforion/$pkgname/archive/v$pkgver.tar.gz + muparser-buildsystem.patch" +builddir="$srcdir/$pkgname-$pkgver" +options="!check" + +build() { + cd "$builddir/build" + + cmake \ + -DBUILD_SHARED_LIBS=ON \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + $cmake_opts \ + ../ + make +} + +package() { + cd "$builddir/build" + make DESTDIR="$pkgdir" install +} + +sha512sums="d89380ebdc0ce91d0ea38fe43419ab6ed06c47d352b9ee20e1edcce48337b464366153493e0241c373ba2880a8b419fb9541e56cda0d14915daf9b98136ee682 muparser-2.2.5.tar.gz +2acdf0bb2db7d11583ea4512d0422cc5ac577f074de7f0dbc28df879f821c6904a6bda5c9a68f2836459623544cb7af69a7fa664788d8cae98f83adaac3ae3a2 muparser-buildsystem.patch" diff --git a/user/muparser/muparser-buildsystem.patch b/user/muparser/muparser-buildsystem.patch new file mode 100644 index 000000000..bd7faa991 --- /dev/null +++ b/user/muparser/muparser-buildsystem.patch @@ -0,0 +1,114 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +new file mode 100644 +index 0000000..3912058 +--- /dev/null ++++ b/CMakeLists.txt +@@ -0,0 +1,91 @@ ++# CMake based on work from @xantares ++cmake_minimum_required(VERSION 3.1) ++project(muParserProject) ++ ++include(CTest) ++enable_testing() ++ ++# Bump versions on release ++set(MUPARSER_VERSION_MAJOR 2) ++set(MUPARSER_VERSION_MINOR 2) ++set(MUPARSER_VERSION_PATCH 5) ++set(MUPARSER_VERSION ${MUPARSER_VERSION_MAJOR}.${MUPARSER_VERSION_MINOR}.${MUPARSER_VERSION_PATCH}) ++ ++# Build options ++option(ENABLE_SAMPLES "Build the samples" ON) ++option(ENABLE_OPENMP "Enable OpenMP for multithreading" OFF) ++ ++if(ENABLE_OPENMP) ++ find_package(OpenMP REQUIRED) ++ set(CMAKE_CXX_FLAGS "${OpenMP_CXX_FLAGS} ${CMAKE_CXX_FLAGS}") ++ set(CMAKE_SHARED_LIBRARY_CXX_FLAGS "${OpenMP_CXX_FLAGS} ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}") ++endif() ++ ++include_directories("${CMAKE_SOURCE_DIR}/include") ++add_library(muparser ++ src/muParserBase.cpp ++ src/muParserBytecode.cpp ++ src/muParserCallback.cpp ++ src/muParser.cpp ++ src/muParserDLL.cpp ++ src/muParserError.cpp ++ src/muParserInt.cpp ++ src/muParserTest.cpp ++ src/muParserTokenReader.cpp ++) ++target_compile_definitions(muparser PRIVATE MUPARSERLIB_EXPORTS) ++if(ENABLE_OPENMP) ++ target_compile_definitions(muparser PRIVATE MUP_USE_OPENMP) ++endif() ++set_target_properties(muparser PROPERTIES ++ VERSION ${MUPARSER_VERSION} ++ SOVERSION ${MUPARSER_VERSION_MAJOR} ++) ++ ++# Install the export set for use with the install-tree ++export(TARGETS muparser FILE "${CMAKE_BINARY_DIR}/muparser-targets.cmake") ++ ++if(ENABLE_SAMPLES) ++ # the C example does not compile at the moment, because definitions must be ++ # inside external "C" { } to avoid name mangling. ++ #add_executable(example2 samples/example2/example2.c) ++ #target_link_libraries(example2 muparser) ++ ++ add_executable(example1 samples/example1/example1.cpp) ++ target_link_libraries(example1 muparser) ++ add_test(base example1) ++endif() ++ ++install(TARGETS muparser DESTINATION lib) ++install(FILES ++ include/muParserBase.h ++ include/muParserBytecode.h ++ include/muParserCallback.h ++ include/muParserDef.h ++ include/muParserDLL.h ++ include/muParserError.h ++ include/muParserFixes.h ++ include/muParser.h ++ include/muParserInt.h ++ include/muParserStack.h ++ include/muParserTemplateMagic.h ++ include/muParserTest.h ++ include/muParserToken.h ++ include/muParserTokenReader.h ++ DESTINATION include ++) ++ ++# Define variables for the pkg-config file ++# The GNUInstallDirs defines ${CMAKE_INSTALL_DATAROOTDIR} ++# See https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html ++include(GNUInstallDirs) ++set(PACKAGE_NAME muparser) ++configure_file( ++ "${CMAKE_SOURCE_DIR}/build/autoconf/muparser.pc.cmakein" ++ "${CMAKE_BINARY_DIR}/muparser.pc" ++ @ONLY ++) ++install( ++ FILES "${CMAKE_BINARY_DIR}/muparser.pc" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" ++) +diff --git a/build/autoconf/muparser.pc.cmakein b/build/autoconf/muparser.pc.cmakein +new file mode 100644 +index 0000000..be535ff +--- /dev/null ++++ b/build/autoconf/muparser.pc.cmakein +@@ -0,0 +1,11 @@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=${prefix} ++libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ ++ ++Name: @PACKAGE_NAME@ ++Description: Mathematical expressions parser library ++Version: @MUPARSER_VERSION@ ++Requires: ++Libs: -L${libdir} -lmuparser ++Cflags: -I${includedir} |