[vcpkg] Add vcpkg_from_sourceforge (1/2) (#11899)

This commit is contained in:
Jack·Boos·Yu 2020-06-27 06:06:30 +08:00 committed by GitHub
parent 81ae2ed94b
commit a0e0c57f86
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
83 changed files with 529 additions and 503 deletions

View File

@ -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)

View File

@ -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.

View File

@ -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(

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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.
Description: EPSILON is an Open Source wavelet image compressor, that is aimed on parallel and robust image processing.
Build-Depends: libpopt

View File

@ -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)
SHA512 95f427c68a4a4eb784f7d484d87fc573133983510f6b030663f88955e2446490a07b1343ae4668251b466f67cf9a79bd834b933c57c5ed12327f32174f20ac0f
PATCHES
0001-VS2015-provides-snprintf.patch
0002-Add-CFLAGS-for-CRT-selection-and-warning-supression.patch
0003-Fix-build-error.patch
)
# 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()
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)

View File

@ -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.

View File

@ -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)

View File

@ -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

View File

@ -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})

View File

@ -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.

View File

@ -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)

View File

@ -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.

View File

@ -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}

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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")

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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.

View File

@ -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"
vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
REPO itpp/itpp
REF ${ITPP_VERSION}
FILENAME "itpp-${ITPP_VERSION}.tar.bz2"
SHA512 b46d048fa7f33e80d2291a5e38e205c159791ea200f92c70d69e8ad8447ac2f0c847fece566a99af739853a1643cb16e226b4200c8bf115417f324e6d38c66bd
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
REF ${ITPP_VERSION}
PATCHES
msvc2013.patch
fix-uwp.patch

View File

@ -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

View File

@ -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})

View File

@ -1,4 +1,4 @@
Source: libdisasm
Version: 0.23-3
Version: 0.23-5
Homepage: https://sourceforge.net/projects/bastard
Description: x86 Disassembler Library.

View File

@ -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})

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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(

View File

@ -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

View File

@ -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

View File

@ -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})

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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(

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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
)

View File

@ -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).

View File

@ -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

View File

@ -1,4 +1,4 @@
Source: pcre
Version: 8.44-1
Version: 8.44-2
Homepage: https://www.pcre.org/
Description: Perl Compatible Regular Expressions

View File

@ -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

View File

@ -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

View File

@ -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")

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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(

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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
)

View File

@ -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.

View File

@ -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)

View File

@ -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.

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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++

View File

@ -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)

View File

@ -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

View File

@ -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(

View File

@ -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.

View File

@ -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"
vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
REPO tinyxml/tinyxml
REF 2.6.2
FILENAME "tinyxml_2_6_2.tar.gz"
SHA512 133b5db06131a90ad0c2b39b0063f1c8e65e67288a7e5d67e1f7d9ba32af10dc5dfa0462f9723985ee27debe8f09a10a25d4b5a5aaff2ede979b1cebe8e59d56
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
REF 2.6.2
PATCHES
0001_use_stl.patch
0002_export_tinyxml.patch

View File

@ -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.

View File

@ -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")

View File

@ -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

View File

@ -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)

View File

@ -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()