mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-06-05 17:03:45 -04:00
Compare commits
4 commits
060ebb8ad4
...
7fb5aac5be
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7fb5aac5be | ||
|
|
7a18b1c127 | ||
|
|
5783427842 | ||
|
|
aff9a6cee1 |
8 changed files with 75 additions and 39 deletions
|
|
@ -52,7 +52,7 @@ jobs:
|
|||
}
|
||||
EOF
|
||||
|
||||
curl -X 'POST' \
|
||||
curl -XPOST \
|
||||
'https://git.eden-emu.dev/api/v1/repos/eden-emu/eden/pulls' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Authorization: Bearer ${{ secrets.CI_FJ_TOKEN }}' \
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
name: update-deps
|
||||
name: Update Dependencies
|
||||
|
||||
on:
|
||||
# saturday at noon
|
||||
|
|
@ -7,7 +7,7 @@ on:
|
|||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
tx-update:
|
||||
update-deps:
|
||||
runs-on: source
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
|
@ -34,10 +34,11 @@ jobs:
|
|||
|
||||
- name: Create PR
|
||||
run: |
|
||||
set -x
|
||||
TITLE="[externals] Dependency update for $DATE"
|
||||
BODY="$(git show -s --format='%b')"
|
||||
BASE=master
|
||||
HEAD=update-deps-$DATE
|
||||
HEAD=update-deps-$TIMESTAMP
|
||||
|
||||
cat << EOF > data.json
|
||||
{
|
||||
|
|
@ -48,7 +49,7 @@ jobs:
|
|||
}
|
||||
EOF
|
||||
|
||||
curl -X 'POST' \
|
||||
curl -XPOST \
|
||||
'https://git.eden-emu.dev/api/v1/repos/eden-emu/eden/pulls' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Authorization: Bearer ${{ secrets.CI_FJ_TOKEN }}' \
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
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)
|
||||
else()
|
||||
set(BUNDLED_DEFAULT OFF)
|
||||
|
|
@ -128,7 +128,8 @@ function(AddDependentPackages)
|
|||
message(FATAL_ERROR "Partial dependency installation detected "
|
||||
"for the following packages:\n${package_names}\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"
|
||||
"2. Set the following variables to ON:"
|
||||
"\n\t${system_names}\n"
|
||||
|
|
@ -247,7 +248,9 @@ function(AddJsonPackage)
|
|||
|
||||
set(multiValueArgs OPTIONS)
|
||||
|
||||
cmake_parse_arguments(JSON "" "${oneValueArgs}" "${multiValueArgs}"
|
||||
set(optionArgs MODULE)
|
||||
|
||||
cmake_parse_arguments(JSON "${optionArgs}" "${oneValueArgs}" "${multiValueArgs}"
|
||||
"${ARGN}")
|
||||
|
||||
list(LENGTH ARGN argnLength)
|
||||
|
|
@ -276,6 +279,10 @@ function(AddJsonPackage)
|
|||
|
||||
parse_object(${object})
|
||||
|
||||
if (JSON_MODULE)
|
||||
set(EXTRA_ARGS MODULE)
|
||||
endif()
|
||||
|
||||
if(ci)
|
||||
AddCIPackage(
|
||||
VERSION ${version}
|
||||
|
|
@ -284,8 +291,8 @@ function(AddJsonPackage)
|
|||
PACKAGE ${package}
|
||||
EXTENSION ${extension}
|
||||
MIN_VERSION ${min_version}
|
||||
DISABLED_PLATFORMS ${disabled_platforms})
|
||||
|
||||
DISABLED_PLATFORMS ${disabled_platforms}
|
||||
${EXTRA_ARGS})
|
||||
else()
|
||||
if (NOT DEFINED JSON_FORCE_BUNDLED_PACKAGE)
|
||||
set(JSON_FORCE_BUNDLED_PACKAGE OFF)
|
||||
|
|
@ -307,23 +314,24 @@ function(AddJsonPackage)
|
|||
FORCE_BUNDLED_PACKAGE "${JSON_FORCE_BUNDLED_PACKAGE}"
|
||||
SOURCE_SUBDIR "${source_subdir}"
|
||||
|
||||
GIT_VERSION ${git_version}
|
||||
GIT_HOST ${git_host}
|
||||
GIT_VERSION "${git_version}"
|
||||
GIT_HOST "${git_host}"
|
||||
|
||||
ARTIFACT ${artifact}
|
||||
TAG ${tag})
|
||||
ARTIFACT "${artifact}"
|
||||
TAG "${tag}"
|
||||
${EXTRA_ARGS})
|
||||
endif()
|
||||
|
||||
# pass stuff to parent scope
|
||||
Propagate(${package}_ADDED)
|
||||
Propagate(${package}_SOURCE_DIR)
|
||||
Propagate(${package}_BINARY_DIR)
|
||||
Propagate(CMAKE_PREFIX_PATH)
|
||||
endfunction()
|
||||
|
||||
function(AddPackage)
|
||||
cpm_set_policies()
|
||||
|
||||
# TODO(crueter): git clone?
|
||||
set(EXTRA_ARGS "")
|
||||
|
||||
#[[
|
||||
URL configurations, descending order of precedence:
|
||||
|
|
@ -368,7 +376,9 @@ function(AddPackage)
|
|||
|
||||
set(multiValueArgs OPTIONS PATCHES)
|
||||
|
||||
cmake_parse_arguments(PKG_ARGS "" "${oneValueArgs}" "${multiValueArgs}"
|
||||
set(optionArgs MODULE)
|
||||
|
||||
cmake_parse_arguments(PKG_ARGS "${optionArgs}" "${oneValueArgs}" "${multiValueArgs}"
|
||||
"${ARGN}")
|
||||
|
||||
if(NOT DEFINED PKG_ARGS_NAME)
|
||||
|
|
@ -552,6 +562,12 @@ function(AddPackage)
|
|||
VERSION ${PKG_ARGS_VERSION})
|
||||
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(
|
||||
NAME ${PKG_ARGS_NAME}
|
||||
URL ${pkg_url}
|
||||
|
|
@ -601,13 +617,14 @@ function(AddPackage)
|
|||
endif()
|
||||
|
||||
# pass stuff to parent scope
|
||||
set(${PKG_ARGS_NAME}_ADDED "${${PKG_ARGS_NAME}_ADDED}"
|
||||
PARENT_SCOPE)
|
||||
set(${PKG_ARGS_NAME}_SOURCE_DIR "${${PKG_ARGS_NAME}_SOURCE_DIR}"
|
||||
PARENT_SCOPE)
|
||||
set(${PKG_ARGS_NAME}_BINARY_DIR "${${PKG_ARGS_NAME}_BINARY_DIR}"
|
||||
PARENT_SCOPE)
|
||||
Propagate(${PKG_ARGS_NAME}_ADDED)
|
||||
Propagate(${PKG_ARGS_NAME}_SOURCE_DIR)
|
||||
Propagate(${PKG_ARGS_NAME}_BINARY_DIR)
|
||||
|
||||
if (PKG_ARGS_MODULE)
|
||||
list(PREPEND CMAKE_PREFIX_PATH "${${ARTIFACT_PACKAGE}_SOURCE_DIR}")
|
||||
Propagate(CMAKE_PREFIX_PATH)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# TODO(crueter): we could do an AddMultiArchPackage, multiplatformpackage?
|
||||
|
|
@ -690,14 +707,20 @@ function(AddCIPackage)
|
|||
set(pkgname linux-amd64)
|
||||
elseif(PLATFORM_LINUX AND ARCHITECTURE_arm64)
|
||||
set(pkgname linux-aarch64)
|
||||
elseif(APPLE)
|
||||
elseif(APPLE AND NOT IOS)
|
||||
set(pkgname macos-universal)
|
||||
elseif(IOS AND ARCHITECTURE_arm64)
|
||||
set(pkgname ios-aarch64)
|
||||
endif()
|
||||
|
||||
if (DEFINED pkgname AND NOT "${pkgname}" IN_LIST DISABLED_PLATFORMS)
|
||||
set(ARTIFACT
|
||||
"${ARTIFACT_NAME}-${pkgname}-${ARTIFACT_VERSION}.${ARTIFACT_EXT}")
|
||||
|
||||
if (PKG_ARGS_MODULE)
|
||||
set(EXTRA_ARGS MODULE)
|
||||
endif()
|
||||
|
||||
AddPackage(
|
||||
NAME ${ARTIFACT_PACKAGE}
|
||||
REPO ${ARTIFACT_REPO}
|
||||
|
|
@ -708,23 +731,22 @@ function(AddCIPackage)
|
|||
KEY "${pkgname}-${ARTIFACT_VERSION}"
|
||||
HASH_SUFFIX sha512sum
|
||||
FORCE_BUNDLED_PACKAGE ON
|
||||
DOWNLOAD_ONLY ${PKG_ARGS_MODULE})
|
||||
${EXTRA_ARGS})
|
||||
|
||||
set(${ARTIFACT_PACKAGE}_ADDED TRUE PARENT_SCOPE)
|
||||
set(${ARTIFACT_PACKAGE}_SOURCE_DIR
|
||||
"${${ARTIFACT_PACKAGE}_SOURCE_DIR}" PARENT_SCOPE)
|
||||
|
||||
if (PKG_ARGS_MODULE)
|
||||
list(PREPEND CMAKE_PREFIX_PATH "${${ARTIFACT_PACKAGE}_SOURCE_DIR}")
|
||||
Propagate(CMAKE_PREFIX_PATH)
|
||||
endif()
|
||||
Propagate(${ARTIFACT_PACKAGE}_SOURCE_DIR)
|
||||
Propagate(CMAKE_PREFIX_PATH)
|
||||
else()
|
||||
find_package(${ARTIFACT_PACKAGE} ${ARTIFACT_MIN_VERSION} REQUIRED)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# 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)
|
||||
message(FATAL_ERROR "[CPMUtil] AddQt: version is required")
|
||||
endif()
|
||||
|
|
@ -734,7 +756,7 @@ function(AddQt version)
|
|||
PACKAGE Qt6
|
||||
VERSION ${version}
|
||||
MIN_VERSION 6
|
||||
REPO crueter-ci/Qt
|
||||
REPO ${repo}
|
||||
DISABLED_PLATFORMS
|
||||
android-x86_64 android-aarch64
|
||||
freebsd-amd64 solaris-amd64 openbsd-amd64
|
||||
|
|
|
|||
|
|
@ -18,3 +18,4 @@
|
|||
- `linux-amd64`
|
||||
- `linux-aarch64`
|
||||
- `macos-universal`
|
||||
- `ios-aarch64`
|
||||
|
|
|
|||
|
|
@ -61,7 +61,8 @@ In order: OpenSSL CI, Boost (tag + artifact), Opus (options + find_args), discor
|
|||
"version": "3.6.0",
|
||||
"min_version": "1.1.1",
|
||||
"disabled_platforms": [
|
||||
"macos-universal"
|
||||
"macos-universal",
|
||||
"ios-aarch64"
|
||||
]
|
||||
},
|
||||
"boost": {
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ ci_package() {
|
|||
android-aarch64 android-x86_64 \
|
||||
solaris-amd64 freebsd-amd64 openbsd-amd64 \
|
||||
linux-amd64 linux-aarch64 \
|
||||
macos-universal; do
|
||||
macos-universal ios-aarch64; do
|
||||
echo "-- * platform $platform"
|
||||
|
||||
case $DISABLED in
|
||||
|
|
|
|||
|
|
@ -83,8 +83,13 @@ for pkg in $packages; do
|
|||
echo "-- Package $PACKAGE"
|
||||
|
||||
# TODO(crueter): Support for Forgejo updates w/ forgejo_token
|
||||
# Use gh-cli to avoid ratelimits lmao
|
||||
TAGS=$(gh api --method GET "/repos/$REPO/tags")
|
||||
# Use gh-cli to avoid ratelimits, if available
|
||||
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
|
||||
# TODO add more
|
||||
|
|
@ -100,6 +105,12 @@ for pkg in $packages; do
|
|||
# ????????????????????????????????
|
||||
filter_out vksc
|
||||
|
||||
# openssl
|
||||
if [ "$PACKAGE" = openssl ]; then
|
||||
filter_out rsaref
|
||||
filter_in "openssl-"
|
||||
fi
|
||||
|
||||
# ignore betas/alphas (remove if needed)
|
||||
filter_out alpha
|
||||
filter_out beta
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ mingw-amd64 mingw-arm64
|
|||
android-aarch64 android-x86_64
|
||||
solaris-amd64 freebsd-amd64 openbsd-amd64
|
||||
linux-amd64 linux-aarch64
|
||||
macos-universal"
|
||||
macos-universal ios-aarch64"
|
||||
|
||||
DISABLED_PLATFORMS="$reply"
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue