blob: b5d78708ef248803e99c9f9e8a58ac4a1c98dd6b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
|
fedora_task:
container:
image: fedora:latest
cpu: 4
memory: 8G
install_script:
- dnf update -y
- dnf install -y cmake make gcc diffutils python-unversioned-command
capstone-devel GraphicsMagick SDL2-devel libpng-devel zlib-devel tidy
python3-gobject gtk3 readline-devel man git rpmdevtools
script:
- rpmdev-setuptree
- cp hatari.spec ~/rpmbuild/SPECS/
- sed -i 's/^Version:.*/Version: devel/' ~/rpmbuild/SPECS/hatari.spec
- git archive --prefix=hatari-devel/ -o ~/rpmbuild/SOURCES/hatari-devel.tar.bz2 HEAD
- rpmbuild -ba ~/rpmbuild/SPECS/hatari.spec
- cp ~/rpmbuild/SRPMS/*.rpm ~/rpmbuild/RPMS/x86_64/hatari-devel*.rpm ./
hatari_artifacts:
path: ./*.rpm
freebsd_task:
freebsd_instance:
image_family: freebsd-13-3
cpu: 4
memory: 4G
install_script:
- pkg update
- pkg install -y pkgconf cmake gmake capstone4 GraphicsMagick png
devel/sdl20 devel/libedit
script:
- ./configure --enable-debug || { cat config.log; exit 1; }
- gmake -j4
- gmake test || { cat Testing/Temporary/LastTest.log; exit 1; }
xcode_task:
osx_instance:
image: ghcr.io/cirruslabs/macos-runner:sonoma
env:
SDLVERSION: 2.26.5
PNGVERSION: 1.6.40
download_cache:
folder: dl_cache
populate_script:
- if [ ! -d dl_cache ]; then mkdir dl_cache ; fi
install_script:
# Download and install precompiled SDL2 Framework
- if [ ! -f dl_cache/SDL2-$SDLVERSION.dmg ]; then
wget -O dl_cache/SDL2-$SDLVERSION.dmg
https://github.com/libsdl-org/SDL/releases/download/release-$SDLVERSION/SDL2-$SDLVERSION.dmg ;
fi
- hdiutil attach dl_cache/SDL2-$SDLVERSION.dmg
- sudo cp -a /Volumes/SDL2/SDL2.framework /Library/Frameworks/
# Download, compile and install libpng Framework
- if [ ! -e dl_cache/png.framework ]; then
wget -O dl_cache/libpng-$PNGVERSION.tar.xz
"http://prdownloads.sourceforge.net/libpng/libpng-$PNGVERSION.tar.xz?download" ;
tar -xJf dl_cache/libpng-$PNGVERSION.tar.xz ;
cd libpng-$PNGVERSION ;
cmake -DPNG_FRAMEWORK=ON -DPNG_HARDWARE_OPTIMIZATIONS=OFF
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING="10.13"
-DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" . ;
cmake --build . --verbose --config Release -j$(sysctl -n hw.ncpu) ;
codesign --force -s - png.framework ;
cd .. ;
mv libpng-$PNGVERSION/png.framework dl_cache/ ;
rm -rf libpng-$PNGVERSION ;
fi
- sudo cp -a dl_cache/png.framework /Library/Frameworks/
# Download and install precompiled portmidi Framework
- if [ ! -e dl_cache/portmidi.framework ]; then
cd dl_cache ;
wget "https://hatari.tuxfamily.org/ci/portmidi.framework.zip" ;
unzip portmidi.framework.zip ;
mv license.txt portmidi-license.txt ;
cd .. ;
fi
- sudo cp -a dl_cache/portmidi.framework /Library/Frameworks/
# Download and install precompiled capsimage Framework
- if [ ! -e dl_cache/capsimage_5.1_macos-x86_64-arm64 ]; then
cd dl_cache ;
wget "https://hatari.tuxfamily.org/ci/capsimage_5.1_macos-x86_64-arm64_selfsigned.zip" ;
unzip capsimage_5.1_macos-x86_64-arm64_selfsigned.zip ;
cd capsimage_5.1_macos-x86_64-arm64 ;
mv LICENCE.txt DONATIONS.txt README.txt HISTORY.txt CAPSImage.framework ;
cd ../.. ;
fi
- sudo cp -a dl_cache/capsimage_5.1_macos-x86_64-arm64/CAPSImage.framework /Library/Frameworks/
script:
- export PATH=/usr/local/bin:$PATH
- mkdir build
- cd build
- cmake -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING="10.13"
-DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" ..
|| { cat config.log; exit 1; }
- cmake --build . --verbose --config Release -j$(sysctl -n hw.ncpu) -t Hatari
- cp -a ../dl_cache/portmidi.framework src/hatari.app/Contents/Frameworks/
- cp -a ../dl_cache/capsimage_5.1_macos-x86_64-arm64/CAPSImage.framework src/hatari.app/Contents/Frameworks/
- codesign --force -s - --entitlements ../src/gui-osx/hatari.app.xcent src/Hatari.app
- cd ..
- mkdir hatari-snapshot
- echo $(git rev-parse HEAD) > hatari-snapshot/version.txt
- date >> hatari-snapshot/version.txt
- cp -a build/src/Hatari.app hatari-snapshot/
- cp -a doc gpl.txt readme.txt hatari-snapshot/
- cp dl_cache/portmidi-license.txt hatari-snapshot/
- zip -r hatari-snapshot.zip hatari-snapshot
hatari_artifacts:
path: "hatari-snapshot.zip"
macos14_task:
osx_instance:
image: ghcr.io/cirruslabs/macos-runner:sonoma
install_script:
- brew update
- brew install sdl2 libpng make tidy-html5 imagemagick capstone
script:
- export PATH=/usr/local/bin:$PATH
- ./configure --disable-osx-bundle --enable-debug
|| { cat config.log; exit 1; }
- gmake -j$(sysctl -n hw.ncpu)
- gmake test || { cat Testing/Temporary/LastTest.log; exit 1; }
cygwin_task:
windows_container:
image: cirrusci/windowsservercore:2019
os_version: 2019
cpu: 4
memory: 4G
env:
BE: cygwin-gcc
install_script:
- choco install -y --no-progress cygwin
- C:\tools\cygwin\cygwinsetup.exe -q -P
make,cmake,gcc-core,pkg-config,zlib-devel,libSDL2-devel,libpng-devel
script:
- C:\tools\cygwin\bin\bash.exe -lc "cd '%cd%' ;
CFLAGS='-Werror -Wno-error=char-subscripts' cmake -G 'Unix Makefiles' ."
- C:\tools\cygwin\bin\bash.exe -lc "cd '%cd%' ; make -j4"
test_script:
- C:\tools\cygwin\bin\bash.exe -lc "cd '%cd%' ; ctest -j4"
msys2_task:
windows_container:
image: cirrusci/windowsservercore:2019
cpu: 4
memory: 4G
env:
MSYS: winsymlinks:nativestrict
MSYSTEM: MINGW64
CHERE_INVOKING: 1
choco_cache:
folder: '%temp%\chocolatey'
install_script:
- choco install -y --no-progress msys2
# Keep the log and temporary files out of the cache:
- del %temp%\chocolatey\*.log
- del %temp%\chocolatey\*log.txt
- del %temp%\chocolatey\*.tmp
# Install the required libraries:
- C:\tools\msys64\usr\bin\bash -lc "pacman --noconfirm -S --needed
make pkg-config diffutils
mingw-w64-x86_64-cmake
mingw-w64-x86_64-gcc
mingw-w64-x86_64-SDL2
mingw-w64-x86_64-libpng
mingw-w64-x86_64-portmidi"
script:
- C:\tools\msys64\usr\bin\bash -lc "cmake -G 'MSYS Makefiles' ."
- C:\tools\msys64\usr\bin\bash -lc "make -j4"
test_script:
- C:\tools\msys64\usr\bin\bash -lc "ctest"
visualstudio_task:
windows_container:
image: cirrusci/windowsservercore:2019
cpu: 4
memory: 4G
choco_cache:
folder: '%temp%\chocolatey'
install_script:
- choco install -y --no-progress cmake --install-arguments="ADD_CMAKE_TO_PATH=System"
- choco install -y --no-progress visualstudio2019community
visualstudio2019-workload-vctools
# Keep the log and temporary files out of the cache:
- del %temp%\chocolatey\*.log
- del %temp%\chocolatey\*log.txt
- del %temp%\chocolatey\*.tmp
- del %temp%\chocolatey\windowssdk\*.log
- del %temp%\chocolatey\VSLogs\*.svclog
# Install the required libraries and headers:
- curl -O "https://www.libsdl.org/release/SDL2-devel-2.24.0-VC.zip"
- powershell -command "Expand-Archive -Force '%cd%\SDL2-devel-2.24.0-VC.zip' '%cd%'"
- curl -O https://raw.githubusercontent.com/barrysteyn/scrypt-windows/master/win/include/unistd.h
- curl -O https://raw.githubusercontent.com/tronkko/dirent/master/include/dirent.h
- echo // > getopt.h
script:
- refreshenv
- cmake -G "Visual Studio 16 2019" -A X64 -DCMAKE_BUILD_TYPE="Release"
-DSDL2_DIR:PATH=SDL2-2.24.0\cmake .
- cmake --build . --verbose --target ALL_BUILD --config Release -j4
test_script:
- refreshenv
- ctest -C Release
|