aboutsummaryrefslogtreecommitdiff
path: root/ports/ffmpeg
diff options
context:
space:
mode:
authorras0219 <533828+ras0219@users.noreply.github.com>2020-08-31 22:36:25 -0700
committerGitHub <noreply@github.com>2020-08-31 22:36:25 -0700
commit46e25a10d7295d3bc107d6f51ce0e2851877f393 (patch)
treeeaceaf631ad478dbdc584332a7541cd40bc22449 /ports/ffmpeg
parentcdd4a988fdf867d3c6dba43fd3924c5188de18bd (diff)
downloadvcpkg-46e25a10d7295d3bc107d6f51ce0e2851877f393.tar.gz
vcpkg-46e25a10d7295d3bc107d6f51ce0e2851877f393.zip
[vcpkg] Replace uses of msys pacman.exe with direct package downloads (#13019)
* wip Apply suggestions from code review Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> * [vcpkg_acquire_msys] Trim list of packages. Introduce defaults. * [behaviortree-cpp] Fix dynamic dependency on ZMQ Co-authored-by: Robert Schumacher <roschuma@microsoft.com> Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Diffstat (limited to 'ports/ffmpeg')
-rw-r--r--ports/ffmpeg/CONTROL2
-rw-r--r--ports/ffmpeg/portfile.cmake103
2 files changed, 58 insertions, 47 deletions
diff --git a/ports/ffmpeg/CONTROL b/ports/ffmpeg/CONTROL
index c9ea04fa4..be2999788 100644
--- a/ports/ffmpeg/CONTROL
+++ b/ports/ffmpeg/CONTROL
@@ -1,6 +1,6 @@
Source: ffmpeg
Version: 4.2
-Port-Version: 21
+Port-Version: 22
Homepage: https://ffmpeg.org
Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.
FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations.
diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake
index b365b1843..49cff1d23 100644
--- a/ports/ffmpeg/portfile.cmake
+++ b/ports/ffmpeg/portfile.cmake
@@ -18,7 +18,7 @@ vcpkg_from_github(
0012-Fix-ssl-110-detection.patch
)
-if (${SOURCE_PATH} MATCHES " ")
+if (SOURCE_PATH MATCHES " ")
message(FATAL_ERROR "Error: ffmpeg will not build with spaces in the path. Please use a directory with no spaces")
endif()
@@ -26,35 +26,46 @@ vcpkg_find_acquire_program(YASM)
get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY)
if(VCPKG_TARGET_IS_WINDOWS)
- set(SEP ";")
#We're assuming that if we're building for Windows we're using MSVC
set(INCLUDE_VAR "INCLUDE")
set(LIB_PATH_VAR "LIB")
else()
- set(SEP ":")
set(INCLUDE_VAR "CPATH")
set(LIB_PATH_VAR "LIBRARY_PATH")
endif()
+set(ENV{PATH} "$ENV{PATH}${VCPKG_HOST_PATH_SEPARATOR}${YASM_EXE_PATH}")
set(OPTIONS "--enable-asm --enable-yasm --disable-doc --enable-debug --enable-runtime-cpudetect")
if(VCPKG_TARGET_IS_WINDOWS)
- set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH}")
-
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
- vcpkg_acquire_msys(MSYS_ROOT PACKAGES perl gcc diffutils make pkg-config)
+ vcpkg_acquire_msys(MSYS_ROOT
+ DIRECT_PACKAGES
+ # Required for "cpp.exe" preprocessor
+ "https://repo.msys2.org/msys/x86_64/gcc-9.3.0-1-x86_64.pkg.tar.xz"
+ 76af0192a092278e6b26814b2d92815a2c519902a3fec056b057faec19623b1770ac928a59a39402db23cfc23b0d7601b7f88b367b27269361748c69d08654b2
+ "https://repo.msys2.org/msys/x86_64/isl-0.22.1-1-x86_64.pkg.tar.xz"
+ f4db50d00bad0fa0abc6b9ad965b0262d936d437a9faa35308fa79a7ee500a474178120e487b2db2259caf51524320f619e18d92acf4f0b970b5cbe5cc0f63a2
+ "https://repo.msys2.org/msys/x86_64/zlib-1.2.11-1-x86_64.pkg.tar.xz"
+ b607da40d3388b440f2a09e154f21966cd55ad77e02d47805f78a9dee5de40226225bf0b8335fdfd4b83f25ead3098e9cb974d4f202f28827f8468e30e3b790d
+ "https://repo.msys2.org/msys/x86_64/mpc-1.1.0-1-x86_64.pkg.tar.xz"
+ 7d0715c41c27fdbf91e6dcc73d6b8c02ee62c252e027f0a17fa4bfb974be8a74d8e3a327ef31c2460721902299ef69a7ef3c7fce52c8f02ce1cb47f0b6e073e9
+ "https://repo.msys2.org/msys/x86_64/mpfr-4.1.0-1-x86_64.pkg.tar.zst"
+ d64fa60e188124591d41fc097d7eb51d7ea4940bac05cdcf5eafde951ed1eaa174468f5ede03e61106e1633e3428964b34c96de76321ed8853b398fbe8c4d072
+ "https://repo.msys2.org/msys/x86_64/gmp-6.2.0-1-x86_64.pkg.tar.xz"
+ 1389a443e775bb255d905665dd577bef7ed71d51a8c24d118097f8119c08c4dfe67505e88ddd1e9a3764dd1d50ed8b84fa34abefa797d257e90586f0cbf54de8
+ )
else()
- vcpkg_acquire_msys(MSYS_ROOT PACKAGES diffutils make pkg-config)
+ vcpkg_acquire_msys(MSYS_ROOT)
endif()
set(SHELL ${MSYS_ROOT}/usr/bin/bash.exe)
set(OPTIONS "--toolchain=msvc ${OPTIONS}")
else()
- set(ENV{PATH} "$ENV{PATH}:${YASM_EXE_PATH}")
set(SHELL /bin/sh)
endif()
-set(ENV{${INCLUDE_VAR}} "${CURRENT_INSTALLED_DIR}/include${SEP}$ENV{${INCLUDE_VAR}}")
+set(ENV{${INCLUDE_VAR}} "${CURRENT_INSTALLED_DIR}/include${VCPKG_HOST_PATH_SEPARATOR}$ENV{${INCLUDE_VAR}}")
set(_csc_PROJECT_PATH ffmpeg)
@@ -333,7 +344,7 @@ if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQU
vcpkg_find_acquire_program(GASPREPROCESSOR)
foreach(GAS_PATH ${GASPREPROCESSOR})
get_filename_component(GAS_ITEM_PATH ${GAS_PATH} DIRECTORY)
- set(ENV{PATH} "$ENV{PATH};${GAS_ITEM_PATH}")
+ set(ENV{PATH} "$ENV{PATH}${VCPKG_HOST_PATH_SEPARATOR}${GAS_ITEM_PATH}")
endforeach(GAS_PATH)
elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
@@ -382,7 +393,7 @@ message(STATUS "Building Options: ${OPTIONS}")
# Release build
if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release)
message(STATUS "Building Release Options: ${OPTIONS_RELEASE}")
- set(ENV{${LIB_PATH_VAR}} "${CURRENT_INSTALLED_DIR}/lib${SEP}${ENV_LIB_PATH}")
+ set(ENV{${LIB_PATH_VAR}} "${CURRENT_INSTALLED_DIR}/lib${VCPKG_HOST_PATH_SEPARATOR}${ENV_LIB_PATH}")
set(ENV{CFLAGS} "${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE}")
set(ENV{LDFLAGS} "${VCPKG_LINKER_FLAGS}")
set(ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}/lib/pkgconfig")
@@ -405,7 +416,7 @@ endif()
# Debug build
if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug)
message(STATUS "Building Debug Options: ${OPTIONS_DEBUG}")
- set(ENV{${LIB_PATH_VAR}} "${CURRENT_INSTALLED_DIR}/debug/lib${SEP}${ENV_LIB_PATH}")
+ set(ENV{${LIB_PATH_VAR}} "${CURRENT_INSTALLED_DIR}/debug/lib${VCPKG_HOST_PATH_SEPARATOR}${ENV_LIB_PATH}")
set(ENV{CFLAGS} "${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG}")
set(ENV{LDFLAGS} "${VCPKG_LINKER_FLAGS}")
set(ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}/debug/lib/pkgconfig")
@@ -425,36 +436,36 @@ if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug)
)
endif()
-file(GLOB DEF_FILES ${CURRENT_PACKAGES_DIR}/lib/*.def ${CURRENT_PACKAGES_DIR}/debug/lib/*.def)
-
-if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
- set(LIB_MACHINE_ARG /machine:ARM)
-elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
- set(LIB_MACHINE_ARG /machine:ARM64)
-elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
- set(LIB_MACHINE_ARG /machine:x86)
-elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
- set(LIB_MACHINE_ARG /machine:x64)
-else()
- message(FATAL_ERROR "Unsupported target architecture")
-endif()
-
-foreach(DEF_FILE ${DEF_FILES})
- get_filename_component(DEF_FILE_DIR "${DEF_FILE}" DIRECTORY)
- get_filename_component(DEF_FILE_NAME "${DEF_FILE}" NAME)
- string(REGEX REPLACE "-[0-9]*\\.def" "${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" OUT_FILE_NAME "${DEF_FILE_NAME}")
- file(TO_NATIVE_PATH "${DEF_FILE}" DEF_FILE_NATIVE)
- file(TO_NATIVE_PATH "${DEF_FILE_DIR}/${OUT_FILE_NAME}" OUT_FILE_NATIVE)
- message(STATUS "Generating ${OUT_FILE_NATIVE}")
- vcpkg_execute_required_process(
- COMMAND lib.exe /def:${DEF_FILE_NATIVE} /out:${OUT_FILE_NATIVE} ${LIB_MACHINE_ARG}
- WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR}
- LOGNAME libconvert-${TARGET_TRIPLET}
- )
-endforeach()
+if(VCPKG_TARGET_IS_WINDOWS)
+ file(GLOB DEF_FILES ${CURRENT_PACKAGES_DIR}/lib/*.def ${CURRENT_PACKAGES_DIR}/debug/lib/*.def)
+
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ set(LIB_MACHINE_ARG /machine:ARM)
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ set(LIB_MACHINE_ARG /machine:ARM64)
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ set(LIB_MACHINE_ARG /machine:x86)
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(LIB_MACHINE_ARG /machine:x64)
+ else()
+ message(FATAL_ERROR "Unsupported target architecture")
+ endif()
-# Handle tools
-if (VCPKG_TARGET_IS_WINDOWS)
+ foreach(DEF_FILE ${DEF_FILES})
+ get_filename_component(DEF_FILE_DIR "${DEF_FILE}" DIRECTORY)
+ get_filename_component(DEF_FILE_NAME "${DEF_FILE}" NAME)
+ string(REGEX REPLACE "-[0-9]*\\.def" "${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" OUT_FILE_NAME "${DEF_FILE_NAME}")
+ file(TO_NATIVE_PATH "${DEF_FILE}" DEF_FILE_NATIVE)
+ file(TO_NATIVE_PATH "${DEF_FILE_DIR}/${OUT_FILE_NAME}" OUT_FILE_NATIVE)
+ message(STATUS "Generating ${OUT_FILE_NATIVE}")
+ vcpkg_execute_required_process(
+ COMMAND lib.exe /def:${DEF_FILE_NATIVE} /out:${OUT_FILE_NATIVE} ${LIB_MACHINE_ARG}
+ WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR}
+ LOGNAME libconvert-${TARGET_TRIPLET}
+ )
+ endforeach()
+
+ # Handle tools
file(GLOB EXP_FILES ${CURRENT_PACKAGES_DIR}/lib/*.exp ${CURRENT_PACKAGES_DIR}/debug/lib/*.exp)
file(GLOB LIB_FILES ${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} ${CURRENT_PACKAGES_DIR}/debug/bin/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX})
file(GLOB EXE_FILES_REL ${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX})
@@ -484,15 +495,15 @@ vcpkg_copy_pdbs()
# Handle copyright
file(STRINGS ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-out.log LICENSE_STRING REGEX "License: .*" LIMIT_COUNT 1)
-if(${LICENSE_STRING} STREQUAL "License: LGPL version 2.1 or later")
+if(LICENSE_STRING STREQUAL "License: LGPL version 2.1 or later")
set(LICENSE_FILE "COPYING.LGPLv2.1")
-elseif(${LICENSE_STRING} STREQUAL "License: LGPL version 3 or later")
+elseif(LICENSE_STRING STREQUAL "License: LGPL version 3 or later")
set(LICENSE_FILE "COPYING.LGPLv3")
-elseif(${LICENSE_STRING} STREQUAL "License: GPL version 2 or later")
+elseif(LICENSE_STRING STREQUAL "License: GPL version 2 or later")
set(LICENSE_FILE "COPYING.GPLv2")
-elseif(${LICENSE_STRING} STREQUAL "License: GPL version 3 or later")
+elseif(LICENSE_STRING STREQUAL "License: GPL version 3 or later")
set(LICENSE_FILE "COPYING.GPLv3")
-elseif(${LICENSE_STRING} STREQUAL "License: nonfree and unredistributable")
+elseif(LICENSE_STRING STREQUAL "License: nonfree and unredistributable")
set(LICENSE_FILE "COPYING.NONFREE")
file(WRITE ${SOURCE_PATH}/${LICENSE_FILE} ${LICENSE_STRING})
else()