From 4eb9197e9346d4b329d26176a4f9b5f127a1ddd8 Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Fri, 11 Oct 2024 22:59:54 +0200 Subject: [PATCH 01/14] Fix matplotlib --- ports/py-matplotlib/portfile.cmake | 6 +++++- ports/py-matplotlib/vcpkg.json | 2 +- ports/py-meson/portfile.cmake | 9 ++++++--- ports/py-meson/vcpkg-port-config.cmake | 1 + ports/py-meson/vcpkg.json | 1 + ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake | 8 +++++++- versions/baseline.json | 4 ++-- versions/p-/py-matplotlib.json | 5 +++++ versions/p-/py-meson.json | 5 +++++ 9 files changed, 33 insertions(+), 8 deletions(-) diff --git a/ports/py-matplotlib/portfile.cmake b/ports/py-matplotlib/portfile.cmake index 95042fb7..276890eb 100755 --- a/ports/py-matplotlib/portfile.cmake +++ b/ports/py-matplotlib/portfile.cmake @@ -9,7 +9,11 @@ vcpkg_from_github( set(ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}/lib/pkgconfig;${CURRENT_INSTALLED_DIR}/share/pkgconfig") set(ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include;$ENV{INCLUDE}") -set(PYTHON3 "${CURRENT_HOST_INSTALLED_DIR}/tools/python3/python${VCPKG_HOST_EXECUTABLE_SUFFIX}") +if(VCPKG_TARGET_IS_WINDOWS) + set(PYTHON3 "${CURRENT_HOST_INSTALLED_DIR}/tools/python3/python.exe") +else() + set(PYTHON3 "${CURRENT_HOST_INSTALLED_DIR}/tools/python3/python${PYTHON3_VERSION_MAJOR}.${PYTHON3_VERSION_MINOR}") +endif() vcpkg_mesonpy_prepare_build_options(OUTPUT meson_opts) z_vcpkg_setup_pkgconfig_path(CONFIG "RELEASE") diff --git a/ports/py-matplotlib/vcpkg.json b/ports/py-matplotlib/vcpkg.json index f8688bab..8466d37a 100755 --- a/ports/py-matplotlib/vcpkg.json +++ b/ports/py-matplotlib/vcpkg.json @@ -1,7 +1,7 @@ { "name": "py-matplotlib", "version": "3.9.2", - "port-version": 1, + "port-version": 2, "description": "Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python.", "homepage": "https://matplotlib.org/stable/", "license": null, diff --git a/ports/py-meson/portfile.cmake b/ports/py-meson/portfile.cmake index 7bcbd545..b8ffc602 100755 --- a/ports/py-meson/portfile.cmake +++ b/ports/py-meson/portfile.cmake @@ -15,9 +15,12 @@ vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) -file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/python3/Lib") -file(RENAME "${CURRENT_PACKAGES_DIR}/Lib/site-packages/" "${CURRENT_PACKAGES_DIR}/${PYTHON3_SITE}/") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/Lib") +if(VCPKG_TARGET_IS_WINDOWS) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/python3/Lib") + file(RENAME "${CURRENT_PACKAGES_DIR}/Lib/site-packages/" "${CURRENT_PACKAGES_DIR}/${PYTHON3_SITE}/") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/Lib") +endif() + vcpkg_python_test_import(MODULE "mesonpy") diff --git a/ports/py-meson/vcpkg-port-config.cmake b/ports/py-meson/vcpkg-port-config.cmake index fdf574ee..44a1d39c 100755 --- a/ports/py-meson/vcpkg-port-config.cmake +++ b/ports/py-meson/vcpkg-port-config.cmake @@ -1,3 +1,4 @@ # Overwrite builtin scripts include("${CMAKE_CURRENT_LIST_DIR}/../vcpkg-tool-meson/vcpkg-port-config.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/../vcpkg-get-python-packages/x_vcpkg_get_python_packages.cmake") include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_mesonpy_prepare_build_options.cmake") diff --git a/ports/py-meson/vcpkg.json b/ports/py-meson/vcpkg.json index 5ba6c81e..e00bdd54 100755 --- a/ports/py-meson/vcpkg.json +++ b/ports/py-meson/vcpkg.json @@ -1,6 +1,7 @@ { "name": "py-meson", "version": "0.15.0", + "port-version": 1, "description": "Meson PEP 517 Python build backend", "homepage": "https://github.com/mesonbuild/meson-python", "license": "MIT", diff --git a/ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake b/ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake index f3cea164..d298ad0e 100755 --- a/ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake +++ b/ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake @@ -26,6 +26,12 @@ function(vcpkg_mesonpy_prepare_build_options) vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) vcpkg_add_to_path(PREPEND "${PYTHON3_DIR}") + x_vcpkg_get_python_packages( + PYTHON_VERSION 3 + PYTHON_EXECUTABLE ${PYTHON3} + PACKAGES gpep517 setuptools-scm + OUT_PYTHON_VAR PYTHON3 + ) set(buildname "RELEASE") vcpkg_list(APPEND buildtypes "${buildname}") @@ -118,4 +124,4 @@ function(vcpkg_mesonpy_prepare_build_options) endforeach() set("${arg_OUTPUT}" ${arg_OPTIONS} ${arg_OPTIONS_RELEASE} PARENT_SCOPE) -endfunction() \ No newline at end of file +endfunction() diff --git a/versions/baseline.json b/versions/baseline.json index 2aaeddc2..3ff5fa9a 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -110,11 +110,11 @@ }, "py-matplotlib": { "baseline": "3.9.2", - "port-version": 1 + "port-version": 2 }, "py-meson": { "baseline": "0.15.0", - "port-version": 0 + "port-version": 1 }, "py-numpy": { "baseline": "1.26.4", diff --git a/versions/p-/py-matplotlib.json b/versions/p-/py-matplotlib.json index a24a61d8..d71b74e8 100644 --- a/versions/p-/py-matplotlib.json +++ b/versions/p-/py-matplotlib.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "4cefbf5ed25506114385052ed64fb927b88daaeb", + "version": "3.9.2", + "port-version": 2 + }, { "git-tree": "68ebff1cccff9cea5155674352969b92bf0e7098", "version": "3.9.2", diff --git a/versions/p-/py-meson.json b/versions/p-/py-meson.json index 68704d56..6d24e682 100644 --- a/versions/p-/py-meson.json +++ b/versions/p-/py-meson.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2506a3f1278251228e159d4209a98445e7d4cc13", + "version": "0.15.0", + "port-version": 1 + }, { "git-tree": "492c2cf2e21e3339e428c8ac609d556f87847d27", "version": "0.15.0", From 82313a95c030acd4384641ca0fa12b1ad0e92dfa Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Fri, 11 Oct 2024 23:01:22 +0200 Subject: [PATCH 02/14] matplotlib tests --- .github/workflows/macos.yml | 2 +- .github/workflows/windows.yml | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 1c0fa3ca..77720bbf 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -72,7 +72,7 @@ jobs: ./vcpkg/vcpkg install $VCPKG_OPTIONS py-psycopg2 ./vcpkg/vcpkg install $VCPKG_OPTIONS py-urllib3 ./vcpkg/vcpkg install $VCPKG_OPTIONS py-markupsafe - # ./vcpkg/vcpkg install $VCPKG_OPTIONS py-matplotlib + ./vcpkg/vcpkg install $VCPKG_OPTIONS py-matplotlib ./vcpkg/vcpkg install $VCPKG_OPTIONS py-requests ./vcpkg/vcpkg install $VCPKG_OPTIONS py-isort ./vcpkg/vcpkg install $VCPKG_OPTIONS py-autopep8 diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 659ede4a..f4265d01 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -57,8 +57,7 @@ jobs: - name: 🌋 Build run: | - .\vcpkg\vcpkg.exe install --overlay-ports="${{ github.workspace }}/ports" --triplet=${{ matrix.triplet }} --x-buildtrees-root=C:/vcpkg-build py-pyqt6 py-pyyaml py-numpy gdal[python] py-qscintilla py-psycopg2 py-urllib3 py-markupsafe py-requests py-isort py-autopep8 py-flask - # py-matplotlib + .\vcpkg\vcpkg.exe install --overlay-ports="${{ github.workspace }}/ports" --triplet=${{ matrix.triplet }} --x-buildtrees-root=C:/vcpkg-build py-pyqt6 py-pyyaml py-numpy gdal[python] py-qscintilla py-psycopg2 py-urllib3 py-markupsafe py-requests py-isort py-autopep8 py-flask py-matplotlib - name: 📑 Upload logs uses: actions/upload-artifact@v4 From 05b404d2d8ec54c4545a21a5e04d15d96ff3be6d Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Fri, 11 Oct 2024 23:14:51 +0200 Subject: [PATCH 03/14] Bump py-tomli --- ports/py-tomli/portfile.cmake | 4 ++-- ports/py-tomli/vcpkg.json | 4 ++-- versions/baseline.json | 2 +- versions/p-/py-tomli.json | 5 +++++ 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ports/py-tomli/portfile.cmake b/ports/py-tomli/portfile.cmake index d74d59e6..75ff877e 100755 --- a/ports/py-tomli/portfile.cmake +++ b/ports/py-tomli/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO hukkin/tomli - REF 36ef51d6a5a55e0eca077b58695390d041061bd4 - SHA512 fe47a06dddad298dd64975f7618e7c8d03de83a8f4b44da868abd78e062138ad9df18fbc810e55e4cb240fac2c3c023b18ee4e87cab5e93cd776b34fac497bdf + REF ${VERSION} + SHA512 3eeea334d6d225590a9e074685c65d052e2f5d5286ca895ff7e9532d7289f0daa31ae67b5076d803e5adad4f20a9831058a0c4599715f049079904934d3d9c25 HEAD_REF main ) diff --git a/ports/py-tomli/vcpkg.json b/ports/py-tomli/vcpkg.json index eaedfb0d..4665fb6d 100755 --- a/ports/py-tomli/vcpkg.json +++ b/ports/py-tomli/vcpkg.json @@ -1,8 +1,8 @@ { "name": "py-tomli", - "version": "2.0.1", + "version": "2.0.2", "description": "A simple, correct Python build frontend ", - "homepage": "py-build.readthedocs.io/en/stable/", + "homepage": "https://github.com/hukkin/tomli", "license": "MIT", "dependencies": [ "vcpkg-python-scripts" diff --git a/versions/baseline.json b/versions/baseline.json index 3ff5fa9a..7a8bb1e8 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -221,7 +221,7 @@ "port-version": 0 }, "py-tomli": { - "baseline": "2.0.1", + "baseline": "2.0.2", "port-version": 0 }, "py-trove-classifiers": { diff --git a/versions/p-/py-tomli.json b/versions/p-/py-tomli.json index cc17b5e7..7a002964 100644 --- a/versions/p-/py-tomli.json +++ b/versions/p-/py-tomli.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "06070c900ac80a4563e56f72648b093c601b97a5", + "version": "2.0.2", + "port-version": 0 + }, { "git-tree": "60151223a49632b9d2513f0fc8e09fc49eaecf17", "version": "2.0.1", From 4a2794579b4ea39b676898b5499adf9208eab639 Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Fri, 11 Oct 2024 23:29:14 +0200 Subject: [PATCH 04/14] python path --- ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake | 4 ++-- versions/p-/py-meson.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake b/ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake index d298ad0e..d70ab933 100755 --- a/ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake +++ b/ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake @@ -24,14 +24,14 @@ function(vcpkg_mesonpy_prepare_build_options) vcpkg_add_to_path(PREPEND "${NINJA_PATH}") # Prepend to use the correct ninja. vcpkg_find_acquire_program(PYTHON3) - get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) - vcpkg_add_to_path(PREPEND "${PYTHON3_DIR}") x_vcpkg_get_python_packages( PYTHON_VERSION 3 PYTHON_EXECUTABLE ${PYTHON3} PACKAGES gpep517 setuptools-scm OUT_PYTHON_VAR PYTHON3 ) + get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) + vcpkg_add_to_path(PREPEND "${PYTHON3_DIR}") set(buildname "RELEASE") vcpkg_list(APPEND buildtypes "${buildname}") diff --git a/versions/p-/py-meson.json b/versions/p-/py-meson.json index 6d24e682..14bdeda5 100644 --- a/versions/p-/py-meson.json +++ b/versions/p-/py-meson.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "2506a3f1278251228e159d4209a98445e7d4cc13", + "git-tree": "5e75d7c8be60987fe672073dabcfed3dfa27d5f7", "version": "0.15.0", "port-version": 1 }, From 2d85b975163a971c753e00bb23fb0e0b58b84ea6 Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Fri, 11 Oct 2024 23:31:28 +0200 Subject: [PATCH 05/14] debug --- .github/workflows/macos.yml | 3 + ...g_mesonpy_prepare_build_options.cmake.orig | 130 ++++++++++++++++++ 2 files changed, 133 insertions(+) create mode 100755 ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake.orig diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 77720bbf..ef660c6c 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -78,6 +78,9 @@ jobs: ./vcpkg/vcpkg install $VCPKG_OPTIONS py-autopep8 ./vcpkg/vcpkg install $VCPKG_OPTIONS py-flask # ./vcpkg/vcpkg install $VCPKG_OPTIONS py-pyqt6 + # + - uses: mxschmitt/action-tmate@v3 + if: always() - name: 📑 Upload logs uses: actions/upload-artifact@v4 diff --git a/ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake.orig b/ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake.orig new file mode 100755 index 00000000..480ec892 --- /dev/null +++ b/ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake.orig @@ -0,0 +1,130 @@ +function(vcpkg_mesonpy_prepare_build_options) + cmake_parse_arguments(PARSE_ARGV 0 arg + "" + "OUTPUT" + "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;LANGUAGES;ADDITIONAL_BINARIES;ADDITIONAL_NATIVE_BINARIES;ADDITIONAL_CROSS_BINARIES;ADDITIONAL_PROPERTIES" + ) + if(NOT arg_LANGUAGES) + set(arg_LANGUAGES C CXX) + endif() + if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE) + z_vcpkg_select_default_vcpkg_chainload_toolchain() + endif() + z_vcpkg_get_cmake_vars(cmake_vars_file) + debug_message("Including cmake vars from: ${cmake_vars_file}") + include("${cmake_vars_file}") + + set(ENV{MESON} "${SCRIPT_MESON}") + + get_filename_component(CMAKE_PATH "${CMAKE_COMMAND}" DIRECTORY) + vcpkg_add_to_path("${CMAKE_PATH}") # Make CMake invokeable for Meson + + vcpkg_find_acquire_program(NINJA) + get_filename_component(NINJA_PATH ${NINJA} DIRECTORY) + vcpkg_add_to_path(PREPEND "${NINJA_PATH}") # Prepend to use the correct ninja. + + vcpkg_find_acquire_program(PYTHON3) + x_vcpkg_get_python_packages( + PYTHON_VERSION 3 + PYTHON_EXECUTABLE ${PYTHON3} + PACKAGES gpep517 setuptools-scm + OUT_PYTHON_VAR PYTHON3 + ) +<<<<<<< HEAD +======= + get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) + vcpkg_add_to_path(PREPEND "${PYTHON3_DIR}") +>>>>>>> 08d29ce (python path) + + set(buildname "RELEASE") + vcpkg_list(APPEND buildtypes "${buildname}") + set(path_suffix_${buildname} "") + set(suffix_${buildname} "rel") + set(meson_input_file_${buildname} "${CURRENT_BUILDTREES_DIR}/meson-${TARGET_TRIPLET}-${suffix_${buildname}}.log") + + vcpkg_list(APPEND arg_OPTIONS --backend ninja --wrap-mode nodownload -Dbuildtype=plain -Doptimization=plain) + + z_vcpkg_get_build_and_host_system(MESON_HOST_MACHINE MESON_BUILD_MACHINE IS_CROSS) + + if(IS_CROSS) + # VCPKG_CROSSCOMPILING is not used since it regresses a lot of ports in x64-windows-x triplets + # For consistency this should proably be changed in the future? + vcpkg_list(APPEND arg_OPTIONS --native "${SCRIPTS}/buildsystems/meson/none.txt") + vcpkg_list(APPEND arg_OPTIONS_DEBUG --cross "${meson_input_file_DEBUG}") + vcpkg_list(APPEND arg_OPTIONS_RELEASE --cross "${meson_input_file_RELEASE}") + else() + vcpkg_list(APPEND arg_OPTIONS_DEBUG --native "${meson_input_file_DEBUG}") + vcpkg_list(APPEND arg_OPTIONS_RELEASE --native "${meson_input_file_RELEASE}") + endif() + + # User provided cross/native files + if(VCPKG_MESON_NATIVE_FILE) + vcpkg_list(APPEND arg_OPTIONS_RELEASE --native "${VCPKG_MESON_NATIVE_FILE}") + endif() + if(VCPKG_MESON_NATIVE_FILE_RELEASE) + vcpkg_list(APPEND arg_OPTIONS_RELEASE --native "${VCPKG_MESON_NATIVE_FILE_RELEASE}") + endif() + if(VCPKG_MESON_NATIVE_FILE_DEBUG) + vcpkg_list(APPEND arg_OPTIONS_DEBUG --native "${VCPKG_MESON_NATIVE_FILE_DEBUG}") + endif() + if(VCPKG_MESON_CROSS_FILE) + vcpkg_list(APPEND arg_OPTIONS_RELEASE --cross "${VCPKG_MESON_CROSS_FILE}") + endif() + if(VCPKG_MESON_CROSS_FILE_RELEASE) + vcpkg_list(APPEND arg_OPTIONS_RELEASE --cross "${VCPKG_MESON_CROSS_FILE_RELEASE}") + endif() + if(VCPKG_MESON_CROSS_FILE_DEBUG) + vcpkg_list(APPEND arg_OPTIONS_DEBUG --cross "${VCPKG_MESON_CROSS_FILE_DEBUG}") + endif() + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(MESON_DEFAULT_LIBRARY shared) + else() + set(MESON_DEFAULT_LIBRARY static) + endif() + + vcpkg_list(APPEND arg_OPTIONS --libdir lib) # else meson install into an architecture describing folder + vcpkg_list(APPEND arg_OPTIONS_DEBUG -Ddebug=true --prefix "${CURRENT_PACKAGES_DIR}/debug" --includedir ../include) + vcpkg_list(APPEND arg_OPTIONS_RELEASE -Ddebug=false --prefix "${CURRENT_PACKAGES_DIR}") + + # select meson cmd-line options + if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_list(APPEND arg_OPTIONS_DEBUG "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}/debug','${CURRENT_INSTALLED_DIR}/share']") + vcpkg_list(APPEND arg_OPTIONS_RELEASE "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}','${CURRENT_INSTALLED_DIR}/share']") + else() + vcpkg_list(APPEND arg_OPTIONS_DEBUG "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}/debug','${CURRENT_INSTALLED_DIR}']") + vcpkg_list(APPEND arg_OPTIONS_RELEASE "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}']") + endif() + + # Allow overrides / additional configuration variables from triplets + if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS) + vcpkg_list(APPEND arg_OPTIONS ${VCPKG_MESON_CONFIGURE_OPTIONS}) + endif() + if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS_RELEASE) + vcpkg_list(APPEND arg_OPTIONS_RELEASE ${VCPKG_MESON_CONFIGURE_OPTIONS_RELEASE}) + endif() + if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS_DEBUG) + vcpkg_list(APPEND arg_OPTIONS_DEBUG ${VCPKG_MESON_CONFIGURE_OPTIONS_DEBUG}) + endif() + + # configure build + foreach(buildtype IN LISTS buildtypes) + message(STATUS "Configuring ${TARGET_TRIPLET}-${suffix_${buildtype}}") + file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${suffix_${buildtype}}") + #setting up PKGCONFIG + if(NOT arg_NO_PKG_CONFIG) + z_vcpkg_setup_pkgconfig_path(CONFIG "${buildtype}") + endif() + + z_vcpkg_meson_setup_variables(${buildtype}) + configure_file("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/../vcpkg-tool-meson/meson.template.in" "${meson_input_file_${buildtype}}" @ONLY) + + message(STATUS "Configuring ${TARGET_TRIPLET}-${suffix_${buildtype}} done") + + if(NOT arg_NO_PKG_CONFIG) + z_vcpkg_restore_pkgconfig_path() + endif() + endforeach() + + set("${arg_OUTPUT}" ${arg_OPTIONS} ${arg_OPTIONS_RELEASE} PARENT_SCOPE) +endfunction() From fa00ab8fcc8148c45b981d3a4b3053a2abbb6198 Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Sat, 12 Oct 2024 00:20:37 +0200 Subject: [PATCH 06/14] gitignore --- .gitignore | 1 + ...g_mesonpy_prepare_build_options.cmake.orig | 130 ------------------ 2 files changed, 1 insertion(+), 130 deletions(-) create mode 100644 .gitignore delete mode 100755 ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake.orig diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..95ef7c6b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.orig diff --git a/ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake.orig b/ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake.orig deleted file mode 100755 index 480ec892..00000000 --- a/ports/py-meson/vcpkg_mesonpy_prepare_build_options.cmake.orig +++ /dev/null @@ -1,130 +0,0 @@ -function(vcpkg_mesonpy_prepare_build_options) - cmake_parse_arguments(PARSE_ARGV 0 arg - "" - "OUTPUT" - "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;LANGUAGES;ADDITIONAL_BINARIES;ADDITIONAL_NATIVE_BINARIES;ADDITIONAL_CROSS_BINARIES;ADDITIONAL_PROPERTIES" - ) - if(NOT arg_LANGUAGES) - set(arg_LANGUAGES C CXX) - endif() - if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE) - z_vcpkg_select_default_vcpkg_chainload_toolchain() - endif() - z_vcpkg_get_cmake_vars(cmake_vars_file) - debug_message("Including cmake vars from: ${cmake_vars_file}") - include("${cmake_vars_file}") - - set(ENV{MESON} "${SCRIPT_MESON}") - - get_filename_component(CMAKE_PATH "${CMAKE_COMMAND}" DIRECTORY) - vcpkg_add_to_path("${CMAKE_PATH}") # Make CMake invokeable for Meson - - vcpkg_find_acquire_program(NINJA) - get_filename_component(NINJA_PATH ${NINJA} DIRECTORY) - vcpkg_add_to_path(PREPEND "${NINJA_PATH}") # Prepend to use the correct ninja. - - vcpkg_find_acquire_program(PYTHON3) - x_vcpkg_get_python_packages( - PYTHON_VERSION 3 - PYTHON_EXECUTABLE ${PYTHON3} - PACKAGES gpep517 setuptools-scm - OUT_PYTHON_VAR PYTHON3 - ) -<<<<<<< HEAD -======= - get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) - vcpkg_add_to_path(PREPEND "${PYTHON3_DIR}") ->>>>>>> 08d29ce (python path) - - set(buildname "RELEASE") - vcpkg_list(APPEND buildtypes "${buildname}") - set(path_suffix_${buildname} "") - set(suffix_${buildname} "rel") - set(meson_input_file_${buildname} "${CURRENT_BUILDTREES_DIR}/meson-${TARGET_TRIPLET}-${suffix_${buildname}}.log") - - vcpkg_list(APPEND arg_OPTIONS --backend ninja --wrap-mode nodownload -Dbuildtype=plain -Doptimization=plain) - - z_vcpkg_get_build_and_host_system(MESON_HOST_MACHINE MESON_BUILD_MACHINE IS_CROSS) - - if(IS_CROSS) - # VCPKG_CROSSCOMPILING is not used since it regresses a lot of ports in x64-windows-x triplets - # For consistency this should proably be changed in the future? - vcpkg_list(APPEND arg_OPTIONS --native "${SCRIPTS}/buildsystems/meson/none.txt") - vcpkg_list(APPEND arg_OPTIONS_DEBUG --cross "${meson_input_file_DEBUG}") - vcpkg_list(APPEND arg_OPTIONS_RELEASE --cross "${meson_input_file_RELEASE}") - else() - vcpkg_list(APPEND arg_OPTIONS_DEBUG --native "${meson_input_file_DEBUG}") - vcpkg_list(APPEND arg_OPTIONS_RELEASE --native "${meson_input_file_RELEASE}") - endif() - - # User provided cross/native files - if(VCPKG_MESON_NATIVE_FILE) - vcpkg_list(APPEND arg_OPTIONS_RELEASE --native "${VCPKG_MESON_NATIVE_FILE}") - endif() - if(VCPKG_MESON_NATIVE_FILE_RELEASE) - vcpkg_list(APPEND arg_OPTIONS_RELEASE --native "${VCPKG_MESON_NATIVE_FILE_RELEASE}") - endif() - if(VCPKG_MESON_NATIVE_FILE_DEBUG) - vcpkg_list(APPEND arg_OPTIONS_DEBUG --native "${VCPKG_MESON_NATIVE_FILE_DEBUG}") - endif() - if(VCPKG_MESON_CROSS_FILE) - vcpkg_list(APPEND arg_OPTIONS_RELEASE --cross "${VCPKG_MESON_CROSS_FILE}") - endif() - if(VCPKG_MESON_CROSS_FILE_RELEASE) - vcpkg_list(APPEND arg_OPTIONS_RELEASE --cross "${VCPKG_MESON_CROSS_FILE_RELEASE}") - endif() - if(VCPKG_MESON_CROSS_FILE_DEBUG) - vcpkg_list(APPEND arg_OPTIONS_DEBUG --cross "${VCPKG_MESON_CROSS_FILE_DEBUG}") - endif() - - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(MESON_DEFAULT_LIBRARY shared) - else() - set(MESON_DEFAULT_LIBRARY static) - endif() - - vcpkg_list(APPEND arg_OPTIONS --libdir lib) # else meson install into an architecture describing folder - vcpkg_list(APPEND arg_OPTIONS_DEBUG -Ddebug=true --prefix "${CURRENT_PACKAGES_DIR}/debug" --includedir ../include) - vcpkg_list(APPEND arg_OPTIONS_RELEASE -Ddebug=false --prefix "${CURRENT_PACKAGES_DIR}") - - # select meson cmd-line options - if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_list(APPEND arg_OPTIONS_DEBUG "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}/debug','${CURRENT_INSTALLED_DIR}/share']") - vcpkg_list(APPEND arg_OPTIONS_RELEASE "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}','${CURRENT_INSTALLED_DIR}/share']") - else() - vcpkg_list(APPEND arg_OPTIONS_DEBUG "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}/debug','${CURRENT_INSTALLED_DIR}']") - vcpkg_list(APPEND arg_OPTIONS_RELEASE "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}']") - endif() - - # Allow overrides / additional configuration variables from triplets - if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS) - vcpkg_list(APPEND arg_OPTIONS ${VCPKG_MESON_CONFIGURE_OPTIONS}) - endif() - if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS_RELEASE) - vcpkg_list(APPEND arg_OPTIONS_RELEASE ${VCPKG_MESON_CONFIGURE_OPTIONS_RELEASE}) - endif() - if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS_DEBUG) - vcpkg_list(APPEND arg_OPTIONS_DEBUG ${VCPKG_MESON_CONFIGURE_OPTIONS_DEBUG}) - endif() - - # configure build - foreach(buildtype IN LISTS buildtypes) - message(STATUS "Configuring ${TARGET_TRIPLET}-${suffix_${buildtype}}") - file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${suffix_${buildtype}}") - #setting up PKGCONFIG - if(NOT arg_NO_PKG_CONFIG) - z_vcpkg_setup_pkgconfig_path(CONFIG "${buildtype}") - endif() - - z_vcpkg_meson_setup_variables(${buildtype}) - configure_file("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/../vcpkg-tool-meson/meson.template.in" "${meson_input_file_${buildtype}}" @ONLY) - - message(STATUS "Configuring ${TARGET_TRIPLET}-${suffix_${buildtype}} done") - - if(NOT arg_NO_PKG_CONFIG) - z_vcpkg_restore_pkgconfig_path() - endif() - endforeach() - - set("${arg_OUTPUT}" ${arg_OPTIONS} ${arg_OPTIONS_RELEASE} PARENT_SCOPE) -endfunction() From 6bd1ea76ecd5b7e3c2dd3958ddeff2ea0ba8c6aa Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Sat, 12 Oct 2024 00:22:00 +0200 Subject: [PATCH 07/14] set cflags --- ports/vcpkg-python-scripts/vcpkg-port-config.cmake | 1 + ports/vcpkg-python-scripts/vcpkg.json | 8 ++++++-- ports/vcpkg-python-scripts/vcpkg_python_functions.cmake | 6 ++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ports/vcpkg-python-scripts/vcpkg-port-config.cmake b/ports/vcpkg-python-scripts/vcpkg-port-config.cmake index 37e2c1b6..2c27e94e 100644 --- a/ports/vcpkg-python-scripts/vcpkg-port-config.cmake +++ b/ports/vcpkg-python-scripts/vcpkg-port-config.cmake @@ -1,6 +1,7 @@ include_guard(GLOBAL) include("${CMAKE_CURRENT_LIST_DIR}/../python3/vcpkg-port-config.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/../vcpkg-cmake-get-vars/vcpkg-port-config.cmake") set(PYTHON3_BASEDIR "${CURRENT_INSTALLED_DIR}/tools/python3") find_program(PYTHON3 NAMES python${PYTHON3_VERSION_MAJOR}.${PYTHON3_VERSION_MINOR} python${PYTHON3_VERSION_MAJOR} python PATHS "${PYTHON3_BASEDIR}" NO_DEFAULT_PATH) diff --git a/ports/vcpkg-python-scripts/vcpkg.json b/ports/vcpkg-python-scripts/vcpkg.json index 6a2106ce..3499fbc2 100644 --- a/ports/vcpkg-python-scripts/vcpkg.json +++ b/ports/vcpkg-python-scripts/vcpkg.json @@ -1,11 +1,15 @@ { "name": "vcpkg-python-scripts", "version-date": "2024-05-12", - "port-version": 2, + "port-version": 3, "documentation": "https://vcpkg.io/en/docs/README.html", "license": "MIT", "supports": "native", "dependencies": [ - "python3" + "python3", + { + "name": "vcpkg-cmake-get-vars", + "host": true + } ] } diff --git a/ports/vcpkg-python-scripts/vcpkg_python_functions.cmake b/ports/vcpkg-python-scripts/vcpkg_python_functions.cmake index 4bc5ffae..160a607b 100644 --- a/ports/vcpkg-python-scripts/vcpkg_python_functions.cmake +++ b/ports/vcpkg-python-scripts/vcpkg_python_functions.cmake @@ -82,6 +82,12 @@ function(vcpkg_python_build_wheel) endforeach() endif() + vcpkg_cmake_get_vars(cmake_vars_file) + include("${cmake_vars_file}") + + set(ENV{CFLAGS} "${VCPKG_COMBINED_C_FLAGS_RELEASE}") + set(ENV{CXXFLAGS} "${VCPKG_COMBINED_CXX_FLAGS_RELEASE}") + vcpkg_execute_required_process( COMMAND ${env} "${z_vcpkg_python_func_python}" -m gpep517 build-wheel --wheel-dir "${z_vcpkg_wheeldir}" --output-fd 1 ${build_ops} LOGNAME "python-build-${TARGET_TRIPLET}" From 728133f39c558073c4fd510f8bb2ee596d6be5a5 Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Sat, 12 Oct 2024 00:22:17 +0200 Subject: [PATCH 08/14] v db --- versions/baseline.json | 2 +- versions/v-/vcpkg-python-scripts.json | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/versions/baseline.json b/versions/baseline.json index 7a8bb1e8..0f2ebcb8 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -258,7 +258,7 @@ }, "vcpkg-python-scripts": { "baseline": "2024-05-12", - "port-version": 2 + "port-version": 3 }, "vcpkg-tool-mercurial": { "baseline": "2023-06-27", diff --git a/versions/v-/vcpkg-python-scripts.json b/versions/v-/vcpkg-python-scripts.json index 16060cef..3a894fc1 100644 --- a/versions/v-/vcpkg-python-scripts.json +++ b/versions/v-/vcpkg-python-scripts.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "fbb437d04db9dba8d06fe8d57c0fcbc6f538af75", + "version-date": "2024-05-12", + "port-version": 3 + }, { "git-tree": "affc5263ff69b940637952d599d1f08cc36b4949", "version-date": "2024-05-12", From 2433107e96736318a4610288b2dd21f9ed21dd35 Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Sat, 12 Oct 2024 09:23:27 +0200 Subject: [PATCH 09/14] Use vcpkg python --- ports/vcpkg-python-scripts/vcpkg.json | 2 +- .../vcpkg-python-scripts/vcpkg_python_functions.cmake | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ports/vcpkg-python-scripts/vcpkg.json b/ports/vcpkg-python-scripts/vcpkg.json index 3499fbc2..0eab0262 100644 --- a/ports/vcpkg-python-scripts/vcpkg.json +++ b/ports/vcpkg-python-scripts/vcpkg.json @@ -1,7 +1,7 @@ { "name": "vcpkg-python-scripts", "version-date": "2024-05-12", - "port-version": 3, + "port-version": 4, "documentation": "https://vcpkg.io/en/docs/README.html", "license": "MIT", "supports": "native", diff --git a/ports/vcpkg-python-scripts/vcpkg_python_functions.cmake b/ports/vcpkg-python-scripts/vcpkg_python_functions.cmake index 160a607b..ff09471d 100644 --- a/ports/vcpkg-python-scripts/vcpkg_python_functions.cmake +++ b/ports/vcpkg-python-scripts/vcpkg_python_functions.cmake @@ -1,8 +1,6 @@ set(ENV{SETUPTOOLS_SCM_PRETEND_VERSION} "${VERSION}") set(ENV{PDM_BUILD_SCM_VERSION} "${VERSION}") -set(z_vcpkg_python_func_python "${PYTHON3}") - function(vcpkg_from_pythonhosted) cmake_parse_arguments( PARSE_ARGV 0 @@ -87,9 +85,11 @@ function(vcpkg_python_build_wheel) set(ENV{CFLAGS} "${VCPKG_COMBINED_C_FLAGS_RELEASE}") set(ENV{CXXFLAGS} "${VCPKG_COMBINED_CXX_FLAGS_RELEASE}") + set(ENV{LDFLAGS} "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_RELEASE}") + set(ENV{ARFLAGS} "${VCPKG_COMBINED_STATIC_LINKER_FLAGS_RELEASE}") vcpkg_execute_required_process( - COMMAND ${env} "${z_vcpkg_python_func_python}" -m gpep517 build-wheel --wheel-dir "${z_vcpkg_wheeldir}" --output-fd 1 ${build_ops} + COMMAND ${env} "${PYTHON3}" -m gpep517 build-wheel --wheel-dir "${z_vcpkg_wheeldir}" --output-fd 1 ${build_ops} LOGNAME "python-build-${TARGET_TRIPLET}" WORKING_DIRECTORY "${arg_SOURCE_PATH}" ) @@ -126,7 +126,7 @@ function(vcpkg_python_install_wheel) endif() message(STATUS "Installing python wheel:'${arg_WHEEL}'") - vcpkg_execute_required_process(COMMAND "${z_vcpkg_python_func_python}" -m installer + vcpkg_execute_required_process(COMMAND "${PYTHON3}" -m installer --prefix "${install_prefix}" --destdir "${CURRENT_PACKAGES_DIR}" "${arg_WHEEL}" LOGNAME "python-installer-${TARGET_TRIPLET}" @@ -188,7 +188,7 @@ function(vcpkg_python_test_import) set(PACKAGE_SITE_PACKAGES_DIR "${CURRENT_PACKAGES_DIR}/${RELATIVE_SITE_PACKAGES_DIR}") configure_file("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-python-scripts/import_test.py.in" "${CURRENT_BUILDTREES_DIR}/import_test.py" @ONLY) - vcpkg_execute_required_process(COMMAND "${z_vcpkg_python_func_python}" "${CURRENT_BUILDTREES_DIR}/import_test.py" + vcpkg_execute_required_process(COMMAND "${PYTHON3}" "${CURRENT_BUILDTREES_DIR}/import_test.py" LOGNAME "python-test-import-${TARGET_TRIPLET}" WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" ) From 019019e6e8f39a51003d3f9303b08d27d95253c0 Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Sat, 12 Oct 2024 09:23:49 +0200 Subject: [PATCH 10/14] vdb --- versions/baseline.json | 2 +- versions/v-/vcpkg-python-scripts.json | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/versions/baseline.json b/versions/baseline.json index 0f2ebcb8..501f936e 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -258,7 +258,7 @@ }, "vcpkg-python-scripts": { "baseline": "2024-05-12", - "port-version": 3 + "port-version": 4 }, "vcpkg-tool-mercurial": { "baseline": "2023-06-27", diff --git a/versions/v-/vcpkg-python-scripts.json b/versions/v-/vcpkg-python-scripts.json index 3a894fc1..b564989f 100644 --- a/versions/v-/vcpkg-python-scripts.json +++ b/versions/v-/vcpkg-python-scripts.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "32e165aee4edfa6dca2488a99ac0848fcf8b1664", + "version-date": "2024-05-12", + "port-version": 4 + }, { "git-tree": "fbb437d04db9dba8d06fe8d57c0fcbc6f538af75", "version-date": "2024-05-12", From 0fd0f1b60ed9db54613d88c6c8daff863e164508 Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Sat, 12 Oct 2024 10:27:20 +0200 Subject: [PATCH 11/14] disable matplotlib ci for macos --- .github/workflows/macos.yml | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index ef660c6c..3681c055 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -66,21 +66,22 @@ jobs: - name: 🌋 Build run: | VCPKG_OPTIONS="--overlay-ports="${{ github.workspace }}/ports" --host-triplet=${{ matrix.triplet }} --triplet=${{ matrix.triplet }} --x-buildtrees-root=${{ env.buildtrees }}" - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-pip - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-sip - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-numpy - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-psycopg2 - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-urllib3 - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-markupsafe - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-matplotlib - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-requests - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-isort - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-autopep8 - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-flask + ./vcpkg/vcpkg install $VCPKG_OPTIONS py-pip \ + py-sip \ + py-numpy \ + py-psycopg2 \ + py-urllib3 \ + py-markupsafe \ + py-matplotlib \ + py-requests \ + py-isort \ + py-autopep8 \ + py-flask \ + py-pyqt6 + + # Try again with *-macos-dynamic + # ./vcpkg/vcpkg install $VCPKG_OPTIONS py-matplotlib # ./vcpkg/vcpkg install $VCPKG_OPTIONS py-pyqt6 - # - - uses: mxschmitt/action-tmate@v3 - if: always() - name: 📑 Upload logs uses: actions/upload-artifact@v4 From 8170996c8933c65ebcc2a6b19ab3c0e59b6724ac Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Mon, 21 Oct 2024 13:47:08 +0200 Subject: [PATCH 12/14] Add macos-dynamic tests --- .github/actions/setup-vcpkg/action.yml | 2 + .github/workflows/macos-dynamic.yml | 84 ++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 .github/workflows/macos-dynamic.yml diff --git a/.github/actions/setup-vcpkg/action.yml b/.github/actions/setup-vcpkg/action.yml index 5e09207f..e501c0b8 100644 --- a/.github/actions/setup-vcpkg/action.yml +++ b/.github/actions/setup-vcpkg/action.yml @@ -17,6 +17,8 @@ runs: run: | . <(curl https://aka.ms/vcpkg-init.sh -L) echo "PATH=$VCPKG_ROOT;$PATH" >> $GITHUB_ENV + # osx dynamic fix, bandaid until next vcpkg tool release + wget https://raw.githubusercontent.com/microsoft/vcpkg/9558037875497b9db8cf38fcd7db68ec661bffe7/scripts/cmake/z_vcpkg_fixup_rpath_macho.cmake -O ${VCPKG_ROOT}/scripts/cmake/z_vcpkg_fixup_rpath_macho.cmake - name: Setup vcpkg if: runner.os == 'Windows' diff --git a/.github/workflows/macos-dynamic.yml b/.github/workflows/macos-dynamic.yml new file mode 100644 index 00000000..83fd315f --- /dev/null +++ b/.github/workflows/macos-dynamic.yml @@ -0,0 +1,84 @@ +--- +name: 🍎 MacOS Dynamic +on: + push: + branches: + - main + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + build-osx-dynamic: + permissions: + contents: read + packages: write + strategy: + matrix: + include: + - os: macos-13 + triplet: x64-osx-dynamic + - os: macos-14 + triplet: arm64-osx-dynamic + env: + buildtrees: /Users/runner/vcpkg-build + name: build (macos) + runs-on: ${{ matrix.os }} + + steps: + - name: 🐣 Checkout + uses: actions/checkout@v4 + + - name: 🐩 Install CMake and Ninja + uses: lukka/get-cmake@latest + + - name: 🧽 Developer Command Prompt for Microsoft Visual C++ + uses: ilammy/msvc-dev-cmd@v1 + + - name: 🔨 Prepare build env + run: | + brew install autoconf automake autoconf-archive libtool + + - name: 🐕 Checkout vcpkg + uses: actions/checkout@v4 + with: + repository: microsoft/vcpkg + ref: c4467cb686f92671f0172aa8299a77d908175b4e # TODO: can we have a canonical baseline for tests? + path: vcpkg + fetch-depth: 1 + + - name: 🐾 Bootstrap vcpkg + shell: bash + run: | + PKG_SOURCE_USER=$(echo $GITHUB_REPOSITORY | cut -d '/' -f 1) + ./vcpkg/bootstrap-vcpkg.sh + NUGET_EXE=$(./vcpkg/vcpkg fetch nuget | grep '^\/.*nuget.exe$') + echo "Downloaded $NUGET_EXE" + mono $NUGET_EXE sources add -Name ghpkg -Source "https://nuget.pkg.github.com/$PKG_SOURCE_USER/index.json" -UserName "$PKG_SOURCE_USER" -Password "${{ secrets.GITHUB_TOKEN }}" -StorePasswordInClearText + mono $NUGET_EXE setapikey "${{ secrets.GITHUB_TOKEN }}" -Source "https://nuget.pkg.github.com/$PKG_SOURCE_USER/index.json" + echo "VCPKG_BINARY_SOURCES=clear;nuget,https://nuget.pkg.github.com/$PKG_SOURCE_USER/index.json,readwrite" >> $GITHUB_ENV + VCPKG_ROOT=$(pwd)/vcpkg + echo "PATH=$VCPKG_ROOT;$PATH" >> $GITHUB_ENV + echo "VCPKG_ROOT=$VCPKG_ROOT" >> $GITHUB_ENV + + - name: 🌋 Build + run: | + VCPKG_OPTIONS="--overlay-ports="${{ github.workspace }}/ports" --host-triplet=${{ matrix.triplet }} --triplet=${{ matrix.triplet }} --x-buildtrees-root=${{ env.buildtrees }}" + ./vcpkg/vcpkg install $VCPKG_OPTIONS py-pip + ./vcpkg/vcpkg install $VCPKG_OPTIONS py-sip + ./vcpkg/vcpkg install $VCPKG_OPTIONS py-numpy + ./vcpkg/vcpkg install $VCPKG_OPTIONS py-psycopg2 + ./vcpkg/vcpkg install $VCPKG_OPTIONS py-urllib3 + ./vcpkg/vcpkg install $VCPKG_OPTIONS py-markupsafe + ./vcpkg/vcpkg install $VCPKG_OPTIONS py-matplotlib + ./vcpkg/vcpkg install $VCPKG_OPTIONS py-requests + ./vcpkg/vcpkg install $VCPKG_OPTIONS py-pyqt6 + + - name: 📑 Upload logs + uses: actions/upload-artifact@v4 + if: failure() + with: + name: logs-${{ matrix.triplet }} + path: ${{ env.buildtrees }}/**/*.log From aeac73494741101984264bf309c7fee4ea19e3c6 Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Mon, 21 Oct 2024 13:49:14 +0200 Subject: [PATCH 13/14] Align tests --- .github/workflows/macos-dynamic.yml | 20 +++++++++++--------- .github/workflows/macos.yml | 4 ---- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/.github/workflows/macos-dynamic.yml b/.github/workflows/macos-dynamic.yml index 83fd315f..a12d5dec 100644 --- a/.github/workflows/macos-dynamic.yml +++ b/.github/workflows/macos-dynamic.yml @@ -66,15 +66,17 @@ jobs: - name: 🌋 Build run: | VCPKG_OPTIONS="--overlay-ports="${{ github.workspace }}/ports" --host-triplet=${{ matrix.triplet }} --triplet=${{ matrix.triplet }} --x-buildtrees-root=${{ env.buildtrees }}" - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-pip - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-sip - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-numpy - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-psycopg2 - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-urllib3 - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-markupsafe - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-matplotlib - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-requests - ./vcpkg/vcpkg install $VCPKG_OPTIONS py-pyqt6 + ./vcpkg/vcpkg install $VCPKG_OPTIONS py-pip \ + py-sip \ + py-numpy \ + py-psycopg2 \ + py-urllib3 \ + py-markupsafe \ + py-matplotlib \ + py-requests \ + py-isort \ + py-autopep8 \ + py-pyqt6 - name: 📑 Upload logs uses: actions/upload-artifact@v4 diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 3681c055..baf34b83 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -79,10 +79,6 @@ jobs: py-flask \ py-pyqt6 - # Try again with *-macos-dynamic - # ./vcpkg/vcpkg install $VCPKG_OPTIONS py-matplotlib - # ./vcpkg/vcpkg install $VCPKG_OPTIONS py-pyqt6 - - name: 📑 Upload logs uses: actions/upload-artifact@v4 if: failure() From 328ebf2dd6790b11350786ce89e39270cc2e0182 Mon Sep 17 00:00:00 2001 From: Matthias Kuhn Date: Mon, 28 Oct 2024 10:30:06 +0100 Subject: [PATCH 14/14] rpath fixes --- .github/workflows/macos-dynamic.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/macos-dynamic.yml b/.github/workflows/macos-dynamic.yml index a12d5dec..e4bbda04 100644 --- a/.github/workflows/macos-dynamic.yml +++ b/.github/workflows/macos-dynamic.yml @@ -45,13 +45,14 @@ jobs: uses: actions/checkout@v4 with: repository: microsoft/vcpkg - ref: c4467cb686f92671f0172aa8299a77d908175b4e # TODO: can we have a canonical baseline for tests? + ref: e60236ee051183f1122066bee8c54a0b47c43a60 # TODO: can we have a canonical baseline for tests? path: vcpkg fetch-depth: 1 - name: 🐾 Bootstrap vcpkg shell: bash run: | + wget https://raw.githubusercontent.com/microsoft/vcpkg/f9dfb066d02fa62015e5c27acb4801cb482d5890/scripts/cmake/z_vcpkg_fixup_rpath_macho.cmake -O vcpkg/scripts/cmake/z_vcpkg_fixup_rpath_macho.cmake PKG_SOURCE_USER=$(echo $GITHUB_REPOSITORY | cut -d '/' -f 1) ./vcpkg/bootstrap-vcpkg.sh NUGET_EXE=$(./vcpkg/vcpkg fetch nuget | grep '^\/.*nuget.exe$')