diff options
author | Denis Dupeyron <calchan@gentoo.org> | 2008-02-20 11:41:59 +0000 |
---|---|---|
committer | Denis Dupeyron <calchan@gentoo.org> | 2008-02-20 11:41:59 +0000 |
commit | e543056d2cef27643b9feeae575b71722fb8d9bb (patch) | |
tree | 35642661036c624922eafcd9f8bd898f0a94a591 /games-rpg/nwn | |
parent | alpha/ia64 stable wrt #210277 (diff) | |
download | historical-e543056d2cef27643b9feeae575b71722fb8d9bb.tar.gz historical-e543056d2cef27643b9feeae575b71722fb8d9bb.tar.bz2 historical-e543056d2cef27643b9feeae575b71722fb8d9bb.zip |
Fixed bug #210562, thanks to Anton Romanov.
Package-Manager: portage-2.1.4.4
Diffstat (limited to 'games-rpg/nwn')
-rw-r--r-- | games-rpg/nwn/ChangeLog | 7 | ||||
-rw-r--r-- | games-rpg/nwn/nwn-1.68-r4.ebuild | 258 |
2 files changed, 264 insertions, 1 deletions
diff --git a/games-rpg/nwn/ChangeLog b/games-rpg/nwn/ChangeLog index c4aa79dd2fb5..680f421af400 100644 --- a/games-rpg/nwn/ChangeLog +++ b/games-rpg/nwn/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for games-rpg/nwn # Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/games-rpg/nwn/ChangeLog,v 1.63 2008/02/16 23:33:01 calchan Exp $ +# $Header: /var/cvsroot/gentoo-x86/games-rpg/nwn/ChangeLog,v 1.64 2008/02/20 11:34:41 calchan Exp $ + +*nwn-1.68-r4 (20 Feb 2008) + + 20 Feb 2008; Denis Dupeyron <calchan@gentoo.org> +nwn-1.68-r4.ebuild: + Fixed bug #210562, thanks to Anton Romanov. 16 Feb 2008; Denis Dupeyron <calchan@gentoo.org> -nwn-1.68-r2.ebuild: Removed old experimental ebuild. diff --git a/games-rpg/nwn/nwn-1.68-r4.ebuild b/games-rpg/nwn/nwn-1.68-r4.ebuild new file mode 100644 index 000000000000..957ff286b013 --- /dev/null +++ b/games-rpg/nwn/nwn-1.68-r4.ebuild @@ -0,0 +1,258 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-rpg/nwn/nwn-1.68-r4.ebuild,v 1.1 2008/02/20 11:34:41 calchan Exp $ + +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="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-libsdl-1.2.13.tar.bz2 + http://dev.gentoo.org/~calchan/distfiles/nwn-libelf-0.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 + virtual/opengl + >=media-libs/libsdl-1.2.5 + !<games-rpg/nwmouse-0.1-r1 + x86? ( + =virtual/libstdc++-3.3 + x11-libs/libXext + x11-libs/libX11 ) + amd64? ( + app-emulation/emul-linux-x86-baselibs + app-emulation/emul-linux-x86-compat + app-emulation/emul-linux-x86-xlibs )" +DEPEND="app-arch/unzip" + +S=${WORKDIR}/nwn + +GAMES_LICENSE_CHECK="yes" +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/*libsdl*}" ] + then + unpack "${a}" || die "unpack ${a}" + fi + + if [ -z "${a/*libelf*}" ] + 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" +} |