update core

This commit is contained in:
Logan McNaughton committed 2024-05-06 21:17:42 -06:00
1 parent 4ed83c9495
commit be260ecaf7
12 files changed
+566 -185

No files matched your search

+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env bash
set -e +u
if [[ ${#} -ne 1 ]]; then exit 9; fi
export ENV_MSYS="$(echo "${1}" | sed y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/)"
export DEPS="$(LC_ALL=C grep "${ENV_MSYS}" "pkg/ldd.log" | sort | cut -d ' ' -f1)"
if [[ "${DEPS}" == "" ]]; then exit 0; fi
for LIB in ${DEPS}; do
echo ":: Copying ${LIB}"
cp "/${ENV_MSYS}/bin/${LIB}" pkg/
done
rm -f pkg/ldd.log
exit 0
@@ -0,0 +1,32 @@
@echo off
setlocal enableextensions enabledelayedexpansion
cls
if not exist "projects\msvc\" exit /b 9
set ARCH=
set DEPS=
if "%*" == "" exit /b 8
for %%P in (%*) do (
if /i "%%P" == "x86" (set ARCH=x86) else (
if /i "%%P" == "x64" (set ARCH=x64) else (
set "DEPS=!DEPS! %%P") )
)
if not defined ARCH exit /b 7
if not defined DEPS exit /b 6
if exist "data\" xcopy /e data pkg
if errorlevel 1 exit /b 5
if exist "pkg\mupen64plus.desktop" del /f /q pkg\mupen64plus.desktop
set PKG=%CD%\pkg
cd ..\mupen64plus-win32-deps
if errorlevel 1 exit /b 4
for %%D in (%DEPS%) do (
for /f "tokens=*" %%T in ('dir /b /s %%D ^| findstr "%ARCH%"') do (
if exist "%%T" copy "%%T" "%PKG%\"
if errorlevel 1 exit /b 3
)
)
exit /b 0
+105
View File
@@ -0,0 +1,105 @@
#!/usr/bin/env bash
set -e +u
if [[ ${#} -lt 2 ]]; then exit 9; fi
unset ARCH_ARG CC_ARG
export MULTILIB=0
export ENV_ARGS="$(echo "${*}" | sed y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/)"
for ARG in ${ENV_ARGS}; do
case "${ARG}" in
clang )
export CC_ARG="Clang" CC="clang" CXX="clang++"
;;
gcc )
export CC_ARG="GCC" CC="gcc" CXX="g++"
;;
multilib )
export MULTILIB=1
;;
x64 )
export ARCH_ARG="x64" CPU_TUNE="-march=nocona" BITS=64
;;
x86 )
export ARCH_ARG="x86" CPU_TUNE="-march=pentium4" BITS=32
;;
esac
done
if [[ -z ${ARCH_ARG} ]]; then exit 8; fi
if [[ -z ${CC_ARG} ]]; then exit 7; fi
export REPO="${PWD##*/}"
if [[ "${REPO}" == "" ]]; then exit 6; fi
export BIN_OS="$(uname -s | sed y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/)"
if [[ ! -z ${MSYSTEM} ]]; then export BIN_OS="msys2"; fi
export ENV_NAME="$(uname -s)"
export LDD="ldd"
export PKG_PATH="usr/local/lib/mupen64plus/"
if [[ "${REPO}" == *"core"* ]]; then
export PKG_PATH="usr/local/lib/"
elif [[ "${REPO}" == *"ui-console"* ]]; then
export PKG_PATH="usr/local/bin/"
fi
if [[ "${ENV_NAME}" == *"Linux"* ]]; then
if [[ "${ARCH_ARG}" == "x86" ]]; then export PIC=1 PIE=1; fi
if [[ ${MULTILIB} -eq 0 ]]; then
if [[ "${CC_ARG}" == "GCC" ]]; then
if [[ "${ARCH_ARG}" == "x86" ]]; then export CC="i686-linux-gnu-gcc" CXX="i686-linux-gnu-g++"; fi
fi
fi
fi
if [[ "${ENV_NAME}" == *"MINGW"* ]]; then
export INSTALL_OVERRIDE="PLUGINDIR=\"\" SHAREDIR=\"\" BINDIR=\"\" MANDIR=\"\" LIBDIR=\"\" APPSDIR=\"\" ICONSDIR=\"icons\" INCDIR=\"api\""
export LDD="ntldd"
unset PKG_PATH
fi
export G_REV="$(git rev-parse --short HEAD)"
if [[ -f "${GITHUB_ENV}" ]]; then
set +e
grep "G_REV=${G_REV}" "${GITHUB_ENV}" > /dev/null
if [[ ${?} -ne 0 ]]; then echo "G_REV=${G_REV}" >> "${GITHUB_ENV}"; fi
set -e
fi
if [[ -z ${OPTFLAGS} ]]; then export OPTFLAGS="-O3 -flto ${CPU_TUNE}"; fi
echo ""
${CC} --version
echo ""
make CC="${CC}" CXX="${CXX}" BITS="${BITS}" ${BUILD_CONFIG} -C projects/unix clean
echo ""
make CC="${CC}" CXX="${CXX}" BITS="${BITS}" ${BUILD_CONFIG} -C projects/unix all -j4
echo ""
if [[ ! -d pkg ]]; then
mkdir pkg
chmod -R 755 pkg
fi
pushd projects/unix > /dev/null
export ARTIFACT="$(find *mupen64plus* -type f 2> /dev/null | head -n 1)"
popd > /dev/null
echo ""
make CC="${CC}" CXX="${CXX}" BITS="${BITS}" ${BUILD_CONFIG} -C projects/unix install ${INSTALL_OVERRIDE} DESTDIR="$(pwd)/pkg/"
echo ""
if [[ -z ${ARTIFACT} ]]; then
exit 5
else
cd pkg
ls -gG "${PKG_PATH}${ARTIFACT}"
echo ""
${LDD} "${PKG_PATH}${ARTIFACT}" > ldd.log
cat ldd.log
echo ""
if [[ "${MAKE_PKG}" == "1" ]]; then tar --owner=0 --group=0 --mode='og-w' -czf "${REPO}-${BIN_OS}-${ARCH_ARG}-g${G_REV}.tar.gz" usr; fi
fi
exit 0
+23
View File
@@ -0,0 +1,23 @@
#!/usr/bin/env bash
set -e +u
# NOTE: There is no native "libglew-dev:i386" in Ubuntu 22.04, we will use Debian ones...
export GLEWVER="$(apt list libglew-dev | grep "amd64" | cut -d ' ' -f2)"
export PKGS="$(apt list libglew* | grep "${GLEWVER}" | cut -d '/' -f1)"
export DEBSOURCE="http://http.us.debian.org/debian/pool/main/g/glew/"
export PKGVER_LS="$(curl -sS ${DEBSOURCE} | grep "${GLEWVER}" | grep "amd64" | cut -d '_' -f2 | sort)"
if [[ "${PKGVER_LS}" != "" ]]; then
for VER in ${PKGVER_LS}; do export PKGVER="${VER}"; done
cd /tmp
for PKG in ${PKGS}; do
for ARCH in amd64 i386; do curl -L -O "${DEBSOURCE}${PKG}_${PKGVER}_${ARCH}.deb"; done
done
sudo dpkg -i libglew*${PKGVER}*.deb
else
exit 9
fi
sudo ldconfig
exit 0
+47
View File
@@ -0,0 +1,47 @@
#!/usr/bin/env bash
set -e +u
if [[ ${#} -lt 2 ]]; then exit 9; fi
unset ARCH_DEP CC_DEP
export BUILD_DEPS_I386="crossbuild-essential-i386 libc6-i386"
export HOTFIX_I386="libatomic1:i386 libgcc-s1:i386 libstdc++6:i386 ${HOTFIX_I386}"
export ENV_ARGS="$(echo "${*}" | sed y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/)"
for ARG in ${ENV_ARGS}; do
case "${ARG}" in
clang )
export CC_DEP="clang"
;;
gcc )
export CC_DEP="g++ gcc"
;;
multilib )
export BUILD_DEPS_I386="g++-multilib gcc-multilib libc6-dev-i386"
;;
x64 )
export ARCH_DEP="x64"
;;
x86 )
export ARCH_DEP="x86"
;;
esac
done
if [[ -z ${ARCH_DEP} ]]; then exit 8; fi
if [[ -z ${CC_DEP} ]]; then exit 7; fi
if [[ "${ARCH_DEP}" == "x86" ]]; then sudo dpkg --add-architecture i386; fi
sudo apt-get update
sudo apt-get -y install build-essential git nasm pkg-config ${CC_DEP} ${BUILD_DEPS}
if [[ "${ARCH_DEP}" == "x86" ]]; then
if [[ "${BUILD_DEPS}" != "" ]]; then
for DEP in ${BUILD_DEPS}; do
if [[ "${DEP}" != "libglew-dev" ]]; then export BUILD_DEPS_I386="${BUILD_DEPS_I386} ${DEP}:i386"; fi
done
fi
sudo apt-get --reinstall -y install ${BUILD_DEPS_I386} ${HOTFIX_I386}
fi
sudo ldconfig
exit 0
@@ -0,0 +1,55 @@
@echo off
setlocal enableextensions disabledelayedexpansion
cls
if not exist "projects\msvc\" exit /b 9
set ARCH=
set CONF=Release
if "%*" == "" exit /b 8
for %%P in (%*) do (
if /i "%%P" == "x86" set ARCH=Win32
if /i "%%P" == "x64" set ARCH=x64
if /i "%%P" == "newdyn" set CONF=New_Dynarec_Release
)
if not defined ARCH exit /b 7
set ARTIFACT=
set FPROJ=
if not defined EXT set EXT=dll
if not defined TOOLSET set TOOLSET=v143
for /f "tokens=1" %%R in ('git rev-parse --short HEAD') do set G_REV=%%R
if exist "%GITHUB_ENV%" (
type "%GITHUB_ENV%" | findstr "G_REV=%G_REV%" >nul 2>&1
if errorlevel 1 echo G_REV=%G_REV%>> "%GITHUB_ENV%"
)
echo.
msbuild --version
echo.
if not exist "..\mupen64plus-win32-deps\" git clone --depth 1 https://github.com/mupen64plus/mupen64plus-win32-deps.git ..\mupen64plus-win32-deps
pushd projects\msvc\
for /f "tokens=*" %%F in ('dir /b *.vcxproj') do set FPROJ=%%F
popd
if not defined FPROJ exit /b 6
echo.
msbuild "projects\msvc\%FPROJ%" /p:Configuration=%CONF%;Platform=%ARCH%;PlatformToolset=%TOOLSET% /t:Rebuild
if errorlevel 1 exit /b 5
echo.
if exist "projects\msvc\%ARCH%\Release\mupen64plus.dll" ren "projects\msvc\%ARCH%\Release\mupen64plus.dll" mupen64plus-old.dll
pushd projects\msvc\%ARCH%\%CONF%\
for /f "tokens=*" %%S in ('dir /b mupen64plus*%EXT%') do set ARTIFACT=%%S
popd
if not defined ARTIFACT exit /b 4
md pkg 2>nul
copy "projects\msvc\%ARCH%\%CONF%\%ARTIFACT%" pkg\
if errorlevel 1 exit /b 3
dir "pkg\%ARTIFACT%"
exit /b 0
+54
View File
@@ -0,0 +1,54 @@
#!/usr/bin/env bash
set -e +u
export REPO="${PWD##*/}"
if [[ "${REPO}" == "" ]]; then exit 9; fi
rm -fr pkg
mkdir pkg
cd binaries
for BIN in *; do
cd "${BIN}"
case "${BIN}" in
*msvc* | *msys2* )
echo ":: Creating ${BIN}.zip"
zip -r "../../pkg/${BIN}.zip" *
;;
* )
echo ":: Recovering ${BIN}.tar.gz"
mv *.tar.gz ../../pkg/
;;
esac
cd ..
done
cd ../pkg
echo ""
for ZIP in *; do
ls -gG ${ZIP}
tigerdeep -lz ${ZIP} >> ../${REPO}.tiger.txt
sha256sum ${ZIP} >> ../${REPO}.sha256.txt
sha512sum ${ZIP} >> ../${REPO}.sha512.txt
b2sum ${ZIP} >> ../${REPO}.blake2.txt
done
mv ../${REPO}.*.txt .
echo ""
echo "TIGER:"
cat *.tiger.txt
echo ""
echo "SHA256:"
cat *.sha256.txt
echo ""
echo "SHA512:"
cat *.sha512.txt
echo ""
echo "BLAKE2:"
cat *.blake2.txt
echo ""
if [[ -f "${GITHUB_ENV}" ]]; then
git tag -f nightly-build
git push -f origin nightly-build
fi
exit 0