summaryrefslogtreecommitdiff
path: root/user/muparser
diff options
context:
space:
mode:
Diffstat (limited to 'user/muparser')
-rw-r--r--user/muparser/APKBUILD39
-rw-r--r--user/muparser/muparser-buildsystem.patch114
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}