aboutsummaryrefslogtreecommitdiff
path: root/ports/symengine
diff options
context:
space:
mode:
Diffstat (limited to 'ports/symengine')
-rw-r--r--ports/symengine/CONTROL30
-rw-r--r--ports/symengine/fix-build.patch13
-rw-r--r--ports/symengine/portfile.cmake15
-rw-r--r--ports/symengine/vcpkg.json52
4 files changed, 74 insertions, 36 deletions
diff --git a/ports/symengine/CONTROL b/ports/symengine/CONTROL
deleted file mode 100644
index 4e829ba5b..000000000
--- a/ports/symengine/CONTROL
+++ /dev/null
@@ -1,30 +0,0 @@
-Source: symengine
-Version: 2020-05-25
-Description: SymEngine is a fast symbolic manipulation library
-Homepage: https://github.com/symengine/symengine
-Build-Depends: boost-math, boost-random
-Default-Features: integer-class-boostmp
-
-Feature: arb
-Description: Build with arb
-Build-Depends: arb
-
-Feature: flint
-Description: Build with flint
-Build-Depends: flint
-
-Feature: mpfr
-Description: Build with mpfr
-Build-Depends: mpfr
-
-Feature: integer-class-boostmp
-Description: Use Boost.multiprecision integer class
-Build-Depends: boost-multiprecision
-
-Feature: integer-class-flint
-Description: Use flint integer class
-Build-Depends: flint, gmp
-
-Feature: tcmalloc
-Description: Build with tcmalloc
-Build-Depends: gperftools
diff --git a/ports/symengine/fix-build.patch b/ports/symengine/fix-build.patch
new file mode 100644
index 000000000..5087428e6
--- /dev/null
+++ b/ports/symengine/fix-build.patch
@@ -0,0 +1,13 @@
+diff --git a/symengine/mp_boost.cpp b/symengine/mp_boost.cpp
+index db20930c4..f3997707e 100644
+--- a/symengine/mp_boost.cpp
++++ b/symengine/mp_boost.cpp
+@@ -279,7 +279,7 @@ unsigned long mp_scan1(const integer_class &i)
+ if (i == 0) {
+ return ULONG_MAX;
+ }
+- return find_lsb(i, int_<0>());
++ return find_lsb(i, {});
+ }
+
+ // define simple 2x2 matrix with exponentiation by repeated squaring
diff --git a/ports/symengine/portfile.cmake b/ports/symengine/portfile.cmake
index d61271d68..a0677af8a 100644
--- a/ports/symengine/portfile.cmake
+++ b/ports/symengine/portfile.cmake
@@ -1,17 +1,20 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO symengine/symengine
- REF 4f669d5954977e86f4da0f53cb5110d2eb6320b6
- SHA512 091ebc83240d3823fb73e0f65f80732d2a85e55f19c8e1a3d1435f05cfa0d1b95d893e8a3c432e1698953a35c56a6af78044ee59db04f03706cf33e0798a02c7
+ REF v0.7.0
+ SHA512 fd3198bc4a05ca2b9b8a58039cc21af65b44457f295362a1a9b8dbf9c6e3df5186c0c84b289bc9fe85d9efd5ac1a683f6b7ba9a661fb6d913d6ceefb14ee2348
HEAD_REF master
+ PATCHES
+ fix-build.patch
)
vcpkg_check_features(
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
- arb WITH_ARB
- flint WITH_FLINT
- mpfr WITH_MPFR
- tcmalloc WITH_TCMALLOC
+ FEATURES
+ arb WITH_ARB
+ flint WITH_FLINT
+ mpfr WITH_MPFR
+ tcmalloc WITH_TCMALLOC
)
if(integer-class-boostmp IN_LIST FEATURES)
diff --git a/ports/symengine/vcpkg.json b/ports/symengine/vcpkg.json
new file mode 100644
index 000000000..4768ffb56
--- /dev/null
+++ b/ports/symengine/vcpkg.json
@@ -0,0 +1,52 @@
+{
+ "name": "symengine",
+ "version": "0.7.0",
+ "description": "SymEngine is a fast symbolic manipulation library",
+ "homepage": "https://github.com/symengine/symengine",
+ "dependencies": [
+ "boost-math",
+ "boost-random"
+ ],
+ "default-features": [
+ "integer-class-boostmp"
+ ],
+ "features": {
+ "arb": {
+ "description": "Build with arb",
+ "dependencies": [
+ "arb"
+ ]
+ },
+ "flint": {
+ "description": "Build with flint",
+ "dependencies": [
+ "flint"
+ ]
+ },
+ "integer-class-boostmp": {
+ "description": "Use Boost.multiprecision integer class",
+ "dependencies": [
+ "boost-multiprecision"
+ ]
+ },
+ "integer-class-flint": {
+ "description": "Use flint integer class",
+ "dependencies": [
+ "flint",
+ "gmp"
+ ]
+ },
+ "mpfr": {
+ "description": "Build with mpfr",
+ "dependencies": [
+ "mpfr"
+ ]
+ },
+ "tcmalloc": {
+ "description": "Build with tcmalloc",
+ "dependencies": [
+ "gperftools"
+ ]
+ }
+ }
+}