aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/flint
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/flint')
-rw-r--r--vcpkg/ports/flint/fix-cmakelists.patch26
-rw-r--r--vcpkg/ports/flint/portfile.cmake35
-rw-r--r--vcpkg/ports/flint/vcpkg.json21
3 files changed, 82 insertions, 0 deletions
diff --git a/vcpkg/ports/flint/fix-cmakelists.patch b/vcpkg/ports/flint/fix-cmakelists.patch
new file mode 100644
index 0000000..0111a0d
--- /dev/null
+++ b/vcpkg/ports/flint/fix-cmakelists.patch
@@ -0,0 +1,26 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2616d06..4be28ac 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -34,10 +34,11 @@ find_package(MPFR REQUIRED)
+ if (WITH_NTL)
+ find_package(NTL REQUIRED)
+ endif()
+-find_package(PythonInterp REQUIRED)
+
++if(WITH_CBLAS)
+ find_package(CBLAS)
+ set(FLINT_USES_BLAS ${CBLAS_FOUND})
++endif()
+
+ if(CMAKE_BUILD_TYPE STREQUAL Debug)
+ set(FLINT_WANT_ASSERT ON)
+@@ -47,6 +48,8 @@ endif()
+
+ if(MSVC)
+ find_package(PThreads REQUIRED)
++ set(PThreads_LIBRARIES ${PThreads4W_LIBRARY})
++ set(PThreads_INCLUDE_DIRS ${PThreads4W_INCLUDE_DIR})
+ set(FLINT_USES_PTHREAD ON CACHE BOOL "Use POSIX Threads.")
+ else()
+ option(CMAKE_THREAD_PREFER_PTHREAD "Prefer pthreads" yes)
diff --git a/vcpkg/ports/flint/portfile.cmake b/vcpkg/ports/flint/portfile.cmake
new file mode 100644
index 0000000..3daee5f
--- /dev/null
+++ b/vcpkg/ports/flint/portfile.cmake
@@ -0,0 +1,35 @@
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://flintlib.org/download/flint-${VERSION}.zip"
+ FILENAME "flint-${VERSION}.zip"
+ SHA512 3dd9a4e79e08ab6bc434a786c8d4398eba6cb04e57bcb8d01677f4912cddf20ed3a971160a3e2d533d9a07b728678b0733cc8315bcb39a3f13475b6efa240062
+)
+
+vcpkg_find_acquire_program(PYTHON3)
+
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ PATCHES
+ fix-cmakelists.patch
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DPYTHON_EXECUTABLE=${PYTHON3}
+ -DWITH_NTL=OFF
+ -DWITH_CBLAS=OFF
+)
+
+vcpkg_cmake_install()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/flint/flint-config.h"
+ "#elif defined(MSC_USE_DLL)" "#elif 1"
+ )
+endif()
+
+file(INSTALL "${SOURCE_PATH}/gpl-2.0.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/vcpkg/ports/flint/vcpkg.json b/vcpkg/ports/flint/vcpkg.json
new file mode 100644
index 0000000..5593138
--- /dev/null
+++ b/vcpkg/ports/flint/vcpkg.json
@@ -0,0 +1,21 @@
+{
+ "name": "flint",
+ "version-semver": "2.9.0",
+ "port-version": 1,
+ "description": "Fast Library for Number Theory",
+ "homepage": "https://www.flintlib.org/",
+ "supports": "!uwp",
+ "dependencies": [
+ "gettimeofday",
+ "gmp",
+ "mpfr",
+ {
+ "name": "pthreads",
+ "platform": "windows"
+ },
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ]
+}