diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /games-rpg/nwn | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'games-rpg/nwn')
-rw-r--r-- | games-rpg/nwn/Manifest | 19 | ||||
-rwxr-xr-x | games-rpg/nwn/files/fixinstall | 107 | ||||
-rw-r--r-- | games-rpg/nwn/metadata.xml | 13 | ||||
-rw-r--r-- | games-rpg/nwn/nwn-1.68-r5.ebuild | 249 | ||||
-rw-r--r-- | games-rpg/nwn/nwn-1.68-r6.ebuild | 236 | ||||
-rw-r--r-- | games-rpg/nwn/nwn-1.69-r1.ebuild | 95 |
6 files changed, 719 insertions, 0 deletions
diff --git a/games-rpg/nwn/Manifest b/games-rpg/nwn/Manifest new file mode 100644 index 000000000000..3f30eb40f7e4 --- /dev/null +++ b/games-rpg/nwn/Manifest @@ -0,0 +1,19 @@ +DIST English_linuxclient168_orig.tar.gz 130569338 SHA256 03687bff0469cb08a7e5a14316e076a6bfe698121ccee4e2116f0bf119988092 +DIST English_linuxclient168_xp1.tar.gz 134673662 SHA256 e78716a83add4980674f86fd648d374b6086365620bde478b678edfdd4e7e82c +DIST English_linuxclient168_xp2.tar.gz 120144829 SHA256 b8d69ad68c3e3ddf2332176ffd1494682bd9f9d254531720327a62be44e1ac2c +DIST English_linuxclient169_orig.tar.gz 473297170 SHA256 50932f9647ea7968dbb8f7ab1fc6478035fff0826379a45762c1de8e46d1d2b0 SHA512 e24c0a44e41c97e313aeae1f001ee9ab15d97432b754246bc38b79d8adb7b372f5063a45c378fcf2ea07835f46ed20d02cca727bd7f9ce3800ab36e0ccc4b30c WHIRLPOOL 098a9d80f923971e19f036b93b0bc3ad550c7bb72e1efb1fd850ceacfc61a8159c9cabbf74ce91c9c3435a346e8aa5a80020427d1abd83f02b948616cbb753dd +DIST English_linuxclient169_xp1.tar.gz 477419208 SHA256 678254a1dbc52c5c3fa628410e3231b05afa3a612433729e7ef12d41bea8fc16 +DIST English_linuxclient169_xp2.tar.gz 506025948 SHA256 09715e2b95c025ef7f00d218deec1b1edce501530d8cba51d61097c69699763f +DIST French_linuxclient168_orig.tar.gz 131090499 SHA256 f32ed5a759a0a6b49d8f9ef39e313d49a8931725c0d5a61d3a8737d125902315 +DIST French_linuxclient168_xp1.tar.gz 151199720 SHA256 b9f8fe388519bc824bd2b0198a6c51b93d8a3534d16718b164b6c983fea08f9a +DIST French_linuxclient168_xp2.tar.gz 133316339 SHA256 7cc11a8cc7a613714c8d01c42b061baad874001da479db1d26903f494894e98a +DIST German_linuxclient168_orig.tar.gz 131790824 SHA256 d0850968fe68cdabfa3138810387dd4be0bf4338173dc02a46cd5ed7c4348b45 +DIST German_linuxclient168_xp1.tar.gz 152951618 SHA256 11e0b929547860309007298e1851d368d445b7dc8ceab17cece33d51342bfdd8 +DIST German_linuxclient168_xp2.tar.gz 134425276 SHA256 5d8fe43b751dd9372f45a1193cbf21da04b99fa5c735e5286d7306cf325f796d +DIST Italian_linuxclient168_orig.tar.gz 132705873 SHA256 650235b4ac464f7bdc873aaf8404ec51deef6e8a7c780a9bb237782c1575f95b +DIST Italian_linuxclient168_xp1.tar.gz 143425395 SHA256 52da3063290f564c64905b0806201ad9623a62d99f38adae39e3eb0f5970eb94 +DIST Italian_linuxclient168_xp2.tar.gz 133867117 SHA256 8a8f87034ccda517e2c69dea61f6fe799a0e1ef5ced6eab2081980da988f49d8 +DIST Spanish_linuxclient168_orig.tar.gz 132704890 SHA256 01bfd907735a69112fc1847e82269ed2a3d00760a9906dd24819269e53173f13 +DIST Spanish_linuxclient168_xp1.tar.gz 143415370 SHA256 c74faed185b87a0f187f4e1bcf873ec3810a1fd8dba026b81bcf421e1ca121d9 +DIST Spanish_linuxclient168_xp2.tar.gz 133862305 SHA256 b4d4efb0eb5d3395e42e665b518f3cec19c690b0f7f57783ecaa2e6aa8b70a5e +DIST nwn-libs-1.tar.bz2 250395 SHA256 8cf73b69f5c254125713b0bf8dcb89e3320eee5a3339df11d6d18d8381b36f31 SHA512 9a1941f232a0d2cf890660b8e383068f37cb573023c751e57e77cd803290425d9169844c9c550fa7f2a242ba7e7fe499d0f07a618acde9d2d02eab57495e948f WHIRLPOOL 740ce19b2292f961feab1d8829f1128f9e81613885fad5bab014dff7f975563265e4bfecc405b69a409472281cee213e0675696f3173ffd8f48e32a15c40b0ee diff --git a/games-rpg/nwn/files/fixinstall b/games-rpg/nwn/files/fixinstall new file mode 100755 index 000000000000..c324b61bf89e --- /dev/null +++ b/games-rpg/nwn/files/fixinstall @@ -0,0 +1,107 @@ +#!/bin/bash +# Initial version by Bioware +# Modified to match the gentoo setup +# 03/27/2003 phoen][x <phoenix@gentoo.org> + +cd GENTOO_DIR/nwn || exit 1 + +aRequiredDirs=(ambient data music override miles nwm) +aRequiredFiles=(chitin.key dialog.tlk nwmain) +aLCDirs=(ambient data dmvault hak localvault music override portraits) +aProblemFiles=() +aWritables=(nwn.ini nwnplayer.ini nwncdkey.ini saves localvault tempclient currentgame dmvault) + +printf "Checking for required files\n\n" + +for d in ${aRequiredDirs[@]} ; do + if [[ -d $d ]] ; then + printf "PASSED: $d directory exists\n" + else + printf "FAILED: $d directory missing\n" + exit 1 + fi +done + +for f in ${aRequiredFiles[@]} ; do + if [[ -f $f ]] ; then + printf "PASSED: $f exists\n" + else + printf "FAILED: $f missing\n" + exit 1 + fi +done + +printf "\nFixing case\n\n" + +if [[ -f dialog.TLK ]] ; then + mv dialog.TLK dialog.tlk +fi + +if [[ -f dialogF.TLK ]] ; then + mv dialogF.TLK dialogf.tlk +fi + +for d in ${aLCDirs[@]} ; do + if [[ -d $d ]] ; then + printf "$d\n" + cd $d + + for f in $(find . -name '*.*') ; do + lcf=$(echo $f | tr [:upper:] [:lower:]) + if [[ $f != $lcf ]] && [[ -f $f ]] ; then + mv $f $(echo $f | tr [:upper:] [:lower:]) + fi + printf . + done + + cd .. + printf "\n" + fi +done + +defIFS=$IFS +IFS='|' + +if [[ -d saves ]] ; then + cd saves + for d in $(find . -name '* - *' -type d -printf "%f|") ; do + printf "saves/$d\n" + cd "$d" + + [[ -f Portrait.tga ]] && mv Portrait.tga portrait.tga + [[ -f Screen.tga ]] && mv Screen.tga screen.tga + + cd .. + done + cd .. +fi + +IFS=$defIFS + +printf "\nChecking for problem files\n\n" + +for f in ${aProblemFiles[@]} ; do + if [[ -e $f ]] ; then + printf "WARNING: $f exists, deleting this file is recommended\n" + fi +done + +printf "\nFixing permissions\n\n" + +chown GENTOO_USER:GENTOO_GROUP GENTOO_DIR/nwn/ -R +chmod g+rwX GENTOO_DIR/nwn/ -R + +# 1.65-specific fixes to permissions +[ -e GENTOO_DIR/nwn/data/patch.bif ] && \ + chmod a-x GENTOO_DIR/nwn/data/patch.bif 2>&1 > /dev/null +chmod a-x GENTOO_DIR/nwn/nwm/Chapter1.nwm 2>&1 > /dev/null +chmod a-x GENTOO_DIR/nwn/nwm/Chapter1E.nwm 2>&1 > /dev/null +chmod a-x GENTOO_DIR/nwn/nwm/Chapter2.nwm 2>&1 > /dev/null +chmod a-x GENTOO_DIR/nwn/nwm/Chapter2E.nwm 2>&1 > /dev/null +chmod a-x GENTOO_DIR/nwn/nwm/Chapter3.nwm 2>&1 > /dev/null +chmod a-x GENTOO_DIR/nwn/nwm/Chapter4.nwm 2>&1 > /dev/null +chmod a-x GENTOO_DIR/nwn/nwm/Prelude.nwm 2>&1 > /dev/null +[ -e GENTOO_DIR/nwn/patch.key ] && \ + chmod a-x GENTOO_DIR/nwn/patch.key 2>&1 > /dev/null + +printf "\nYou are ready to run Neverwinter Nights.\n\n" diff --git a/games-rpg/nwn/metadata.xml b/games-rpg/nwn/metadata.xml new file mode 100644 index 000000000000..b725b9d02028 --- /dev/null +++ b/games-rpg/nwn/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>games</herd> + <maintainer> + <email>calchan@gentoo.org</email> + <name>Denis Dupeyron</name> + </maintainer> + <use> + <flag name="hou">Install the Hordes of the Underdark expansion pack</flag> + <flag name="sou">Installs the Shadows of Undrentide expension pack</flag> + </use> +</pkgmetadata> diff --git a/games-rpg/nwn/nwn-1.68-r5.ebuild b/games-rpg/nwn/nwn-1.68-r5.ebuild new file mode 100644 index 000000000000..769c24bdd002 --- /dev/null +++ b/games-rpg/nwn/nwn-1.68-r5.ebuild @@ -0,0 +1,249 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils games + +LANGUAGES="linguas_fr linguas_it linguas_es linguas_de linguas_en" + +MY_PV=${PV//.} +PATCH_URL_BASE=http://files.bioware.com/neverwinternights/updates/linux/${MY_PV} +PACKAGE_NAME=_linuxclient${MY_PV}_orig.tar.gz +SOU_NAME=_linuxclient${MY_PV}_xp1.tar.gz +HOU_NAME=_linuxclient${MY_PV}_xp2.tar.gz + +DESCRIPTION="Epic role-playing game set in a huge medieval fantasy world of Dungeons and Dragons" +HOMEPAGE="http://nwn.bioware.com/downloads/linuxclient.html" +SRC_URI="http://dev.gentoo.org/~calchan/distfiles/nwn-libs-1.tar.bz2 + linguas_fr? ( + !sou? ( !hou? ( ${PATCH_URL_BASE}/French${PACKAGE_NAME} ) ) + sou? ( ${PATCH_URL_BASE}/French${SOU_NAME} ) + hou? ( ${PATCH_URL_BASE}/French${HOU_NAME} ) ) + linguas_it? ( + !sou? ( !hou? ( ${PATCH_URL_BASE}/Italian${PACKAGE_NAME} ) ) + sou? ( ${PATCH_URL_BASE}/Italian${SOU_NAME} ) + hou? ( ${PATCH_URL_BASE}/Italian${HOU_NAME} ) ) + linguas_en? ( + !sou? ( !hou? ( ${PATCH_URL_BASE}/English${PACKAGE_NAME} ) ) + sou? ( ${PATCH_URL_BASE}/English${SOU_NAME} ) + hou? ( ${PATCH_URL_BASE}/English${HOU_NAME} ) ) + linguas_es? ( + !sou? ( !hou? ( ${PATCH_URL_BASE}/Spanish${PACKAGE_NAME} ) ) + sou? ( ${PATCH_URL_BASE}/Spanish${SOU_NAME} ) + hou? ( ${PATCH_URL_BASE}/Spanish${HOU_NAME} ) ) + linguas_de? ( + !sou? ( !hou? ( ${PATCH_URL_BASE}/German${PACKAGE_NAME} ) ) + sou? ( ${PATCH_URL_BASE}/German${SOU_NAME} ) + hou? ( ${PATCH_URL_BASE}/German${HOU_NAME} ) ) + !linguas_en? ( + !linguas_es? ( + !linguas_de? ( + !linguas_fr? ( + !linguas_it? ( + !sou? ( !hou? ( ${PATCH_URL_BASE}/English${PACKAGE_NAME} ) ) + sou? ( ${PATCH_URL_BASE}/English${SOU_NAME} ) + hou? ( ${PATCH_URL_BASE}/English${HOU_NAME} ) ) ) ) ) )" + +LICENSE="NWN-EULA" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="sou hou ${LANGUAGES}" +# nowin USE flag not used anymore by pkg_setup() +RESTRICT="mirror strip" + +RDEPEND=" + >=games-rpg/nwn-data-1.29-r3 + !<games-rpg/nwmouse-0.1-r1 + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + >=media-libs/libsdl-1.2.15-r5[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] +" +DEPEND="app-arch/unzip" + +S=${WORKDIR}/nwn + +dir=${GAMES_PREFIX_OPT}/${PN} +Ddir=${D}/${dir} + +die_from_busted_nwn-data() { + local use=$* + ewarn "You must emerge games-rpg/nwn-data with USE=$use. You can fix this" + ewarn "by doing the following:" + echo + elog "mkdir -p /etc/portage" + elog "echo 'games-rpg/nwn-data $use' >> /etc/portage/package.use" + elog "emerge --oneshot games-rpg/nwn-data" + die "nwn-data requires USE=$use" +} + +die_from_busted_linguas_nwn-data() { + local use=$* + ewarn "You must emerge games-rpg/nwn-data with LINGUAS=${use/linguas_/}." + ewarn "You can fix this by doing the following:" + echo + elog "mkdir -p /etc/portage" + elog "echo 'games-rpg/nwn-data $use' >> /etc/portage/package.use" + elog "emerge --oneshot games-rpg/nwn-data" + die "nwn-data requires LINGUAS='$use'" +} + +pkg_setup() { + games_pkg_setup + if use sou + then + built_with_use games-rpg/nwn-data sou || die_from_busted_nwn-data sou + fi + if use hou + then + built_with_use games-rpg/nwn-data hou || die_from_busted_nwn-data hou + fi + + strip-linguas de en es fr it +} + +src_unpack() { + mkdir -p "${S}" + cd "${S}" + mkdir -p .metadata + for a in ${A} + do + if [ -z "${a/*libs*}" ] + then + unpack "${a}" || die "unpack ${a}" + fi + + if [ -z "${a/*orig*}" ] + then + currentlocale="" + if [ -z "${a/*German*/}" ] + then + currentlocale=de + elif [ -z "${a/*English*/}" ] + then + currentlocale=en + elif [ -z "${a/*Spanish*/}" ] + then + currentlocale=es + elif [ -z "${a/*Italian*/}" ] + then + currentlocale=it + elif [ -z "${a/*French*/}" ] + then + currentlocale=fr + fi + if [ -n "$currentlocale" ] + then + mkdir -p "${currentlocale}" + cd "${currentlocale}" + unpack "${a}" || die "unpack ${a}" + cd .. + fi + fi + done + use sou && ( + for a in ${A} + do + if [ -z "${a/*$SOU_NAME}" ] + then + currentlocale="" + if [ -z "${a/*German*/}" ] + then + currentlocale=de + elif [ -z "${a/*English*/}" ] + then + currentlocale=en + elif [ -z "${a/*Spanish*/}" ] + then + currentlocale=es + elif [ -z "${a/*Italian*/}" ] + then + currentlocale=it + elif [ -z "${a/*French*/}" ] + then + currentlocale=fr + fi + if [ -n "$currentlocale" ] + then + mkdir -p "${currentlocale}" + cd "${currentlocale}" + rm -f data/patch.bif patch.key + unpack "${a}" || die "unpack ${a}" + cd .. + fi + fi + done ) + use hou && ( + for a in ${A} + do + if [ -z "${a/*$HOU_NAME}" ] + then + currentlocale="" + if [ -z "${a/*German*/}" ] + then + currentlocale=de + elif [ -z "${a/*English*/}" ] + then + currentlocale=en + elif [ -z "${a/*Spanish*/}" ] + then + currentlocale=es + elif [ -z "${a/*Italian*/}" ] + then + currentlocale=it + elif [ -z "${a/*French*/}" ] + then + currentlocale=fr + fi + if [ -n "$currentlocale" ] + then + mkdir -p "${currentlocale}" + cd "${currentlocale}" + rm -f data/patch.bif patch.key data/xp1patch.bif xp1patch.key override/* + unpack "${a}" || die "unpack ${a}" + cd .. + fi + fi + done ) +} + +src_install() { + dodir "${dir}" + exeinto "${dir}" + doexe "${FILESDIR}"/fixinstall + sed -i \ + -e "s:GENTOO_USER:${GAMES_USER}:" \ + -e "s:GENTOO_GROUP:${GAMES_GROUP}:" \ + -e "s:GENTOO_DIR:${GAMES_PREFIX_OPT}:" \ + -e "s:override miles nwm:miles:" \ + -e "s:chitin.key dialog.tlk nwmain:chitin.key:" \ + -e "s:^chmod a-x:#chmod a-x:" \ + "${Ddir}"/fixinstall || die "sed" + if use hou || use sou + then + sed -i \ + -e "s:chitin.key patch.key:chitin.key:" \ + "${Ddir}"/fixinstall || die "sed" + fi + fperms ug+x "${dir}"/fixinstall || die "perms" + mv "${S}"/* "${Ddir}" + mv "${S}"/.metadata "${Ddir}" + games_make_wrapper nwn ./nwn "${dir}" "${dir}" + make_desktop_entry nwn "Neverwinter Nights" + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + elog "The included custom libSDL is patched to enable the following key sequences:" + elog " * Left-Alt & Enter - Iconify Window" + elog " * Right-Alt & Enter - Toggle between FullScreen/Windowed" + elog " * Left-Control & G - Disable the mouse grab that keeps the cursor inside the NWN window" + elog " * Right-Control & G - Re-enable the mouse grab to keep the cursor inside the NWN window" + elog + elog "The NWN linux client is now installed." + elog "Proceed with the following step in order to get it working:" + elog "Run ${dir}/fixinstall as root" +} diff --git a/games-rpg/nwn/nwn-1.68-r6.ebuild b/games-rpg/nwn/nwn-1.68-r6.ebuild new file mode 100644 index 000000000000..8232df43ee3a --- /dev/null +++ b/games-rpg/nwn/nwn-1.68-r6.ebuild @@ -0,0 +1,236 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils games + +LANGUAGES="linguas_fr linguas_it linguas_es linguas_de linguas_en" + +MY_PV=${PV//.} +PATCH_URL_BASE=http://files.bioware.com/neverwinternights/updates/linux/${MY_PV} +PACKAGE_NAME=_linuxclient${MY_PV}_orig.tar.gz +SOU_NAME=_linuxclient${MY_PV}_xp1.tar.gz +HOU_NAME=_linuxclient${MY_PV}_xp2.tar.gz + +DESCRIPTION="Epic role-playing game set in a huge medieval fantasy world of Dungeons and Dragons" +HOMEPAGE="http://nwn.bioware.com/downloads/linuxclient.html" +SRC_URI="http://dev.gentoo.org/~calchan/distfiles/nwn-libs-1.tar.bz2 + linguas_fr? ( + !sou? ( !hou? ( ${PATCH_URL_BASE}/French${PACKAGE_NAME} ) ) + sou? ( ${PATCH_URL_BASE}/French${SOU_NAME} ) + hou? ( ${PATCH_URL_BASE}/French${HOU_NAME} ) ) + linguas_it? ( + !sou? ( !hou? ( ${PATCH_URL_BASE}/Italian${PACKAGE_NAME} ) ) + sou? ( ${PATCH_URL_BASE}/Italian${SOU_NAME} ) + hou? ( ${PATCH_URL_BASE}/Italian${HOU_NAME} ) ) + linguas_en? ( + !sou? ( !hou? ( ${PATCH_URL_BASE}/English${PACKAGE_NAME} ) ) + sou? ( ${PATCH_URL_BASE}/English${SOU_NAME} ) + hou? ( ${PATCH_URL_BASE}/English${HOU_NAME} ) ) + linguas_es? ( + !sou? ( !hou? ( ${PATCH_URL_BASE}/Spanish${PACKAGE_NAME} ) ) + sou? ( ${PATCH_URL_BASE}/Spanish${SOU_NAME} ) + hou? ( ${PATCH_URL_BASE}/Spanish${HOU_NAME} ) ) + linguas_de? ( + !sou? ( !hou? ( ${PATCH_URL_BASE}/German${PACKAGE_NAME} ) ) + sou? ( ${PATCH_URL_BASE}/German${SOU_NAME} ) + hou? ( ${PATCH_URL_BASE}/German${HOU_NAME} ) ) + !linguas_en? ( + !linguas_es? ( + !linguas_de? ( + !linguas_fr? ( + !linguas_it? ( + !sou? ( !hou? ( ${PATCH_URL_BASE}/English${PACKAGE_NAME} ) ) + sou? ( ${PATCH_URL_BASE}/English${SOU_NAME} ) + hou? ( ${PATCH_URL_BASE}/English${HOU_NAME} ) ) ) ) ) )" + +LICENSE="NWN-EULA" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="sou hou ${LANGUAGES}" +RESTRICT="mirror strip" + +RDEPEND=" + >=games-rpg/nwn-data-1.29-r3 + !<games-rpg/nwmouse-0.1-r1 + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + >=media-libs/libsdl-1.2.15-r5[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] +" +DEPEND="app-arch/unzip" + +S=${WORKDIR}/nwn + +dir=${GAMES_PREFIX_OPT}/${PN} +Ddir=${D}/${dir} + +die_from_busted_nwn-data() { + local use=$* + ewarn "You must emerge games-rpg/nwn-data with USE=$use. You can fix this" + ewarn "by doing the following:" + echo + elog "mkdir -p /etc/portage" + elog "echo 'games-rpg/nwn-data $use' >> /etc/portage/package.use" + elog "emerge --oneshot games-rpg/nwn-data" + die "nwn-data requires USE=$use" +} + +pkg_setup() { + games_pkg_setup + if use sou + then + has_version "games-rpg/nwn-data[sou]" || die_from_busted_nwn-data sou + fi + if use hou + then + has_version "games-rpg/nwn-data[hou]" || die_from_busted_nwn-data hou + fi + + strip-linguas de en es fr it +} + +src_unpack() { + mkdir -p "${S}" + cd "${S}" + mkdir -p .metadata + for a in ${A} + do + if [ -z "${a/*libs*}" ] + then + unpack "${a}" + fi + + if [ -z "${a/*orig*}" ] + then + currentlocale="" + if [ -z "${a/*German*/}" ] + then + currentlocale=de + elif [ -z "${a/*English*/}" ] + then + currentlocale=en + elif [ -z "${a/*Spanish*/}" ] + then + currentlocale=es + elif [ -z "${a/*Italian*/}" ] + then + currentlocale=it + elif [ -z "${a/*French*/}" ] + then + currentlocale=fr + fi + if [ -n "$currentlocale" ] + then + mkdir -p "${currentlocale}" + cd "${currentlocale}" + unpack "${a}" + cd .. + fi + fi + done + use sou && ( + for a in ${A} + do + if [ -z "${a/*$SOU_NAME}" ] + then + currentlocale="" + if [ -z "${a/*German*/}" ] + then + currentlocale=de + elif [ -z "${a/*English*/}" ] + then + currentlocale=en + elif [ -z "${a/*Spanish*/}" ] + then + currentlocale=es + elif [ -z "${a/*Italian*/}" ] + then + currentlocale=it + elif [ -z "${a/*French*/}" ] + then + currentlocale=fr + fi + if [ -n "$currentlocale" ] + then + mkdir -p "${currentlocale}" + cd "${currentlocale}" + rm -f data/patch.bif patch.key + unpack "${a}" + cd .. + fi + fi + done ) + use hou && ( + for a in ${A} + do + if [ -z "${a/*$HOU_NAME}" ] + then + currentlocale="" + if [ -z "${a/*German*/}" ] + then + currentlocale=de + elif [ -z "${a/*English*/}" ] + then + currentlocale=en + elif [ -z "${a/*Spanish*/}" ] + then + currentlocale=es + elif [ -z "${a/*Italian*/}" ] + then + currentlocale=it + elif [ -z "${a/*French*/}" ] + then + currentlocale=fr + fi + if [ -n "$currentlocale" ] + then + mkdir -p "${currentlocale}" + cd "${currentlocale}" + rm -f data/patch.bif patch.key data/xp1patch.bif xp1patch.key override/* + unpack "${a}" + cd .. + fi + fi + done ) +} + +src_install() { + dodir "${dir}" + exeinto "${dir}" + doexe "${FILESDIR}"/fixinstall + sed -i \ + -e "s:GENTOO_USER:${GAMES_USER}:" \ + -e "s:GENTOO_GROUP:${GAMES_GROUP}:" \ + -e "s:GENTOO_DIR:${GAMES_PREFIX_OPT}:" \ + -e "s:override miles nwm:miles:" \ + -e "s:chitin.key dialog.tlk nwmain:chitin.key:" \ + -e "s:^chmod a-x:#chmod a-x:" \ + "${Ddir}"/fixinstall || die + if use hou || use sou + then + sed -i \ + -e "s:chitin.key patch.key:chitin.key:" \ + "${Ddir}"/fixinstall || die + fi + fperms ug+x "${dir}"/fixinstall || die + mv "${S}"/* "${Ddir}" + mv "${S}"/.metadata "${Ddir}" + games_make_wrapper nwn ./nwn "${dir}" "${dir}" + make_desktop_entry nwn "Neverwinter Nights" + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + elog "The included custom libSDL is patched to enable the following key sequences:" + elog " * Left-Alt & Enter - Iconify Window" + elog " * Right-Alt & Enter - Toggle between FullScreen/Windowed" + elog " * Left-Control & G - Disable the mouse grab that keeps the cursor inside the NWN window" + elog " * Right-Control & G - Re-enable the mouse grab to keep the cursor inside the NWN window" + elog + elog "The NWN linux client is now installed." + elog "Proceed with the following step in order to get it working:" + elog "Run ${dir}/fixinstall as root" +} diff --git a/games-rpg/nwn/nwn-1.69-r1.ebuild b/games-rpg/nwn/nwn-1.69-r1.ebuild new file mode 100644 index 000000000000..91b26c804306 --- /dev/null +++ b/games-rpg/nwn/nwn-1.69-r1.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils games + +MY_PV=${PV//.} +PATCH_URL_BASE=http://files.bioware.com/neverwinternights/updates/linux/${MY_PV}/English_linuxclient${MY_PV}_ + +DESCRIPTION="role-playing game set in a huge medieval fantasy world of Dungeons and Dragons" +HOMEPAGE="http://nwn.bioware.com/downloads/linuxclient.html" +SRC_URI="http://dev.gentoo.org/~calchan/distfiles/nwn-libs-1.tar.bz2 + !sou? ( !hou? ( ${PATCH_URL_BASE}orig.tar.gz ) ) + sou? ( !hou? ( ${PATCH_URL_BASE}xp1.tar.gz ) ) + hou? ( ${PATCH_URL_BASE}xp2.tar.gz )" + +LICENSE="NWN-EULA" +SLOT="0" +KEYWORDS="-* amd64 x86" +IUSE="sou hou" +RESTRICT="mirror strip" + +QA_FLAGS_IGNORED="/opt/nwn/en/nwserver /opt/nwn/en/nwmain /opt/nwn/lib/libSDL-1.2.so.0.11.2 /opt/nwn/lib/libelf.so.1" + +NWN_DATA=">=games-rpg/nwn-data-1.29-r3[sou?,hou?" + +# ${P} requires games-rpg/nwn-data emerged with at least LINGUAS=en or none at all +RDEPEND=" + || ( + ${NWN_DATA},linguas_en] + ${NWN_DATA},-linguas_fr,-linguas_de,-linguas_es,-linguas_it] + ) + !<games-rpg/nwmouse-0.1-r1 + x11-libs/libXext[abi_x86_32(-)] + x11-libs/libX11[abi_x86_32(-)] + >=media-libs/libsdl-1.2.15-r5[abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] +" +DEPEND="" + +S=${WORKDIR}/nwn + +dir=${GAMES_PREFIX_OPT}/${PN} +Ddir=${D}/${dir} + +src_unpack() { + mkdir -p "${S}"/en + cd "${S}"/en + unpack ${A} + mv lib .. +} + +src_install() { + exeinto "${dir}" + doexe "${FILESDIR}"/fixinstall + sed -i \ + -e "s:GENTOO_USER:${GAMES_USER}:" \ + -e "s:GENTOO_GROUP:${GAMES_GROUP}:" \ + -e "s:GENTOO_DIR:${GAMES_PREFIX_OPT}:" \ + -e "s:override miles nwm:miles:" \ + -e "s:chitin.key dialog.tlk nwmain:chitin.key:" \ + -e "s:^chmod a-x:#chmod a-x:" \ + "${Ddir}"/fixinstall || die "sed" + if use hou || use sou + then + sed -i \ + -e "s:chitin.key patch.key:chitin.key:" \ + "${Ddir}"/fixinstall || die "sed" + fi + fperms ug+x "${dir}"/fixinstall || die "perms" + mv "${S}"/* "${Ddir}" + games_make_wrapper nwn ./nwn "${dir}" "${dir}" + make_desktop_entry nwn "Neverwinter Nights" + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + elog "The included custom libSDL is patched to enable the following key sequences:" + elog " * Left-Alt & Enter - Iconify Window" + elog " * Right-Alt & Enter - Toggle between FullScreen/Windowed" + elog " * Left-Control & G - Disable the mouse grab that keeps the cursor inside the NWN window" + elog " * Right-Control & G - Re-enable the mouse grab to keep the cursor inside the NWN window" + elog + elog "The NWN linux client is now installed." + elog "Proceed with the following step in order to get it working:" + elog "Run ${dir}/fixinstall as root" + echo + ewarn "This version supports only english, see http://nwn.bioware.com/support/patch.html" + ewarn "If you were playing with a different language you may want to backup your ~/.nwn and do:" + ewarn " mv ~/.nwn/<language> ~/.nwn/en" + ewarn "If it does not work, try removing ~/.nwn, start nwn then quit, and re-import all you" + ewarn "need (saves, etc...) in ~/.nwn/en, but please do not file a bug." +} |