summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml31
-rw-r--r--Dockerfile8
-rw-r--r--build_manaplus.sh17
-rw-r--r--manaplus.patch137
4 files changed, 170 insertions, 23 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ba1a581..5904d68 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -10,31 +10,20 @@ mxe_gcc5:
# change me
- branches@jak89_1/docker-testing
script:
- # TODO: plz move me in a seperate script
- - mkdir /build
- - mkdir /logs
- cd /
- # remove me
- - ls -al
# change me
+ - rm -rf /opt/
+ - git clone https://gitlab.com/jak89_1/docker-testing.git -b $CI_COMMIT_BRANCH /opt || exit 1
+ - rm -rf /opt/.git/
+ - mv -f opt/* /
- git clone https://gitlab.com/jak89_1/manaplus.git -b $CI_COMMIT_BRANCH || exit 1
- - cd /manaplus
- - ./tools/ci/jobs/mxe_gcc5.sh
- - find /manaplus/src -type f -name "*.exe"
- - cp /manaplus/src/manaplus.exe /build/
- - cp /manaplus/src/dyecmd.exe /build/
- - /mxe/tools/copydlldeps.py -C/manaplus/src/ -L/mxe/usr/i686-w64-mingw32.shared/bin/ /build/ || true
- # TODO: nsis
- - cp -r /manaplus/data/ /build/
- - rm -rf /build/data/**/MakeFile.*
- - rm -rf /build/data/**/CMakeLists.*
- - cp /manaplus/AUTHORS /build/
- - cp /manaplus/COPYING /build/
- - cp /manaplus/README.txt /build/
- - cp /manaplus/packaging/windows/portable.xml /build/
- - ls -al /build/
+ - chmod +x ./build_manaplus.sh && ./build_manaplus.sh
+ # copy artifacts
- cp -r /build/ /builds/jak89_1/docker-testing/build
- image: registry.gitlab.com/jak89_1/docker-testing:v1.0.2
+ - mkdir -p /builds/jak89_1/docker-testing/logs/
+ - cp /manaplus/build/tmp/config.log /builds/jak89_1/docker-testing/build/logs/ || true
+ - cp /manaplus/build/make2.log /builds/jak89_1/docker-testing/build/logs/ || true
+ image: registry.gitlab.com/jak89_1/docker-testing:v1.0.3
variables:
CROSS: i686-w64-mingw32.shared
artifacts:
diff --git a/Dockerfile b/Dockerfile
index 1b1635e..29f0144 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -42,8 +42,12 @@ RUN apt-get install -y\
USER root
WORKDIR /
-COPY build.sh build.sh
-COPY mxe.patch mxe.patch
+RUN git clone https://gitlab.com/jak89_1/docker-testing.git opt/
+RUN rm -rf /opt/.git/
+RUN mv opt/* /
+
+RUN mkdir -p /build/
+RUN mkdir -p /libs/dll/
RUN chmod +x build.sh && ./build.sh
diff --git a/build_manaplus.sh b/build_manaplus.sh
new file mode 100644
index 0000000..1e3b802
--- /dev/null
+++ b/build_manaplus.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+
+# NOTE: please change me!
+
+
+# v change this in client repo laterâ„¢
+
+cp /manaplus/tools/ci/scripts/winvars.sh manaplus/build/
+cd /manaplus/
+git apply ../manaplus.patch
+cd /manaplus/build/
+# ^ change this in client repo laterâ„¢
+./winmake || exit 1
+/mxe/tools/copydlldeps.py -C/manaplus/build/tmp/src -L/mxe/usr/i686-w64-mingw32.shared/bin/ /libs/dll/ || true
+./packwin || exit 1
+cp -r /manaplus/packaging/windows/manaplus-*.exe /build/ || exit 1
+
diff --git a/manaplus.patch b/manaplus.patch
new file mode 100644
index 0000000..e228cb6
--- /dev/null
+++ b/manaplus.patch
@@ -0,0 +1,137 @@
+diff --git a/build/packwin b/build/packwin
+index 4459a5052..01d7fd851 100755
+--- a/build/packwin
++++ b/build/packwin
+@@ -8,7 +8,7 @@ cd packaging/windows
+ ./make-translations.sh
+ makensis -DDLLDIR=$dir/../libs/dll/ \
+ -DPRODUCT_VERSION="1.9.3.23" \
+- -DEXESUFFIX=/src \
++ -DEXESUFFIX=build/tmp/src \
+ -DUPX=true \
+ -DBITS=${BITS} \
+ -DSEHDLL=${SEHDLL} \
+diff --git a/packaging/windows/setup.nsi b/packaging/windows/setup.nsi
+index 1c159c7cd..ce3c9f8ff 100644
+--- a/packaging/windows/setup.nsi
++++ b/packaging/windows/setup.nsi
+@@ -262,10 +262,11 @@ Section "Core files (required)" SecCore
+ File "${EXEDIR}\manaplus.exe"
+ File "${DLLDIR}\SDL.dll"
+ File "${DLLDIR}\SDL_image.dll"
+-; File "${DLLDIR}\SDL_mixer.dll"
++ File "${DLLDIR}\SDL_mixer.dll"
+ File "${DLLDIR}\SDL_net.dll"
+ File "${DLLDIR}\SDL_ttf.dll"
+- File "${DLLDIR}\libSDL_gfx-15.dll"
++ File "${DLLDIR}\libSDL_gfx-16.dll"
++ File "${DLLDIR}\liblzma-5.dll"
+ File "${DLLDIR}\libcurl-4.dll"
+ File "${DLLDIR}\libfreetype-6.dll"
+ File "${DLLDIR}\${SEHDLL}"
+@@ -370,50 +371,50 @@ Section /o "Portable" SecPortable
+ File "portable.xml"
+ SectionEnd
+
+-Section /o "Debugger" SecDebug
+- SetOutPath "$INSTDIR"
+- File "${DLLDIR}\gdb.exe"
+- File "${DLLDIR}\libdl.dll"
+- File "${DLLDIR}\libexpat-1.dll"
+- File "${DLLDIR}\libreadline6.dll"
+- File "${DLLDIR}\libtermcap.dll"
+- File "${EXEDIR}\manaplusd.exe"
+- ${If} ${SectionIsSelected} ${SecShortcuts}
+- CreateShortCut "$SMPROGRAMS\Mana\ManaPlus (debug).lnk" '"$INSTDIR\gdb.exe"' '"$INSTDIR\manaplusd.exe"' "$INSTDIR\manaplusd.exe"
+- CreateShortCut "$DESKTOP\ManaPlus (debug).lnk" '"$INSTDIR\gdb.exe"' '"$INSTDIR\manaplusd.exe"' "$INSTDIR\manaplusd.exe"
+- ${EndIf}
+-SectionEnd
+-
+-Section /o "Profiler" SecProfiler
+- SetOutPath "$INSTDIR"
+- File "${EXEDIR}\manaplusp.exe"
+- ${If} ${SectionIsSelected} ${SecShortcuts}
+- CreateShortCut "$SMPROGRAMS\Mana\ManaPlus (profiler).lnk" "$INSTDIR\manaplusp.exe"
+- CreateShortCut "$DESKTOP\ManaPlus (profiler).lnk" "$INSTDIR\manaplusp.exe"
+- ${EndIf}
+-SectionEnd
++;Section /o "Debugger" SecDebug
++; SetOutPath "$INSTDIR"
++; File "${DLLDIR}\gdb.exe"
++; File "${DLLDIR}\libdl.dll"
++; File "${DLLDIR}\libexpat-1.dll"
++; File "${DLLDIR}\libreadline6.dll"
++; File "${DLLDIR}\libtermcap.dll"
++; File "${EXEDIR}\manaplusd.exe"
++; ${If} ${SectionIsSelected} ${SecShortcuts}
++; CreateShortCut "$SMPROGRAMS\Mana\ManaPlus (debug).lnk" '"$INSTDIR\gdb.exe"' '"$INSTDIR\manaplusd.exe"' "$INSTDIR\manaplusd.exe"
++; CreateShortCut "$DESKTOP\ManaPlus (debug).lnk" '"$INSTDIR\gdb.exe"' '"$INSTDIR\manaplusd.exe"' "$INSTDIR\manaplusd.exe"
++; ${EndIf}
++;SectionEnd
++
++;Section /o "Profiler" SecProfiler
++; SetOutPath "$INSTDIR"
++; File "${EXEDIR}\manaplusp.exe"
++; ${If} ${SectionIsSelected} ${SecShortcuts}
++; CreateShortCut "$SMPROGRAMS\Mana\ManaPlus (profiler).lnk" "$INSTDIR\manaplusp.exe"
++; CreateShortCut "$DESKTOP\ManaPlus (profiler).lnk" "$INSTDIR\manaplusp.exe"
++; ${EndIf}
++;SectionEnd
+
+ ; Section "Tools" SecTools
+ ; SetOutPath "$INSTDIR"
+ ; File "${EXEDIR}\dyecmd.exe"
+ ; SectionEnd
+
+-Section "Evol Online shortcuts" SecEvol
+- SetOutPath "$INSTDIR"
+- CreateDirectory "$INSTDIR\data\evol"
+- CreateDirectory "$INSTDIR\data\evol\icons"
+- CreateDirectory "$INSTDIR\data\evol\images"
+-
+- SetOutPath "$INSTDIR"
+- File "${SRCDIR}\data\evol\evol.manaplus"
+- SetOutPath "$INSTDIR\data\evol\images"
+- File "${SRCDIR}\data\evol\images\*.png"
+- SetOutPath "$INSTDIR\data\evol\icons"
+- File "${SRCDIR}\data\evol\icons\*.ico"
+-
+- CreateShortCut "$SMPROGRAMS\Mana\EvolOnline.lnk" '"$INSTDIR\manaplus.exe"' '"$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
+- CreateShortCut "$DESKTOP\EvolOnline.lnk" '"$INSTDIR\manaplus.exe"' '"$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
+-SectionEnd
++;Section "Evol Online shortcuts" SecEvol
++; SetOutPath "$INSTDIR"
++; CreateDirectory "$INSTDIR\data\evol"
++; CreateDirectory "$INSTDIR\data\evol\icons"
++; CreateDirectory "$INSTDIR\data\evol\images"
++;
++; SetOutPath "$INSTDIR"
++; File "${SRCDIR}\data\evol\evol.manaplus"
++; SetOutPath "$INSTDIR\data\evol\images"
++; File "${SRCDIR}\data\evol\images\*.png"
++; SetOutPath "$INSTDIR\data\evol\icons"
++; File "${SRCDIR}\data\evol\icons\*.ico"
++;
++; CreateShortCut "$SMPROGRAMS\Mana\EvolOnline.lnk" '"$INSTDIR\manaplus.exe"' '"$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
++; CreateShortCut "$DESKTOP\EvolOnline.lnk" '"$INSTDIR\manaplus.exe"' '"$INSTDIR\evol.manaplus"' "$INSTDIR\manaplus.exe" 1
++;SectionEnd
+
+ Section "Translations" SecTrans
+ SetOutPath "$INSTDIR"
+@@ -464,12 +465,12 @@ Section Uninstall
+
+ Delete "$SMPROGRAMS\Mana\Uninstall.lnk"
+ Delete "$DESKTOP\ManaPlus.lnk"
+- Delete "$DESKTOP\ManaPlus (debug).lnk"
++; Delete "$DESKTOP\ManaPlus (debug).lnk"
+ Delete "$DESKTOP\ManaPlus (profiler).lnk"
+ Delete "$DESKTOP\ManaPlus (tests).lnk"
+ Delete "$SMPROGRAMS\Mana\ManaPlus.lnk"
+- Delete "$SMPROGRAMS\Mana\ManaPlus (debug).lnk"
+- Delete "$SMPROGRAMS\Mana\ManaPlus (profiler).lnk"
++; Delete "$SMPROGRAMS\Mana\ManaPlus (debug).lnk"
++; Delete "$SMPROGRAMS\Mana\ManaPlus (profiler).lnk"
+ Delete "$SMPROGRAMS\Mana\ManaPlus (no opengl).lnk"
+ Delete "$SMPROGRAMS\Mana\ManaPlus (safemode).lnk"
+ Delete "$SMPROGRAMS\Mana\ManaPlus (tests).lnk"
+