Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 0 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,6 @@ jobs:
choco install nasm ${{ matrix.platform.arch == 'win32' && '--x86' || '' }}
"C:\Program Files${{ matrix.platform.arch == 'win32' && ' (x86)' || '' }}\NASM" | Out-File -FilePath "$env:GITHUB_PATH" -Append

- name: Install CMake v3.28.3
# libbluray fails to build with CMake 3.29.0
run: choco install -y CMake --version 3.28.3 --force

- name: Build
# Build your program with the given configuration
run: .\DoRelease.ps1 -Platforms ${{ matrix.arch }} ${{ matrix.platform }} -VsVersion ${{ env.VS_VERSION }} -SdkVersion "${{ env.SDK_VERSION }}"
Expand Down
1 change: 1 addition & 0 deletions BuildAllPlatforms.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ Param(
'winflexbison',
'xz',
'zlib',
'zstd',
'uwp_compat',
'DependenciesRequired',
'DependenciesRequiredDebug'
Expand Down
44 changes: 32 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -197,14 +197,19 @@ add_dependency_project_package(zlib 1.3.1)

ExternalProject_Add(xz
DOWNLOAD_DIR ${CMAKE_SOURCE_DIR}/downloads
URL https://netix.dl.sourceforge.net/project/lzmautils/xz-5.2.5.tar.gz
URL_HASH SHA256=f6f4910fd033078738bd82bfba4f49219d03b17eb0794eb91efbae419f4aba10
URL https://github.com/tukaani-project/xz/releases/download/v5.8.1/xz-5.8.1.tar.gz
URL_HASH SHA256=507825b599356c10dca1cd720c9d0d0c9d5400b9de300af00e4d1ea150795543
PATCH_COMMAND ${PATCH} -p1 -i ${CMAKE_SOURCE_DIR}/patches/$(TargetName).diff
CMAKE_ARGS
${ADDITIONAL_ARGS}
-DCMAKE_INSTALL_PREFIX:PATH=${INSTALL_PREFIX}
-DXZ_TOOL_XZ:BOOL=OFF
-DXZ_TOOL_LZMAINFO:BOOL=OFF
-DXZ_TOOL_XZDEC:BOOL=OFF
-DXZ_TOOL_LZMADEC:BOOL=OFF
-DXZ_DOC:BOOL=OFF
)
add_dependency_project_package(xz 5.2.5)
add_dependency_project_package(xz 5.8.1)

ExternalProject_Add(miniwdk
GIT_REPOSITORY https://github.com/Paxxi/miniwdk
Expand Down Expand Up @@ -546,26 +551,40 @@ add_dependency_project_package(mariadb-connector-c 3.3.17)

ExternalProject_Add(libffi
DOWNLOAD_DIR ${CMAKE_SOURCE_DIR}/downloads
URL https://github.com/libffi/libffi/archive/refs/tags/v3.3-rc1.tar.gz
URL_HASH SHA256=87cbd612fa20f8eb7b91a3e996c5032b813644deee6c2d96724b50752296737e
URL https://github.com/libffi/libffi/archive/refs/tags/v3.4.4.tar.gz
URL_HASH SHA256=828639972716ed18833df7b659b32060591fe0eb625a8d34078920d33c2dc867
PATCH_COMMAND ${PATCH} -p1 -i ${CMAKE_SOURCE_DIR}/patches/$(TargetName).diff
CMAKE_ARGS
${ADDITIONAL_ARGS}
-DCMAKE_INSTALL_PREFIX:PATH=${INSTALL_PREFIX}
)
add_dependency_project_package(libffi 3.3.0)
add_dependency_project_package(libffi 3.4.4)

ExternalProject_Add(zstd
DOWNLOAD_DIR ${CMAKE_SOURCE_DIR}/downloads
URL https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz
URL_HASH SHA256=eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3
PATCH_COMMAND ${PATCH} -p1 -i ${CMAKE_SOURCE_DIR}/patches/$(TargetName).diff
SOURCE_SUBDIR build/cmake
CMAKE_ARGS
${ADDITIONAL_ARGS}
-DCMAKE_INSTALL_PREFIX:PATH=${INSTALL_PREFIX}
-DZSTD_BUILD_STATIC:BOOL=ON
-DZSTD_BUILD_DYNAMIC:BOOL=OFF
)
add_dependency_project_package(zstd 1.5.7)

ExternalProject_Add(python
DEPENDS bzip2 openssl sqlite zlib expat libffi xz
DEPENDS bzip2 openssl sqlite zlib expat libffi xz zstd
GIT_REPOSITORY https://github.com/thexai/cpython
GIT_TAG 09051503302b44a5df9f174154b98c5607542719
GIT_TAG 5d8155aa5f859020b52ca35d2b47be20b64399ec
GIT_SHALLOW ON
CMAKE_ARGS
${ADDITIONAL_ARGS}
-DCMAKE_INSTALL_PREFIX:PATH=${INSTALL_PREFIX}
-DCMAKE_PREFIX_PATH:PATH=${PREFIX}%3B%3B${PREFIX}/bzip2%3B%3B${PREFIX}/openssl%3B%3B${PREFIX}/sqlite%3B%3B${PREFIX}/zlib%3B%3B${PREFIX}/libffi%3B%3B${PREFIX}/xz%3B%3B${PREFIX}/expat
-DCMAKE_PREFIX_PATH:PATH=${PREFIX}%3B%3B${PREFIX}/bzip2%3B%3B${PREFIX}/openssl%3B%3B${PREFIX}/sqlite%3B%3B${PREFIX}/zlib%3B%3B${PREFIX}/libffi%3B%3B${PREFIX}/xz%3B%3B${PREFIX}/expat%3B%3B${PREFIX}/zstd
)
add_dependency_project_package(python 3.13.9)
add_dependency_project_package(python 3.14.0)

ExternalProject_Add(libjpeg-turbo
GIT_REPOSITORY https://github.com/Paxxi/libjpeg-turbo
Expand All @@ -585,14 +604,14 @@ add_dependency_project_package(libjpeg-turbo 2.0.3)
ExternalProject_Add(pillow
DEPENDS freetype libjpeg-turbo python zlib
GIT_REPOSITORY https://github.com/thexai/Pillow
GIT_TAG dbde60e30ffc8bfe8c461b576d41343f46e9553e
GIT_TAG 31fd143d0e8338a0c226321cd18f00bec3cbeaf1
GIT_SHALLOW ON
CMAKE_ARGS
${ADDITIONAL_ARGS}
-DCMAKE_INSTALL_PREFIX:PATH=${INSTALL_PREFIX}
-DCMAKE_PREFIX_PATH:PATH=${PREFIX}%3B%3B${PREFIX}/freetype%3B%3B${PREFIX}/libjpeg-turbo%3B%3B${PREFIX}/python%3B%3B${PREFIX}/zlib
)
add_dependency_project_package(pillow 11.2.1)
add_dependency_project_package(pillow 12.0.0)

ExternalProject_Add(pycryptodome
DEPENDS python
Expand Down Expand Up @@ -729,6 +748,7 @@ add_custom_target(DependenciesRequired
winflexbison
xz
zlib
zstd
uwp_compat
)

Expand Down
2 changes: 1 addition & 1 deletion patches/libbluray.diff
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,291 @@
+cmake_minimum_required(VERSION 3.0)
+cmake_minimum_required(VERSION 3.15)
+
+set(BLURAY_VERSION_MAJOR 1)
+set(BLURAY_VERSION_MINOR 3)
Expand Down
27 changes: 22 additions & 5 deletions patches/libffi.diff
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ index 0000000..9d0f169
+++ b/CMakeLists.txt
@@ -0,0 +1,209 @@
+cmake_minimum_required(VERSION 3.9)
+project(libffi VERSION 3.3 LANGUAGES C ASM)
+project(libffi VERSION 3.4.4 LANGUAGES C ASM)
+
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
+
+
+# config variables for ffi.h.in
+set(VERSION 3.3)
+set(VERSION 3.4.4)
+
+
+set(HAVE_LONG_DOUBLE 0)
Expand Down Expand Up @@ -243,6 +243,23 @@ index 0000000..5e58503
+include(CMakeASMInformation)
+set(ASM_DIALECT)
\ No newline at end of file
diff --git a/cmake/modules/CMakeASM_ARMASMLinkerInformation.cmake b/cmake/modules/CMakeASM_ARMASMLinkerInformation.cmake
new file mode 100644
index 0000000..7049623
--- /dev/null
+++ b/cmake/modules/CMakeASM_ARMASMLinkerInformation.cmake
@@ -0,0 +1,10 @@
+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+# file LICENSE.rst or https://cmake.org/licensing for details.
+
+
+# support for the MS assembler, masm and masm64
+
+# Load the generic ASMInformation file:
+set(ASM_DIALECT "_MASM")
+include(Internal/CMakeASMLinkerInformation)
+set(ASM_DIALECT)
\ No newline at end of file
diff --git a/cmake/modules/CMakeDetermineASM_ARMASMCompiler.cmake b/cmake/modules/CMakeDetermineASM_ARMASMCompiler.cmake
new file mode 100644
index 0000000..9ba81be
Expand Down Expand Up @@ -321,10 +338,10 @@ index 0000000..8461c3b
+#define PACKAGE "libffi"
+#define PACKAGE_BUGREPORT "http://github.com/atgreen/libffi/issues"
+#define PACKAGE_NAME "libffi"
+#define PACKAGE_STRING "libffi 3.3"
+#define PACKAGE_STRING "libffi 3.4.4"
+#define PACKAGE_TARNAME "libffi"
+#define PACKAGE_URL ""
+#define PACKAGE_VERSION "3.3"
+#define PACKAGE_VERSION "3.4.4"
+#define SIZEOF_DOUBLE 8
+#define SIZEOF_LONG_DOUBLE 8
+#ifndef _WIN64
Expand All @@ -338,7 +355,7 @@ index 0000000..8461c3b
+#define SYMBOL_UNDERSCORE 1
+#endif
+#endif
+#define VERSION "3.3"
+#define VERSION "3.4.4"
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
Expand Down
Loading