mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 15:40:19 +00:00
Ports: Add PrBoom+
Music (MIDI) works through TiMidity++ and OpenGL support works, but is still very buggy. Sometimes PrBoom+ fails to load its own configuration file, which can be worked around by deleting it.
This commit is contained in:
parent
808e0c9b17
commit
180effa8ac
Notes:
sideshowbarker
2024-07-17 07:33:23 +09:00
Author: https://github.com/gmta Commit: https://github.com/SerenityOS/serenity/commit/180effa8ac Pull-request: https://github.com/SerenityOS/serenity/pull/15092 Reviewed-by: https://github.com/sunverwerth ✅
4 changed files with 98 additions and 0 deletions
|
@ -191,6 +191,7 @@ This list is also available at [ports.serenityos.net](https://ports.serenityos.n
|
|||
| [`pixman`](pixman/) | pixman | 0.40.0 | http://pixman.org |
|
||||
| [`pkgconf`](pkgconf/) | pkgconf | 1.8.0 | https://github.com/pkgconf/pkgconf |
|
||||
| [`powdertoy`](powdertoy/) | The Powder Toy | 96.2.350 | https://powdertoy.co.uk/ |
|
||||
| [`prboom-plus`](prboom-plus/) | PrBoom+ | 2.6.2 | https://prboom-plus.sourceforge.io/ |
|
||||
| [`printf`](printf/) | printf (OpenBSD) | 6.6 | https://github.com/ibara/libpuffy |
|
||||
| [`pt2-clone`](pt2-clone/) | ProTracker 2 clone | 1.49 | https://github.com/8bitbubsy/pt2-clone |
|
||||
| [`pv`](pv/) | Pipe Viewer | 1.6.20 | http://www.ivarch.com/programs/pv.shtml |
|
||||
|
|
40
Ports/prboom-plus/package.sh
Executable file
40
Ports/prboom-plus/package.sh
Executable file
|
@ -0,0 +1,40 @@
|
|||
#!/usr/bin/env -S bash ../.port_include.sh
|
||||
port='prboom-plus'
|
||||
version='2.6.2'
|
||||
useconfigure='true'
|
||||
squashed_version=$(echo "${version}" | tr -d '.')
|
||||
files="https://github.com/coelckers/prboom-plus/archive/refs/tags/v${version}.tar.gz prboom-plus-v4${version}.tar.gz 5cfeec96fbfe4fc3bd5dbc2b8d581ff5f6617dd74b2799680ba5b1e2e38c4aff
|
||||
https://github.com/coelckers/prboom-plus/releases/download/v${version}/prboom-plus-${squashed_version}-w32.zip prboom-plus-w32.zip 20313e00d8841a618e23e7c671d65870194bee634468fecd2f3697ac05f21476"
|
||||
auth_type='sha256'
|
||||
workdir="prboom-plus-${version}/prboom2"
|
||||
depends=("glu" "libmad" "libvorbis" "SDL2" "SDL2_image" "SDL2_mixer" "SDL2_net")
|
||||
configopts=(
|
||||
"-DCMAKE_C_FLAGS=-I${SERENITY_INSTALL_ROOT}/usr/include/LibGL"
|
||||
"-DCMAKE_PREFIX_PATH=${SERENITY_INSTALL_ROOT}/usr/local"
|
||||
"-DFORCE_CROSSCOMPILE=ON"
|
||||
"-DOPENGL_gl_LIBRARY=${SERENITY_INSTALL_ROOT}/usr/lib/libgl.so"
|
||||
"-DWITH_PCRE=OFF"
|
||||
"-Wno-dev"
|
||||
)
|
||||
|
||||
launcher_name='PrBoom+'
|
||||
launcher_category='Games'
|
||||
launcher_command='/usr/local/bin/prboom-plus -vidmode gl'
|
||||
icon_file='ICONS/prboom-plus.ico'
|
||||
|
||||
configure() {
|
||||
run cmake -B build "${configopts[@]}"
|
||||
}
|
||||
|
||||
build() {
|
||||
run cp -v ../../prboom-plus.wad build/
|
||||
run make -C build "${makeopts[@]}"
|
||||
}
|
||||
|
||||
install() {
|
||||
run make DESTDIR="${DESTDIR}" -C build install
|
||||
|
||||
wad_directory="${SERENITY_INSTALL_ROOT}/usr/local/share/games/doom"
|
||||
mkdir -p "${wad_directory}"
|
||||
run cp "../../prboom-plus-${squashed_version}-w32/prboom-plus.wad" "${wad_directory}/"
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Jelle Raaijmakers <jelle@gmta.nl>
|
||||
Date: Thu, 1 Sep 2022 12:05:29 +0200
|
||||
Subject: [PATCH] Remove WAD / data targets from build
|
||||
|
||||
We're crosscompiling but PRBoom+ still tries to invoke the rdatawad
|
||||
tool, which we're supposed to get from a different native build.
|
||||
|
||||
We download the PRBoom WAD separately, so we remove it from the build.
|
||||
---
|
||||
CMakeLists.txt | 2 --
|
||||
src/CMakeLists.txt | 1 -
|
||||
2 files changed, 3 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 55e1573..540c85c 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -215,7 +215,6 @@ endif()
|
||||
|
||||
if(CMAKE_CROSSCOMPILING)
|
||||
set(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Export file from native build")
|
||||
- include(${IMPORT_EXECUTABLES})
|
||||
else()
|
||||
if(NOT CROSS_EXPORTS)
|
||||
set(CROSS_EXPORTS "")
|
||||
@@ -227,7 +226,6 @@ set(PRBOOM_OUTPUT_PATH ${CMAKE_BINARY_DIR})
|
||||
set(WAD_DATA prboom-plus.wad)
|
||||
set(WAD_DATA_PATH "${PRBOOM_OUTPUT_PATH}/${WAD_DATA}")
|
||||
|
||||
-add_subdirectory(data)
|
||||
add_subdirectory(doc)
|
||||
add_subdirectory(src)
|
||||
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 627ef88..ae3599b 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -374,7 +374,6 @@ function(AddGameExecutable TARGET SOURCES)
|
||||
target_include_directories(${TARGET} PRIVATE ${ALSA_INCLUDE_DIR})
|
||||
target_link_libraries(${TARGET} PRIVATE ${ASOUND_LIBRARY})
|
||||
endif()
|
||||
- add_dependencies(${TARGET} prboomwad)
|
||||
|
||||
if(MSVC)
|
||||
set_target_properties(${TARGET} PROPERTIES
|
11
Ports/prboom-plus/patches/ReadMe.md
Normal file
11
Ports/prboom-plus/patches/ReadMe.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
# Patches for prboom-plus on SerenityOS
|
||||
|
||||
## `0001-Remove-WAD-data-targets-from-build.patch`
|
||||
|
||||
Remove WAD / data targets from build
|
||||
|
||||
We're crosscompiling but PRBoom+ still tries to invoke the rdatawad
|
||||
tool, which we're supposed to get from a different native build.
|
||||
|
||||
We download the PRBoom WAD separately, so we remove it from the build.
|
||||
|
Loading…
Reference in a new issue