aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/mpfr
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/mpfr
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/mpfr')
-rw-r--r--vcpkg/ports/mpfr/dll.patch13
-rw-r--r--vcpkg/ports/mpfr/portfile.cmake39
-rw-r--r--vcpkg/ports/mpfr/src-only.patch20
-rw-r--r--vcpkg/ports/mpfr/usage6
-rw-r--r--vcpkg/ports/mpfr/vcpkg.json11
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"
+ ]
+}