1
0
Fork 0

first commit

This commit is contained in:
root 2024-11-23 01:15:11 +02:00
commit 528f89a79b
90 changed files with 13567 additions and 0 deletions

View file

@ -0,0 +1 @@
DIST zandronum-3.1.tar.gz 6872680 BLAKE2B 928cde28afba3d934fb75e1c596bac09e2fb6a8329f953be8e83c197fe2a10f2ffb6ff31647245219c303129a122b072cd9ce23b96148725a02c5d1c89e69840 SHA512 708781e09902a2f18a0193bda886758873c23a4974a7ab309c3a60d44f83842a40472a9c5cae03408e8dfdcccdea1b94027c80e9a3ba1c16a08cba8e76f096ed

View file

@ -0,0 +1,26 @@
--- a/src/CMakeLists.txt 2019-10-13 21:38:53.000000000 +0200
+++ b/src/CMakeLists.txt 2021-11-24 10:55:32.946070583 +0100
@@ -636,15 +636,6 @@
add_definitions( -DBACKPATCH )
endif( BACKPATCH )
-# Update gitinfo.h
-
-get_target_property( UPDATEREVISION_EXE updaterevision LOCATION )
-
-add_custom_target( revision_check ALL
- COMMAND ${UPDATEREVISION_EXE} src/gitinfo.h
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
- DEPENDS updaterevision )
-
# Libraries ZDoom needs
message( STATUS "Fluid synth libs: ${FLUIDSYNTH_LIBRARIES}" )
@@ -1459,7 +1450,6 @@
${CMAKE_BINARY_DIR}/gdtoa
${SYSTEM_SOURCES_DIR} )
-add_dependencies( zdoom revision_check )
# [TP]
add_dependencies( zdoom protocolspec )

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<use>
<flag name="dedicated">Build zandronum-server</flag>
<flag name="gtk">Build graphical IWAD picker</flag>
<flag name="opengl">Build zandronum client</flag>
<flag name="system-sqlite">Use system-wide installed dev-db/sqlite instead of bundled one</flag>
<flag name="system-dumb">Use system-wide installed media-libs/dumb instead of bundled one</flag>
<flag name="system-geoip">Use system-wide installed dev-libs/geoip instead of bundled one</flag>
</use>
</pkgmetadata>

View file

@ -0,0 +1,138 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake desktop
MY_TAG="ZA_3.1"
MY_TAG_COMMIT="zandronum-stable-ZA_3.1"
MY_COMMIT_UTC_TIMESTAMP="1639258555"
DESCRIPTION="OpenGL ZDoom port with Client/Server multiplayer"
HOMEPAGE="https://zandronum.com/"
#SRC_URI="https://osdn.dl.osdn.net/scmarchive/g/${PN}/hg/${PN}-stable/${MY_COMMIT:0:2}/${MY_COMMIT:2:4}/${PN}-stable-${MY_COMMIT:0:6}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://foss.heptapod.net/zandronum/zandronum-stable/-/archive/${MY_TAG}/${MY_TAG_COMMIT}.tar.gz -> ${P}.tar.gz"
LICENSE="Sleepycat"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="cpu_flags_x86_mmx dedicated +gtk +opengl system-dumb system-geoip +system-sqlite timidity"
REQUIRED_USE="|| ( dedicated opengl )
gtk? ( opengl )
timidity? ( opengl )"
RDEPEND="gtk? ( x11-libs/gtk+:2 )
timidity? ( media-sound/timidity++ )
opengl? ( media-libs/fmod
media-libs/game-music-emu
media-libs/glew
media-libs/libsdl[opengl]
virtual/glu
virtual/jpeg
virtual/opengl
)
system-dumb? ( >=media-libs/dumb-2 )
system-geoip? ( dev-libs/geoip )
system-sqlite? ( dev-db/sqlite )
app-arch/bzip2
dev-libs/openssl:0
sys-libs/zlib"
DEPEND="${RDEPEND}
cpu_flags_x86_mmx? ( || ( dev-lang/nasm dev-lang/yasm ) )"
#S="${WORKDIR}/${PN}-stable-${MY_COMMIT:0:6}"
S="${WORKDIR}/${MY_TAG_COMMIT}"
src_prepare() {
# Normally Mercurial would generate gitinfo.h for NETGAMEVERSION
# let's do it without Mercurial
eapply "${FILESDIR}/remove-revision-check.patch"
echo "#define HG_REVISION_NUMBER ${MY_COMMIT_UTC_TIMESTAMP}" > src/gitinfo.h
echo "#define HG_REVISION_HASH_STRING \"0\"" >> src/gitinfo.h
echo "#define HG_TIME \"\"" >> src/gitinfo.h
# Use system libs
# (lzma can't be system-libbed as the Gentoo ebuild provides no sources)
for lib in dumb geoip sqlite; do
use system-$lib && sed -i -e "/add_subdirectory( $lib )/Id" CMakeLists.txt
done
# Use default data path
sed -i -e "s:/usr/local/share/:/usr/share/doom/:" src/sdl/i_system.h || die
# Fix building with gcc-5
use system-dumb || sed -i -e 's/ restrict/ _restrict/g' dumb/include/dumb.h dumb/src/it/*.c || die
cmake_src_prepare
}
src_configure() {
mycmakeargs=(
-DFORCE_INTERNAL_GME="OFF"
-DNO_ASM="$(usex cpu_flags_x86_mmx OFF ON)"
-DNO_GTK="$(usex gtk OFF ON)"
-DBUILD_SHARED_LIBS=OFF
)
# Can't build both client and server at once... so separate them
if use opengl; then
BUILD_DIR="${WORKDIR}/${P}_client"
cmake_src_configure
fi
if use dedicated; then
BUILD_DIR="${WORKDIR}/${P}_server"
mycmakeargs+=(-DSERVERONLY=1)
cmake_src_configure
fi
}
src_compile() {
if use opengl; then
BUILD_DIR="${WORKDIR}/${P}_client"
cmake_build
fi
if use dedicated; then
BUILD_DIR="${WORKDIR}/${P}_server"
cmake_build
fi
}
src_install() {
dodoc docs/{commands,zandronum*}.txt docs/console.{css,html}
cd "${BUILD_DIR}"
insinto "/usr/share/doom"
doins *.pk3
if use opengl; then
dobin "${WORKDIR}/${P}_client/${PN}"
doicon "${S}/src/win32/zandronum.ico"
make_desktop_entry "${PN}" "Zandronum" "${PN}.ico" "Game;ActionGame;"
fi
if use dedicated; then
dobin "${WORKDIR}/${P}_server/${PN}-server"
fi
# don't install this now
rm "${D}/usr/share/doom/brightmaps.pk3"
}
pkg_postinst() {
# install here to avoid collisions with games-fps/gzdoom
# hacky, i know. should've listened to juippis :) please don't hit me.
# note: brightmaps.pk3 NEEDS TO KEEP ITS NAME to not break online play
# on servers that mistakenly add it as a required pwad.
#cp -n "${BUILD_DIR}/brightmaps.pk3" "${EPREFIX}/usr/share/doom/"
ewarn "For parity with the gzdoom ebuild, the data path has been changed yet again!"
ewarn "It is ${EPREFIX}/usr/share/doom - copy/link wad files there or in \$HOME/.config/zandronum"
ewarn "If after an upgrade the game complains about not finding zandronum.pk3,"
ewarn "edit the [*Search.Directories] sections in \$HOME/.config/zandronum/zandronum.ini."
if use opengl; then
elog
elog "To play online, install games-util/doomseeker"
fi
}

View file

@ -0,0 +1,138 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake desktop
MY_TAG="ZA_3.1"
MY_TAG_COMMIT="zandronum-stable-ZA_3.1"
MY_COMMIT_UTC_TIMESTAMP="1639258555"
DESCRIPTION="OpenGL ZDoom port with Client/Server multiplayer"
HOMEPAGE="https://zandronum.com/"
#SRC_URI="https://osdn.dl.osdn.net/scmarchive/g/${PN}/hg/${PN}-stable/${MY_COMMIT:0:2}/${MY_COMMIT:2:4}/${PN}-stable-${MY_COMMIT:0:6}.tar.gz -> ${P}.tar.gz"
SRC_URI="https://foss.heptapod.net/zandronum/zandronum-stable/-/archive/${MY_TAG}/${MY_TAG_COMMIT}.tar.gz -> ${P}.tar.gz"
LICENSE="Sleepycat"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="cpu_flags_x86_mmx dedicated +gtk +opengl system-dumb system-geoip +system-sqlite timidity"
REQUIRED_USE="|| ( dedicated opengl )
gtk? ( opengl )
timidity? ( opengl )"
RDEPEND="gtk? ( x11-libs/gtk+:2 )
timidity? ( media-sound/timidity++ )
opengl? ( media-libs/fmod
media-libs/game-music-emu
media-libs/glew
media-libs/libsdl[opengl]
virtual/glu
virtual/jpeg
virtual/opengl
)
system-dumb? ( >=media-libs/dumb-2 )
system-geoip? ( dev-libs/geoip )
system-sqlite? ( dev-db/sqlite )
app-arch/bzip2
dev-libs/openssl:0
sys-libs/zlib"
DEPEND="${RDEPEND}
cpu_flags_x86_mmx? ( || ( dev-lang/nasm dev-lang/yasm ) )"
#S="${WORKDIR}/${PN}-stable-${MY_COMMIT:0:6}"
S="${WORKDIR}/${MY_TAG_COMMIT}"
src_prepare() {
# Normally Mercurial would generate gitinfo.h for NETGAMEVERSION
# let's do it without Mercurial
eapply "${FILESDIR}/remove-revision-check.patch"
echo "#define HG_REVISION_NUMBER ${MY_COMMIT_UTC_TIMESTAMP}" > src/gitinfo.h
echo "#define HG_REVISION_HASH_STRING \"0\"" >> src/gitinfo.h
echo "#define HG_TIME \"\"" >> src/gitinfo.h
# Use system libs
# (lzma can't be system-libbed as the Gentoo ebuild provides no sources)
for lib in dumb geoip sqlite; do
use system-$lib && sed -i -e "/add_subdirectory( $lib )/Id" CMakeLists.txt
done
# Use default data path
sed -i -e "s:/usr/local/share/:/usr/share/doom/:" src/sdl/i_system.h || die
# Fix building with gcc-5
use system-dumb || sed -i -e 's/ restrict/ _restrict/g' dumb/include/dumb.h dumb/src/it/*.c || die
cmake_src_prepare
}
src_configure() {
mycmakeargs=(
-DFORCE_INTERNAL_GME="OFF"
-DNO_ASM="$(usex cpu_flags_x86_mmx OFF ON)"
-DNO_GTK="$(usex gtk OFF ON)"
-DBUILD_SHARED_LIBS=OFF
)
# Can't build both client and server at once... so separate them
if use opengl; then
BUILD_DIR="${WORKDIR}/${P}_client"
cmake_src_configure
fi
if use dedicated; then
BUILD_DIR="${WORKDIR}/${P}_server"
mycmakeargs+=(-DSERVERONLY=1)
cmake_src_configure
fi
}
src_compile() {
if use opengl; then
BUILD_DIR="${WORKDIR}/${P}_client"
cmake_build
fi
if use dedicated; then
BUILD_DIR="${WORKDIR}/${P}_server"
cmake_build
fi
}
src_install() {
dodoc docs/{commands,zandronum*}.txt docs/console.{css,html}
cd "${BUILD_DIR}"
insinto "/usr/share/doom"
doins *.pk3
if use opengl; then
dobin "${WORKDIR}/${P}_client/${PN}"
doicon "${S}/src/win32/zandronum.ico"
make_desktop_entry "${PN}" "Zandronum" "${PN}.ico" "Game;ActionGame;"
fi
if use dedicated; then
dobin "${WORKDIR}/${P}_server/${PN}-server"
fi
# don't install this now
rm "${D}/usr/share/doom/brightmaps.pk3"
}
pkg_postinst() {
# install here to avoid collisions with games-fps/gzdoom
# hacky, i know. should've listened to juippis :) please don't hit me.
# note: brightmaps.pk3 NEEDS TO KEEP ITS NAME to not break online play
# on servers that mistakenly add it as a required pwad.
#cp -n "${BUILD_DIR}/brightmaps.pk3" "${EPREFIX}/usr/share/doom/"
ewarn "For parity with the gzdoom ebuild, the data path has been changed yet again!"
ewarn "It is ${EPREFIX}/usr/share/doom - copy/link wad files there or in \$HOME/.config/zandronum"
ewarn "If after an upgrade the game complains about not finding zandronum.pk3,"
ewarn "edit the [*Search.Directories] sections in \$HOME/.config/zandronum/zandronum.ini."
if use opengl; then
elog
elog "To play online, install games-util/doomseeker"
fi
}