13 changed files with 248 additions and 1 deletions
@ -0,0 +1,6 @@
|
||||
[*] |
||||
indent_style = tab |
||||
end_of_line = lf |
||||
charset = utf-8 |
||||
trim_trailing_whitespace = true |
||||
insert_final_newline = true |
||||
@ -0,0 +1,3 @@
|
||||
# DevilutionX OpenDingux Port |
||||
|
||||
See README.md in the root directory for build instructions. |
||||
@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
set -euo pipefail |
||||
|
||||
declare -r DIR="$(dirname "${BASH_SOURCE[0]}")" |
||||
cd "$DIR" |
||||
declare -r ABSDIR="$(pwd)" |
||||
|
||||
declare -r BUILDROOT_VER=buildroot-2018.02.9 |
||||
BUILDROOT="${BUILDROOT:-$HOME/${BUILDROOT_VER}-opendingux-musl}" |
||||
|
||||
declare -r BUILDROOT_ARCHIVE="$HOME/${BUILDROOT_VER}.tar.gz" |
||||
|
||||
set -x |
||||
|
||||
main() { |
||||
set -x |
||||
prepare_buildroot |
||||
build |
||||
package |
||||
} |
||||
|
||||
prepare_buildroot() { |
||||
if [[ -d $BUILDROOT ]]; then |
||||
return |
||||
fi |
||||
if [[ ! -f $BUILDROOT_ARCHIVE ]]; then |
||||
\curl https://buildroot.org/downloads/${BUILDROOT_VER}.tar.gz -o "$BUILDROOT_ARCHIVE" |
||||
fi |
||||
|
||||
tar xf "$BUILDROOT_ARCHIVE" -C "$(dirname "$BUILDROOT_ARCHIVE")" |
||||
mv "${BUILDROOT_ARCHIVE%.tar.gz}" "$BUILDROOT" |
||||
cp buildroot_opendingux_musl_defconfig "$BUILDROOT/configs/opendingux_musl_defconfig" |
||||
cd "$BUILDROOT" |
||||
echo 'LIBSODIUM_CONF_OPTS += --enable-static' >> package/libsodium/libsodium.mk |
||||
make opendingux_musl_defconfig |
||||
BR2_JLEVEL=0 make toolchain libsodium libzip sdl sdl_mixer sdl_ttf |
||||
cd - |
||||
} |
||||
|
||||
build() { |
||||
mkdir -p ../../build |
||||
cd ../../build |
||||
rm -f CMakeCache.txt |
||||
cmake .. -DDINGUX=ON -DUSE_SDL1=ON -DBINARY_RELEASE=ON \ |
||||
-DCMAKE_TOOLCHAIN_FILE="$BUILDROOT/output/host/share/buildroot/toolchainfile.cmake" |
||||
cd - |
||||
} |
||||
|
||||
package() { |
||||
./package.sh ../../build/devilutionx-opendingux-musl-sdl1.ipk |
||||
} |
||||
|
||||
main |
||||
@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
set -euo pipefail |
||||
|
||||
declare -r DIR="$(dirname "${BASH_SOURCE[0]}")" |
||||
cd "$DIR" |
||||
declare -r ABSDIR="$(pwd)" |
||||
|
||||
declare -r BUILDROOT_VER=buildroot-2018.02.9 |
||||
BUILDROOT="${BUILDROOT:-$HOME/${BUILDROOT_VER}-retrofw}" |
||||
|
||||
declare -r BUILDROOT_ARCHIVE="$HOME/${BUILDROOT_VER}.tar.gz" |
||||
|
||||
set -x |
||||
|
||||
main() { |
||||
set -x |
||||
prepare_buildroot |
||||
build |
||||
package |
||||
} |
||||
|
||||
prepare_buildroot() { |
||||
if [[ -d $BUILDROOT ]]; then |
||||
return |
||||
fi |
||||
if [[ ! -f $BUILDROOT_ARCHIVE ]]; then |
||||
\curl https://buildroot.org/downloads/${BUILDROOT_VER}.tar.gz -o "$BUILDROOT_ARCHIVE" |
||||
fi |
||||
|
||||
tar xf "$BUILDROOT_ARCHIVE" -C "$(dirname "$BUILDROOT_ARCHIVE")" |
||||
mv "${BUILDROOT_ARCHIVE%.tar.gz}" "$BUILDROOT" |
||||
cp buildroot_retrofw_defconfig "$BUILDROOT/configs/retrofw_defconfig" |
||||
cd "$BUILDROOT" |
||||
echo 'LIBSODIUM_CONF_OPTS += --enable-static' >> package/libsodium/libsodium.mk |
||||
make retrofw_defconfig |
||||
BR2_JLEVEL=0 make toolchain libsodium libzip sdl sdl_mixer sdl_ttf |
||||
cd - |
||||
} |
||||
|
||||
build() { |
||||
mkdir -p ../../build |
||||
cd ../../build |
||||
rm -f CMakeCache.txt |
||||
cmake .. -DDINGUX=ON -DUSE_SDL1=ON -DBINARY_RELEASE=ON \ |
||||
-DCMAKE_TOOLCHAIN_FILE="$BUILDROOT/output/host/share/buildroot/toolchainfile.cmake" |
||||
cd - |
||||
} |
||||
|
||||
package() { |
||||
./package.sh ../../build/devilutionx-retrofw-uclibc-sdl1.ipk |
||||
} |
||||
|
||||
main |
||||
@ -0,0 +1,9 @@
|
||||
BR2_mipsel=y |
||||
# BR2_MIPS_SOFT_FLOAT is not set |
||||
BR2_TOOLCHAIN_BUILDROOT_MUSL=y |
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y |
||||
BR2_PACKAGE_SDL=y |
||||
BR2_PACKAGE_SDL_MIXER=y |
||||
BR2_PACKAGE_SDL_TTF=y |
||||
BR2_PACKAGE_LIBZIP=y |
||||
BR2_PACKAGE_LIBSODIUM=y |
||||
@ -0,0 +1,9 @@
|
||||
BR2_mipsel=y |
||||
# BR2_MIPS_SOFT_FLOAT is not set |
||||
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y |
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y |
||||
BR2_PACKAGE_SDL=y |
||||
BR2_PACKAGE_SDL_MIXER=y |
||||
BR2_PACKAGE_SDL_TTF=y |
||||
BR2_PACKAGE_LIBZIP=y |
||||
BR2_PACKAGE_LIBSODIUM=y |
||||
@ -0,0 +1,10 @@
|
||||
Package: devilutionx |
||||
Version: 0.0.1 |
||||
Architecture: mipsel |
||||
Section: games |
||||
Maintainer: glex.spb@gmail.com |
||||
Description: A port of DevilutionX for OpenDingux / RetroFW. |
||||
Priority: optional |
||||
Homepage: https://github.com/diasurgical/devilutionX |
||||
Depends: |
||||
Source: https://github.com/diasurgical/devilutionX |
||||
@ -0,0 +1,5 @@
|
||||
Copy diabdat.mpq from your CD, or GoG install folder to: |
||||
/home/retrofw/games/devilutionx/diabdat.mpq |
||||
|
||||
Game saves and diablo.ini are located at: |
||||
/home/retrofw/.local/share/diasurgical/devilution |
||||
@ -0,0 +1,3 @@
|
||||
[devilutionx] |
||||
upscale=0 |
||||
fullscreen=0 |
||||
@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
set -euo pipefail |
||||
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")" |
||||
|
||||
readonly OUT="${1:-../../build/devilutionx.ipk}" |
||||
readonly IN="${2:-../../build/devilutionx.dge}" |
||||
|
||||
readonly PKG_TARGET=devilutionx |
||||
readonly TMP="tmp/${PKG_TARGET}" |
||||
|
||||
pkg_control_get() { |
||||
sed -n control -e 's/^.*'"$1"': //p' |
||||
} |
||||
|
||||
readonly PKG_SECTION="$(pkg_control_get Section)" |
||||
readonly PKG_INSTALL_DIR="home/retrofw/${PKG_SECTION}/${PKG_TARGET}" |
||||
readonly PKG_LOCAL_DIR="home/retrofw/.local/share/diasurgical/devilution" |
||||
readonly PKG_MENU_LNK_OUT="home/retrofw/apps/gmenu2x/sections/${PKG_SECTION}/${PKG_TARGET}.lnk" |
||||
|
||||
echo 1>&2 Packaging ${OUT} from ${TMP}... |
||||
|
||||
set -x |
||||
rm -rf "${TMP}" |
||||
mkdir -p "${TMP}" |
||||
|
||||
# data.tar.gz |
||||
mkdir -p "${TMP}/root/${PKG_INSTALL_DIR}" "${TMP}/root/${PKG_LOCAL_DIR}" |
||||
cp "$IN" "${TMP}/root/${PKG_INSTALL_DIR}/${PKG_TARGET}.dge" |
||||
cp ../resources/Diablo_32.png "${TMP}/root/${PKG_INSTALL_DIR}/devilutionx.png" |
||||
cp devilutionx.man.txt ../resources/CharisSILB.ttf ../resources/LICENSE.CharisSILB.txt "${TMP}/root/${PKG_INSTALL_DIR}" |
||||
cp diablo.ini "${TMP}/root/${PKG_LOCAL_DIR}/diablo.ini" |
||||
mkdir -p "${TMP}/root/$(dirname "$PKG_MENU_LNK_OUT")" |
||||
printf "%s\n" \ |
||||
"title=DevilutionX" \ |
||||
"description=$(pkg_control_get Description)" \ |
||||
"exec=/${PKG_INSTALL_DIR}/${PKG_TARGET}.dge" \ |
||||
> "${TMP}/root/${PKG_MENU_LNK_OUT}" |
||||
tar --owner=0 --group=0 -czvf "${TMP}/data.tar.gz" -C "${TMP}/root/" . |
||||
|
||||
# control.tar.gz |
||||
sed -e "s/^Version:.*/Version: $(date +%Y%m%d)/" control > "${TMP}/control" |
||||
printf "%s\n" \ |
||||
"/$PKG_MENU_LNK_OUT" \ |
||||
"/${PKG_LOCAL_DIR}/diablo.ini" \ |
||||
>> ${TMP}/conffiles |
||||
tar --owner=0 --group=0 -czvf "${TMP}/control.tar.gz" -C "${TMP}/" control conffiles |
||||
|
||||
printf '2.0\n' > "${TMP}/debian-binary" |
||||
ar r "$OUT" \ |
||||
"${TMP}/control.tar.gz" \ |
||||
"${TMP}/data.tar.gz" \ |
||||
"${TMP}/debian-binary" |
||||
Loading…
Reference in new issue