Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
ygopro
Commits
4846a527
Commit
4846a527
authored
Mar 28, 2025
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update ci
parent
76db1bbd
Pipeline
#34329
failed with stages
in 3 minutes and 46 seconds
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
86 additions
and
50 deletions
+86
-50
.ci/build-opus.sh
.ci/build-opus.sh
+36
-0
.ci/exec-macos-platform.sh
.ci/exec-macos-platform.sh
+9
-3
.ci/pack-macos.sh
.ci/pack-macos.sh
+1
-1
.ci/prepare-miniaudio.sh
.ci/prepare-miniaudio.sh
+24
-0
.gitlab-ci.yml
.gitlab-ci.yml
+16
-46
No files found.
.ci/build-opus.sh
0 → 100755
View file @
4846a527
#!/bin/sh
set
-x
set
-o
errexit
cd
miniaudio
external_built_dir
=
"
$PWD
/external-built"
is_macos
=
false
if
[
"
$(
uname
)
"
=
"Darwin"
]
;
then
is_macos
=
true
fi
maybe_patch_configure
()
{
if
$is_macos
;
then
sed
-i
.bak
's/-force_cpusubtype_ALL//g'
configure
*
fi
}
build_single_thing
()
{
lib_name
=
"
$1
"
cd
"external/
$lib_name
"
shift
maybe_patch_configure
PKG_CONFIG_PATH
=
"
$external_built_dir
/lib/pkgconfig"
./configure
--prefix
=
"
$external_built_dir
"
--enable-static
=
yes
--enable-shared
=
no
"
$@
"
make
-j
$(
nproc
)
make
install
cd
../..
}
build_single_thing ogg
build_single_thing opus
build_single_thing opusfile
--disable-examples
--disable-http
build_single_thing vorbis
--with-ogg
=
"
$external_built_dir
"
cd
..
.ci/exec-macos-platform.sh
View file @
4846a527
...
...
@@ -8,14 +8,20 @@ export EVENT_INCLUDE_DIR=$PWD/libevent-stable/include
export
EVENT_LIB_DIR
=
$PWD
/libevent-stable/lib
export
IRRLICHT_INCLUDE_DIR
=
$PWD
/irrlicht/include
export
IRRLICHT_LIB_DIR
=
$PWD
/irrlicht/lib/
$(
arch
)
export
OPUS_INCLUDE_DIR
=
$PWD
/miniaudio/external-built/include/opus
export
OPUS_LIB_DIR
=
$PWD
/miniaudio/external-built/lib
export
VORBIS_INCLUDE_DIR
=
$PWD
/miniaudio/external-built/include
export
VORBIS_LIB_DIR
=
$PWD
/miniaudio/external-built/lib
export
OGG_INCLUDE_DIR
=
$PWD
/miniaudio/external-built/include
export
OGG_LIB_DIR
=
$PWD
/miniaudio/external-built/lib
./.ci/libevent-prebuild.sh
./.ci/build-opus.sh
chmod
+x ./premake5
./premake5 gmake
--cc
=
clang
--build-freetype
--build-sqlite
--no-use-irrklang
./premake5 gmake
--cc
=
clang
--build-freetype
--build-sqlite
cd
build
make
config
=
release
-j
4
make
config
=
release
-j
$(
nproc
)
cd
..
mkdir
ygopro-platforms
...
...
.ci/pack-macos.sh
View file @
4846a527
...
...
@@ -5,4 +5,4 @@ set -o errexit
apt update
&&
apt
-y
install tar
git zstd
mkdir
dist replay
tar
--zstd
-cf
dist/ygopro-
$CI_COMMIT_REF_NAME
-darwin-
$TARGET_LOCALE
.tar.zst
--exclude
=
'.git*'
ygopro.app LICENSE README.md lflist.conf strings.conf system.conf cards.cdb script textures deck single pics replay windbot bot bot.conf pack
tar
--zstd
-cf
dist/ygopro-
$CI_COMMIT_REF_NAME
-darwin-
$TARGET_LOCALE
.tar.zst
--exclude
=
'.git*'
ygopro.app LICENSE README.md lflist.conf strings.conf system.conf cards.cdb script textures deck single pics replay
sound
windbot bot bot.conf pack
.ci/prepare-miniaudio.sh
0 → 100755
View file @
4846a527
#!/bin/sh
set
-x
set
-o
errexit
if
[
!
-d
"miniaudio"
]
;
then
git clone
--depth
=
1
--branch
0.11.22 https://github.com/mackron/miniaudio
fi
mkdir
-p
miniaudio/external
install_external
()
{
dir
=
"
$1
"
url
=
"
$2
"
if
[
!
-d
"miniaudio/external/
$dir
"
]
;
then
mkdir
-p
"miniaudio/external/
$dir
"
# Download the external library and strip one level of directories from the archive
wget
-O
-
"
$url
"
|
tar
--strip-components
=
1
-C
"miniaudio/external/
$dir
"
-zxf
-
fi
}
install_external
"ogg"
"https://github.com/xiph/ogg/releases/download/v1.3.5/libogg-1.3.5.tar.gz"
install_external
"opus"
"https://github.com/xiph/opus/releases/download/v1.5.2/opus-1.5.2.tar.gz"
install_external
"opusfile"
"https://github.com/xiph/opusfile/releases/download/v0.12/opusfile-0.12.tar.gz"
install_external
"vorbis"
"https://github.com/xiph/vorbis/releases/download/v1.3.7/libvorbis-1.3.7.tar.gz"
.gitlab-ci.yml
View file @
4846a527
...
...
@@ -23,6 +23,8 @@ mat_common:
# freetype
-
wget -O - https://cdn01.moecube.com/ygopro-build-materials/freetype-2.11.1.tar.gz | tar zfx -
-
mv freetype-2.11.1 freetype
# miniaudio
-
./.ci/prepare-miniaudio.sh
# premake
-
cp -rf premake/* .;
artifacts
:
...
...
@@ -45,21 +47,6 @@ mat_submodules:
-
ocgcore
-
script
mat_irrklang
:
stage
:
prepare
tags
:
-
linux
script
:
-
apt update; apt -y install git
-
mkdir -p ~/.ssh; chmod 700 ~/.ssh; echo "$NANAHIRA_SSH_KEY" | base64 --decode > ~/.ssh/id_rsa; chmod 600 ~/.ssh/id_rsa
-
ssh-keyscan git.mycard.moe >> ~/.ssh/known_hosts
-
git clone --depth=1 git@git.mycard.moe:nanahira/irrklang
-
mv -f irrklang/plugins/ikpmp3 .
artifacts
:
paths
:
-
irrklang
-
ikpmp3
mat_linux
:
stage
:
prepare
tags
:
...
...
@@ -76,17 +63,6 @@ mat_linux:
# - libevent-stable
image
:
git-registry.mycard.moe/mycard/docker-runner-base:debian11
#mat_macos_irrklang_patched:
# stage: build
# tags:
# - linux
# dependencies: []
# script:
# - wget -O - https://cdn01.moecube.com/ygopro-build-materials/libirrklang-patched-dylib.tar.gz | tar zfx -
# artifacts:
# paths:
# - libirrklang-patched.dylib
mat_macos
:
stage
:
prepare
tags
:
...
...
@@ -94,7 +70,6 @@ mat_macos:
script
:
-
apt update; apt -y install wget tar
-
wget -O - https://cdn01.moecube.com/ygopro-build-materials/premake-5.0.0-beta5-macosx.tar.gz | tar zfx -
# - wget -O - https://cdn01.moecube.com/ygopro-build-materials/libirrklang-patched-dylib.tar.gz | tar zfx -
-
mkdir irrlicht
-
cd irrlicht
-
wget -O - https://cdn01.moecube.com/ygopro-build-materials/irrlicht-mycard-mac.tar.gz | tar zfx -
...
...
@@ -130,7 +105,6 @@ exec_windows:
-
vs
dependencies
:
-
mat_common
-
mat_irrklang
-
mat_windows
-
mat_submodules
cache
:
...
...
@@ -140,7 +114,7 @@ exec_windows:
-
obj/
script
:
-
bash -c 'cp -rf premake/* .'
-
'
.\premake5.exe
vs2019
--irrklang-pro
'
-
'
.\premake5.exe
vs2019'
-
cmd /c '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\msbuild.exe" build\YGOPro.sln /m /p:Configuration=Release'
-
copy bin\release\ygopro.exe .
artifacts
:
...
...
@@ -151,24 +125,28 @@ exec_linux:
stage
:
build
tags
:
-
linux
image
:
git-registry.moenext.com/mycard/docker-ygopro-builder:latest
dependencies
:
-
mat_common
-
mat_irrklang
-
mat_linux
-
mat_submodules
variables
:
EVENT_INCLUDE_DIR
:
/usr/share/libevent-stable/include
EVENT_LIB_DIR
:
/usr/share/libevent-stable/lib
OPUS_INCLUDE_DIR
:
$CI_PROJECT_DIR/miniaudio/external-built/include/opus
OPUS_LIB_DIR
:
$CI_PROJECT_DIR/miniaudio/external-built/lib
VORBIS_INCLUDE_DIR
:
$CI_PROJECT_DIR/miniaudio/external-built/include
VORBIS_LIB_DIR
:
$CI_PROJECT_DIR/miniaudio/external-built/lib
OGG_INCLUDE_DIR
:
$CI_PROJECT_DIR/miniaudio/external-built/include
OGG_LIB_DIR
:
$CI_PROJECT_DIR/miniaudio/external-built/lib
cache
:
key
:
"
$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
paths
:
-
bin/
-
obj/
script
:
-
apt update; apt -y install git build-essential libgl1-mesa-dev libglu-dev libxxf86vm-dev
-
mkdir lib
-
cp -rf irrklang/bin/linux-gcc-64/libIrrKlang.so ./lib/
# - cp -rf irrklang/bin/linux-gcc-64/ikpMP3.so ./lib/
-
export EVENT_INCLUDE_DIR=/usr/share/libevent-stable/include
-
export EVENT_LIB_DIR=/usr/share/libevent-stable/lib
-
premake5 gmake --build-freetype --build-sqlite --build-irrlicht --build-ikpmp3 --irrklang-pro
-
./.ci/build-opus.sh
-
premake5 gmake --build-freetype --build-sqlite --build-irrlicht
-
cd build
-
make config=release -j$(nproc)
-
cd ..
...
...
@@ -177,8 +155,6 @@ exec_linux:
artifacts
:
paths
:
-
ygopro
-
lib
image
:
git-registry.moenext.com/mycard/docker-ygopro-builder:latest
.exec_macos_platform
:
stage
:
build
...
...
@@ -215,17 +191,11 @@ exec_macos:
dependencies
:
-
exec_macos_platform_x86
-
exec_macos_platform_m1
#- mat_macos_irrklang_patched
script
:
-
mkdir -p ygopro.app/Contents/MacOS ygopro.app/Contents/Frameworks;
-
lipo -create -output ygopro.app/Contents/MacOS/ygopro $(ls -1 ygopro-platforms/ygopro-platform-*);
# do some special things for irrklang
# - mv ./libirrklang-patched.dylib ygopro.app/Contents/Frameworks/libirrklang.dylib
#- install_name_tool -change /usr/local/lib/libirrklang.dylib @executable_path/../Frameworks/libirrklang.dylib ygopro.app/Contents/MacOS/ygopro
#- dylibbundler -x ygopro.app/Contents/MacOS/ygopro -b -d ygopro.app/Contents/Frameworks/ -p @executable_path/../Frameworks/ -cd -i @executable_path/../Frameworks;
#- strip ygopro.app/Contents/MacOS/ygopro;
-
mkdir ygopro.app/Contents/Resources;
-
mv
premak
e/gframe/ygopro.icns ygopro.app/Contents/Resources/Icon.icns;
-
mv
resourc
e/gframe/ygopro.icns ygopro.app/Contents/Resources/Icon.icns;
-
defaults write "$PWD/ygopro.app/Contents/Info.plist" "CFBundleIconFile" "Icon.icns";
-
defaults write "$PWD/ygopro.app/Contents/Info.plist" "CFBundleIdentifier" "moe.mycard.ygopro";
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment