diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/mpfr | |
Diffstat (limited to 'vcpkg/ports/mpfr')
| -rw-r--r-- | vcpkg/ports/mpfr/dll.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/mpfr/portfile.cmake | 39 | ||||
| -rw-r--r-- | vcpkg/ports/mpfr/src-only.patch | 20 | ||||
| -rw-r--r-- | vcpkg/ports/mpfr/usage | 6 | ||||
| -rw-r--r-- | vcpkg/ports/mpfr/vcpkg.json | 11 |
5 files changed, 89 insertions, 0 deletions
diff --git a/vcpkg/ports/mpfr/dll.patch b/vcpkg/ports/mpfr/dll.patch new file mode 100644 index 0000000..3b6eff5 --- /dev/null +++ b/vcpkg/ports/mpfr/dll.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index fdee5978d..0791b2528 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -593,7 +593,7 @@ case $host in + AC_MSG_CHECKING(for DLL/static GMP)
+ if test "$enable_shared" = yes; then
+ MPFR_LDFLAGS="$MPFR_LDFLAGS -no-undefined"
+- LIBMPFR_LDFLAGS="$LIBMPFR_LDFLAGS -Wl,--output-def,.libs/libmpfr-6.dll.def"
++ LIBMPFR_LDFLAGS="$LIBMPFR_LDFLAGS -W1,--no-undefined"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include "gmp.h"
+ #if !__GMP_LIBGMP_DLL
diff --git a/vcpkg/ports/mpfr/portfile.cmake b/vcpkg/ports/mpfr/portfile.cmake new file mode 100644 index 0000000..e727588 --- /dev/null +++ b/vcpkg/ports/mpfr/portfile.cmake @@ -0,0 +1,39 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} + +vcpkg_download_distfile(ARCHIVE + URLS "http://www.mpfr.org/mpfr-${VERSION}/mpfr-${VERSION}.tar.xz" "https://ftp.gnu.org/gnu/mpfr/mpfr-${VERSION}.tar.xz" + FILENAME "mpfr-${VERSION}.tar.xz" + SHA512 eb9e7f51b5385fb349cc4fba3a45ffdf0dd53be6dfc74932dc01258158a10514667960c530c47dd9dfc5aa18be2bd94859d80499844c5713710581e6ac6259a9 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + dll.patch + src-only.patch +) + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(REMOVE + "${CURRENT_PACKAGES_DIR}/share/${PORT}/AUTHORS" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/BUGS" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING.LESSER" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/NEWS" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/TODO" +) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING" "${SOURCE_PATH}/COPYING.LESSER") diff --git a/vcpkg/ports/mpfr/src-only.patch b/vcpkg/ports/mpfr/src-only.patch new file mode 100644 index 0000000..5055709 --- /dev/null +++ b/vcpkg/ports/mpfr/src-only.patch @@ -0,0 +1,20 @@ +diff --git a/Makefile.am b/Makefile.am +index 89242c6..662ce24 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -24,12 +24,14 @@ AUTOMAKE_OPTIONS = gnu + # old Automake version. + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = doc src tests tune tools/bench ++SUBDIRS = src # Skipping: doc tests tune tools/bench + + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = mpfr.pc + + nobase_dist_doc_DATA = AUTHORS BUGS COPYING COPYING.LESSER NEWS TODO \ ++ # BREAK ++VCPKG_SKIP_EXAMPLES = \ + examples/ReadMe examples/can_round.c examples/divworst.c \ + examples/rndo-add.c examples/sample.c examples/threads.c \ + examples/version.c diff --git a/vcpkg/ports/mpfr/usage b/vcpkg/ports/mpfr/usage new file mode 100644 index 0000000..0219b24 --- /dev/null +++ b/vcpkg/ports/mpfr/usage @@ -0,0 +1,6 @@ +The package mpfr can be imported via CMake FindPkgConfig module:
+
+ find_package(PkgConfig)
+ pkg_check_modules(mpfr REQUIRED IMPORTED_TARGET mpfr)
+
+ target_link_libraries(main PRIVATE PkgConfig::mpfr)
diff --git a/vcpkg/ports/mpfr/vcpkg.json b/vcpkg/ports/mpfr/vcpkg.json new file mode 100644 index 0000000..e9c63c2 --- /dev/null +++ b/vcpkg/ports/mpfr/vcpkg.json @@ -0,0 +1,11 @@ +{ + "name": "mpfr", + "version": "4.2.2", + "description": "The MPFR library is a C library for multiple-precision floating-point computations with correct rounding", + "homepage": "https://www.mpfr.org", + "license": "LGPL-3.0-or-later", + "supports": "!xbox", + "dependencies": [ + "gmp" + ] +} |