Browse Source

Packages for RG350 and GCW0

pull/361/head
Gleb Mazovetskiy 7 years ago committed by Anders Jenbo
parent
commit
56b77eb633
  1. 3
      CMakeLists.txt
  2. 5
      Packaging/OpenDingux/build-retrofw.sh
  3. 46
      Packaging/OpenDingux/build-rg350.sh
  4. 19
      Packaging/OpenDingux/build-rs90.sh
  5. 20
      Packaging/OpenDingux/buildroot_rg350_defconfig
  6. 5
      Packaging/OpenDingux/buildroot_rs90_defconfig
  7. 2
      Packaging/OpenDingux/control
  8. 0
      Packaging/OpenDingux/devilutionx-retrofw.man.txt
  9. 3
      Packaging/OpenDingux/package-ipk.sh
  10. 33
      Packaging/OpenDingux/package-opk.sh
  11. 9
      Packaging/OpenDingux/readme.gcw0.txt
  12. 24
      README.md

3
CMakeLists.txt

@ -316,6 +316,9 @@ foreach(target devilution devilutionx)
if(DINGUX)
target_compile_definitions(${target} PRIVATE DINGUX)
endif()
if(RETROFW)
target_compile_definitions(${target} PRIVATE RETROFW)
endif()
endforeach(target devilution devilutionx)
if(DIST AND CMAKE_CXX_COMPILER_ID MATCHES "GCC")

5
Packaging/OpenDingux/build-retrofw.sh

@ -42,13 +42,14 @@ build() {
mkdir -p ../../build
cd ../../build
rm -f CMakeCache.txt
cmake .. -DDINGUX=ON -DUSE_SDL1=ON -DBINARY_RELEASE=ON \
cmake .. -DDINGUX=ON -DRETROFW=ON -DUSE_SDL1=ON -DBINARY_RELEASE=ON \
-DCMAKE_TOOLCHAIN_FILE="$BUILDROOT/output/host/share/buildroot/toolchainfile.cmake"
make -j $(nproc)
cd -
}
package() {
./package.sh ../../build/devilutionx-retrofw-uclibc-sdl1.ipk
./package-ipk.sh ../../build/devilutionx-retrofw.ipk
}
main

46
Packaging/OpenDingux/build-rg350.sh

@ -0,0 +1,46 @@
#!/usr/bin/env bash
set -euo pipefail
declare -r DIR="$(dirname "${BASH_SOURCE[0]}")"
cd "$DIR"
declare -r ABSDIR="$(pwd)"
BUILDROOT="${BUILDROOT:-$HOME/buildroot-rg350-devilutionx}"
set -x
main() {
set -x
prepare_buildroot
build
package
}
prepare_buildroot() {
if [[ -d $BUILDROOT ]]; then
return
fi
git clone --depth=1 https://github.com/tonyjih/RG350_buildroot.git "$BUILDROOT"
cp buildroot_rg350_defconfig "$BUILDROOT/configs/rg350_devilutionx_defconfig"
cd "$BUILDROOT"
make rg350_devilutionx_defconfig
BR2_JLEVEL=0 make
cd -
}
build() {
mkdir -p ../../build
cd ../../build
rm -f CMakeCache.txt
cmake .. -DDINGUX=ON -DBINARY_RELEASE=ON -DNONET=ON \
-DCMAKE_TOOLCHAIN_FILE="$BUILDROOT/output/host/usr/share/buildroot/toolchainfile.cmake"
make -j $(nproc)
cd -
}
package() {
./package-opk.sh ../../build/devilutionx-rg350.opk
}
main

19
Packaging/OpenDingux/build-opendingux-sdl1.sh → Packaging/OpenDingux/build-rs90.sh

@ -6,10 +6,7 @@ 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"
BUILDROOT="${BUILDROOT:-$HOME/buildroot-rs90-devilutionx}"
set -x
@ -24,16 +21,11 @@ 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"
git clone --depth=1 -b od-rs90 https://github.com/OpenDingux/buildroot.git "$BUILDROOT"
cp buildroot_rs90_defconfig "$BUILDROOT/configs/rs90_devilutionx_defconfig"
cd "$BUILDROOT"
echo 'LIBSODIUM_CONF_OPTS += --enable-static' >> package/libsodium/libsodium.mk
make opendingux_musl_defconfig
make rs90_devilutionx_defconfig
BR2_JLEVEL=0 make toolchain libsodium libzip sdl sdl_mixer sdl_ttf
cd -
}
@ -44,11 +36,12 @@ build() {
rm -f CMakeCache.txt
cmake .. -DDINGUX=ON -DUSE_SDL1=ON -DBINARY_RELEASE=ON \
-DCMAKE_TOOLCHAIN_FILE="$BUILDROOT/output/host/share/buildroot/toolchainfile.cmake"
make -j $(nproc)
cd -
}
package() {
./package.sh ../../build/devilutionx-opendingux-musl-sdl1.ipk
./package-opk.sh ../../build/devilutionx-rs90.opk
}
main

20
Packaging/OpenDingux/buildroot_rg350_defconfig

@ -0,0 +1,20 @@
BR2_mipsel=y
BR2_mips_32r2=y
# BR2_MIPS_SOFT_FLOAT is not set
BR2_OPTIMIZE_2=y
BR2_KERNEL_HEADERS_3_12=y
BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y
BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="--enable-lto"
BR2_GCC_VERSION_4_9_X=y
BR2_EXTRA_GCC_CONFIG_OPTIONS="--enable-lto"
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_SDL2_IMAGE=y
BR2_PACKAGE_SDL2_IMAGE_PNG=y
BR2_PACKAGE_SDL2_MIXER=y
BR2_PACKAGE_SDL2_TTF=y
BR2_PACKAGE_ETNA_VIV=y
BR2_PACKAGE_ETNA_VIV_ABIV4=y
BR2_PACKAGE_MESA3D_ETNA_VIV=y
BR2_PACKAGE_LIBZIP=y

5
Packaging/OpenDingux/buildroot_opendingux_musl_defconfig → Packaging/OpenDingux/buildroot_rs90_defconfig

@ -1,7 +1,12 @@
BR2_mipsel=y
# BR2_MIPS_SOFT_FLOAT is not set
BR2_OPTIMIZE_2=y
BR2_TOOLCHAIN_BUILDROOT_MUSL=y
BR2_KERNEL_HEADERS_4_20=y
BR2_BINUTILS_VERSION_2_31_X=y
BR2_GCC_VERSION_8_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_GCC_ENABLE_LTO=y
BR2_PACKAGE_SDL=y
BR2_PACKAGE_SDL_MIXER=y
BR2_PACKAGE_SDL_TTF=y

2
Packaging/OpenDingux/control

@ -3,7 +3,7 @@ Version: 0.0.1
Architecture: mipsel
Section: games
Maintainer: glex.spb@gmail.com
Description: A port of DevilutionX for OpenDingux / RetroFW.
Description: A port of DevilutionX for RetroFW.
Priority: optional
Homepage: https://github.com/diasurgical/devilutionX
Depends:

0
Packaging/OpenDingux/devilutionx.man.txt → Packaging/OpenDingux/devilutionx-retrofw.man.txt

3
Packaging/OpenDingux/package.sh → Packaging/OpenDingux/package-ipk.sh

@ -29,7 +29,8 @@ mkdir -p "${TMP}"
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 ../resources/CharisSILB.ttf ../resources/LICENSE.CharisSILB.txt "${TMP}/root/${PKG_INSTALL_DIR}"
cp devilutionx-retrofw.man.txt "${TMP}/root/${PKG_INSTALL_DIR}/devilutionx.man.txt"
cp diablo.ini "${TMP}/root/${PKG_LOCAL_DIR}/diablo.ini"
mkdir -p "${TMP}/root/$(dirname "$PKG_MENU_LNK_OUT")"
printf "%s\n" \

33
Packaging/OpenDingux/package-opk.sh

@ -0,0 +1,33 @@
#!/usr/bin/env bash
cd "$(dirname "${BASH_SOURCE[0]}")"
readonly OUT="${1:-../../build/devilutionx.opk}"
readonly IN="${2:-../../build/devilutionx.dge}"
readonly TMP="tmp/opk"
echo 1>&2 Packaging ${OUT}...
set -x
rm -rf "${TMP}"
mkdir -p "${TMP}"
cat > "${TMP}/default.gcw0.desktop" <<EOF
[Desktop Entry]
Name=DevilutionX
Comment=A port of DevilutionX for RetroFW.
Exec=devilutionx.dge
Terminal=false
Type=Application
StartupNotify=true
Icon=Diablo_32
Categories=games;
X-OD-Manual=readme.gcw0.txt
X-OD-NeedsDownscaling=true
EOF
mksquashfs \
"${TMP}/default.gcw0.desktop" readme.gcw0.txt "$IN" \
../resources/Diablo_32.png ../resources/CharisSILB.ttf \
"$OUT" \
-all-root -no-xattrs -noappend -no-exports

9
Packaging/OpenDingux/readme.gcw0.txt

@ -0,0 +1,9 @@
Copy diabdat.mpq from your CD, or GoG install folder to:
/media/home/.local/share/diasurgical/devilution/diabdat.mpq
diabdat.mpq filename must be lowercase.
Game saves and diablo.ini are located at:
/media/home/.local/share/diasurgical/devilution/
Source: https://github.com/diasurgical/devilutionX/

24
README.md

@ -153,22 +153,34 @@ The build script does the following:
The buildroot uses ~4 GiB of disk space and can take almost an hour to build.
### OpenDingux
For OpenDingux builds `mksquashfs` needs to be installed.
The OpenDingux build uses the buildroot at `$HOME/buildroot-2018.02.9-opendingux-musl`.
### RetroFW (RS97, RG300, LDK)
The RetroFW build uses the buildroot at `$HOME/buildroot-2018.02.9-retrofw`.
~~~ bash
Packaging/OpenDingux/build-opendingux-sdl1.sh
Packaging/OpenDingux/build-retrofw.sh
~~~
### RetroFW
### OpenDingux (RG350, GCW0)
The OpenDingux build uses the buildroot at `$HOME/buildroot-2018.02.9-retrofw`.
This OpenDingux build uses the buildroot at `$HOME/buildroot-rg350-devilutionx`.
~~~ bash
Packaging/OpenDingux/build-retrofw.sh
Packaging/OpenDingux/build-rg350.sh
~~~
### Old OpenDingux (RS90)
This OpenDingux build uses the buildroot at `$HOME/buildroot-rs90-devilutionx`.
~~~ bash
Packaging/OpenDingux/build-rs90.sh
~~~
</details>
## CMake arguments

Loading…
Cancel
Save