Compare commits

...

4 commits

Author SHA1 Message Date
crueter
7fb5aac5be
oops
Signed-off-by: crueter <crueter@eden-emu.dev>
2026-06-01 23:27:51 -04:00
crueter
7a18b1c127
wot
Signed-off-by: crueter <crueter@eden-emu.dev>
2026-06-01 23:25:04 -04:00
crueter
5783427842
fix openssl
Signed-off-by: crueter <crueter@eden-emu.dev>
2026-06-01 23:24:55 -04:00
crueter
aff9a6cee1
update cpmutil
Signed-off-by: crueter <crueter@eden-emu.dev>
2026-06-01 23:20:51 -04:00
8 changed files with 75 additions and 39 deletions

View file

@ -52,7 +52,7 @@ jobs:
} }
EOF EOF
curl -X 'POST' \ curl -XPOST \
'https://git.eden-emu.dev/api/v1/repos/eden-emu/eden/pulls' \ 'https://git.eden-emu.dev/api/v1/repos/eden-emu/eden/pulls' \
-H 'accept: application/json' \ -H 'accept: application/json' \
-H 'Authorization: Bearer ${{ secrets.CI_FJ_TOKEN }}' \ -H 'Authorization: Bearer ${{ secrets.CI_FJ_TOKEN }}' \

View file

@ -1,4 +1,4 @@
name: update-deps name: Update Dependencies
on: on:
# saturday at noon # saturday at noon
@ -7,7 +7,7 @@ on:
workflow_dispatch: workflow_dispatch:
jobs: jobs:
tx-update: update-deps:
runs-on: source runs-on: source
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -34,10 +34,11 @@ jobs:
- name: Create PR - name: Create PR
run: | run: |
set -x
TITLE="[externals] Dependency update for $DATE" TITLE="[externals] Dependency update for $DATE"
BODY="$(git show -s --format='%b')" BODY="$(git show -s --format='%b')"
BASE=master BASE=master
HEAD=update-deps-$DATE HEAD=update-deps-$TIMESTAMP
cat << EOF > data.json cat << EOF > data.json
{ {
@ -48,7 +49,7 @@ jobs:
} }
EOF EOF
curl -X 'POST' \ curl -XPOST \
'https://git.eden-emu.dev/api/v1/repos/eden-emu/eden/pulls' \ 'https://git.eden-emu.dev/api/v1/repos/eden-emu/eden/pulls' \
-H 'accept: application/json' \ -H 'accept: application/json' \
-H 'Authorization: Bearer ${{ secrets.CI_FJ_TOKEN }}' \ -H 'Authorization: Bearer ${{ secrets.CI_FJ_TOKEN }}' \

View file

@ -3,7 +3,7 @@
set(CPM_SOURCE_CACHE "${PROJECT_SOURCE_DIR}/.cache/cpm" CACHE STRING "" FORCE) set(CPM_SOURCE_CACHE "${PROJECT_SOURCE_DIR}/.cache/cpm" CACHE STRING "" FORCE)
if(MSVC OR ANDROID) if(MSVC OR ANDROID OR IOS)
set(BUNDLED_DEFAULT ON) set(BUNDLED_DEFAULT ON)
else() else()
set(BUNDLED_DEFAULT OFF) set(BUNDLED_DEFAULT OFF)
@ -128,7 +128,8 @@ function(AddDependentPackages)
message(FATAL_ERROR "Partial dependency installation detected " message(FATAL_ERROR "Partial dependency installation detected "
"for the following packages:\n${package_names}\n" "for the following packages:\n${package_names}\n"
"You can solve this in one of two ways:\n" "You can solve this in one of two ways:\n"
"1. Install the following packages to your system if available:" "1. Install or upgrade the following packages "
"to your system if available:"
"\n\t${bundled_names}\n" "\n\t${bundled_names}\n"
"2. Set the following variables to ON:" "2. Set the following variables to ON:"
"\n\t${system_names}\n" "\n\t${system_names}\n"
@ -247,7 +248,9 @@ function(AddJsonPackage)
set(multiValueArgs OPTIONS) set(multiValueArgs OPTIONS)
cmake_parse_arguments(JSON "" "${oneValueArgs}" "${multiValueArgs}" set(optionArgs MODULE)
cmake_parse_arguments(JSON "${optionArgs}" "${oneValueArgs}" "${multiValueArgs}"
"${ARGN}") "${ARGN}")
list(LENGTH ARGN argnLength) list(LENGTH ARGN argnLength)
@ -276,6 +279,10 @@ function(AddJsonPackage)
parse_object(${object}) parse_object(${object})
if (JSON_MODULE)
set(EXTRA_ARGS MODULE)
endif()
if(ci) if(ci)
AddCIPackage( AddCIPackage(
VERSION ${version} VERSION ${version}
@ -284,8 +291,8 @@ function(AddJsonPackage)
PACKAGE ${package} PACKAGE ${package}
EXTENSION ${extension} EXTENSION ${extension}
MIN_VERSION ${min_version} MIN_VERSION ${min_version}
DISABLED_PLATFORMS ${disabled_platforms}) DISABLED_PLATFORMS ${disabled_platforms}
${EXTRA_ARGS})
else() else()
if (NOT DEFINED JSON_FORCE_BUNDLED_PACKAGE) if (NOT DEFINED JSON_FORCE_BUNDLED_PACKAGE)
set(JSON_FORCE_BUNDLED_PACKAGE OFF) set(JSON_FORCE_BUNDLED_PACKAGE OFF)
@ -307,23 +314,24 @@ function(AddJsonPackage)
FORCE_BUNDLED_PACKAGE "${JSON_FORCE_BUNDLED_PACKAGE}" FORCE_BUNDLED_PACKAGE "${JSON_FORCE_BUNDLED_PACKAGE}"
SOURCE_SUBDIR "${source_subdir}" SOURCE_SUBDIR "${source_subdir}"
GIT_VERSION ${git_version} GIT_VERSION "${git_version}"
GIT_HOST ${git_host} GIT_HOST "${git_host}"
ARTIFACT ${artifact} ARTIFACT "${artifact}"
TAG ${tag}) TAG "${tag}"
${EXTRA_ARGS})
endif() endif()
# pass stuff to parent scope # pass stuff to parent scope
Propagate(${package}_ADDED) Propagate(${package}_ADDED)
Propagate(${package}_SOURCE_DIR) Propagate(${package}_SOURCE_DIR)
Propagate(${package}_BINARY_DIR) Propagate(${package}_BINARY_DIR)
Propagate(CMAKE_PREFIX_PATH)
endfunction() endfunction()
function(AddPackage) function(AddPackage)
cpm_set_policies() cpm_set_policies()
set(EXTRA_ARGS "")
# TODO(crueter): git clone?
#[[ #[[
URL configurations, descending order of precedence: URL configurations, descending order of precedence:
@ -368,7 +376,9 @@ function(AddPackage)
set(multiValueArgs OPTIONS PATCHES) set(multiValueArgs OPTIONS PATCHES)
cmake_parse_arguments(PKG_ARGS "" "${oneValueArgs}" "${multiValueArgs}" set(optionArgs MODULE)
cmake_parse_arguments(PKG_ARGS "${optionArgs}" "${oneValueArgs}" "${multiValueArgs}"
"${ARGN}") "${ARGN}")
if(NOT DEFINED PKG_ARGS_NAME) if(NOT DEFINED PKG_ARGS_NAME)
@ -552,6 +562,12 @@ function(AddPackage)
VERSION ${PKG_ARGS_VERSION}) VERSION ${PKG_ARGS_VERSION})
endif() endif()
if (PKG_ARGS_MODULE)
set(PKG_ARGS_DOWNLOAD_ONLY ON)
elseif (NOT DEFINED PKG_ARGS_DOWNLOAD_ONLY)
set(PKG_ARGS_DOWNLOAD_ONLY OFF)
endif()
CPMAddPackage( CPMAddPackage(
NAME ${PKG_ARGS_NAME} NAME ${PKG_ARGS_NAME}
URL ${pkg_url} URL ${pkg_url}
@ -601,13 +617,14 @@ function(AddPackage)
endif() endif()
# pass stuff to parent scope # pass stuff to parent scope
set(${PKG_ARGS_NAME}_ADDED "${${PKG_ARGS_NAME}_ADDED}" Propagate(${PKG_ARGS_NAME}_ADDED)
PARENT_SCOPE) Propagate(${PKG_ARGS_NAME}_SOURCE_DIR)
set(${PKG_ARGS_NAME}_SOURCE_DIR "${${PKG_ARGS_NAME}_SOURCE_DIR}" Propagate(${PKG_ARGS_NAME}_BINARY_DIR)
PARENT_SCOPE)
set(${PKG_ARGS_NAME}_BINARY_DIR "${${PKG_ARGS_NAME}_BINARY_DIR}"
PARENT_SCOPE)
if (PKG_ARGS_MODULE)
list(PREPEND CMAKE_PREFIX_PATH "${${ARTIFACT_PACKAGE}_SOURCE_DIR}")
Propagate(CMAKE_PREFIX_PATH)
endif()
endfunction() endfunction()
# TODO(crueter): we could do an AddMultiArchPackage, multiplatformpackage? # TODO(crueter): we could do an AddMultiArchPackage, multiplatformpackage?
@ -690,14 +707,20 @@ function(AddCIPackage)
set(pkgname linux-amd64) set(pkgname linux-amd64)
elseif(PLATFORM_LINUX AND ARCHITECTURE_arm64) elseif(PLATFORM_LINUX AND ARCHITECTURE_arm64)
set(pkgname linux-aarch64) set(pkgname linux-aarch64)
elseif(APPLE) elseif(APPLE AND NOT IOS)
set(pkgname macos-universal) set(pkgname macos-universal)
elseif(IOS AND ARCHITECTURE_arm64)
set(pkgname ios-aarch64)
endif() endif()
if (DEFINED pkgname AND NOT "${pkgname}" IN_LIST DISABLED_PLATFORMS) if (DEFINED pkgname AND NOT "${pkgname}" IN_LIST DISABLED_PLATFORMS)
set(ARTIFACT set(ARTIFACT
"${ARTIFACT_NAME}-${pkgname}-${ARTIFACT_VERSION}.${ARTIFACT_EXT}") "${ARTIFACT_NAME}-${pkgname}-${ARTIFACT_VERSION}.${ARTIFACT_EXT}")
if (PKG_ARGS_MODULE)
set(EXTRA_ARGS MODULE)
endif()
AddPackage( AddPackage(
NAME ${ARTIFACT_PACKAGE} NAME ${ARTIFACT_PACKAGE}
REPO ${ARTIFACT_REPO} REPO ${ARTIFACT_REPO}
@ -708,23 +731,22 @@ function(AddCIPackage)
KEY "${pkgname}-${ARTIFACT_VERSION}" KEY "${pkgname}-${ARTIFACT_VERSION}"
HASH_SUFFIX sha512sum HASH_SUFFIX sha512sum
FORCE_BUNDLED_PACKAGE ON FORCE_BUNDLED_PACKAGE ON
DOWNLOAD_ONLY ${PKG_ARGS_MODULE}) ${EXTRA_ARGS})
set(${ARTIFACT_PACKAGE}_ADDED TRUE PARENT_SCOPE) set(${ARTIFACT_PACKAGE}_ADDED TRUE PARENT_SCOPE)
set(${ARTIFACT_PACKAGE}_SOURCE_DIR Propagate(${ARTIFACT_PACKAGE}_SOURCE_DIR)
"${${ARTIFACT_PACKAGE}_SOURCE_DIR}" PARENT_SCOPE) Propagate(CMAKE_PREFIX_PATH)
if (PKG_ARGS_MODULE)
list(PREPEND CMAKE_PREFIX_PATH "${${ARTIFACT_PACKAGE}_SOURCE_DIR}")
Propagate(CMAKE_PREFIX_PATH)
endif()
else() else()
find_package(${ARTIFACT_PACKAGE} ${ARTIFACT_MIN_VERSION} REQUIRED) find_package(${ARTIFACT_PACKAGE} ${ARTIFACT_MIN_VERSION} REQUIRED)
endif() endif()
endfunction() endfunction()
# Utility function for Qt # Utility function for Qt
function(AddQt version) function(AddQt repo version)
if (NOT DEFINED repo)
message(FATAL_ERROR "[CPMUtil] AddQt: repo is required")
endif()
if (NOT DEFINED version) if (NOT DEFINED version)
message(FATAL_ERROR "[CPMUtil] AddQt: version is required") message(FATAL_ERROR "[CPMUtil] AddQt: version is required")
endif() endif()
@ -734,7 +756,7 @@ function(AddQt version)
PACKAGE Qt6 PACKAGE Qt6
VERSION ${version} VERSION ${version}
MIN_VERSION 6 MIN_VERSION 6
REPO crueter-ci/Qt REPO ${repo}
DISABLED_PLATFORMS DISABLED_PLATFORMS
android-x86_64 android-aarch64 android-x86_64 android-aarch64
freebsd-amd64 solaris-amd64 openbsd-amd64 freebsd-amd64 solaris-amd64 openbsd-amd64

View file

@ -18,3 +18,4 @@
- `linux-amd64` - `linux-amd64`
- `linux-aarch64` - `linux-aarch64`
- `macos-universal` - `macos-universal`
- `ios-aarch64`

View file

@ -61,7 +61,8 @@ In order: OpenSSL CI, Boost (tag + artifact), Opus (options + find_args), discor
"version": "3.6.0", "version": "3.6.0",
"min_version": "1.1.1", "min_version": "1.1.1",
"disabled_platforms": [ "disabled_platforms": [
"macos-universal" "macos-universal",
"ios-aarch64"
] ]
}, },
"boost": { "boost": {

View file

@ -83,7 +83,7 @@ ci_package() {
android-aarch64 android-x86_64 \ android-aarch64 android-x86_64 \
solaris-amd64 freebsd-amd64 openbsd-amd64 \ solaris-amd64 freebsd-amd64 openbsd-amd64 \
linux-amd64 linux-aarch64 \ linux-amd64 linux-aarch64 \
macos-universal; do macos-universal ios-aarch64; do
echo "-- * platform $platform" echo "-- * platform $platform"
case $DISABLED in case $DISABLED in

View file

@ -83,8 +83,13 @@ for pkg in $packages; do
echo "-- Package $PACKAGE" echo "-- Package $PACKAGE"
# TODO(crueter): Support for Forgejo updates w/ forgejo_token # TODO(crueter): Support for Forgejo updates w/ forgejo_token
# Use gh-cli to avoid ratelimits lmao # Use gh-cli to avoid ratelimits, if available
TAGS=$(gh api --method GET "/repos/$REPO/tags") endpoint="/repos/$REPO/tags"
if command -v gh >/dev/null 2>&1; then
TAGS=$(gh api --method GET "$endpoint")
else
TAGS=$(curl -sfL "https://api.github.com$endpoint")
fi
# filter out some commonly known annoyances # filter out some commonly known annoyances
# TODO add more # TODO add more
@ -100,6 +105,12 @@ for pkg in $packages; do
# ???????????????????????????????? # ????????????????????????????????
filter_out vksc filter_out vksc
# openssl
if [ "$PACKAGE" = openssl ]; then
filter_out rsaref
filter_in "openssl-"
fi
# ignore betas/alphas (remove if needed) # ignore betas/alphas (remove if needed)
filter_out alpha filter_out alpha
filter_out beta filter_out beta

View file

@ -151,7 +151,7 @@ mingw-amd64 mingw-arm64
android-aarch64 android-x86_64 android-aarch64 android-x86_64
solaris-amd64 freebsd-amd64 openbsd-amd64 solaris-amd64 freebsd-amd64 openbsd-amd64
linux-amd64 linux-aarch64 linux-amd64 linux-aarch64
macos-universal" macos-universal ios-aarch64"
DISABLED_PLATFORMS="$reply" DISABLED_PLATFORMS="$reply"
fi fi