Skip to content

Commit

Permalink
[libmodplug] [ffmpeg] fix libmodplug .pc file for static windows build (
Browse files Browse the repository at this point in the history
microsoft#18867)

* [libmodplug] fix pkg-config file for static builds on windows

* [libmodplug] convert CONTROL to vcpkg.json

* [libmodplug] bump port version

* [ffmpeg] enable modplug feature on static windows builds

* [ffmpeg] reformat manifest

* [ffmpeg] bump port version

* [ffmpeg] [libmodplug] x-add-version

* [libmodplug] simplify copyright file install

* [libmodplug] x-add-version

* [ffmpeg] bump port version

* [ffmpeg] x-add-version

* [ffmpeg] fix post-merge

* [ffmpeg] x-add-version
  • Loading branch information
mcmtroffaes authored Jul 22, 2021
1 parent eea00aa commit 5abd47d
Show file tree
Hide file tree
Showing 9 changed files with 57 additions and 30 deletions.
4 changes: 2 additions & 2 deletions ports/ffmpeg/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ if("ilbc" IN_LIST FEATURES)
endif()

if("modplug" IN_LIST FEATURES)
if (VCPKG_TARGET_IS_UWP OR (VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static"))
message(FATAL_ERROR "Feature 'modplug' does not support 'uwp | (windows & static)'")
if (VCPKG_TARGET_IS_UWP)
message(FATAL_ERROR "Feature 'modplug' does not support 'uwp'")
endif()
endif()

Expand Down
18 changes: 9 additions & 9 deletions ports/ffmpeg/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ffmpeg",
"version": "4.4",
"port-version": 9,
"port-version": 10,
"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."
Expand Down Expand Up @@ -62,6 +62,14 @@
],
"platform": "!osx"
},
{
"name": "ffmpeg",
"default-features": false,
"features": [
"modplug"
],
"platform": "!uwp"
},
{
"name": "ffmpeg",
"default-features": false,
Expand Down Expand Up @@ -134,14 +142,6 @@
],
"platform": "!(uwp | arm | x86 | osx)"
},
{
"name": "ffmpeg",
"default-features": false,
"features": [
"modplug"
],
"platform": "!(windows & static) & !uwp"
},
{
"name": "ffmpeg",
"default-features": false,
Expand Down
32 changes: 24 additions & 8 deletions ports/libmodplug/004-export-pkgconfig.patch
Original file line number Diff line number Diff line change
@@ -1,30 +1,46 @@
From 6a3e539ea26eec1bfc2a6e722e923bd5221f8d26 Mon Sep 17 00:00:00 2001
From: "Matthias C. M. Troffaes" <[email protected]>
Date: Thu, 8 Jul 2021 10:47:30 +0100
Subject: [PATCH] Fix Libs.private in .pc file.

---
CMakeLists.txt | 7 +++++--
libmodplug.pc.in | 2 +-
2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 468f1a3..8e94458 100644
index 468f1a3..3164fc6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -142,6 +142,8 @@ if(HAVE_SINF)
@@ -141,7 +141,11 @@ if(HAVE_SINF)
add_definitions(-DHAVE_SINF)
endif(HAVE_SINF)

if (NOT WIN32)
+ set(UNIXLIBS "-lstdc++ -lm")
+endif (NOT WIN32)
-if (NOT WIN32)
+if(WIN32)
+ set(LIBS_PRIVATE "-luser32")
+else(WIN32)
+ set(LIBS_PRIVATE "-lstdc++ -lm")
+endif(WIN32)
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
set(libdir "${CMAKE_INSTALL_PREFIX}/lib")
@@ -152,4 +154,3 @@ if (NOT WIN32)
@@ -152,4 +156,3 @@ if (NOT WIN32)
install(FILES "${PROJECT_BINARY_DIR}/libmodplug.pc"
DESTINATION lib/pkgconfig
)
-endif (NOT WIN32)
diff --git a/libmodplug.pc.in b/libmodplug.pc.in
index bbf05f9..1699d76 100644
index bbf05f9..e4a43cc 100644
--- a/libmodplug.pc.in
+++ b/libmodplug.pc.in
@@ -8,5 +8,5 @@ Description: The ModPlug mod file playing library.
Version: @VERSION@
Requires:
Libs: -L${libdir} -lmodplug
-Libs.private: -lstdc++ -lm
+Libs.private: @UNIXLIBS@
+Libs.private: @LIBS_PRIVATE@
Cflags: -I${includedir}
--
2.21.0.windows.1

6 changes: 0 additions & 6 deletions ports/libmodplug/CONTROL

This file was deleted.

5 changes: 2 additions & 3 deletions ports/libmodplug/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ vcpkg_from_github(ARCHIVE
${STATIC_PATCH}
002-detect_sinf.patch
003-use-static-cast-for-ctype.patch
004-export-pkgconfig.patch
004-export-pkgconfig.patch # https://github.com/Konstanty/libmodplug/pull/59
)

vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA)
Expand All @@ -37,5 +37,4 @@ endif()

vcpkg_fixup_pkgconfig()

file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmodplug)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/libmodplug/COPYING ${CURRENT_PACKAGES_DIR}/share/libmodplug/copyright)
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
8 changes: 8 additions & 0 deletions ports/libmodplug/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"name": "libmodplug",
"version-string": "0.8.9.0",
"port-version": 8,
"description": "The ModPlug mod file playing library.",
"homepage": "https://github.com/Konstanty/libmodplug",
"supports": "!uwp"
}
4 changes: 2 additions & 2 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -1994,7 +1994,7 @@
},
"ffmpeg": {
"baseline": "4.4",
"port-version": 9
"port-version": 10
},
"ffnvcodec": {
"baseline": "10.0.26.0",
Expand Down Expand Up @@ -3370,7 +3370,7 @@
},
"libmodplug": {
"baseline": "0.8.9.0",
"port-version": 7
"port-version": 8
},
"libmorton": {
"baseline": "0.2",
Expand Down
5 changes: 5 additions & 0 deletions versions/f-/ffmpeg.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "d8eae79332e72736be5c6accacaf7bf9054df4b9",
"version": "4.4",
"port-version": 10
},
{
"git-tree": "b118bc2a5cf855546dc3016de53c4d7c75d267b4",
"version": "4.4",
Expand Down
5 changes: 5 additions & 0 deletions versions/l-/libmodplug.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "b6798791f0c306dcc5a5b9a445b618046dc7e097",
"version-string": "0.8.9.0",
"port-version": 8
},
{
"git-tree": "974a84bd910a82a86d2e27d2bb9416d0672390c4",
"version-string": "0.8.9.0",
Expand Down

0 comments on commit 5abd47d

Please sign in to comment.