From 83886e2ebae80569e0155b786bf2657b3830889e Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sat, 22 Aug 2020 14:42:08 +0200 Subject: [PATCH 01/10] [mpc] add mpc port --- ports/mpc/CONTROL | 5 +++++ ports/mpc/gmpd.patch | 15 +++++++++++++++ ports/mpc/portfile.cmake | 27 +++++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 ports/mpc/CONTROL create mode 100644 ports/mpc/gmpd.patch create mode 100644 ports/mpc/portfile.cmake diff --git a/ports/mpc/CONTROL b/ports/mpc/CONTROL new file mode 100644 index 00000000000000..4514e62897dbc6 --- /dev/null +++ b/ports/mpc/CONTROL @@ -0,0 +1,5 @@ +Source: mpc +Version: 1.2.0 +Homepage: http://www.multiprecision.org/mpc/ +Description: GNU MPC is a C library for the arithmetic of complex numbers with arbitrarily high precision and correct rounding of the result. +Build-Depends: gmp, mpfr diff --git a/ports/mpc/gmpd.patch b/ports/mpc/gmpd.patch new file mode 100644 index 00000000000000..b08625777c365f --- /dev/null +++ b/ports/mpc/gmpd.patch @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index ab3da6092..2533df1d8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -151,7 +151,9 @@ AC_CHECK_FUNCS([dup dup2],, + + AC_CHECK_LIB([gmp], [__gmpz_init], + [LIBS="-lgmp $LIBS"], +- [AC_MSG_ERROR([libgmp not found or uses a different ABI (including static vs shared).])]) ++ [AC_CHECK_LIB([gmpd], [__gmpz_init], ++ [LIBS="-lgmpd $LIBS"], ++ [AC_MSG_ERROR([libgmp not found or uses a different ABI (including static vs shared).])])]) + + AC_MSG_CHECKING(for MPFR) + LIBS="-lmpfr $LIBS" diff --git a/ports/mpc/portfile.cmake b/ports/mpc/portfile.cmake new file mode 100644 index 00000000000000..66aeb9f18fd987 --- /dev/null +++ b/ports/mpc/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_download_distfile(ARCHIVE + URLS "https://ftp.gnu.org/gnu/mpc/mpc-1.2.0.tar.gz" + FILENAME "mpc-1.2.0.tar.gz" + SHA512 84fa3338f51d369111456a63ad040256a1beb70699e21e2a932c779aa1c3bd08b201412c1659ecbb58403ea0548faacc35996d94f88f0639549269b7563c61b7 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES gmpd.patch +) + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() + +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +# # Handle copyright +file(INSTALL "${SOURCE_PATH}/COPYING.LESSER" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + From e55b8c9ad5689238c631abf5de390d9a80c44845 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sat, 22 Aug 2020 14:42:38 +0200 Subject: [PATCH 02/10] [mpfr] update mpfr to use make. --- ports/mpfr/CMakeLists.txt | 281 -------------------------------------- ports/mpfr/CONTROL | 4 +- ports/mpfr/gmpd.patch | 15 ++ ports/mpfr/portfile.cmake | 26 ++-- 4 files changed, 33 insertions(+), 293 deletions(-) delete mode 100644 ports/mpfr/CMakeLists.txt create mode 100644 ports/mpfr/gmpd.patch diff --git a/ports/mpfr/CMakeLists.txt b/ports/mpfr/CMakeLists.txt deleted file mode 100644 index 6664e991ac97a8..00000000000000 --- a/ports/mpfr/CMakeLists.txt +++ /dev/null @@ -1,281 +0,0 @@ -cmake_minimum_required(VERSION 3.3.0) - -project(MPFR VERSION 4.0.2 LANGUAGES C) - -# Find GMP (or MPIR) -find_library(GMP_LIBRARY NAMES gmp mpir) -find_path(GMP_INCLUDE_DIR "gmp.h") - -set(GMP_LIBRARIES ${GMP_LIBRARY}) -set(GMP_INCLUDE_DIRS ${GMP_INCLUDE_DIR}) - -# Sources -set(SRCS - src/abort_prec_max.c - src/acos.c - src/acosh.c - src/add.c - src/add1.c - src/add1sp.c - src/add_d.c - src/add_ui.c - src/agm.c - src/ai.c - src/asin.c - src/asinh.c - src/atan.c - src/atan2.c - src/atanh.c - src/bernoulli.c - src/beta.c - src/buildopt.c - src/cache.c - src/cbrt.c - src/check.c - src/clear.c - src/clears.c - src/cmp.c - src/cmp2.c - src/cmp_abs.c - src/cmp_d.c - src/cmp_ld.c - src/cmp_si.c - src/cmp_ui.c - src/comparisons.c - src/constant.c - src/const_catalan.c - src/const_euler.c - src/const_log2.c - src/const_pi.c - src/copysign.c - src/cos.c - src/cosh.c - src/cot.c - src/coth.c - src/csc.c - src/csch.c - src/digamma.c - src/dim.c - src/div.c - src/div_2exp.c - src/div_2si.c - src/div_2ui.c - src/div_d.c - src/div_ui.c - src/dump.c - src/d_div.c - src/d_sub.c - src/eint.c - src/eq.c - src/erandom.c - src/erf.c - src/erfc.c - src/exceptions.c - src/exp.c - src/exp10.c - src/exp2.c - src/exp3.c - src/expm1.c - src/exp_2.c - src/extract.c - src/factorial.c - src/fits_intmax.c - src/fits_sint.c - src/fits_slong.c - src/fits_sshort.c - src/fits_uint.c - src/fits_uintmax.c - src/fits_ulong.c - src/fits_ushort.c - src/fma.c - src/fmma.c - src/fms.c - src/frac.c - src/free_cache.c - src/frexp.c - src/gamma.c - src/gammaonethird.c - src/gamma_inc.c - src/get_d.c - src/get_d64.c - src/get_exp.c - src/get_f.c - src/get_float128.c - src/get_flt.c - src/get_ld.c - src/get_patches.c - src/get_q.c - src/get_si.c - src/get_sj.c - src/get_str.c - src/get_ui.c - src/get_uj.c - src/get_z.c - src/get_z_exp.c - src/gmp_op.c - src/grandom.c - src/hypot.c - src/init.c - src/init2.c - src/inits.c - src/inits2.c - src/inp_str.c - src/int_ceil_log2.c - src/isinf.c - src/isinteger.c - src/isnan.c - src/isnum.c - src/isqrt.c - src/isregular.c - src/iszero.c - src/jn.c - src/li2.c - src/lngamma.c - src/log.c - src/log10.c - src/log1p.c - src/log2.c - src/logging.c - src/log_ui.c - src/minmax.c - src/min_prec.c - src/modf.c - src/mpfr-gmp.c - src/mpfr-mini-gmp.c - src/mpn_exp.c - src/mp_clz_tab.c - src/mul.c - src/mulders.c - src/mul_2exp.c - src/mul_2si.c - src/mul_2ui.c - src/mul_d.c - src/mul_ui.c - src/neg.c - src/next.c - src/nrandom.c - src/odd_p.c - src/out_str.c - src/pool.c - src/pow.c - src/powerof2.c - src/pow_si.c - src/pow_ui.c - src/pow_z.c - src/printf.c - src/print_raw.c - src/print_rnd_mode.c - src/random_deviate.c - src/rec_sqrt.c - src/reldiff.c - src/rem1.c - src/rint.c - src/rndna.c - src/root.c - src/round_near_x.c - src/round_p.c - src/round_prec.c - src/scale2.c - src/sec.c - src/sech.c - src/set.c - src/setmax.c - src/setmin.c - src/setsign.c - src/set_d.c - src/set_d64.c - src/set_dfl_prec.c - src/set_exp.c - src/set_f.c - src/set_float128.c - src/set_flt.c - src/set_inf.c - src/set_ld.c - src/set_nan.c - src/set_prc_raw.c - src/set_prec.c - src/set_q.c - src/set_rnd.c - src/set_si.c - src/set_si_2exp.c - src/set_sj.c - src/set_str.c - src/set_str_raw.c - src/set_ui.c - src/set_ui_2exp.c - src/set_uj.c - src/set_z.c - src/set_zero.c - src/set_z_exp.c - src/sgn.c - src/signbit.c - src/sin.c - src/sinh.c - src/sinh_cosh.c - src/sin_cos.c - src/si_op.c - src/sqr.c - src/sqrt.c - src/sqrt_ui.c - src/stack_interface.c - src/strtofr.c - src/sub.c - src/sub1.c - src/sub1sp.c - src/subnormal.c - src/sub_d.c - src/sub_ui.c - src/sum.c - src/swap.c - src/tan.c - src/tanh.c - src/ubf.c - src/uceil_exp2.c - src/uceil_log2.c - src/ufloor_log2.c - src/ui_div.c - src/ui_pow.c - src/ui_pow_ui.c - src/ui_sub.c - src/urandom.c - src/urandomb.c - src/vasprintf.c - src/version.c - src/volatile.c - src/yn.c - src/zeta.c - src/zeta_ui.c) - -configure_file("src/mparam_h.in" "mparam.h") - -# Create and configure the target -add_library(mpfr ${SRCS}) - -# target_compile_definitions(mpfr PRIVATE HAVE_CONFIG_H) -target_compile_definitions(mpfr PRIVATE __MPFR_WITHIN_MPFR) -target_compile_definitions(mpfr PRIVATE HAVE_STDINT_H) -target_compile_definitions(mpfr PRIVATE HAVE_STDARG) -if(BUILD_SHARED_LIBS) - target_compile_definitions(mpfr PRIVATE __GMP_LIBGMP_DLL) -endif() - -target_link_libraries(mpfr ${GMP_LIBRARIES}) - -target_include_directories(mpfr PUBLIC ${GMP_INCLUDE_DIRS}) -target_include_directories(mpfr PRIVATE ${CMAKE_BINARY_DIR}) -target_include_directories(mpfr PRIVATE ${PROJECT_SOURCE_DIR}) -target_include_directories(mpfr PRIVATE ${PROJECT_SOURCE_DIR}/src) - -# Install -install( - TARGETS mpfr - EXPORT MPFRExports - RUNTIME DESTINATION "bin" - LIBRARY DESTINATION "lib" - ARCHIVE DESTINATION "lib" - ) - -install( - FILES src/mpfr.h - DESTINATION "include" -) diff --git a/ports/mpfr/CONTROL b/ports/mpfr/CONTROL index 050de1d058887d..487e6cef0b091b 100644 --- a/ports/mpfr/CONTROL +++ b/ports/mpfr/CONTROL @@ -1,5 +1,5 @@ Source: mpfr -Version: 4.0.2-2 +Version: 4.1.0 Homepage: https://www.mpfr.org Description: The MPFR library is a C library for multiple-precision floating-point computations with correct rounding -Build-Depends: mpir +Build-Depends: gmp diff --git a/ports/mpfr/gmpd.patch b/ports/mpfr/gmpd.patch new file mode 100644 index 00000000000000..d34027d36496b1 --- /dev/null +++ b/ports/mpfr/gmpd.patch @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index ea92c1f97..9621a70e5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -693,8 +693,9 @@ See 'config.log' for details (search for GMP_NUMB_BITS).])], + + dnl Check if we can link with GMP + AC_CHECK_LIB(gmp, __gmpz_init, [LIBS="-lgmp $LIBS"], ++ [AC_CHECK_LIB(gmpd, __gmpz_init, [LIBS="-lgmpd $LIBS"], + [AC_MSG_ERROR([libgmp not found or uses a different ABI (including static vs shared). +-Please read the INSTALL file -- see "In case of problem".])]) ++Please read the INSTALL file -- see "In case of problem".])])]) + + dnl Check for corresponding 'gmp.h' and libgmp + AC_MSG_CHECKING(if gmp.h version and libgmp version are the same) diff --git a/ports/mpfr/portfile.cmake b/ports/mpfr/portfile.cmake index 2e202a578780fe..07f8fdb589b11b 100644 --- a/ports/mpfr/portfile.cmake +++ b/ports/mpfr/portfile.cmake @@ -1,25 +1,31 @@ +set(VERSION 4.1.0) vcpkg_download_distfile(ARCHIVE - URLS "http://www.mpfr.org/mpfr-4.0.2/mpfr-4.0.2.tar.xz" "https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz" - FILENAME "mpfr-4.0.2.tar.xz" - SHA512 d583555d08863bf36c89b289ae26bae353d9a31f08ee3894520992d2c26e5683c4c9c193d7ad139632f71c0a476d85ea76182702a98bf08dde7b6f65a54f8b88 + 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 1bd1c349741a6529dfa53af4f0da8d49254b164ece8a46928cdb13a99460285622d57fe6f68cef19c6727b3f9daa25ddb3d7d65c201c8f387e421c7f7bee6273 ) vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} + PATCHES gmpd.patch ) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( +vcpkg_acquire_msys(MSYS_ROOT PACKAGES texinfo) +vcpkg_configure_make( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + AUTOCONFIG ) -vcpkg_install_cmake() +vcpkg_install_make() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/mpfr.pc" AND VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/mpfr.pc" " -lgmp" " -lgmpd") +endif() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From bb9362bee8af4b38b38c2863b90d4e388c93a875 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sat, 22 Aug 2020 16:08:48 +0200 Subject: [PATCH 03/10] [gmp] fix preprocessor define for dlls. --- ports/gmp/portfile.cmake | 5 +++++ ports/gmp/vcpkg.json | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ports/gmp/portfile.cmake b/ports/gmp/portfile.cmake index b8a289628dfc9f..3710cb821509d3 100644 --- a/ports/gmp/portfile.cmake +++ b/ports/gmp/portfile.cmake @@ -81,6 +81,11 @@ if(VCPKG_TARGET_IS_WINDOWS) configure_file("${SOURCE_PATH}/gmp.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gmp.pc" @ONLY) configure_file("${SOURCE_PATH}/gmpxx.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gmpxx.pc" @ONLY) vcpkg_fixup_pkgconfig() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/gmp.h" + "#if defined(DLL_EXPORT) && defined(NO_ASM)" + "#if 1") + endif() else() vcpkg_download_distfile( ARCHIVE diff --git a/ports/gmp/vcpkg.json b/ports/gmp/vcpkg.json index 77b237197aa826..9eaed427fd0acd 100644 --- a/ports/gmp/vcpkg.json +++ b/ports/gmp/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gmp", "version-string": "6.2.0", - "port-version": 3, + "port-version": 4, "description": "The GNU Multiple Precision Arithmetic Library", "homepage": "https://gmplib.org", "dependencies": [ From dd999845966e08f3c3e6709dd7d573a207326617 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sat, 22 Aug 2020 18:41:42 +0200 Subject: [PATCH 04/10] more fixes --- ports/gmp/adddef.patch | 12 ++++++++++++ ports/gmp/portfile.cmake | 1 + ports/mpfr/dll.patch | 13 +++++++++++++ ports/mpfr/portfile.cmake | 2 ++ 4 files changed, 28 insertions(+) create mode 100644 ports/gmp/adddef.patch create mode 100644 ports/mpfr/dll.patch diff --git a/ports/gmp/adddef.patch b/ports/gmp/adddef.patch new file mode 100644 index 00000000000000..c2276ffc10b2d6 --- /dev/null +++ b/ports/gmp/adddef.patch @@ -0,0 +1,12 @@ +diff --git a/SMP/libgmp.def b/SMP/libgmp.def +index 289f0e2d1..632274ab2 100644 +--- a/SMP/libgmp.def ++++ b/SMP/libgmp.def +@@ -16,6 +16,7 @@ __gmp_randclear + __gmp_urandomb_ui + __gmp_urandomm_ui + __gmp_asprintf ++__gmp_vasprintf + __gmp_fprintf + __gmp_printf + __gmp_snprintf diff --git a/ports/gmp/portfile.cmake b/ports/gmp/portfile.cmake index 3710cb821509d3..33da6e0353cd12 100644 --- a/ports/gmp/portfile.cmake +++ b/ports/gmp/portfile.cmake @@ -13,6 +13,7 @@ if(VCPKG_TARGET_IS_WINDOWS) vs.build.patch runtime.patch prefix.patch + adddef.patch ) vcpkg_find_acquire_program(YASM) get_filename_component(YASM_DIR "${YASM}" DIRECTORY) diff --git a/ports/mpfr/dll.patch b/ports/mpfr/dll.patch new file mode 100644 index 00000000000000..3b6eff519aa978 --- /dev/null +++ b/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/ports/mpfr/portfile.cmake b/ports/mpfr/portfile.cmake index 07f8fdb589b11b..4f65ae3a11881f 100644 --- a/ports/mpfr/portfile.cmake +++ b/ports/mpfr/portfile.cmake @@ -9,8 +9,10 @@ vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} PATCHES gmpd.patch + dll.patch ) vcpkg_acquire_msys(MSYS_ROOT PACKAGES texinfo) +file(REMOVE_RECURSE "${SOURCE_PATH}/m4") vcpkg_configure_make( SOURCE_PATH ${SOURCE_PATH} AUTOCONFIG From aa47a35d038dcbf9ae4237b44d0153f8cb0f6cfa Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sat, 22 Aug 2020 21:26:18 +0200 Subject: [PATCH 05/10] fix mpfr regression on !windows --- ports/mpfr/portfile.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ports/mpfr/portfile.cmake b/ports/mpfr/portfile.cmake index 4f65ae3a11881f..2930174e0ec36a 100644 --- a/ports/mpfr/portfile.cmake +++ b/ports/mpfr/portfile.cmake @@ -11,7 +11,9 @@ vcpkg_extract_source_archive_ex( PATCHES gmpd.patch dll.patch ) -vcpkg_acquire_msys(MSYS_ROOT PACKAGES texinfo) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_acquire_msys(MSYS_ROOT PACKAGES texinfo) +endif() file(REMOVE_RECURSE "${SOURCE_PATH}/m4") vcpkg_configure_make( SOURCE_PATH ${SOURCE_PATH} From 2c2f1e4d68535c6d8d1ec592a2a5ad0400515789 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sun, 23 Aug 2020 09:13:45 +0200 Subject: [PATCH 06/10] install autoconf-archive in provisioning script --- scripts/azure-pipelines/linux/provision-image.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-pipelines/linux/provision-image.sh b/scripts/azure-pipelines/linux/provision-image.sh index 5a59161e6e9a4c..8ab9f50c195217 100755 --- a/scripts/azure-pipelines/linux/provision-image.sh +++ b/scripts/azure-pipelines/linux/provision-image.sh @@ -11,7 +11,7 @@ APT_PACKAGES="at curl unzip tar libxt-dev gperf libxaw7-dev cifs-utils \ libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxinerama-dev \ libxcursor-dev yasm libnuma1 libnuma-dev python-six python3-six python-yaml \ flex libbison-dev autoconf libudev-dev libncurses5-dev libtool libxrandr-dev \ - xutils-dev dh-autoreconf libgles2-mesa-dev ruby-full pkg-config" + xutils-dev dh-autoreconf autoconf-archive libgles2-mesa-dev ruby-full pkg-config" # Additionally required by qt5-base APT_PACKAGES="$APT_PACKAGES libxext-dev libxfixes-dev libxrender-dev \ From f44fc6f1c2a4bc479c2fcb7d5fe17f6273f9e99c Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 24 Aug 2020 09:43:08 +0200 Subject: [PATCH 07/10] change indent of patches Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> --- ports/mpfr/portfile.cmake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ports/mpfr/portfile.cmake b/ports/mpfr/portfile.cmake index 2930174e0ec36a..17ffbae31dbf0e 100644 --- a/ports/mpfr/portfile.cmake +++ b/ports/mpfr/portfile.cmake @@ -8,8 +8,9 @@ vcpkg_download_distfile(ARCHIVE vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} - PATCHES gmpd.patch - dll.patch + PATCHES + gmpd.patch + dll.patch ) if(VCPKG_TARGET_IS_WINDOWS) vcpkg_acquire_msys(MSYS_ROOT PACKAGES texinfo) From 072acb8ddd3b0d7580fd120fb2b4bd99a8d83feb Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Mon, 11 Jan 2021 00:11:45 +0100 Subject: [PATCH 08/10] fix merge error --- ports/gmp/portfile.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/ports/gmp/portfile.cmake b/ports/gmp/portfile.cmake index 33da6e0353cd12..8886d58d80c952 100644 --- a/ports/gmp/portfile.cmake +++ b/ports/gmp/portfile.cmake @@ -12,7 +12,6 @@ if(VCPKG_TARGET_IS_WINDOWS) PATCHES vs.build.patch runtime.patch - prefix.patch adddef.patch ) vcpkg_find_acquire_program(YASM) From 37b3da9092cf2c86634fedfddf4602c423dde85e Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Mon, 11 Jan 2021 00:36:07 +0100 Subject: [PATCH 09/10] update PR --- ports/gmp/portfile.cmake | 43 +++++++++++++------------- ports/gmp/vcpkg.json | 5 +-- ports/mpfr/portfile.cmake | 5 ++- scripts/cmake/vcpkg_acquire_msys.cmake | 10 ++++++ 4 files changed, 37 insertions(+), 26 deletions(-) diff --git a/ports/gmp/portfile.cmake b/ports/gmp/portfile.cmake index 8886d58d80c952..e57ec460708ede 100644 --- a/ports/gmp/portfile.cmake +++ b/ports/gmp/portfile.cmake @@ -6,17 +6,18 @@ if(VCPKG_TARGET_IS_WINDOWS) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ShiftMediaProject/gmp - REF e140dfc8668e96d7e56cbd46467945adcc6b3cc4 #v6.2.0 - SHA512 3b646c142447946bb4556db01214ff130da917bc149946b8cf086f3b01e1cc3d664b941a30a42608799c14461b2f29e4b894b72915d723bd736513c8914729b7 + REF 0018c44e8dfcc3b64b43e0aea4b3f419f0b65fd0 #v6.2.1-2 + SHA512 2405e2536ca9fe0b890f44f54c936ac0e4b5a9ebe6a19e1c48a9c21b7211d2a1b45865852e3c65a98a6735216a4e27bea75c0fd6e52efeed4baecd95da9895a5 HEAD_REF master PATCHES vs.build.patch runtime.patch - adddef.patch + adddef.patch ) - vcpkg_find_acquire_program(YASM) - get_filename_component(YASM_DIR "${YASM}" DIRECTORY) - vcpkg_add_to_path("${YASM_DIR}") + + include(${CURRENT_INSTALLED_DIR}/share/yasm-tool-helper/yasm-tool-helper.cmake) + yasm_tool_helper(OUT_VAR YASM) + file(TO_NATIVE_PATH "${YASM}" YASM) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(CONFIGURATION_RELEASE ReleaseDLL) @@ -32,7 +33,13 @@ if(VCPKG_TARGET_IS_WINDOWS) endif() #Setup YASM integration - set(_file "${SOURCE_PATH}/SMP/libgmp.vcxproj") + set(_porjectfile) + if(VCPKG_TARGET_IS_UWP) + set(_porjectfile "${SOURCE_PATH}/SMP/libgmp_winrt.vcxproj") + else() + set(_porjectfile "${SOURCE_PATH}/SMP/libgmp.vcxproj") + endif() + set(_file "${_porjectfile}") file(READ "${_file}" _contents) string(REPLACE [[]] "" @@ -41,15 +48,8 @@ if(VCPKG_TARGET_IS_WINDOWS) "" _contents "${_contents}") string(REGEX REPLACE "${VCPKG_ROOT_DIR}/installed/[^/]+/share" "${CURRENT_INSTALLED_DIR}/share" _contents "${_contents}") # Above already replaced by another triplet - if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - STRING(REPLACE ">MultiThreadedDebugDLL<" ">MultiThreadedDebug<" _contents "${_contents}") - STRING(REPLACE ">MultiThreadedDLL<" ">MultiThreaded<" _contents "${_contents}") - else() - STRING(REPLACE ">MultiThreadedDebug<" ">MultiThreadedDebugDLL<" _contents "${_contents}") - STRING(REPLACE ">MultiThreaded<" ">MultiThreadedDLL<" _contents "${_contents}") - endif() file(WRITE "${_file}" "${_contents}") - + vcpkg_install_msbuild( USE_VCPKG_INTEGRATION SOURCE_PATH ${SOURCE_PATH} @@ -60,11 +60,11 @@ if(VCPKG_TARGET_IS_WINDOWS) RELEASE_CONFIGURATION ${CONFIGURATION_RELEASE} DEBUG_CONFIGURATION ${CONFIGURATION_DEBUG} SKIP_CLEAN - OPTIONS /p:UseEnv=True + OPTIONS "/p:YasmPath=${YASM}" ) get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME) file(RENAME "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${SOURCE_PATH_SUFFIX}/msvc/include" "${CURRENT_PACKAGES_DIR}/include") - set(PACKAGE_VERSION 6.2.0) + set(PACKAGE_VERSION 6.2.1) set(PACKAGE_NAME gmp) set(prefix "${CURRENT_INSTALLED_DIR}") set(exec_prefix "\${prefix}") @@ -89,14 +89,15 @@ if(VCPKG_TARGET_IS_WINDOWS) else() vcpkg_download_distfile( ARCHIVE - URLS https://gmplib.org/download/gmp/gmp-6.2.0.tar.xz - FILENAME gmp-6.2.0.tar.xz - SHA512 a066f0456f0314a1359f553c49fc2587e484ff8ac390ff88537266a146ea373f97a1c0ba24608bf6756f4eab11c9056f103c8deb99e5b57741b4f7f0ec44b90c) + URLS https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz + FILENAME gmp-6.2.1.tar.xz + SHA512 c99be0950a1d05a0297d65641dd35b75b74466f7bf03c9e8a99895a3b2f9a0856cd17887738fa51cf7499781b65c049769271cbcb77d057d2e9f1ec52e07dd84 + ) vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} - REF gmp-6.2.0 + REF gmp-6.2.1 ) vcpkg_configure_make( diff --git a/ports/gmp/vcpkg.json b/ports/gmp/vcpkg.json index a0c93f2ab16d64..f19d55d43d3982 100644 --- a/ports/gmp/vcpkg.json +++ b/ports/gmp/vcpkg.json @@ -1,9 +1,10 @@ { "name": "gmp", - "version-string": "6.2.0", - "port-version": 5, + "version-string": "6.2.1", + "port-version": 3, "description": "The GNU Multiple Precision Arithmetic Library", "homepage": "https://gmplib.org", + "supports": "windows & !(arm | arm64)", "dependencies": [ { "name": "vs-yasm", diff --git a/ports/mpfr/portfile.cmake b/ports/mpfr/portfile.cmake index 2930174e0ec36a..df4432def260ba 100644 --- a/ports/mpfr/portfile.cmake +++ b/ports/mpfr/portfile.cmake @@ -11,13 +11,12 @@ vcpkg_extract_source_archive_ex( PATCHES gmpd.patch dll.patch ) -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_acquire_msys(MSYS_ROOT PACKAGES texinfo) -endif() + file(REMOVE_RECURSE "${SOURCE_PATH}/m4") vcpkg_configure_make( SOURCE_PATH ${SOURCE_PATH} AUTOCONFIG + ADDITIONAL_MSYS_PACKAGES texinfo gettext autoconf-archive ) vcpkg_install_make() diff --git a/scripts/cmake/vcpkg_acquire_msys.cmake b/scripts/cmake/vcpkg_acquire_msys.cmake index ac48d177718f62..443602b7629bb0 100644 --- a/scripts/cmake/vcpkg_acquire_msys.cmake +++ b/scripts/cmake/vcpkg_acquire_msys.cmake @@ -162,6 +162,11 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) SHA512 2d0a60f2c384e3b9e2bed2212867c85333545e51ee0f583a33914e488e43c265ed0017cd4430a6e3dafdca99c0414b3756a4b9cc92a6f04d5566eff8b68def75 DEPS msys2-runtime ) + msys_package( + URL "https://repo.msys2.org/msys/x86_64/texinfo-6.7-1-x86_64.pkg.tar.xz" + SHA512 d352e06c916ab5d8e34722a8d8bb93ff975525349c9bdf8206e472d93b25158134f97ba5101ffd0d32cd8d88522c0935d3c83847e759aa5376a2276aa2a392b3 + DEPS bash perl + ) msys_package( URL "https://repo.msys2.org/msys/x86_64/bash-4.4.023-2-x86_64.pkg.tar.xz" SHA512 1cf2a07022113010e00e150e7004732013a793d49e7a6ac7c2be27a0b2c0ce3366150584b9974e30df042f8876a84d6a77c1a46f0607e38ebe18f8a25f51c32d @@ -172,6 +177,11 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) SHA512 66b9c97bd3d1dfe2a2ab576235b6b8c204a9e4c099ba14cf5d0139e564bba1e735e3b1083354b4cac8c6c42233cbdd5e1e277e32cadfe24017b94d2fbdeb5617 DEPS m4 ) + msys_package( + URL "https://repo.msys2.org/msys/x86_64/autoconf-archive-2019.01.06-1-any.pkg.tar.xz" + SHA512 77540d3d3644d94a52ade1f5db27b7b4b5910bbcd6995195d511378ca6d394a1dd8d606d57161c744699e6c63c5e55dfe6e8664d032cc8c650af9fdbb2db08b0 + DEPS m4 + ) msys_package( URL "https://repo.msys2.org/msys/x86_64/diffutils-3.7-1-x86_64.pkg.tar.xz" SHA512 0c39837a26b2111bb6310cdfe0bc14656e3d57456ad8023f59c9386634a8f1f236915c79a57348b64c508897c73ed88d8abce2b9ac512a427e9a3956939f2040 From 495fc345fb4334859f285487ba5486f4f1a90830 Mon Sep 17 00:00:00 2001 From: JackBoosY Date: Mon, 18 Jan 2021 01:38:27 -0800 Subject: [PATCH 10/10] update baseline --- port_versions/baseline.json | 10 +++++++--- port_versions/g-/gmp.json | 5 +++++ port_versions/m-/mpc.json | 9 +++++++++ port_versions/m-/mpfr.json | 5 +++++ 4 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 port_versions/m-/mpc.json diff --git a/port_versions/baseline.json b/port_versions/baseline.json index 250f6157cf862c..3dee8347ccdfc6 100644 --- a/port_versions/baseline.json +++ b/port_versions/baseline.json @@ -2201,8 +2201,8 @@ "port-version": 0 }, "gmp": { - "baseline": "6.2.1-2", - "port-version": 0 + "baseline": "6.2.1", + "port-version": 3 }, "google-cloud-cpp": { "baseline": "1.22.0", @@ -3824,8 +3824,12 @@ "baseline": "1.4.0", "port-version": 0 }, + "mpc": { + "baseline": "1.2.0", + "port-version": 0 + }, "mpfr": { - "baseline": "4.0.2-2", + "baseline": "4.1.0", "port-version": 0 }, "mpg123": { diff --git a/port_versions/g-/gmp.json b/port_versions/g-/gmp.json index db8776cc2fa8bf..1ba3f1ed5ea03a 100644 --- a/port_versions/g-/gmp.json +++ b/port_versions/g-/gmp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "3b7459d7ea886b86c9c80890c0b697df9df3cce1", + "version-string": "6.2.1", + "port-version": 3 + }, { "git-tree": "7f067caae5b946b5906abdfee1fb72b53922fef5", "version-string": "6.2.1-2", diff --git a/port_versions/m-/mpc.json b/port_versions/m-/mpc.json new file mode 100644 index 00000000000000..240192016834bf --- /dev/null +++ b/port_versions/m-/mpc.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "82cc965290366b6d4cbc8996a8b9e335769920c8", + "version-string": "1.2.0", + "port-version": 0 + } + ] +} diff --git a/port_versions/m-/mpfr.json b/port_versions/m-/mpfr.json index 67ba0c0a479395..84a29abfe3772b 100644 --- a/port_versions/m-/mpfr.json +++ b/port_versions/m-/mpfr.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6cb77c01fbda04c72b1767e3fbd79078bd29895e", + "version-string": "4.1.0", + "port-version": 0 + }, { "git-tree": "7eefb0bc78d4e4422f50379f1ccd05f13c3ed8c2", "version-string": "4.0.2-2",