Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
7e7bf3c
enable macos workflow
daschuer May 27, 2021
2fad1d1
Set DEVELOPER_DIR environment variable for Xcode_12
daschuer May 29, 2021
f9640b5
Create a triplet overlay with VCPKG_OSX_DEPLOYMENT_TARGET CXX and C f…
daschuer May 30, 2021
1e40ab6
use absolute path for VCPKG_OVERLAY_TRIPLETS
daschuer Jul 5, 2021
ace4c52
switch from yasm to nasm
daschuer May 26, 2021
3aa9357
[libid3tag] move overlay to the windows folder
daschuer Jul 1, 2021
50894c3
[qt] Added Qt 5.12.4 as overlay
daschuer May 27, 2021
ec6d2a5
[qt] Added hash for qt5-translations
daschuer Jun 3, 2021
e69802c
[qt5-base] call xcode-select
daschuer May 28, 2021
f4ba679
[qt5-base] set QMAKE_MACOSX_DEPLOYMENT_TARGET for configure
daschuer May 31, 2021
4147e37
[qt5-base] add QMAKE_CXXFLAGS to configure
daschuer May 31, 2021
84b8207
[qt5-base] Patch /src/corelib/configure.json
daschuer Jun 1, 2021
33b3cda
[qt5-base] find SQLite3 in modul mode
daschuer Jul 10, 2021
6519e87
[qt5-base] use PostgreSQL::PostgreSQL
daschuer Jul 11, 2021
0995120
[qt5-base] bump version
daschuer Jul 11, 2021
5b014f9
[freetype] copy to overlay/osx folder
daschuer Aug 6, 2021
137b4b2
[freetype] disable brotli because of a linker issue with qt5-declarative
daschuer Aug 6, 2021
24489d8
[soundtouch] copy to overlay
daschuer Jul 8, 2021
ab99977
[soundtouch] allow building static libs
daschuer Jul 8, 2021
dd8867c
[soundtouch] don't use nested generator expressions
daschuer Jul 9, 2021
ab10fd2
[libusb] copy to overlay/ports
daschuer Jul 9, 2021
9332e0e
[libusb] remove vcpkg-cmake-wrapper.cmake in favour of FindLibUSB.cmake
daschuer Jul 9, 2021
88368f5
[fdk-aac] update osx triplet to build a dynamic library
daschuer Aug 4, 2021
33a9c55
[portmidi] copy port to overlay/ports
daschuer Aug 9, 2021
0284d06
[portmidi] Switch to the Mxxx fork at https://github.com/mixxxdj/port…
daschuer Jul 30, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 20 additions & 13 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,17 @@ jobs:
vcpkg_path: C:\mixxx-vcpkg
vcpkg_bootstrap: .\bootstrap-vcpkg.bat
vcpkg_triplet: x64-windows
vcpkg_overlay_ports: overlay/windows;overlay/ports
vcpkg_packages_extras: libid3tag libmad qt5-winextras
check_disk_space: Get-PSDrive
#- os: macos-10.15
# vcpkg_path: /Users/runner/mixxx-vcpkg
# vcpkg_bootstrap: ./bootstrap-vcpkg.sh
# vcpkg_triplet: x64-osx
# vcpkg_cache: /Users/runner/.cache/vcpkg/archives
# check_disk_space: df -h
- os: macos-10.15
vcpkg_path: /Users/runner/mixxx-vcpkg
vcpkg_bootstrap: ./bootstrap-vcpkg.sh
vcpkg_triplet: x64-osx
vcpkg_overlay_ports: overlay/osx:overlay/ports
vcpkg_packages_extras: qt5-macextras
vcpkg_cache: /Users/runner/.cache/vcpkg/archives
check_disk_space: df -h
env:
VCPKG_PACKAGES: >-
angle
Expand All @@ -30,9 +34,7 @@ jobs:
hss1394
libebur128
libflac
libid3tag
libkeyfinder
libmad
Comment thread
Be-ing marked this conversation as resolved.
Outdated
libmodplug
libogg
libopusenc
Expand All @@ -53,19 +55,22 @@ jobs:
qt5-script
qt5-svg
qt5-translations
qt5-winextras
qtkeychain
rubberband
soundtouch
taglib
wavpack
${{ matrix.vcpkg_packages_extras }}
VCPKG_DEFAULT_TRIPLET: ${{ matrix.vcpkg_triplet }}
VCPKG_OVERLAY_PORTS: overlay/ports
# Using the relative path overlay/triplets does not work (https://github.com/microsoft/vcpkg/issues/18764)
VCPKG_OVERLAY_TRIPLETS: ${{ matrix.vcpkg_path }}/overlay/triplets
VCPKG_OVERLAY_PORTS: ${{ matrix.vcpkg_overlay_ports }}
DEPS_BASE_NAME: mixxx-deps
DEVELOPER_DIR: /Applications/Xcode_12.app/Contents/Developer
MIXXX_VERSION: 2.4
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
steps:
- name: Check out git repository
uses: LebedevRI/checkout@issue197
with:
Expand All @@ -82,8 +87,10 @@ jobs:

- name: "[macOS] Bootstrap vcpkg"
if: runner.os == 'macOS'
run: brew install yasm automake

run: |
brew install nasm automake
/bin/bash -c "sudo xcode-select --switch /Applications/Xcode_12.app/Contents/Developer"
xcrun --show-sdk-version
- name: Set up cache
uses: actions/cache@v2
with:
Expand Down
32 changes: 32 additions & 0 deletions overlay/osx/freetype/0001-Fix-install-command.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ad8ded0..32324d6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -407,6 +407,7 @@ endif ()
include(GNUInstallDirs)

if (NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL)
+ if(UNIX)
install(
# Note the trailing slash in the argument to `DIRECTORY'!
DIRECTORY ${PROJECT_SOURCE_DIR}/include/
@@ -420,6 +421,19 @@ if (NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL)
${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/freetype2/freetype/config
COMPONENT headers)
+ else()
+ install(
+ # Note the trailing slash in the argument to `DIRECTORY'!
+ DIRECTORY ${PROJECT_SOURCE_DIR}/include/
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/freetype2
+ COMPONENT headers
+ PATTERN "internal" EXCLUDE
+ PATTERN "ftoption.h" EXCLUDE)
+ install(
+ FILES ${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/freetype2/freetype/config
+ COMPONENT headers)
+ endif()
endif ()

if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
65 changes: 65 additions & 0 deletions overlay/osx/freetype/0003-Fix-UWP.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index db48e9f..5c35276 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -328,6 +328,10 @@ else ()
list(APPEND BASE_SRCS src/base/ftdebug.c)
endif ()

+if(MSVC)
+ add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS)
+endif()
+
if (BUILD_FRAMEWORK)
list(APPEND BASE_SRCS builds/mac/freetype-Info.plist)
endif ()
diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h
index 4f2eaca..1e01fe4 100644
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -1038,6 +1038,11 @@ FT_BEGIN_HEADER
* Especially for TrueType fonts see also the documentation for
* @FT_Size_Metrics.
*/
+
+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP)
+#define generic GenericFromFreeTypeLibrary
+#endif
+
typedef struct FT_FaceRec_
{
FT_Long num_faces;
@@ -1910,6 +1915,9 @@ FT_BEGIN_HEADER

} FT_GlyphSlotRec;

+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP)
+#undef generic
+#endif

/*************************************************************************/
/*************************************************************************/
diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
index 3f8619d..edf03b6 100644
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -528,6 +528,9 @@
return error;
}

+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP)
+#define generic GenericFromFreeTypeLibrary
+#endif

static void
ft_glyphslot_clear( FT_GlyphSlot slot )
@@ -1195,6 +1198,9 @@
FT_FREE( face );
}

+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP)
+#undef generic
+#endif

static void
Destroy_Driver( FT_Driver driver )
21 changes: 21 additions & 0 deletions overlay/osx/freetype/CONTROL
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Source: freetype
Version: 2.10.4
Homepage: https://www.freetype.org/
Description: A library to render fonts.
Default-Features: zlib, bzip2, png

Feature: zlib
Build-Depends: zlib
Description: Use zlib instead of internal library for DEFLATE

Feature: bzip2
Build-Depends: bzip2
Description: Support bzip2 compressed fonts.

Feature: png
Build-Depends: libpng
Description: Support PNG compressed OpenType embedded bitmaps.

Feature: brotli
Build-Depends: brotli
Description: Support decompression of WOFF2 streams
29 changes: 29 additions & 0 deletions overlay/osx/freetype/brotli-static.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
diff --git a/builds/cmake/FindBrotliDec.cmake b/builds/cmake/FindBrotliDec.cmake
index 7c484c7df..0bd49b825 100644
--- a/builds/cmake/FindBrotliDec.cmake
+++ b/builds/cmake/FindBrotliDec.cmake
@@ -34,14 +34,22 @@ find_path(BROTLIDEC_INCLUDE_DIRS
PATH_SUFFIXES brotli)

find_library(BROTLIDEC_LIBRARIES
- NAMES brotlidec
+ NAMES brotlidec brotlidec-static
HINTS ${PC_BROTLIDEC_LIBDIR}
${PC_BROTLIDEC_LIBRARY_DIRS})

+find_library(BROTLICOMMON_LIBRARIES
+ NAMES brotlicommon-static
+ HINTS ${PC_BROTLIDEC_LIBDIR}
+ ${PC_BROTLIDEC_LIBRARY_DIRS})
+
+if(BROTLICOMMON_LIBRARIES)
+ set(BROTLIDEC_LIBRARIES ${BROTLIDEC_LIBRARIES} ${BROTLICOMMON_LIBRARIES})
+endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
- brotlidec
+ BrotliDec
REQUIRED_VARS BROTLIDEC_INCLUDE_DIRS BROTLIDEC_LIBRARIES
FOUND_VAR BROTLIDEC_FOUND
VERSION_VAR BROTLIDEC_VERSION)
41 changes: 41 additions & 0 deletions overlay/osx/freetype/fix-exports.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2314c79..994c602 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -446,7 +446,7 @@ endif ()
set(PKG_CONFIG_REQUIRED_PRIVATE "")

if (ZLIB_FOUND)
- target_link_libraries(freetype PRIVATE ${ZLIB_LIBRARIES})
+ target_link_libraries(freetype PRIVATE ZLIB::ZLIB)
target_include_directories(freetype PRIVATE ${ZLIB_INCLUDE_DIRS})
list(APPEND PKG_CONFIG_REQUIRED_PRIVATE "zlib")
endif ()
@@ -560,12 +560,26 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
install(
EXPORT freetype-targets
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype
- FILE freetype-config.cmake
COMPONENT headers)
install(
FILES ${PROJECT_BINARY_DIR}/freetype-config-version.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype
COMPONENT headers)
+
+
+ if(ZLIB_FOUND)
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/freetype-config.cmake"
+[[include(CMakeFindDependencyMacro)
+find_dependency(ZLIB)
+include("${CMAKE_CURRENT_LIST_DIR}/freetype-targets.cmake")
+]])
+ else()
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/freetype-config.cmake"
+[[include("${CMAKE_CURRENT_LIST_DIR}/freetype-targets.cmake")
+]])
+ endif()
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/freetype-config.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype)
endif ()


20 changes: 20 additions & 0 deletions overlay/osx/freetype/pkgconfig.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 61b174e..2314c79 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -509,7 +509,6 @@ endif ()

if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
# Generate the pkg-config file
- if (UNIX)
file(READ "${PROJECT_SOURCE_DIR}/builds/unix/freetype2.in" FREETYPE2_PC_IN)

string(REPLACE ";" ", " PKG_CONFIG_REQUIRED_PRIVATE "${PKG_CONFIG_REQUIRED_PRIVATE}")
@@ -543,7 +542,6 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
FILES ${PROJECT_BINARY_DIR}/freetype2.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
COMPONENT pkgconfig)
- endif ()

include(CMakePackageConfigHelpers)
write_basic_package_version_file(
103 changes: 103 additions & 0 deletions overlay/osx/freetype/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
set(FT_VERSION 2.10.4)

vcpkg_from_sourceforge(
OUT_SOURCE_PATH SOURCE_PATH
REPO freetype/freetype2
REF ${FT_VERSION}
FILENAME freetype-${FT_VERSION}.tar.xz
SHA512 827cda734aa6b537a8bcb247549b72bc1e082a5b32ab8d3cccb7cc26d5f6ee087c19ce34544fa388a1eb4ecaf97600dbabc3e10e950f2ba692617fee7081518f
PATCHES
0001-Fix-install-command.patch
0003-Fix-UWP.patch
pkgconfig.patch
brotli-static.patch
fix-exports.patch
)

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
zlib FT_WITH_ZLIB
bzip2 FT_WITH_BZIP2
png FT_WITH_PNG
brotli FT_WITH_BROTLI
INVERTED_FEATURES
zlib CMAKE_DISABLE_FIND_PACKAGE_ZLIB
bzip2 CMAKE_DISABLE_FIND_PACKAGE_BZip2
png CMAKE_DISABLE_FIND_PACKAGE_PNG
brotli CMAKE_DISABLE_FIND_PACKAGE_BrotliDec
)

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=ON
${FEATURE_OPTIONS}
)

vcpkg_install_cmake()
vcpkg_copy_pdbs()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/freetype)

# Rename for easy usage (VS integration; CMake and autotools will not care)
file(RENAME ${CURRENT_PACKAGES_DIR}/include/freetype2/freetype ${CURRENT_PACKAGES_DIR}/include/freetype)
file(RENAME ${CURRENT_PACKAGES_DIR}/include/freetype2/ft2build.h ${CURRENT_PACKAGES_DIR}/include/ft2build.h)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/freetype2)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)

# Fix the include dir [freetype2 -> freetype]
file(READ ${CURRENT_PACKAGES_DIR}/share/freetype/freetype-targets.cmake CONFIG_MODULE)
string(REPLACE "\${_IMPORT_PREFIX}/include/freetype2" "\${_IMPORT_PREFIX}/include" CONFIG_MODULE "${CONFIG_MODULE}")
string(REPLACE "\${_IMPORT_PREFIX}/lib/brotlicommon-static.lib" [[\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/brotlicommon-static.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/brotlicommon-static.lib>]] CONFIG_MODULE "${CONFIG_MODULE}")
string(REPLACE "\${_IMPORT_PREFIX}/lib/brotlidec-static.lib" [[\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/brotlidec-static.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/brotlidec-static.lib>]] CONFIG_MODULE "${CONFIG_MODULE}")
string(REPLACE "\${_IMPORT_PREFIX}/lib/brotlidec.lib" [[\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/brotlidec.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/brotlidec.lib>]] CONFIG_MODULE "${CONFIG_MODULE}")
string(REPLACE "\${_IMPORT_PREFIX}/lib/brotlidec.lib" [[\$<\$<NOT:\$<CONFIG:DEBUG>>:${_IMPORT_PREFIX}/lib/brotlidec.lib>;\$<\$<CONFIG:DEBUG>:${_IMPORT_PREFIX}/debug/lib/brotlidec.lib>]] CONFIG_MODULE "${CONFIG_MODULE}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/freetype/freetype-targets.cmake "${CONFIG_MODULE}")

find_library(FREETYPE_DEBUG NAMES freetyped PATHS "${CURRENT_PACKAGES_DIR}/debug/lib/" NO_DEFAULT_PATH)
if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/freetype2.pc")
file(READ "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/freetype2.pc" _contents)
if(FREETYPE_DEBUG)
string(REPLACE "-lfreetype" "-lfreetyped" _contents "${_contents}")
endif()
string(REPLACE "-I\${includedir}/freetype2" "-I\${includedir}" _contents "${_contents}")
file(WRITE "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/freetype2.pc" "${_contents}")
endif()
if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/freetype2.pc")
file(READ "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/freetype2.pc" _contents)
string(REPLACE "-I\${includedir}/freetype2" "-I\${includedir}" _contents "${_contents}")
file(WRITE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/freetype2.pc" "${_contents}")
endif()

vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES m)

file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)

if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
if("zlib" IN_LIST FEATURES)
set(USE_ZLIB ON)
endif()

if("bzip2" IN_LIST FEATURES)
set(USE_BZIP2 ON)
endif()

if("png" IN_LIST FEATURES)
set(USE_PNG ON)
endif()

if("brotli" IN_LIST FEATURES)
set(USE_BROTLI ON)
endif()

configure_file(${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake
${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake @ONLY)
endif()

file(COPY
${SOURCE_PATH}/docs/FTL.TXT
${SOURCE_PATH}/docs/GPLv2.TXT
DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}
)
file(INSTALL ${SOURCE_PATH}/docs/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
Loading