aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>2020-06-27 06:06:30 +0800
committerGitHub <noreply@github.com>2020-06-26 15:06:30 -0700
commita0e0c57f865937cdda81c21ad9327e606f7dc930 (patch)
tree86b0d97dd67594d12f3283c1c46cc5e690c1a258
parent81ae2ed94bf51fdd453b383135a809dea3d45cce (diff)
downloadvcpkg-a0e0c57f865937cdda81c21ad9327e606f7dc930.tar.gz
vcpkg-a0e0c57f865937cdda81c21ad9327e606f7dc930.zip
[vcpkg] Add vcpkg_from_sourceforge (1/2) (#11899)
-rw-r--r--docs/maintainers/vcpkg_from_sourceforge.md63
-rw-r--r--ports/argtable2/CONTROL3
-rw-r--r--ports/argtable2/portfile.cmake18
-rw-r--r--ports/cunit/CONTROL2
-rw-r--r--ports/cunit/portfile.cmake19
-rw-r--r--ports/epsilon/0003-Fix-build-error.patch52
-rw-r--r--ports/epsilon/CONTROL5
-rw-r--r--ports/epsilon/portfile.cmake106
-rw-r--r--ports/freeglut/CONTROL2
-rw-r--r--ports/freeglut/portfile.cmake21
-rw-r--r--ports/freeimage/CONTROL2
-rw-r--r--ports/freeimage/portfile.cmake39
-rw-r--r--ports/geographiclib/CONTROL2
-rw-r--r--ports/geographiclib/portfile.cmake16
-rw-r--r--ports/giflib/CONTROL2
-rw-r--r--ports/giflib/portfile.cmake16
-rw-r--r--ports/graphicsmagick/CONTROL2
-rw-r--r--ports/graphicsmagick/portfile.cmake14
-rw-r--r--ports/gsoap/CONTROL2
-rw-r--r--ports/gsoap/portfile.cmake14
-rw-r--r--ports/healpix/CONTROL2
-rw-r--r--ports/healpix/portfile.cmake11
-rw-r--r--ports/irrlicht/CONTROL2
-rw-r--r--ports/irrlicht/portfile.cmake15
-rw-r--r--ports/itpp/CONTROL6
-rw-r--r--ports/itpp/portfile.cmake11
-rw-r--r--ports/libaiff/CONTROL2
-rw-r--r--ports/libaiff/portfile.cmake15
-rw-r--r--ports/libdisasm/CONTROL2
-rw-r--r--ports/libdisasm/portfile.cmake16
-rw-r--r--ports/libmad/CONTROL3
-rw-r--r--ports/libmad/portfile.cmake16
-rw-r--r--ports/libmikmod/CONTROL2
-rw-r--r--ports/libmikmod/portfile.cmake13
-rw-r--r--ports/libsquish/CONTROL2
-rw-r--r--ports/libsquish/portfile.cmake18
-rw-r--r--ports/libssh/CONTROL2
-rw-r--r--ports/libusb-win32/CONTROL2
-rw-r--r--ports/libusb-win32/portfile.cmake19
-rw-r--r--ports/libuuid/CONTROL2
-rw-r--r--ports/libuuid/portfile.cmake11
-rw-r--r--ports/libxmp-lite/CONTROL2
-rw-r--r--ports/libxmp-lite/portfile.cmake12
-rw-r--r--ports/mathgl/CONTROL2
-rw-r--r--ports/mathgl/portfile.cmake23
-rw-r--r--ports/mp3lame/CONTROL2
-rw-r--r--ports/mp3lame/portfile.cmake14
-rw-r--r--ports/mpg123/CONTROL2
-rw-r--r--ports/mpg123/portfile.cmake11
-rw-r--r--ports/pcre/CONTROL2
-rw-r--r--ports/pcre/portfile.cmake12
-rw-r--r--ports/pcre2/CONTROL2
-rw-r--r--ports/pcre2/portfile.cmake20
-rw-r--r--ports/plplot/CONTROL2
-rw-r--r--ports/plplot/portfile.cmake15
-rw-r--r--ports/podofo/CONTROL2
-rw-r--r--ports/podofo/portfile.cmake13
-rw-r--r--ports/polyclipping/CONTROL3
-rw-r--r--ports/polyclipping/portfile.cmake13
-rw-r--r--ports/portmidi/CONTROL2
-rw-r--r--ports/portmidi/portfile.cmake17
-rw-r--r--ports/pthreads/CONTROL2
-rw-r--r--ports/pthreads/portfile.cmake15
-rw-r--r--ports/qt5-base/CONTROL2
-rw-r--r--ports/qwt/CONTROL2
-rw-r--r--ports/qwt/portfile.cmake11
-rw-r--r--ports/rapidxml/CONTROL2
-rw-r--r--ports/rapidxml/portfile.cmake13
-rw-r--r--ports/sigslot/CONTROL2
-rw-r--r--ports/sigslot/portfile.cmake27
-rw-r--r--ports/soxr/CONTROL3
-rw-r--r--ports/soxr/portfile.cmake16
-rw-r--r--ports/tclap/CONTROL2
-rw-r--r--ports/tclap/portfile.cmake14
-rw-r--r--ports/tinyfiledialogs/CONTROL2
-rw-r--r--ports/tinyfiledialogs/portfile.cmake12
-rw-r--r--ports/tinyxml/CONTROL2
-rw-r--r--ports/tinyxml/portfile.cmake14
-rw-r--r--ports/wtl/CONTROL2
-rw-r--r--ports/wtl/portfile.cmake13
-rw-r--r--scripts/ci.baseline.txt1
-rw-r--r--scripts/cmake/vcpkg_common_functions.cmake1
-rw-r--r--scripts/cmake/vcpkg_from_sourceforge.cmake129
83 files changed, 528 insertions, 502 deletions
diff --git a/docs/maintainers/vcpkg_from_sourceforge.md b/docs/maintainers/vcpkg_from_sourceforge.md
new file mode 100644
index 000000000..823ee82f9
--- /dev/null
+++ b/docs/maintainers/vcpkg_from_sourceforge.md
@@ -0,0 +1,63 @@
+# vcpkg_from_sourceforge
+
+Download and extract a project from sourceforge.
+
+## Usage:
+```cmake
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO <cunit/CUnit>
+ [REF <2.1-3>]
+ SHA512 <547b417109332...>
+ FILENAME <CUnit-2.1-3.tar.bz2>
+ [DISABLE_SSL]
+ [NO_REMOVE_ONE_LEVEL]
+ [PATCHES <patch1.patch> <patch2.patch>...]
+)
+```
+
+## Parameters:
+### OUT_SOURCE_PATH
+Specifies the out-variable that will contain the extracted location.
+
+This should be set to `SOURCE_PATH` by convention.
+
+### REPO
+The organization or user and repository (optional) on sourceforge.
+
+### REF
+A stable version number that will not change contents.
+
+### FILENAME
+The local name for the file. Files are shared between ports, so the file may need to be renamed to make it clearly attributed to this port and avoid conflicts.
+
+For example, we can get the download link:
+https://sourceforge.net/settings/mirror_choices?projectname=mad&filename=libmad/0.15.1b/libmad-0.15.1b.tar.gz&selected=nchc
+So the REPO is `mad/libmad`, the REF is `0.15.1b`, and the FILENAME is `libmad-0.15.1b.tar.gz`
+
+For some special links:
+https://sourceforge.net/settings/mirror_choices?projectname=soxr&filename=soxr-0.1.3-Source.tar.xz&selected=nchc
+The REPO is `soxr`, REF is not exist, and the FILENAME is `soxr-0.1.3-Source.tar.xz`
+
+### SHA512
+The SHA512 hash that should match the archive.
+
+### PATCHES
+A list of patches to be applied to the extracted sources.
+
+Relative paths are based on the port directory.
+
+### DISABLE_SSL
+Disable ssl when downloading source.
+
+### NO_REMOVE_ONE_LEVEL
+Specifies that the default removal of the top level folder should not occur.
+
+## Examples:
+
+* [cunit](https://github.com/Microsoft/vcpkg/blob/master/ports/cunit/portfile.cmake)
+* [polyclipping](https://github.com/Microsoft/vcpkg/blob/master/ports/polyclipping/portfile.cmake)
+* [tinyfiledialogs](https://github.com/Microsoft/vcpkg/blob/master/ports/tinyfiledialogs/portfile.cmake)
+
+## Source
+[scripts/cmake/vcpkg_from_sourceforge.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_from_sourceforge.cmake)
diff --git a/ports/argtable2/CONTROL b/ports/argtable2/CONTROL
index 69ddd4bc3..7a953dd14 100644
--- a/ports/argtable2/CONTROL
+++ b/ports/argtable2/CONTROL
@@ -1,3 +1,4 @@
Source: argtable2
-Version: 2.13-4
+Version: 2.13-5
+Homepage: http://argtable.sourceforge.net
Description: Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss.
diff --git a/ports/argtable2/portfile.cmake b/ports/argtable2/portfile.cmake
index c98dfcfb5..05f3f015c 100644
--- a/ports/argtable2/portfile.cmake
+++ b/ports/argtable2/portfile.cmake
@@ -1,18 +1,12 @@
-include(vcpkg_common_functions)
-
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-vcpkg_download_distfile(ARCHIVE
- URLS "http://prdownloads.sourceforge.net/argtable/argtable2-13.tar.gz"
- FILENAME "argtable-2.13.zip"
- SHA512 3d8303f3ba529e3241d918c0127a16402ece951efb964d14a06a3a7d29a252812ad3c44e96da28798871e9923e73a2cfe7ebc84139c1397817d632cae25c4585
-)
-
-vcpkg_extract_source_archive_ex(
+vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- PATCHES
- fix-install-dirs.patch
+ REPO argtable/argtable
+ REF argtable-2.13
+ FILENAME "argtable2-13.tar.gz"
+ SHA512 3d8303f3ba529e3241d918c0127a16402ece951efb964d14a06a3a7d29a252812ad3c44e96da28798871e9923e73a2cfe7ebc84139c1397817d632cae25c4585
+ PATCHES fix-install-dirs.patch
)
vcpkg_configure_cmake(
diff --git a/ports/cunit/CONTROL b/ports/cunit/CONTROL
index b1c5bd30c..21e97d948 100644
--- a/ports/cunit/CONTROL
+++ b/ports/cunit/CONTROL
@@ -1,4 +1,4 @@
Source: cunit
-Version: 2.1.3-3
+Version: 2.1.3-4
Homepage: https://sourceforge.net/projects/cunit/
Description: CUnit is a lightweight system for writing, administering, and running unit tests in C. It provides C programmers a basic testing functionality with a flexible variety of user interfaces
diff --git a/ports/cunit/portfile.cmake b/ports/cunit/portfile.cmake
index d841d8bc3..88b9be6b5 100644
--- a/ports/cunit/portfile.cmake
+++ b/ports/cunit/portfile.cmake
@@ -1,14 +1,9 @@
-include(vcpkg_common_functions)
-
-vcpkg_download_distfile(ARCHIVE
- URLS "http://downloads.sourceforge.net/project/cunit/CUnit/2.1-3/CUnit-2.1-3.tar.bz2"
- FILENAME "CUnit-2.1-3.tar.bz2"
- SHA512 547b417109332446dfab8fda17bf4ccd2da841dc93f824dc90a20635bcf1fb80fb2176500d8a0906940f3f3d3e2f77b2d70a71090c9ab84ad9af43f3582bc487
-)
-
-vcpkg_extract_source_archive_ex(
+vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
+ REPO cunit/CUnit
+ REF 2.1-3
+ FILENAME "CUnit-2.1-3.tar.bz2"
+ SHA512 547b417109332446dfab8fda17bf4ccd2da841dc93f824dc90a20635bcf1fb80fb2176500d8a0906940f3f3d3e2f77b2d70a71090c9ab84ad9af43f3582bc487
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
@@ -21,6 +16,6 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
-file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/cunit RENAME copyright)
-
vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/epsilon/0003-Fix-build-error.patch b/ports/epsilon/0003-Fix-build-error.patch
new file mode 100644
index 000000000..73309b747
--- /dev/null
+++ b/ports/epsilon/0003-Fix-build-error.patch
@@ -0,0 +1,52 @@
+diff --git a/makefile.vc b/makefile.vc
+index cd0fc5a..7ce6861 100644
+--- a/makefile.vc
++++ b/makefile.vc
+@@ -32,6 +32,12 @@ epsilon.lib: $(LIBOBJ)
+
+ $(EPSILON_DLL): epsilon_i.lib
+
++!IFNDEF DEBUG
++POPTLIB=$(LIBPATH)popt.lib
++!ELSE
++POPTLIB=$(LIBPATH)poptd.lib
++!ENDIF
++
+ epsilon_i.lib: $(LIBOBJ)
+ link /debug /dll /def:libepsilon.def /out:$(EPSILON_DLL) \
+ /implib:epsilon_i.lib $(LIBOBJ)
+@@ -48,8 +54,8 @@ $(EPSILON_EXE): $(EPSILON_DLL) src\epsilon.obj \
+ src\cmd_truncate_file.obj src\cmd_decode_file.obj \
+ src\cmd_encode_file.obj src\misc.obj \
+ src\psi.obj src\pbm.obj \
+- ..\popt\lib\libpopt.lib
+- /Fe$(EPSILON_EXE)
++ $(POPTLIB) \
++ /Fe"$(EPSILON_EXE)"
+ if exist $(EPSILON_EXE).manifest mt -manifest \
+ $(EPSILON_EXE).manifest -outputresource:$(EPSILON_EXE);1
+
+@@ -71,8 +77,9 @@ install: all
+ -mkdir $(INSTDIR)\bin
+ -mkdir $(INSTDIR)\lib
+ -mkdir $(INSTDIR)\include
++ -mkdir $(INSTDIR)\tools
+ copy *.dll $(INSTDIR)\bin
+ copy *.lib $(INSTDIR)\lib
+- copy *.exe $(INSTDIR)\bin
++ copy *.exe $(INSTDIR)\tools
+ copy lib\epsilon.h $(INSTDIR)\include
+
+diff --git a/src/misc.h b/src/misc.h
+index 9023dce..d8ce602 100644
+--- a/src/misc.h
++++ b/src/misc.h
+@@ -30,7 +30,7 @@ extern "C" {
+ #endif
+
+ /* Use _snprintf instead of snprintf under MSVC compiler */
+-#if defined(_WIN32) && !defined(__MINGW32__)
++#if 0
+ #define snprintf _snprintf
+ #endif
+
diff --git a/ports/epsilon/CONTROL b/ports/epsilon/CONTROL
index be2f78562..8c829bef3 100644
--- a/ports/epsilon/CONTROL
+++ b/ports/epsilon/CONTROL
@@ -1,4 +1,5 @@
Source: epsilon
-Version: 0.9.2-1
+Version: 0.9.2-2
Homepage: https://sourceforge.net/projects/epsilon-project/
-Description: EPSILON is an Open Source wavelet image compressor, that is aimed on parallel and robust image processing. \ No newline at end of file
+Description: EPSILON is an Open Source wavelet image compressor, that is aimed on parallel and robust image processing.
+Build-Depends: libpopt \ No newline at end of file
diff --git a/ports/epsilon/portfile.cmake b/ports/epsilon/portfile.cmake
index e21cc3d3a..525974ab5 100644
--- a/ports/epsilon/portfile.cmake
+++ b/ports/epsilon/portfile.cmake
@@ -1,26 +1,17 @@
-include(vcpkg_common_functions)
+vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://downloads.sourceforge.net/project/epsilon-project/epsilon/0.9.2/epsilon-0.9.2.tar.gz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fepsilon-project%2Ffiles%2Fepsilon%2F0.9.2%2Fepsilon-0.9.2.tar.gz%2Fdownload%3Fuse_mirror%3Dayera"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO epsilon-project/epsilon
+ REF 0.9.2
FILENAME "epsilon-0.9.2.tar.gz"
- SHA512 95f427c68a4a4eb784f7d484d87fc573133983510f6b030663f88955e2446490a07b1343ae4668251b466f67cf9a79bd834b933c57c5ed12327f32174f20ac0f)
-
-# Extract source into archictecture specific directory, because GDALs' nmake based build currently does not
-# support out of source builds.
-set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-debug/epsilon-0.9.2)
-set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-release/epsilon-0.9.2)
-file(REMOVE_RECURSE ${SOURCE_PATH_DEBUG} ${SOURCE_PATH_RELEASE}) # to be sure that the patches can be properly applied, we always clean the buildtrees folder
-foreach(BUILD_TYPE debug release)
- vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE})
- vcpkg_apply_patches(
- SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}/epsilon-0.9.2
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/0001-VS2015-provides-snprintf.patch
- ${CMAKE_CURRENT_LIST_DIR}/0002-Add-CFLAGS-for-CRT-selection-and-warning-supression.patch
- )
-endforeach()
+ SHA512 95f427c68a4a4eb784f7d484d87fc573133983510f6b030663f88955e2446490a07b1343ae4668251b466f67cf9a79bd834b933c57c5ed12327f32174f20ac0f
+ PATCHES
+ 0001-VS2015-provides-snprintf.patch
+ 0002-Add-CFLAGS-for-CRT-selection-and-warning-supression.patch
+ 0003-Fix-build-error.patch
+)
-find_program(NMAKE nmake REQUIRED)
if (VCPKG_CRT_LINKAGE STREQUAL static)
set(CL_FLAGS_REL "/MT /Ox /fp:precise")
set(CL_FLAGS_DBG "/MTd /Zi")
@@ -31,68 +22,27 @@ else()
set(TARGET_LIB epsilon_i.lib)
endif()
-################
-# Release build
-################
-message(STATUS "Building ${TARGET_TRIPLET}-rel")
-file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL)
-vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f makefile.vc
- "INSTDIR=\"${INST_DIR_REL}\""
- MSVC_VER=1900
- CRT_FLAGS=${CL_FLAGS_REL}
- INSTALLED_ROOT=${CURRENT_INSTALLED_DIR}
- ${TARGET_LIB}
- WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
- LOGNAME nmake-build-${TARGET_TRIPLET}-release
-)
-message(STATUS "Building ${TARGET_TRIPLET}-rel done")
-
-################
-# Debug build
-################
-message(STATUS "Building ${TARGET_TRIPLET}-dbg")
-file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG)
-vcpkg_execute_required_process(
- COMMAND ${NMAKE} /G -f makefile.vc
- "INSTDIR=\"${INST_DIR_DBG}\""
+vcpkg_install_nmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}"
+ OPTIONS_DEBUG
+ INSTDIR="${CURRENT_PACKAGES_DIR}/debug"
MSVC_VER=1900
CRT_FLAGS=${CL_FLAGS_DBG}
DEBUG=1
- INSTALLED_ROOT=${CURRENT_INSTALLED_DIR}
${TARGET_LIB}
- WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
- LOGNAME nmake-build-${TARGET_TRIPLET}-debug
+ LIBPATH="${CURRENT_INSTALLED_DIR}/debug/lib/"
+ OPTIONS_RELEASE
+ INSTDIR="${CURRENT_PACKAGES_DIR}"
+ MSVC_VER=1900
+ CRT_FLAGS=${CL_FLAGS_REL}
+ ${TARGET_LIB}
+ LIBPATH="${CURRENT_INSTALLED_DIR}/lib/"
)
-message(STATUS "Building ${TARGET_TRIPLET}-dbg done")
-message(STATUS "Packaging ${TARGET_TRIPLET}")
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib)
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib)
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include)
-file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/epsilon/filters)
-if (VCPKG_CRT_LINKAGE STREQUAL dynamic)
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(INSTALL ${SOURCE_PATH_RELEASE}/epsilon.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/bin/)
- file(INSTALL ${SOURCE_PATH_DEBUG}/epsilon.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin/)
- file(INSTALL ${SOURCE_PATH_RELEASE}/epsilon_i.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib/)
- file(INSTALL ${SOURCE_PATH_DEBUG}/epsilon_i.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/)
-else()
- file(INSTALL ${SOURCE_PATH_RELEASE}/epsilon.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib/)
- file(INSTALL ${SOURCE_PATH_DEBUG}/epsilon.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/)
-endif()
-file(COPY ${SOURCE_PATH_RELEASE}/lib/epsilon.h
- DESTINATION ${CURRENT_PACKAGES_DIR}/include/)
-file(GLOB FILTERS ${SOURCE_PATH_RELEASE}/filters/*.filter)
-file(INSTALL ${FILTERS}
- DESTINATION ${CURRENT_PACKAGES_DIR}/share/epsilon/filters/)
vcpkg_copy_pdbs()
-file(INSTALL ${SOURCE_PATH_RELEASE}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/epsilon/ RENAME copyright)
-message(STATUS "Packaging ${TARGET_TRIPLET} done")
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/freeglut/CONTROL b/ports/freeglut/CONTROL
index 19de72cc5..fad233f80 100644
--- a/ports/freeglut/CONTROL
+++ b/ports/freeglut/CONTROL
@@ -1,4 +1,4 @@
Source: freeglut
-Version: 3.2.1-1
+Version: 3.2.1-2
Homepage: https://sourceforge.net/projects/freeglut/
Description: Open source implementation of GLUT with source and binary backwards compatibility.
diff --git a/ports/freeglut/portfile.cmake b/ports/freeglut/portfile.cmake
index f5eca140e..4ec2382ae 100644
--- a/ports/freeglut/portfile.cmake
+++ b/ports/freeglut/portfile.cmake
@@ -1,17 +1,14 @@
-vcpkg_download_distfile(ARCHIVE
- URLS "http://downloads.sourceforge.net/project/freeglut/freeglut/3.2.1/freeglut-3.2.1.tar.gz"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO freeglut/freeglut
+ REF 3.2.1
FILENAME "freeglut-3.2.1.tar.gz"
SHA512 aced4bbcd36269ce6f4ee1982e0f9e3fffbf18c94f785d3215ac9f4809b992e166c7ada496ed6174e13d77c0f7ef3ca4c57d8a282e96cbbe6ff086339ade3b08
-)
-
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- PATCHES
- use_targets_to_export_x11_dependency.patch
- macOS_Xquartz.patch
- gcc10.patch
- fix-debug-macro.patch
+ PATCHES
+ use_targets_to_export_x11_dependency.patch
+ macOS_Xquartz.patch
+ gcc10.patch
+ fix-debug-macro.patch
)
if(NOT VCPKG_TARGET_IS_WINDOWS)
diff --git a/ports/freeimage/CONTROL b/ports/freeimage/CONTROL
index 438960011..d7b6a4311 100644
--- a/ports/freeimage/CONTROL
+++ b/ports/freeimage/CONTROL
@@ -1,5 +1,5 @@
Source: freeimage
-Version: 3.18.0-9
+Version: 3.18.0-10
Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openjpeg, libwebp (!uwp), libraw, jxrlib, openexr
Homepage: https://sourceforge.net/projects/freeimage/
Description: Support library for graphics image formats
diff --git a/ports/freeimage/portfile.cmake b/ports/freeimage/portfile.cmake
index 1fcbbb110..37552202d 100644
--- a/ports/freeimage/portfile.cmake
+++ b/ports/freeimage/portfile.cmake
@@ -1,27 +1,22 @@
-include(vcpkg_common_functions)
-
-vcpkg_download_distfile(ARCHIVE
- URLS "http://downloads.sourceforge.net/freeimage/FreeImage3180.zip"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO freeimage/Source%20Distribution
+ REF 3.18.0
FILENAME "FreeImage3180.zip"
SHA512 9d9cc7e2d57552c3115e277aeb036e0455204d389026b17a3f513da5be1fd595421655488bb1ec2f76faebed66049119ca55e26e2a6d37024b3fb7ef36ad4818
-)
-
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- PATCHES
- "${CMAKE_CURRENT_LIST_DIR}/disable-plugins-depending-on-internal-third-party-libraries.patch"
- "${CMAKE_CURRENT_LIST_DIR}/use-external-jpeg.patch"
- "${CMAKE_CURRENT_LIST_DIR}/use-external-jxrlib.patch"
- "${CMAKE_CURRENT_LIST_DIR}/use-external-libtiff.patch"
- "${CMAKE_CURRENT_LIST_DIR}/use-external-openjpeg.patch"
- "${CMAKE_CURRENT_LIST_DIR}/use-external-png-zlib.patch"
- "${CMAKE_CURRENT_LIST_DIR}/use-external-rawlib.patch"
- "${CMAKE_CURRENT_LIST_DIR}/use-external-webp.patch"
- "${CMAKE_CURRENT_LIST_DIR}/use-external-openexr.patch"
- "${CMAKE_CURRENT_LIST_DIR}/use-freeimage-config-include.patch"
- "${CMAKE_CURRENT_LIST_DIR}/fix-function-overload.patch"
- "${CMAKE_CURRENT_LIST_DIR}/use-typedef-as-already-declared.patch"
+ PATCHES
+ disable-plugins-depending-on-internal-third-party-libraries.patch
+ use-external-jpeg.patch
+ use-external-jxrlib.patch
+ use-external-libtiff.patch
+ use-external-openjpeg.patch
+ use-external-png-zlib.patch
+ use-external-rawlib.patch
+ use-external-webp.patch
+ use-external-openexr.patch
+ use-freeimage-config-include.patch
+ fix-function-overload.patch
+ use-typedef-as-already-declared.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/geographiclib/CONTROL b/ports/geographiclib/CONTROL
index 7705f922a..18c787c72 100644
--- a/ports/geographiclib/CONTROL
+++ b/ports/geographiclib/CONTROL
@@ -1,4 +1,4 @@
Source: geographiclib
-Version: 1.47-patch1-13
+Version: 1.47-patch1-14
Homepage: https://sourceforge.net/projects/geographiclib/
Description: a small set of C++ classes for performing conversions between geographic, UTM, UPS, MGRS, geocentric, and local cartesian coordinates, for gravity (e.g., EGM2008), geoid height, and geomagnetic field (e.g., WMM2010) calculations, and for solving geodesic problems.
diff --git a/ports/geographiclib/portfile.cmake b/ports/geographiclib/portfile.cmake
index 3b1100000..8a2e8b0cb 100644
--- a/ports/geographiclib/portfile.cmake
+++ b/ports/geographiclib/portfile.cmake
@@ -1,14 +1,12 @@
-vcpkg_download_distfile(ARCHIVE
- URLS "https://sourceforge.net/projects/geographiclib/files/distrib/archive/GeographicLib-1.47-patch1.zip"
- FILENAME "geographiclib-1.47-patch1.zip"
- SHA512 d8fdfd7ae093057ec1a4ab922457fe71a3fb9975df5b673c276d62a0e9c4f212dc63652830b9d89e3890bc96aafd335992943cf6a1bce8260acf932d1eb7abfd
-)
-vcpkg_extract_source_archive_ex(
+vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
+ REPO geographiclib/distrib
+ REF archive
+ FILENAME "GeographicLib-1.47-patch1.zip"
+ SHA512 d8fdfd7ae093057ec1a4ab922457fe71a3fb9975df5b673c276d62a0e9c4f212dc63652830b9d89e3890bc96aafd335992943cf6a1bce8260acf932d1eb7abfd
PATCHES
- remove-tools-and-fix-version.patch
- fix-usage.patch
+ remove-tools-and-fix-version.patch
+ fix-usage.patch
)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
diff --git a/ports/giflib/CONTROL b/ports/giflib/CONTROL
index 4de8f8e22..bb796c97a 100644
--- a/ports/giflib/CONTROL
+++ b/ports/giflib/CONTROL
@@ -1,4 +1,4 @@
Source: giflib
-Version: 5.1.4-3
+Version: 5.1.4-4
Homepage: https://sourceforge.net/projects/giflib/
Description: A library for reading and writing gif images.
diff --git a/ports/giflib/portfile.cmake b/ports/giflib/portfile.cmake
index 7ca1478f7..dfca62d51 100644
--- a/ports/giflib/portfile.cmake
+++ b/ports/giflib/portfile.cmake
@@ -1,22 +1,16 @@
-include(vcpkg_common_functions)
-
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
set(GIFLIB_VERSION 5.1.4)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://nchc.dl.sourceforge.net/project/giflib/giflib-${GIFLIB_VERSION}.tar.bz2"
- FILENAME "giflib-${GIFLIB_VERSION}.tar.bz2"
- SHA512 32b5e342056c210e6478e9cb3b6ceec9594dcfaf34feea1eb4dad633a081ed4465bceee578c19165907cb47cb83912ac359ceea666a8e07dbbb5420f9928f96d
-)
-if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME)
+if (VCPKG_TARGET_IS_WINDOWS)
set(ADDITIONAL_PATCH "fix-compile-error.patch")
endif()
-vcpkg_extract_source_archive_ex(
+vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- REF ${GIFLIB_VERSION}
+ REPO "giflib"
+ FILENAME "giflib-${GIFLIB_VERSION}.tar.bz2"
+ SHA512 32b5e342056c210e6478e9cb3b6ceec9594dcfaf34feea1eb4dad633a081ed4465bceee578c19165907cb47cb83912ac359ceea666a8e07dbbb5420f9928f96d
PATCHES
msvc-guard-unistd-h.patch
${ADDITIONAL_PATCH}
diff --git a/ports/graphicsmagick/CONTROL b/ports/graphicsmagick/CONTROL
index ad09de18d..01040319a 100644
--- a/ports/graphicsmagick/CONTROL
+++ b/ports/graphicsmagick/CONTROL
@@ -1,5 +1,5 @@
Source: graphicsmagick
-Version: 1.3.35-1
+Version: 1.3.35-2
Build-Depends: zlib, bzip2, freetype, libjpeg-turbo, libpng, tiff
Homepage: https://sourceforge.net/projects/graphicsmagick/
Description: Image processing library
diff --git a/ports/graphicsmagick/portfile.cmake b/ports/graphicsmagick/portfile.cmake
index 2d1d0a258..c17215ea7 100644
--- a/ports/graphicsmagick/portfile.cmake
+++ b/ports/graphicsmagick/portfile.cmake
@@ -1,15 +1,11 @@
set(GM_VERSION 1.3.35)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/${GM_VERSION}/GraphicsMagick-${GM_VERSION}-windows-source.7z"
- FILENAME "GraphicsMagick-${GM_VERSION}-windows-source.7z"
- SHA512 bf3ade807de54f366e49df5b754d8321978d8e1ed4275364fb7e861ff04f0780a698fcb4e0a110a45213209ff846034f2add00a3443ed31db2c842530199bd1f
-)
-
-vcpkg_extract_source_archive_ex(
+vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- REF "${GM_VERSION}"
+ REPO graphicsmagick/graphicsmagick
+ REF ${GM_VERSION}
+ FILENAME "GraphicsMagick-${GM_VERSION}-windows-source.7z"
+ SHA512 bf3ade807de54f366e49df5b754d8321978d8e1ed4275364fb7e861ff04f0780a698fcb4e0a110a45213209ff846034f2add00a3443ed31db2c842530199bd1f
PATCHES
# GM always requires a dynamic BZIP2. This patch makes this dependent if _DLL is defined
dynamic_bzip2.patch
diff --git a/ports/gsoap/CONTROL b/ports/gsoap/CONTROL
index 1b804b558..27c7a8c1b 100644
--- a/ports/gsoap/CONTROL
+++ b/ports/gsoap/CONTROL
@@ -1,5 +1,5 @@
Source: gsoap
-Version: 2.8.102
+Version: 2.8.102-1
Build-Depends: curl
Homepage: https://sourceforge.net/projects/gsoap2/
Description: The gSOAP toolkit is a C and C++ software development toolkit for SOAP and REST XML Web services and generic C/C++ XML data bindings.
diff --git a/ports/gsoap/portfile.cmake b/ports/gsoap/portfile.cmake
index 15328eba2..b759fb876 100644
--- a/ports/gsoap/portfile.cmake
+++ b/ports/gsoap/portfile.cmake
@@ -1,16 +1,12 @@
vcpkg_fail_port_install(ON_TARGET "Linux" "OSX" "UWP" ON_ARCH "arm" "arm64")
-vcpkg_download_distfile(ARCHIVE
- URLS "https://downloads.sourceforge.net/project/gsoap2/gsoap-2.8/gsoap_2.8.102.zip"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO gsoap2
+ REF gsoap-2.8
FILENAME "gsoap_2.8.102.zip"
SHA512 3cff65605b15f820c9d56e32575231fb6fb89927bafc1db85ac1f879acd8496d6f38b558e994d17cce475beae0976d5fafcff7f22b28cdfbec8b7ec4b08bcbe7
-)
-
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- PATCHES
- "${CMAKE_CURRENT_LIST_DIR}/fix-build-in-windows.patch"
+ PATCHES fix-build-in-windows.patch
)
set(BUILD_ARCH "Win32")
diff --git a/ports/healpix/CONTROL b/ports/healpix/CONTROL
index 1fa217b77..a58d6ab63 100644
--- a/ports/healpix/CONTROL
+++ b/ports/healpix/CONTROL
@@ -1,5 +1,5 @@
Source: healpix
-Version: 1.12.10-1
+Version: 1.12.10-2
Homepage: http://healpix.sourceforge.net/
Description: HEALPix is an acronym for Hierarchical Equal Area isoLatitude Pixelation of a sphere.
Build-Depends: cfitsio
diff --git a/ports/healpix/portfile.cmake b/ports/healpix/portfile.cmake
index 2ecacc939..8b1a40151 100644
--- a/ports/healpix/portfile.cmake
+++ b/ports/healpix/portfile.cmake
@@ -1,17 +1,14 @@
set(HEALPIX_VER 3.50)
set(HEALPIX_PACK_NAME ${HEALPIX_VER}_2018Dec10)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://phoenixnap.dl.sourceforge.net/project/healpix/Healpix_${HEALPIX_VER}/Healpix_${HEALPIX_PACK_NAME}.tar.gz"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO healpix
+ REF Healpix_${HEALPIX_VER}
FILENAME "Healpix_${HEALPIX_PACK_NAME}.tar.gz"
SHA512 29fe680d757bd94651bf029654257cb67286643aad510df4c2f0b06245174411376ec1beca64feebfac14a6fc0194525170635842916d79dcaddeddd9ac6f6c7
)
-vcpkg_extract_source_archive_ex(
- ARCHIVE ${ARCHIVE}
- OUT_SOURCE_PATH SOURCE_PATH
-)
-
vcpkg_configure_make(
SOURCE_PATH ${SOURCE_PATH}
PROJECT_SUBPATH src/cxx
diff --git a/ports/irrlicht/CONTROL b/ports/irrlicht/CONTROL
index 22b622eae..3207b7ae8 100644
--- a/ports/irrlicht/CONTROL
+++ b/ports/irrlicht/CONTROL
@@ -1,5 +1,5 @@
Source: irrlicht
-Version: 1.8.4-5
+Version: 1.8.4-8
Homepage: http://irrlicht.sourceforge.net
Description: Irrlicht lightning fast 3d engine
Build-Depends: zlib, libpng, bzip2, libjpeg-turbo
diff --git a/ports/irrlicht/portfile.cmake b/ports/irrlicht/portfile.cmake
index 8fbf0d57b..cad4ca5a0 100644
--- a/ports/irrlicht/portfile.cmake
+++ b/ports/irrlicht/portfile.cmake
@@ -1,17 +1,12 @@
vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "osx" "uwp")
-vcpkg_download_distfile(ARCHIVE
- URLS "https://downloads.sourceforge.net/project/irrlicht/Irrlicht%20SDK/1.8/1.8.4/irrlicht-1.8.4.zip"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO irrlicht/Irrlicht%20SDK
+ REF 1.8/1.8.4
FILENAME "irrlicht-1.8.4.zip"
SHA512 de69ddd2c6bc80a1b27b9a620e3697b1baa552f24c7d624076d471f3aecd9b15f71dce3b640811e6ece20f49b57688d428e3503936a7926b3e3b0cc696af98d1
-)
-
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- REF "1.8.4"
- PATCHES
- "fix-encoding.patch"
+ PATCHES fix-encoding.patch
)
configure_file(${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY)
diff --git a/ports/itpp/CONTROL b/ports/itpp/CONTROL
index 6adac7303..8b1ae7701 100644
--- a/ports/itpp/CONTROL
+++ b/ports/itpp/CONTROL
@@ -1,4 +1,4 @@
-Source: itpp
-Version: 4.3.1-2
-Homepage: http://itpp.sourceforge.net
+Source: itpp
+Version: 4.3.1-3
+Homepage: http://itpp.sourceforge.net
Description: IT++ is a C++ library of mathematical, signal processing and communication classes and functions. Its main use is in simulation of communication systems and for performing research in the area of communications. \ No newline at end of file
diff --git a/ports/itpp/portfile.cmake b/ports/itpp/portfile.cmake
index 30905e200..730607b37 100644
--- a/ports/itpp/portfile.cmake
+++ b/ports/itpp/portfile.cmake
@@ -1,14 +1,11 @@
set(ITPP_VERSION 4.3.1)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://sourceforge.net/projects/itpp/files/itpp/${ITPP_VERSION}/itpp-${ITPP_VERSION}.tar.bz2"
- FILENAME "itpp-${ITPP_VERSION}.tar.bz2"
- SHA512 b46d048fa7f33e80d2291a5e38e205c159791ea200f92c70d69e8ad8447ac2f0c847fece566a99af739853a1643cb16e226b4200c8bf115417f324e6d38c66bd
-)
-vcpkg_extract_source_archive_ex(
+vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
+ REPO itpp/itpp
REF ${ITPP_VERSION}
+ FILENAME "itpp-${ITPP_VERSION}.tar.bz2"
+ SHA512 b46d048fa7f33e80d2291a5e38e205c159791ea200f92c70d69e8ad8447ac2f0c847fece566a99af739853a1643cb16e226b4200c8bf115417f324e6d38c66bd
PATCHES
msvc2013.patch
fix-uwp.patch
diff --git a/ports/libaiff/CONTROL b/ports/libaiff/CONTROL
index 20113f1d3..155f5e7d0 100644
--- a/ports/libaiff/CONTROL
+++ b/ports/libaiff/CONTROL
@@ -1,4 +1,4 @@
Source: libaiff
-Version: 5.0-3
+Version: 5.0-4
Homepage: https://sourceforge.net/projects/aifftools
Description: LibAiff is an open-source library, providing C applications transparent read & write operations for Audio Interchange File Format (AIFF) files, with the goal of supporting all of its features
diff --git a/ports/libaiff/portfile.cmake b/ports/libaiff/portfile.cmake
index 034f05719..97d8673b6 100644
--- a/ports/libaiff/portfile.cmake
+++ b/ports/libaiff/portfile.cmake
@@ -1,17 +1,14 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://sourceforge.net/projects/aifftools/files/libaiff/LibAiff%205.0/libaiff-5.0-release.tar.gz"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO aifftools/libaiff
+ REF LibAiff%205.0
FILENAME "libaiff-5.0-release.tar.gz"
SHA512 7800f9a3fbd0c5a17b8cc6c9b60181131d159ab5f5fb8e7de54e8f88c151717a988231de664a635e61940267c854a9ce83d58b12e322dcdda3aa8080c7b15f66
-)
-
-vcpkg_extract_source_archive_ex(
- ARCHIVE ${ARCHIVE}
- OUT_SOURCE_PATH SOURCE_PATH
PATCHES
- "${CMAKE_CURRENT_LIST_DIR}/allow_utf_16_filename.patch"
- "${CMAKE_CURRENT_LIST_DIR}/buffer_uninitialized.patch"
+ allow_utf_16_filename.patch
+ buffer_uninitialized.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/libdisasm/CONTROL b/ports/libdisasm/CONTROL
index 32e725aa6..7ab323192 100644
--- a/ports/libdisasm/CONTROL
+++ b/ports/libdisasm/CONTROL
@@ -1,4 +1,4 @@
Source: libdisasm
-Version: 0.23-3
+Version: 0.23-5
Homepage: https://sourceforge.net/projects/bastard
Description: x86 Disassembler Library.
diff --git a/ports/libdisasm/portfile.cmake b/ports/libdisasm/portfile.cmake
index 48b646652..46ea1df73 100644
--- a/ports/libdisasm/portfile.cmake
+++ b/ports/libdisasm/portfile.cmake
@@ -1,18 +1,12 @@
-include(vcpkg_common_functions)
-
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://sourceforge.net/projects/bastard/files/libdisasm/0.23/libdisasm-0.23.tar.gz"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO bastard/libdisasm
+ REF 0.23
FILENAME "libdisasm-0.23.tar.gz"
SHA512 29eecfbfd8168188242278a1a38f0c90770d0581a52d4600ae6343829dd0d6607b98329f12a3d7409d43dd56dca6a7d1eb25d58a001c2bfd3eb8474c0e7879e7
-)
-
-vcpkg_extract_source_archive_ex(
- ARCHIVE ${ARCHIVE}
- OUT_SOURCE_PATH SOURCE_PATH
- PATCHES
- sizeofvoid.patch
+ PATCHES sizeofvoid.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/libmad/CONTROL b/ports/libmad/CONTROL
index 97e9e564a..a044ba76b 100644
--- a/ports/libmad/CONTROL
+++ b/ports/libmad/CONTROL
@@ -1,3 +1,4 @@
Source: libmad
-Version: 0.15.1-5
+Version: 0.15.1-6
+Homepage: http://www.mars.org/home/rob/proj/mpeg/
Description: high-quality MPEG audio decoder
diff --git a/ports/libmad/portfile.cmake b/ports/libmad/portfile.cmake
index c61df53de..ebf84de89 100644
--- a/ports/libmad/portfile.cmake
+++ b/ports/libmad/portfile.cmake
@@ -1,18 +1,12 @@
-include(vcpkg_common_functions)
-
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-vcpkg_download_distfile(ARCHIVE
- URLS "http://download.sourceforge.net/mad/libmad-0.15.1b.tar.gz"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO mad/libmad
+ REF 0.15.1b
FILENAME "libmad-0.15.1b.tar.gz"
SHA512 2cad30347fb310dc605c46bacd9da117f447a5cabedd8fefdb24ab5de641429e5ec5ce8af7aefa6a75a3f545d3adfa255e3fa0a2d50971f76bc0c4fc0400cc45
-)
-
-vcpkg_extract_source_archive_ex(
- ARCHIVE ${ARCHIVE}
- OUT_SOURCE_PATH SOURCE_PATH
- PATCHES
- 0001-Fix-MSVC-ARM.patch
+ PATCHES 0001-Fix-MSVC-ARM.patch
)
#The archive only contains a Visual Studio 6.0 era DSP project file, so use a custom CMakeLists.txt
diff --git a/ports/libmikmod/CONTROL b/ports/libmikmod/CONTROL
index fbe8b7900..7344b8037 100644
--- a/ports/libmikmod/CONTROL
+++ b/ports/libmikmod/CONTROL
@@ -1,5 +1,5 @@
Source: libmikmod
-Version: 3.3.11.1-5
+Version: 3.3.11.1-6
Homepage: https://sourceforge.net/projects/mikmod/
Description: Mikmod is a module player and library supporting many formats, including mod, s3m, it, and xm.
Build-Depends: openal-soft
diff --git a/ports/libmikmod/portfile.cmake b/ports/libmikmod/portfile.cmake
index 149e4429a..55556e205 100644
--- a/ports/libmikmod/portfile.cmake
+++ b/ports/libmikmod/portfile.cmake
@@ -1,14 +1,9 @@
-include(vcpkg_common_functions)
-
-vcpkg_download_distfile(ARCHIVE
- URLS "https://downloads.sourceforge.net/project/mikmod/libmikmod/3.3.11.1/libmikmod-3.3.11.1.tar.gz"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO mikmod/libmikmod
+ REF 3.3.11.1
FILENAME "libmikmod-3.3.11.1.tar.gz"
SHA512 f2439e2b691613847cd0787dd4e050116683ce7b05c215b8afecde5c6add819ea6c18e678e258c0a80786bef463f406072de15127f64368f694287a5e8e1a9de
-)
-
-vcpkg_extract_source_archive_ex(
- ARCHIVE ${ARCHIVE}
- OUT_SOURCE_PATH SOURCE_PATH
PATCHES
fix-missing-dll.patch
name_conflict.patch
diff --git a/ports/libsquish/CONTROL b/ports/libsquish/CONTROL
index 24a0e8730..619a93780 100644
--- a/ports/libsquish/CONTROL
+++ b/ports/libsquish/CONTROL
@@ -1,4 +1,4 @@
Source: libsquish
-Version: 1.15-3
+Version: 1.15-5
Homepage: https://sourceforge.net/projects/libsquish
Description: Open source DXT compression library.
diff --git a/ports/libsquish/portfile.cmake b/ports/libsquish/portfile.cmake
index 600e89d59..a7ff15594 100644
--- a/ports/libsquish/portfile.cmake
+++ b/ports/libsquish/portfile.cmake
@@ -1,18 +1,10 @@
-include(vcpkg_common_functions)
-
-vcpkg_download_distfile(ARCHIVE
- URLS "https://downloads.sourceforge.net/project/libsquish/libsquish-1.15.tgz"
- FILENAME "libsquish-1.15.tgz"
- SHA512 5b569b7023874c7a43063107e2e428ea19e6eb00de045a4a13fafe852ed5402093db4b65d540b5971ec2be0d21cb97dfad9161ebfe6cf6e5376174ff6c6c3e7a
-)
-
-vcpkg_extract_source_archive_ex(
+vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
+ REPO libsquish
+ FILENAME "libsquish-1.15.tgz"
NO_REMOVE_ONE_LEVEL
- REF v1.15
- PATCHES
- fix-export-symbols.patch
+ SHA512 5b569b7023874c7a43063107e2e428ea19e6eb00de045a4a13fafe852ed5402093db4b65d540b5971ec2be0d21cb97dfad9161ebfe6cf6e5376174ff6c6c3e7a
+ PATCHES fix-export-symbols.patch
)
vcpkg_configure_cmake(
diff --git a/ports/libssh/CONTROL b/ports/libssh/CONTROL
index ada47ad87..fa65eac6d 100644
--- a/ports/libssh/CONTROL
+++ b/ports/libssh/CONTROL
@@ -1,5 +1,5 @@
Source: libssh
-Version: 0.9.3-1
+Version: 0.9.3-2
Homepage: https://www.libssh.org/
Description: libssh is a multiplatform C library implementing the SSHv2 protocol on client and server side
Default-Features: crypto
diff --git a/ports/libusb-win32/CONTROL b/ports/libusb-win32/CONTROL
index bea5b9092..b10d90519 100644
--- a/ports/libusb-win32/CONTROL
+++ b/ports/libusb-win32/CONTROL
@@ -1,5 +1,5 @@
Source: libusb-win32
-Version: 1.2.6.0-3
+Version: 1.2.6.0-4
Homepage: https://sourceforge.net/projects/libusb-win32
Description: Allows user space applications to access many USB device on Windows.
Supports: windows \ No newline at end of file
diff --git a/ports/libusb-win32/portfile.cmake b/ports/libusb-win32/portfile.cmake
index 1164939fb..1cca3bedb 100644
--- a/ports/libusb-win32/portfile.cmake
+++ b/ports/libusb-win32/portfile.cmake
@@ -1,21 +1,14 @@
-include(vcpkg_common_functions)
-
-if (VCPKG_CMAKE_SYSTEM_NAME)
- message(FATAL_ERROR "Error: only Windows Desktop builds are currently supported.")
-endif()
+vcpkg_fail_port_install(ON_TARGET "Linux" "OSX")
set(LIBUSB_VERSION 1.2.6.0)
set(LIBUSB_HASH 972438b7465a22882bc91a1238291240ee3cdb09f374454a027d003b150656d4c262553104f74418bb49b4a7ca2f1a4f72d20e689fa3a7728881bafc876267f4)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/${LIBUSB_VERSION}/libusb-win32-src-${LIBUSB_VERSION}.zip/download"
- FILENAME "libusb-win32-${LIBUSB_VERSION}.zip"
- SHA512 ${LIBUSB_HASH}
-)
-
-vcpkg_extract_source_archive_ex(
+vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
+ REPO libusb-win32/libusb-win32-releases
+ REF ${LIBUSB_VERSION}
+ FILENAME "libusb-win32-src-${LIBUSB_VERSION}.zip"
+ SHA512 ${LIBUSB_HASH}
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
diff --git a/ports/libuuid/CONTROL b/ports/libuuid/CONTROL
index 028ea19c4..3ec19066c 100644
--- a/ports/libuuid/CONTROL
+++ b/ports/libuuid/CONTROL
@@ -1,5 +1,5 @@
Source: libuuid
-Version: 1.0.3-4
+Version: 1.0.3-5
Homepage: https://sourceforge.net/projects/libuuid
Description: Universally unique id library
Supports: linux|osx \ No newline at end of file
diff --git a/ports/libuuid/portfile.cmake b/ports/libuuid/portfile.cmake
index a48dcb5cc..bb03f31f3 100644
--- a/ports/libuuid/portfile.cmake
+++ b/ports/libuuid/portfile.cmake
@@ -1,15 +1,12 @@
vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports unix platform" ON_TARGET "Windows")
set(LIBUUID_VERSION 1.0.3)
-vcpkg_download_distfile(ARCHIVE
- URLS "http://sourceforge.net/projects/libuuid/files/libuuid-${LIBUUID_VERSION}.tar.gz"
- FILENAME libuuid-${LIBUUID_VERSION}.tar.gz
- SHA512 77488caccc66503f6f2ded7bdfc4d3bc2c20b24a8dc95b2051633c695e99ec27876ffbafe38269b939826e1fdb06eea328f07b796c9e0aaca12331a787175507
-)
-vcpkg_extract_source_archive_ex(
+vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
+ REPO libuuid
+ FILENAME "libuuid-${LIBUUID_VERSION}.tar.gz"
+ SHA512 77488caccc66503f6f2ded7bdfc4d3bc2c20b24a8dc95b2051633c695e99ec27876ffbafe38269b939826e1fdb06eea328f07b796c9e0aaca12331a787175507
)
file(COPY
diff --git a/ports/libxmp-lite/CONTROL b/ports/libxmp-lite/CONTROL
index 6388c8e2a..45e1069da 100644
--- a/ports/libxmp-lite/CONTROL
+++ b/ports/libxmp-lite/CONTROL
@@ -1,4 +1,4 @@
Source: libxmp-lite
-Version: 4.4.1-3
+Version: 4.4.1-4
Homepage: https://sourceforge.net/projects/xmp/
Description: Lightweight version of libxmp that supports MOD, S3M, XM and IT modules.
diff --git a/ports/libxmp-lite/portfile.cmake b/ports/libxmp-lite/portfile.cmake
index 5fdb0b699..4f3ce6339 100644
--- a/ports/libxmp-lite/portfile.cmake
+++ b/ports/libxmp-lite/portfile.cmake
@@ -1,19 +1,15 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-vcpkg_download_distfile(ARCHIVE
- URLS "http://sourceforge.net/projects/xmp/files/libxmp/4.4.1/libxmp-lite-4.4.1.tar.gz"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO xmp/libxmp
+ REF 4.4.1
FILENAME "libxmp-lite-4.4.1.tar.gz"
SHA512 f27e3f9fb79ff15ce90b51fb29641c01cadf7455150da57cde6860c2ba075ed497650eb44ec9143bdd3538288228c609f7db6d862c9d73f007f686eccb05543e
-)
-
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
PATCHES
0001-msvc-buildfix.patch
0002-fix-symbols.patch
)
-
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
diff --git a/ports/mathgl/CONTROL b/ports/mathgl/CONTROL
index a600207e3..4dd6fbb51 100644
--- a/ports/mathgl/CONTROL
+++ b/ports/mathgl/CONTROL
@@ -1,5 +1,5 @@
Source: mathgl
-Version: 2.4.3-3
+Version: 2.4.3-4
Description: MathGL is a free library of fast C++ routines for the plotting of the data varied in one or more dimensions
Default-Features: opengl, jpeg, png, zlib
diff --git a/ports/mathgl/portfile.cmake b/ports/mathgl/portfile.cmake
index 3556b917c..af6a69140 100644
--- a/ports/mathgl/portfile.cmake
+++ b/ports/mathgl/portfile.cmake
@@ -1,19 +1,14 @@
-include(vcpkg_common_functions)
-
set(MATHGL_VERSION "2.4.3")
-vcpkg_download_distfile(ARCHIVE
- URLS "https://downloads.sourceforge.net/project/mathgl/mathgl/mathgl%20${MATHGL_VERSION}/mathgl-${MATHGL_VERSION}.tar.gz"
- FILENAME "mathgl-${MATHGL_VERSION}.tar.gz"
- SHA512 e47fc8171ce80c8b33a8f03d9375bc036455dae539b47cf4ee922f8fa36f5afcf8b3f0666997764e453eb698c0e8c03da36dd0ac2bf71c158e95309b247d27de
-)
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- REF ${MATHGL_VERSION}
- PATCHES
- type_fix.patch
- fix_cmakelists_and_cpp.patch
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO mathgl/mathgl
+ REF mathgl%20${MATHGL_VERSION}
+ FILENAME "mathgl-${MATHGL_VERSION}.tar.gz"
+ SHA512 e47fc8171ce80c8b33a8f03d9375bc036455dae539b47cf4ee922f8fa36f5afcf8b3f0666997764e453eb698c0e8c03da36dd0ac2bf71c158e95309b247d27de
+ PATCHES
+ type_fix.patch
+ fix_cmakelists_and_cpp.patch
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
diff --git a/ports/mp3lame/CONTROL b/ports/mp3lame/CONTROL
index 1702751d9..bd8a34222 100644
--- a/ports/mp3lame/CONTROL
+++ b/ports/mp3lame/CONTROL
@@ -1,4 +1,4 @@
Source: mp3lame
-Version: 3.100
+Version: 3.100-1
Homepage: http://lame.sourceforge.net/
Description: LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.
diff --git a/ports/mp3lame/portfile.cmake b/ports/mp3lame/portfile.cmake
index a9b9e17e4..7abe9010f 100644
--- a/ports/mp3lame/portfile.cmake
+++ b/ports/mp3lame/portfile.cmake
@@ -1,17 +1,11 @@
-include(vcpkg_common_functions)
-
set(VERSION 3.100)
-vcpkg_download_distfile(ARCHIVE_FILE
- URLS "https://downloads.sourceforge.net/project/lame/lame/${VERSION}/lame-${VERSION}.tar.gz"
- FILENAME "lame-3.100.tar.gz"
- SHA512 0844b9eadb4aacf8000444621451277de365041cc1d97b7f7a589da0b7a23899310afd4e4d81114b9912aa97832621d20588034715573d417b2923948c08634b
-)
-
-vcpkg_extract_source_archive_ex(
+vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE_FILE}
+ REPO lame/lame
REF ${VERSION}
+ FILENAME "lame-${VERSION}.tar.gz"
+ SHA512 0844b9eadb4aacf8000444621451277de365041cc1d97b7f7a589da0b7a23899310afd4e4d81114b9912aa97832621d20588034715573d417b2923948c08634b
PATCHES 00001-msvc-upgrade-solution-up-to-vc11.patch
)
diff --git a/ports/mpg123/CONTROL b/ports/mpg123/CONTROL
index ece237f5f..6d495d364 100644
--- a/ports/mpg123/CONTROL
+++ b/ports/mpg123/CONTROL
@@ -1,4 +1,4 @@
Source: mpg123
-Version: 1.25.8-10
+Version: 1.25.8-11
Homepage: https://sourceforge.net/projects/mpg123/
Description: mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1, 2 and 3 (MPEG 1.0 layer 3 also known as MP3).
diff --git a/ports/mpg123/portfile.cmake b/ports/mpg123/portfile.cmake
index 16271c752..9f5515816 100644
--- a/ports/mpg123/portfile.cmake
+++ b/ports/mpg123/portfile.cmake
@@ -23,15 +23,12 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
set(MPG123_CONFIGURATION_SUFFIX _Dll)
endif()
-vcpkg_download_distfile(ARCHIVE
- URLS "http://downloads.sourceforge.net/project/mpg123/mpg123/${MPG123_VERSION}/mpg123-${MPG123_VERSION}.tar.bz2"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO mpg123/mpg123
+ REF ${MPG123_VERSION}
FILENAME "mpg123-${MPG123_VERSION}.tar.bz2"
SHA512 ${MPG123_HASH}
-)
-
-vcpkg_extract_source_archive_ex(
- ARCHIVE ${ARCHIVE}
- OUT_SOURCE_PATH SOURCE_PATH
PATCHES
0001-fix-crt-linking.patch
0002-fix-x86-build.patch
diff --git a/ports/pcre/CONTROL b/ports/pcre/CONTROL
index 4626a33b3..97a79426a 100644
--- a/ports/pcre/CONTROL
+++ b/ports/pcre/CONTROL
@@ -1,4 +1,4 @@
Source: pcre
-Version: 8.44-1
+Version: 8.44-2
Homepage: https://www.pcre.org/
Description: Perl Compatible Regular Expressions
diff --git a/ports/pcre/portfile.cmake b/ports/pcre/portfile.cmake
index 903d82a76..92926a32f 100644
--- a/ports/pcre/portfile.cmake
+++ b/ports/pcre/portfile.cmake
@@ -1,15 +1,11 @@
set(PCRE_VERSION 8.44)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://ftp.pcre.org/pub/pcre/pcre-${PCRE_VERSION}.zip"
- "https://downloads.sourceforge.net/project/pcre/pcre/${PCRE_VERSION}/pcre-${PCRE_VERSION}.zip"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO pcre/pcre
+ REF ${PCRE_VERSION}
FILENAME "pcre-${PCRE_VERSION}.zip"
SHA512 adddec1236b25ff1c90e73835c2ba25d60a5839cbde2d6be7838a8ec099f7443dede931dc39002943243e21afea572eda71ee8739058e72235a192e4324398f0
-)
-
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
PATCHES
# Fix CMake Deprecation Warning concerning OLD behavior for policy CMP0026
# Suppress MSVC compiler warnings C4703, C4146, C4308, which fixes errors
diff --git a/ports/pcre2/CONTROL b/ports/pcre2/CONTROL
index 044bb81d3..b8109b744 100644
--- a/ports/pcre2/CONTROL
+++ b/ports/pcre2/CONTROL
@@ -1,4 +1,4 @@
Source: pcre2
-Version: 10.30-7
+Version: 10.30-8
Homepage: https://pcre.org/
Description: PCRE2 is a re-working of the original Perl Compatible Regular Expressions library
diff --git a/ports/pcre2/portfile.cmake b/ports/pcre2/portfile.cmake
index 9057ede47..23c7d16f0 100644
--- a/ports/pcre2/portfile.cmake
+++ b/ports/pcre2/portfile.cmake
@@ -1,17 +1,15 @@
set(PCRE2_VERSION 10.30)
-include(vcpkg_common_functions)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://ftp.pcre.org/pub/pcre/pcre2-${PCRE2_VERSION}.zip" "https://sourceforge.net/projects/pcre/files/pcre2/${PCRE2_VERSION}/pcre2-${PCRE2_VERSION}.zip/download"
- FILENAME "pcre2-${PCRE2_VERSION}.zip"
- SHA512 03e570b946ac29498a114b27e715a0fcf25702bfc9623f9fc085ee8a3214ab3c303baccb9c0af55da6916e8ce40d931d97f1ee9628690563041a943f0aa2bc54)
-
-vcpkg_extract_source_archive_ex(
+vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- PATCHES fix-space.patch
- fix-arm64-config.patch
- fix-uwp.patch
+ REPO pcre/pcre2
+ REF ${PCRE2_VERSION}
+ FILENAME "pcre2-${PCRE2_VERSION}.zip"
+ SHA512 03e570b946ac29498a114b27e715a0fcf25702bfc9623f9fc085ee8a3214ab3c303baccb9c0af55da6916e8ce40d931d97f1ee9628690563041a943f0aa2bc54
+ PATCHES
+ fix-space.patch
+ fix-arm64-config.patch
+ fix-uwp.patch
)
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Emscripten" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "iOS")
diff --git a/ports/plplot/CONTROL b/ports/plplot/CONTROL
index 74b1be5f6..af69724f7 100644
--- a/ports/plplot/CONTROL
+++ b/ports/plplot/CONTROL
@@ -1,5 +1,5 @@
Source: plplot
-Version: 5.13.0-5
+Version: 5.13.0-6
Build-Depends: freetype, zlib, libpng, bzip2
Description: PLplot is a cross-platform software package for creating scientific plots whose (UTF-8) plot symbols and text are limited in practice only by what Unicode-aware system fonts are installed on a user's computer.
diff --git a/ports/plplot/portfile.cmake b/ports/plplot/portfile.cmake
index 8546cb5aa..97efa2568 100644
--- a/ports/plplot/portfile.cmake
+++ b/ports/plplot/portfile.cmake
@@ -1,16 +1,11 @@
set(PLPLOT_VERSION 5.13.0)
-set(PLPLOT_HASH 1d5cb5da17d4bde6d675585bff1f8dcb581719249a0b2687867e767703f8dab0870e7ea44b9549a497f4ac0141a3cabf6761c49520c0e2b26ffe581468512cbb)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://sourceforge.net/projects/plplot/files/plplot/${PLPLOT_VERSION}%20Source/plplot-${PLPLOT_VERSION}.tar.gz/download"
- FILENAME "plplot-${PLPLOT_VERSION}.tar.gz"
- SHA512 ${PLPLOT_HASH}
-)
-
-vcpkg_extract_source_archive_ex(
+vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- REF ${PLPLOT_VERSION}
+ REPO plplot/plplot
+ REF ${PLPLOT_VERSION}%20Source
+ FILENAME "plplot-${PLPLOT_VERSION}.tar.gz"
+ SHA512 1d5cb5da17d4bde6d675585bff1f8dcb581719249a0b2687867e767703f8dab0870e7ea44b9549a497f4ac0141a3cabf6761c49520c0e2b26ffe581468512cbb
PATCHES
0001-findwxwidgets-fixes.patch
0002-wxwidgets-dev-fixes.patch
diff --git a/ports/podofo/CONTROL b/ports/podofo/CONTROL
index 485e8962a..e2357fbe8 100644
--- a/ports/podofo/CONTROL
+++ b/ports/podofo/CONTROL
@@ -1,5 +1,5 @@
Source: podofo
-Version: 0.9.6-8
+Version: 0.9.6-9
Homepage: https://sourceforge.net/projects/podofo/
Description: PoDoFo is a library to work with the PDF file format
Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openssl, freetype
diff --git a/ports/podofo/portfile.cmake b/ports/podofo/portfile.cmake
index 941e244ef..d9b34614a 100644
--- a/ports/podofo/portfile.cmake
+++ b/ports/podofo/portfile.cmake
@@ -1,18 +1,15 @@
set(PODOFO_VERSION 0.9.6)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://sourceforge.net/projects/podofo/files/podofo/${PODOFO_VERSION}/podofo-${PODOFO_VERSION}.tar.gz/download"
- FILENAME "podofo-${PODOFO_VERSION}.tar.gz"
- SHA512 35c1a457758768bdadc93632385f6b9214824fead279f1b85420443fb2135837cefca9ced476df0d47066f060e9150e12fcd40f60fa1606b177da433feb20130
-)
-if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if (VCPKG_TARGET_IS_UWP)
set(ADDITIONAL_PATCH "0003-uwp_fix.patch")
endif()
-vcpkg_extract_source_archive_ex(
+vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
+ REPO podofo/podofo
REF ${PODOFO_VERSION}
+ FILENAME "podofo-${PODOFO_VERSION}.tar.gz"
+ SHA512 35c1a457758768bdadc93632385f6b9214824fead279f1b85420443fb2135837cefca9ced476df0d47066f060e9150e12fcd40f60fa1606b177da433feb20130
PATCHES
0001-unique_ptr.patch
0002-HAVE_UNISTD_H.patch
diff --git a/ports/polyclipping/CONTROL b/ports/polyclipping/CONTROL
index 504a26484..4a46772b2 100644
--- a/ports/polyclipping/CONTROL
+++ b/ports/polyclipping/CONTROL
@@ -1,3 +1,4 @@
Source: polyclipping
-Version: 6.4.2-1
+Version: 6.4.2-2
+Homepage: https://sourceforge.net/projects/polyclipping/
Description: The Clipper library performs clipping and offsetting for both lines and polygons. All four boolean clipping operations are supported - intersection, union, difference and exclusive-or. Polygons can be of any shape including self-intersecting polygons.
diff --git a/ports/polyclipping/portfile.cmake b/ports/polyclipping/portfile.cmake
index 1b0ea71a6..1626d81ba 100644
--- a/ports/polyclipping/portfile.cmake
+++ b/ports/polyclipping/portfile.cmake
@@ -1,16 +1,11 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://sourceforge.net/projects/polyclipping/files/clipper_ver6.4.2.zip/download"
- FILENAME "clipper_ver6.4.2.zip"
- SHA512 ffc88818c44a38aa278d5010db6cfd505796f39664919f1e48c7fa9267563f62135868993e88f7246dcd688241d1172878e4a008a390648acb99738452e3e5dd
-)
-
-vcpkg_extract_source_archive_ex(
+vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
+ REPO polyclipping
+ FILENAME "clipper_ver6.4.2.zip"
NO_REMOVE_ONE_LEVEL
- REF 6.4.2
+ SHA512 ffc88818c44a38aa278d5010db6cfd505796f39664919f1e48c7fa9267563f62135868993e88f7246dcd688241d1172878e4a008a390648acb99738452e3e5dd
)
vcpkg_configure_cmake(
diff --git a/ports/portmidi/CONTROL b/ports/portmidi/CONTROL
index 1a9917935..1fafc6e9f 100644
--- a/ports/portmidi/CONTROL
+++ b/ports/portmidi/CONTROL
@@ -1,5 +1,5 @@
Source: portmidi
-Version: 0.217.1-1
+Version: 0.217.1-2
Homepage: https://sourceforge.net/projects/portmedia/
Description: Free, cross-platform, open-source I/O library for MIDI
Supports: !uwp \ No newline at end of file
diff --git a/ports/portmidi/portfile.cmake b/ports/portmidi/portfile.cmake
index f2f63bfec..b78b34fb4 100644
--- a/ports/portmidi/portfile.cmake
+++ b/ports/portmidi/portfile.cmake
@@ -1,20 +1,13 @@
-include(vcpkg_common_functions)
+vcpkg_fail_port_install(ON_TARGET "UWP")
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- message(FATAL_ERROR "WindowsStore not supported")
-endif()
-
-vcpkg_download_distfile(ARCHIVE
- URLS "https://downloads.sourceforge.net/project/portmedia/portmidi/217/portmidi-src-217.zip"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO portmedia/portmidi
+ REF 217
FILENAME "portmidi-src-217.zip"
SHA512 d08d4d57429d26d292b5fe6868b7c7a32f2f1d2428f6695cd403a697e2d91629bd4380242ab2720e8f21c895bb75cb56b709fb663a20e8e623120e50bfc5d90b
)
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
-)
-
# Mark portmidi-static as static, disable pmjni library depending on the Java SDK
file(READ "${SOURCE_PATH}/pm_common/CMakeLists.txt" PM_CMAKE)
diff --git a/ports/pthreads/CONTROL b/ports/pthreads/CONTROL
index 9726bcee2..0aadc9715 100644
--- a/ports/pthreads/CONTROL
+++ b/ports/pthreads/CONTROL
@@ -1,5 +1,5 @@
Source: pthreads
-Version: 3.0.0-5
+Version: 3.0.0-6
Homepage: https://sourceware.org/pub/pthreads-win32/
Description: pthreads for windows
Supports: !(uwp|arm|arm64) \ No newline at end of file
diff --git a/ports/pthreads/portfile.cmake b/ports/pthreads/portfile.cmake
index a1806f870..911eb4ded 100644
--- a/ports/pthreads/portfile.cmake
+++ b/ports/pthreads/portfile.cmake
@@ -7,16 +7,11 @@ vcpkg_fail_port_install(MESSAGE "${PORT} does not currently support UWP platform
set(PTHREADS4W_VERSION "3.0.0")
-vcpkg_download_distfile(ARCHIVE
- URLS "https://sourceforge.net/projects/pthreads4w/files/pthreads4w-code-v${PTHREADS4W_VERSION}.zip/download"
- FILENAME "pthreads4w-code-v${PTHREADS4W_VERSION}.zip"
- SHA512 49e541b66c26ddaf812edb07b61d0553e2a5816ab002edc53a38a897db8ada6d0a096c98a9af73a8f40c94283df53094f76b429b09ac49862465d8697ed20013
-)
-
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- REF ${PTHREADS4W_VERSION}
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO pthreads4w
+ FILENAME "pthreads4w-code-v${PTHREADS4W_VERSION}.zip"
+ SHA512 49e541b66c26ddaf812edb07b61d0553e2a5816ab002edc53a38a897db8ada6d0a096c98a9af73a8f40c94283df53094f76b429b09ac49862465d8697ed20013
)
find_program(NMAKE nmake REQUIRED)
diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL
index 71f4fe588..35dba0e64 100644
--- a/ports/qt5-base/CONTROL
+++ b/ports/qt5-base/CONTROL
@@ -1,5 +1,5 @@
Source: qt5-base
-Version: 5.12.8-4
+Version: 5.12.8-5
Homepage: https://www.qt.io/
Description: Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components.
Build-Depends: zlib, libjpeg-turbo, libpng, freetype, pcre2, harfbuzz, sqlite3, libpq, double-conversion, openssl, angle (!windows), egl-registry, icu (!uwp), fontconfig (!windows)
diff --git a/ports/qwt/CONTROL b/ports/qwt/CONTROL
index ba9f5bec1..54c1c88bb 100644
--- a/ports/qwt/CONTROL
+++ b/ports/qwt/CONTROL
@@ -1,5 +1,5 @@
Source: qwt
-Version: 6.1.3-11
+Version: 6.1.3-12
Homepage: https://sourceforge.net/projects/qwt
Description: Qt widgets library for technical applications
Build-Depends: qt5-base, qt5-svg, qt5-tools
diff --git a/ports/qwt/portfile.cmake b/ports/qwt/portfile.cmake
index 38e575d82..bd9c4e502 100644
--- a/ports/qwt/portfile.cmake
+++ b/ports/qwt/portfile.cmake
@@ -1,12 +1,9 @@
-vcpkg_download_distfile(ARCHIVE
- URLS "https://sourceforge.net/projects/qwt/files/qwt/6.1.3/qwt-6.1.3.zip"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO qwt/qwt
+ REF 6.1.3
FILENAME "qwt-6.1.3.zip"
SHA512 8f249e23d50f71d14fca37776ea40d8d6931db14d9602e03a343bfb7a9bf55502202103135b77f583c3890a7924220e8a142a01c448dbde311860d89a3b10fc8
-)
-
-vcpkg_extract_source_archive_ex(
- ARCHIVE ${ARCHIVE}
- OUT_SOURCE_PATH SOURCE_PATH
PATCHES fix-dynamic-static.patch
)
diff --git a/ports/rapidxml/CONTROL b/ports/rapidxml/CONTROL
index 672fe47d2..0bc175e71 100644
--- a/ports/rapidxml/CONTROL
+++ b/ports/rapidxml/CONTROL
@@ -1,4 +1,4 @@
Source: rapidxml
-Version: 1.13-1
+Version: 1.13-2
Homepage: https://sourceforge.net/projects/rapidxml
Description: RapidXml is an attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility.
diff --git a/ports/rapidxml/portfile.cmake b/ports/rapidxml/portfile.cmake
index ef0cd959a..b13d1a2bc 100644
--- a/ports/rapidxml/portfile.cmake
+++ b/ports/rapidxml/portfile.cmake
@@ -1,17 +1,12 @@
#header-only library
-include(vcpkg_common_functions)
-
-vcpkg_download_distfile(ARCHIVE
- URLS "https://sourceforge.net/projects/rapidxml/files/rapidxml/rapidxml%201.13/rapidxml-1.13.zip/download"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO rapidxml/rapidxml
+ REF rapidxml%201.13
FILENAME "rapidxml-1.13.zip"
SHA512 6c10583e6631ccdb0217d0a5381172cb4c1046226de6ef1acf398d85e81d145228e14c3016aefcd7b70a1db8631505b048d8b4f5d4b0dbf1811d2482eefdd265
)
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
-)
-
# Handle copyright
file(COPY ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/rapidxml)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/rapidxml/license.txt ${CURRENT_PACKAGES_DIR}/share/rapidxml/copyright)
diff --git a/ports/sigslot/CONTROL b/ports/sigslot/CONTROL
index 9b3e16b37..d1d9afded 100644
--- a/ports/sigslot/CONTROL
+++ b/ports/sigslot/CONTROL
@@ -1,3 +1,3 @@
Source: sigslot
-Version: 1.0.0
+Version: 1.0.0-1
Description: Portable C++ type-safe, thread-safe signal/slot library for ISO C++, Unix/BSD/Linux and Win32. Sigslot allows C++ code to use the signal/slot paradigm made popular by, for example, Qt.
diff --git a/ports/sigslot/portfile.cmake b/ports/sigslot/portfile.cmake
index 4993bf9e0..d841668ba 100644
--- a/ports/sigslot/portfile.cmake
+++ b/ports/sigslot/portfile.cmake
@@ -1,20 +1,11 @@
-include(vcpkg_common_functions)
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO sigslot/sigslot
+ REF 1.0.0
+ FILENAME "sigslot-1-0-0.tar.gz"
+ SHA512 3f16f94a653e49934ec1d695eac02234d15b203f42e9fa88723ee582a84670a645a89e5b87afe2378fa7a9eaef054049255bf3bd531ab1d6825a042641ba8906
+)
-vcpkg_download_distfile(
- ARCHIVE
- URLS
- "https://downloads.sourceforge.net/project/sigslot/sigslot/1.0.0/sigslot-1-0-0.tar.gz"
- FILENAME
- "sigslot-1-0-0.tar.gz"
- SHA512
- 3f16f94a653e49934ec1d695eac02234d15b203f42e9fa88723ee582a84670a645a89e5b87afe2378fa7a9eaef054049255bf3bd531ab1d6825a042641ba8906
- )
+file(INSTALL ${SOURCE_PATH}/sigslot.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR})
-
-file(INSTALL ${CURRENT_BUILDTREES_DIR}/sigslot/sigslot.h
- DESTINATION ${CURRENT_PACKAGES_DIR}/include)
-
-file(INSTALL ${CURRENT_PORT_DIR}/LICENSE
- DESTINATION ${CURRENT_PACKAGES_DIR}/share/sigslot
- RENAME copyright)
+file(INSTALL ${CURRENT_PORT_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/soxr/CONTROL b/ports/soxr/CONTROL
index ebf120c06..e49991ff1 100644
--- a/ports/soxr/CONTROL
+++ b/ports/soxr/CONTROL
@@ -1,3 +1,4 @@
Source: soxr
-Version: 0.1.3.
+Version: 0.1.3-2
+Homepage: https://sourceforge.net/projects/soxr/
Description: High quality audio resampling
diff --git a/ports/soxr/portfile.cmake b/ports/soxr/portfile.cmake
index 3a2e23c30..2641e8a5a 100644
--- a/ports/soxr/portfile.cmake
+++ b/ports/soxr/portfile.cmake
@@ -1,14 +1,8 @@
-include(vcpkg_common_functions)
-
-vcpkg_download_distfile(ARCHIVE
- URLS "https://netcologne.dl.sourceforge.net/project/soxr/soxr-0.1.3-Source.tar.xz"
- FILENAME "soxr-0.1.3-Source.tar.xz"
- SHA512 f4883ed298d5650399283238aac3dbe78d605b988246bea51fa343d4a8ce5ce97c6e143f6c3f50a3ff81795d9c19e7a07217c586d4020f6ced102aceac46aaa8
-)
-
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO soxr
+ FILENAME "soxr-0.1.3-Source.tar.xz"
+ SHA512 f4883ed298d5650399283238aac3dbe78d605b988246bea51fa343d4a8ce5ce97c6e143f6c3f50a3ff81795d9c19e7a07217c586d4020f6ced102aceac46aaa8
PATCHES
001_initialize-resampler.patch
002_disable_warning.patch
diff --git a/ports/tclap/CONTROL b/ports/tclap/CONTROL
index 398a8e010..277e26b67 100644
--- a/ports/tclap/CONTROL
+++ b/ports/tclap/CONTROL
@@ -1,4 +1,4 @@
Source: tclap
-Version: 1.2.2-2
+Version: 1.2.2-3
Homepage: https://sourceforge.net/projects/tclap/
Description: Templatized command-line argument parser for C++
diff --git a/ports/tclap/portfile.cmake b/ports/tclap/portfile.cmake
index 4b400f5a4..d23ae531d 100644
--- a/ports/tclap/portfile.cmake
+++ b/ports/tclap/portfile.cmake
@@ -1,16 +1,10 @@
-vcpkg_download_distfile(ARCHIVE
- URLS "http://downloads.sourceforge.net/project/tclap/tclap-1.2.2.tar.gz"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO tclap
FILENAME "tclap-1.2.2.tar.gz"
SHA512 516ec17f82a61277922bc8c0ed66973300bf42a738847fbbd2912c6405c34f94a13e47dc964854a5b26a9a9f1f518cce682ca54e769d6016851656c647866107
)
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
-)
-
-file(COPY "${SOURCE_PATH}/include/tclap"
- DESTINATION "${CURRENT_PACKAGES_DIR}/include"
- FILES_MATCHING PATTERN "*.h")
+file(COPY "${SOURCE_PATH}/include/tclap" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN "*.h")
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/ports/tinyfiledialogs/CONTROL b/ports/tinyfiledialogs/CONTROL
index 236816aca..14f750584 100644
--- a/ports/tinyfiledialogs/CONTROL
+++ b/ports/tinyfiledialogs/CONTROL
@@ -1,5 +1,5 @@
Source: tinyfiledialogs
-Version: 3.4.3-2
+Version: 3.4.3-3
Description: Highly portable and cross-platform dialogs for native inputbox, passwordbox, colorpicker and more
Homepage: https://sourceforge.net/projects/tinyfiledialogs/
Supports: !uwp
diff --git a/ports/tinyfiledialogs/portfile.cmake b/ports/tinyfiledialogs/portfile.cmake
index a037f72fc..61c26e3c3 100644
--- a/ports/tinyfiledialogs/portfile.cmake
+++ b/ports/tinyfiledialogs/portfile.cmake
@@ -2,18 +2,14 @@ vcpkg_fail_port_install(ON_TARGET "uwp")
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://sourceforge.net/projects/tinyfiledialogs/files/v3.4/tinyfiledialogs-3.4.3.zip/download"
+vcpkg_from_sourceforge(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO tinyfiledialogs
+ REF v3.4
FILENAME "tinyfiledialogs-3.4.3.zip"
SHA512 b4a8c8fa5ff53a0972ce9dd1a4a473eaeb82689e5a47553b83e9220ea7e0ec582d87111728088ab6d314972e6531653b11fbd8c05c5e46fbe5bc4d29c7fe23fb
)
-vcpkg_extract_source_archive_ex(
- OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
- REF v3.4.3
-)
-
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
diff --git a/ports/tinyxml/CONTROL b/ports/tinyxml/CONTROL
index 749dc2e7e..d6c4d6b24 100644
--- a/ports/tinyxml/CONTROL
+++ b/ports/tinyxml/CONTROL
@@ -1,4 +1,4 @@
Source: tinyxml
-Version: 2.6.2-4
+Version: 2.6.2-5
Homepage: https://sourceforge.net/projects/tinyxml
Description: A simple, small, minimal, C++ XML parser that can be easily integrating into other programs.
diff --git a/ports/tinyxml/portfile.cmake b/ports/tinyxml/portfile.cmake
index 0ffc859aa..1f42e4d75 100644
--- a/ports/tinyxml/portfile.cmake
+++ b/ports/tinyxml/portfile.cmake
@@ -1,17 +1,11 @@
-include(vcpkg_common_functions)
-
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
-vcpkg_download_distfile(ARCHIVE
- URLS "https://sourceforge.net/projects/tinyxml/files/tinyxml/2.6.2/tinyxml_2_6_2.tar.gz"
- FILENAME "tinyxml_2_6_2.tar.gz"
- SHA512 133b5db06131a90ad0c2b39b0063f1c8e65e67288a7e5d67e1f7d9ba32af10dc5dfa0462f9723985ee27debe8f09a10a25d4b5a5aaff2ede979b1cebe8e59d56
-)
-
-vcpkg_extract_source_archive_ex(
+vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
+ REPO tinyxml/tinyxml
REF 2.6.2
+ FILENAME "tinyxml_2_6_2.tar.gz"
+ SHA512 133b5db06131a90ad0c2b39b0063f1c8e65e67288a7e5d67e1f7d9ba32af10dc5dfa0462f9723985ee27debe8f09a10a25d4b5a5aaff2ede979b1cebe8e59d56
PATCHES
0001_use_stl.patch
0002_export_tinyxml.patch
diff --git a/ports/wtl/CONTROL b/ports/wtl/CONTROL
index da76e81e7..39e78b1d3 100644
--- a/ports/wtl/CONTROL
+++ b/ports/wtl/CONTROL
@@ -1,4 +1,4 @@
Source: wtl
-Version: 10.0-6
+Version: 10.0-8
Homepage: https://sourceforge.net/projects/wtl/
Description: Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components.
diff --git a/ports/wtl/portfile.cmake b/ports/wtl/portfile.cmake
index b13a80e10..e72367e73 100644
--- a/ports/wtl/portfile.cmake
+++ b/ports/wtl/portfile.cmake
@@ -1,13 +1,10 @@
-vcpkg_download_distfile(ARCHIVE
- URLS "https://downloads.sourceforge.net/project/wtl/WTL%2010/WTL%2010.0.10077/WTL10_1077..zip"
- FILENAME "WTL10_1077..zip"
- SHA512 5a49283196caf5b2ad8a3fb3cfa5d09cd555d59d4d5871408bf6a5b850cf4546cc6ece4e0bf79d152a4d2589fae3749f0f3e73ab6a3a7bc0cb373efa1474b98b
-)
-
-vcpkg_extract_source_archive_ex(
+vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
- ARCHIVE ${ARCHIVE}
+ REPO wtl/WTL%2010
+ REF WTL%2010.0.9163
+ FILENAME "WTL10_9163.zip"
NO_REMOVE_ONE_LEVEL
+ SHA512 feb7fb1c456e44ad05610f31f8c0f964eb6ce3eadf65a389219051f0ea2547069727666616622631cd90e25ea4a682a7c88c7089a374181870717246ad44e035
)
file(INSTALL ${SOURCE_PATH}/Include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT} FILES_MATCHING PATTERN "*.h")
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt
index 598dd3d72..e1cf3fa9f 100644
--- a/scripts/ci.baseline.txt
+++ b/scripts/ci.baseline.txt
@@ -411,6 +411,7 @@ embree2:x64-osx=fail
embree2:x64-windows-static=fail
enet:arm-uwp=fail
enet:x64-uwp=fail
+epsilon:x64-windows-static=fail
epsilon:arm-uwp=fail
epsilon:x64-linux=fail
epsilon:x64-osx=fail
diff --git a/scripts/cmake/vcpkg_common_functions.cmake b/scripts/cmake/vcpkg_common_functions.cmake
index 7724a3f7f..f61e795d9 100644
--- a/scripts/cmake/vcpkg_common_functions.cmake
+++ b/scripts/cmake/vcpkg_common_functions.cmake
@@ -18,6 +18,7 @@ include(vcpkg_fixup_pkgconfig)
include(vcpkg_from_github)
include(vcpkg_from_gitlab)
include(vcpkg_from_bitbucket)
+include(vcpkg_from_sourceforge)
include(vcpkg_build_cmake)
include(vcpkg_build_gn)
include(vcpkg_build_msbuild)
diff --git a/scripts/cmake/vcpkg_from_sourceforge.cmake b/scripts/cmake/vcpkg_from_sourceforge.cmake
new file mode 100644
index 000000000..4df36a81d
--- /dev/null
+++ b/scripts/cmake/vcpkg_from_sourceforge.cmake
@@ -0,0 +1,129 @@
+## # vcpkg_from_sourceforge
+##
+## Download and extract a project from sourceforge.
+##
+## ## Usage:
+## ```cmake
+## vcpkg_from_sourceforge(
+## OUT_SOURCE_PATH SOURCE_PATH
+## REPO <cunit/CUnit>
+## [REF <2.1-3>]
+## SHA512 <547b417109332...>
+## FILENAME <CUnit-2.1-3.tar.bz2>
+## [DISABLE_SSL]
+## [NO_REMOVE_ONE_LEVEL]
+## [PATCHES <patch1.patch> <patch2.patch>...]
+## )
+## ```
+##
+## ## Parameters:
+## ### OUT_SOURCE_PATH
+## Specifies the out-variable that will contain the extracted location.
+##
+## This should be set to `SOURCE_PATH` by convention.
+##
+## ### REPO
+## The organization or user and repository (optional) on sourceforge.
+##
+## ### REF
+## A stable version number that will not change contents.
+##
+## ### FILENAME
+## The local name for the file. Files are shared between ports, so the file may need to be renamed to make it clearly attributed to this port and avoid conflicts.
+##
+## For example, we can get the download link:
+## https://sourceforge.net/settings/mirror_choices?projectname=mad&filename=libmad/0.15.1b/libmad-0.15.1b.tar.gz&selected=nchc
+## So the REPO is `mad/libmad`, the REF is `0.15.1b`, and the FILENAME is `libmad-0.15.1b.tar.gz`
+##
+## For some special links:
+## https://sourceforge.net/settings/mirror_choices?projectname=soxr&filename=soxr-0.1.3-Source.tar.xz&selected=nchc
+## The REPO is `soxr`, REF is not exist, and the FILENAME is `soxr-0.1.3-Source.tar.xz`
+##
+## ### SHA512
+## The SHA512 hash that should match the archive.
+##
+## ### PATCHES
+## A list of patches to be applied to the extracted sources.
+##
+## Relative paths are based on the port directory.
+##
+## ### DISABLE_SSL
+## Disable ssl when downloading source.
+##
+## ### NO_REMOVE_ONE_LEVEL
+## Specifies that the default removal of the top level folder should not occur.
+##
+## ## Examples:
+##
+## * [cunit](https://github.com/Microsoft/vcpkg/blob/master/ports/cunit/portfile.cmake)
+## * [polyclipping](https://github.com/Microsoft/vcpkg/blob/master/ports/polyclipping/portfile.cmake)
+## * [tinyfiledialogs](https://github.com/Microsoft/vcpkg/blob/master/ports/tinyfiledialogs/portfile.cmake)
+
+function(vcpkg_from_sourceforge)
+ set(booleanValueArgs DISABLE_SSL NO_REMOVE_ONE_LEVEL)
+ set(oneValueArgs OUT_SOURCE_PATH REPO REF SHA512 FILENAME)
+ set(multipleValuesArgs PATCHES)
+ cmake_parse_arguments(_vdus "${booleanValueArgs}" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN})
+
+ if(NOT DEFINED _vdus_OUT_SOURCE_PATH)
+ message(FATAL_ERROR "OUT_SOURCE_PATH must be specified.")
+ endif()
+
+ if(NOT DEFINED _vdus_SHA512)
+ message(FATAL_ERROR "SHA512 must be specified.")
+ endif()
+
+ if(NOT DEFINED _vdus_REPO)
+ message(FATAL_ERROR "The sourceforge repository must be specified.")
+ endif()
+
+ if (_vdus_DISABLE_SSL)
+ set(URL_PROTOCOL http:)
+ else()
+ set(URL_PROTOCOL https:)
+ endif()
+ set(SOURCEFORGE_HOST ${URL_PROTOCOL}//downloads.sourceforge.net/project)
+
+ string(FIND ${_vdus_REPO} "/" FOUND_ORG)
+ if (NOT FOUND_ORG EQUAL -1)
+ string(SUBSTRING "${_vdus_REPO}" 0 ${FOUND_ORG} ORG_NAME)
+ math(EXPR FOUND_ORG "${FOUND_ORG} + 1") # skip the slash
+ string(SUBSTRING "${_vdus_REPO}" ${FOUND_ORG} -1 REPO_NAME)
+ if (REPO_NAME MATCHES "/")
+ message(FATAL_ERROR "REPO should contain at most one slash (found ${_vdus_REPO}).")
+ endif()
+ set(ORG_NAME ${ORG_NAME}/)
+ else()
+ set(REPO_NAME ${_vdus_REPO})
+ set(ORG_NAME )
+ endif()
+
+ if (DEFINED _vdus_REF)
+ set(URL "${SOURCEFORGE_HOST}/${ORG_NAME}${REPO_NAME}/${_vdus_REF}/${_vdus_FILENAME}")
+ else()
+ set(URL "${SOURCEFORGE_HOST}/${ORG_NAME}${REPO_NAME}/${_vdus_FILENAME}")
+ endif()
+
+ set(NO_REMOVE_ONE_LEVEL )
+ if (_vdus_NO_REMOVE_ONE_LEVEL)
+ set(NO_REMOVE_ONE_LEVEL "NO_REMOVE_ONE_LEVEL")
+ endif()
+
+ string(SUBSTRING "${_vdus_SHA512}" 0 10 SANITIZED_REF)
+
+ vcpkg_download_distfile(ARCHIVE
+ URLS "${URL}"
+ SHA512 "${_vdus_SHA512}"
+ FILENAME "${_vdus_FILENAME}"
+ )
+
+ vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+ REF "${SANITIZED_REF}"
+ ${NO_REMOVE_ONE_LEVEL}
+ PATCHES ${_vdus_PATCHES}
+ )
+
+ set(${_vdus_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE)
+endfunction()