diff options
-rw-r--r-- | .gitlab-ci.yml | 31 | ||||
-rw-r--r-- | Dockerfile | 8 | ||||
-rw-r--r-- | build_manaplus.sh | 17 | ||||
-rw-r--r-- | manaplus.patch | 137 |
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: @@ -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" + |