summaryrefslogtreecommitdiff
path: root/games-fps/duke3d-data
diff options
context:
space:
mode:
Diffstat (limited to 'games-fps/duke3d-data')
-rw-r--r--games-fps/duke3d-data/Manifest5
-rw-r--r--games-fps/duke3d-data/duke3d-data-1.0-r4.ebuild75
-rw-r--r--games-fps/duke3d-data/duke3d-data-1.0-r5.ebuild111
-rw-r--r--games-fps/duke3d-data/metadata.xml7
4 files changed, 120 insertions, 78 deletions
diff --git a/games-fps/duke3d-data/Manifest b/games-fps/duke3d-data/Manifest
index 6870e3782c80..d46c53f66443 100644
--- a/games-fps/duke3d-data/Manifest
+++ b/games-fps/duke3d-data/Manifest
@@ -1,3 +1,4 @@
+DIST 3dduke13.zip 5924374 BLAKE2B 177329f04defdd2a2ab35a1926a321bbc8de023878ad6bec610669b5578cbe2f38bc0b03a37c0d0d2dcc99acf2b473ddf683b498b971b857b20964bcdbc7d7c8 SHA512 eb92daa88b4e7cfeebe1fb3d2c021e0a4a66262d0d6e76b5e27fe3cedd382e381d23b392a6d9adb42a418b9318e011c2d8adfbdc77d7c5371e61d8c091c7eb65
DIST gog_duke_nukem_3d_atomic_edition_2.0.0.9.sh 31969896 BLAKE2B 7e93515f8aedaedf6f0dc90faf5e7fef165c000414ae9dc62bad77c78568ecdec1f16b72befe1c80c7c9c8c4bd7fb11f2fd3c36f53aa9ef9d787f8b7215228f3 SHA512 d06f20bc1334172b80e4a75bd3321c3835cd95ac823836899fda8d5f8667ac83471b04a5863646aa953a39fd1cb64eb1818ee668340ede62d0a356ebdcb4065c
-EBUILD duke3d-data-1.0-r4.ebuild 1775 BLAKE2B cc1291fa2c00ecac68c924a571060e44d3c86988a0a944efbd919560bfa959e6c544aadf61052da29d42eded802077d4aecf474b6df39df4885c29ad9622908c SHA512 5fcf67946a0e8d979d9c6050c9c1bb28b8887b57e1178e4fce3df265c4918b91a6ed2662f31d2bc7720bb6f4847e978606a8465618f7ec01b7c7ba5d63643159
-MISC metadata.xml 339 BLAKE2B afb442a147713d5f9000bb54afb2b62841086063b530f74a1da843ed7d08c3ffa995d98964f5e59b344c54eea7ea27ccc3eb563ea94e31452b352c80dc3848d3 SHA512 f5cfb8b76fafaea5c08660ecb9ed1a3d25efc85898b37a249c945547c4c4fc40335ec19711025955e12f6e3922f418f81e42c5dcc9a7f8ad82d3cc9dabbe50ef
+EBUILD duke3d-data-1.0-r5.ebuild 2554 BLAKE2B 1b2c6771b3b5b24d55b90be950f0f295a538a8e3ddab33e3dd32410b3e3c524cf6ce86b72f1b72fa9dcb34014825e9d9bbd8e760a1b19c1b955308a0f8993e9b SHA512 342f82c813053f6f7ab619d6218f770667ee44f40ac6160fbb3d0c0d24b47b17f4b8687b2e241f3cd5826bb68a561a08402ed2db7192bd36188caa235c27d8ee
+MISC metadata.xml 524 BLAKE2B 043a6909768a8c1185386ea8f253acab43709f4d302c495a3df341b0afd73a14e595ac42cde5b49ea73981728cd55243cadb99ca0ee314f3f6fbc2e1579acaa8 SHA512 1ad693d92dc6fa9856b2fc8b650de82fc200b1d9863328813a99664905f27519788f78b766086a43e6d325d9d245fd31647621456461c87fe940eed799519262
diff --git a/games-fps/duke3d-data/duke3d-data-1.0-r4.ebuild b/games-fps/duke3d-data/duke3d-data-1.0-r4.ebuild
deleted file mode 100644
index a466c316ad86..000000000000
--- a/games-fps/duke3d-data/duke3d-data-1.0-r4.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CDROM_OPTIONAL="yes"
-inherit eutils cdrom unpacker
-
-GOG_FILE="gog_duke_nukem_3d_atomic_edition_2.0.0.9.sh"
-DESCRIPTION="Duke Nukem 3D data files"
-HOMEPAGE="http://www.3drealms.com/"
-SRC_URI="gog? ( ${GOG_FILE} )"
-
-LICENSE="DUKE3D gog? ( GOG-EULA )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="gog"
-REQUIRED_USE="^^ ( cdinstall gog )"
-RESTRICT="mirror bindist gog? ( fetch )"
-
-RDEPEND="games-fps/eduke32"
-DEPEND="gog? ( app-arch/unzip )"
-
-S=${WORKDIR}
-
-pkg_nofetch() {
- einfo "Please download ${GOG_FILE} from your GOG.com account after buying Duke Nukem 3d"
- einfo "and put it into your DISTDIR directory."
-}
-
-src_unpack() {
- if use cdinstall ; then
- export CDROM_NAME_SET=(
- "Existing Install"
- "Duke Nukem 3D CD"
- "Duke Nukem 3D Atomic Edition CD"
- )
- cdrom_get_cds duke3d.grp:dvd/dn3dinst/duke3d.grp:atominst/duke3d.grp
-
- if [[ ${CDROM_SET} -ne 0
- && ${CDROM_SET} -ne 1
- && ${CDROM_SET} -ne 2 ]]
- then
- die "Error locating data files.";
- fi
- else
- unpack_zip "${DISTDIR}"/${GOG_FILE}
- cd data/noarch/data || die
-
- # convert to lowercase
- find . -type f \
- -execdir sh -c 'echo "converting ${1} to lowercase"
- lower="`echo "${1}" | tr [:upper:] [:lower:]`"
- [ "${1}" = "${lower}" ] || mv "${1}" "${lower}"' - {} \;
- fi
-}
-
-src_install() {
- local DATAROOT
-
- insinto /usr/share/duke3d
-
- if use cdinstall ; then
- case ${CDROM_SET} in
- 0) DATAROOT="" ;;
- 1) DATAROOT="dn3dinst/" ;;
- 2) DATAROOT="atominst/" ;;
- esac
-
- # avoid double slash
- doins "${CDROM_ROOT}"/${DATAROOT}{duke3d.grp,duke.rts,game.con,user.con,demo?.dmo,defs.con}
- else
- doins data/noarch/data/{duke3d.grp,duke.rts,game.con,user.con,demo?.dmo,defs.con}
- fi
-}
diff --git a/games-fps/duke3d-data/duke3d-data-1.0-r5.ebuild b/games-fps/duke3d-data/duke3d-data-1.0-r5.ebuild
new file mode 100644
index 000000000000..27e3d9014112
--- /dev/null
+++ b/games-fps/duke3d-data/duke3d-data-1.0-r5.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CDROM_OPTIONAL="yes"
+MY_PN_DEMO="3dduke"
+MY_PN_GOG="gog_duke_nukem_3d_atomic_edition"
+MY_PV_DEMO="13"
+MY_PV_GOG="2.0.0.9"
+MY_P_DEMO="${MY_PN_DEMO}${MY_PV_DEMO}"
+MY_P_GOG="${MY_PN_GOG}_${MY_PV_GOG}"
+
+inherit cdrom
+
+DESCRIPTION="Duke Nukem 3D (Atomic Edition) data files"
+HOMEPAGE="http://www.3drealms.com/"
+SRC_URI="
+ demo? ( "ftp://ftp.3drealms.com/share/${MY_P_DEMO}.zip" )
+ gog? ( "${MY_P_GOG}.sh" )
+"
+S="${WORKDIR}"
+
+LICENSE="DUKE3D gog? ( GOG-EULA )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+demo gog"
+REQUIRED_USE="^^ ( cdinstall demo gog )"
+RESTRICT="bindist gog? ( fetch ) mirror"
+
+BDEPEND="
+ demo? ( app-arch/unzip )
+ gog? ( app-arch/unzip )
+"
+
+pkg_nofetch() {
+ if use gog; then
+ einfo "Please download ${MY_P_GOG}.sh from your GOG.com account after"
+ einfo "buying Duke Nukem 3D and place it into your DISTDIR directory."
+ fi
+}
+
+src_unpack() {
+ if use cdinstall ; then
+ local CDROM_NAMES=(
+ "Existing installation"
+ "Duke Nukem 3D CD"
+ "Duke Nukem 3D Atomic Edition CD"
+ )
+
+ cdrom_get_cds duke3d.grp:dn3dinst/duke3d.grp:atominst/duke3d.grp
+
+ ! [[ "${CDROM_SET}" -ge 0 && "${CDROM_SET}" -le 2 ]] && die "Could not locate data files."
+ fi
+
+ if use demo; then
+ # Use '-LL' to extract everything in lowercase.
+ unzip "${DISTDIR}/${MY_P_DEMO}.zip" || die
+ unzip -LL "DN3DSW${MY_PV_DEMO}.SHR" || die
+ fi
+
+ if use gog; then
+ # Since 'unpacker' eclass does not support options,
+ # doing manual unpack and checking for return code,
+ # as all non-fatal errors should be ignored, because
+ # it's a self-extracting archive and will fail otherwise.
+ # Also use '-LL' to extract everything in lowercase.
+ unzip -LL "${DISTDIR}/${MY_P_GOG}.sh"
+ [[ $? -le 1 ]] || die
+ fi
+}
+
+src_install() {
+ if use cdinstall; then
+ local DATAROOT
+
+ case ${CDROM_SET} in
+ 0) DATAROOT="" ;;
+ 1) DATAROOT="dn3dinst" ;;
+ 2) DATAROOT="atominst" ;;
+ esac
+
+ pushd "${CDROM_ROOT}/${DATAROOT}" || die
+ fi
+
+ if use gog; then
+ pushd "${S}/data/noarch/data" || die
+ fi
+
+ insinto /usr/share/duke3d
+ for file in *.con *.dmo *.grp *.rts; do
+ newins "${file}" "${file,,}"
+ done
+
+ if ! use demo; then
+ if use cdinstall && [[ "${CDROM_SET}" -ne 0 ]]; then
+ doins ../goodies/build/*.map
+ else
+ doins *.map
+ fi
+
+ popd || die
+ fi
+}
+
+pkg_postinst() {
+ if use demo; then
+ einfo "Please keep in mind, that many addons for Duke Nukem 3D will require"
+ einfo "the registered version and will not work with the shareware version."
+ fi
+}
diff --git a/games-fps/duke3d-data/metadata.xml b/games-fps/duke3d-data/metadata.xml
index bb71cbd28b6a..c4c07706b939 100644
--- a/games-fps/duke3d-data/metadata.xml
+++ b/games-fps/duke3d-data/metadata.xml
@@ -1,11 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person">
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
+ </maintainer>
<maintainer type="project">
<email>games@gentoo.org</email>
<name>Gentoo Games Project</name>
</maintainer>
<use>
- <flag name="gog">Extract the data from the GOG.com installer.</flag>
+ <flag name="demo">Extract data files from the shareware version.</flag>
+ <flag name="gog">Extract data files from the GOG.com version.</flag>
</use>
</pkgmetadata>