Fixed bug #210562, thanks to Anton Romanov.
authorDenis Dupeyron <calchan@gentoo.org>
Wed, 20 Feb 2008 11:41:59 +0000 (11:41 +0000)
committerDenis Dupeyron <calchan@gentoo.org>
Wed, 20 Feb 2008 11:41:59 +0000 (11:41 +0000)
Package-Manager: portage-2.1.4.4

games-rpg/nwmouse/ChangeLog
games-rpg/nwmouse/nwmouse-0.1-r1.ebuild [new file with mode: 0644]
games-rpg/nwmovies/ChangeLog
games-rpg/nwmovies/nwmovies-0.1.ebuild
games-rpg/nwn/ChangeLog
games-rpg/nwn/nwn-1.68-r4.ebuild [new file with mode: 0644]

index 44fc564edd5b441dca35d9a4d9183696c59daa59..ea9b24a20ea266c989db0ec9bb4288aeed0ee37d 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for games-rpg/nwmouse
-# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-rpg/nwmouse/ChangeLog,v 1.6 2007/08/27 20:24:38 wolf31o2 Exp $
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/games-rpg/nwmouse/ChangeLog,v 1.7 2008/02/20 11:39:39 calchan Exp $
+
+*nwmouse-0.1-r1 (20 Feb 2008)
+
+  20 Feb 2008; Denis Dupeyron <calchan@gentoo.org> +nwmouse-0.1-r1.ebuild:
+  Fixed bug #210562, thanks to Anton Romanov.
 
   27 Aug 2007; Chris Gianelloni <wolf31o2@gentoo.org> nwmouse-0.1.ebuild:
   Stable on amd64/x86 for bug #190150.
diff --git a/games-rpg/nwmouse/nwmouse-0.1-r1.ebuild b/games-rpg/nwmouse/nwmouse-0.1-r1.ebuild
new file mode 100644 (file)
index 0000000..da45c34
--- /dev/null
@@ -0,0 +1,71 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-rpg/nwmouse/nwmouse-0.1-r1.ebuild,v 1.1 2008/02/20 11:39:39 calchan Exp $
+
+inherit games
+
+DESCRIPTION="hardware mouse cursors for Neverwinter Nights"
+HOMEPAGE="http://home.woh.rr.com/nwmovies/nwmouse/"
+SRC_URI="http://home.woh.rr.com/nwmovies/cursors.tar.gz
+       http://dev.gentoo.org/~wolf31o2/sources/dump/${P}.tar.bz2"
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+# I've looked at this stuff, and I can't find the problem myself, so I'm just
+# removing the warnings.  If someone feels like finding the patch, that would be
+# great and I'll gladly include it.
+QA_EXECSTACK="${GAMES_PREFIX_OPT:1}/nwn/nwmouse.so"
+QA_TEXTRELS="${GAMES_PREFIX_OPT:1}/nwn/nwmouse.so"
+IUSE=""
+RESTRICT="strip mirror"
+
+RDEPEND="sys-libs/glibc
+       games-rpg/nwn-data
+       amd64? (
+               app-emulation/emul-linux-x86-xlibs
+               app-emulation/emul-linux-x86-sdl )
+       >=games-rpg/nwn-1.68-r4
+       x86? (
+               x11-libs/libXcursor
+               x11-libs/libXext
+               x11-libs/libX11
+               media-libs/libsdl )"
+
+S="${WORKDIR}/${PN}"
+dir="${GAMES_PREFIX_OPT}/nwn"
+
+pkg_setup() {
+       games_pkg_setup
+       elog "This package is pre-compiled so it will work on both x86 and amd64."
+}
+
+src_unpack() {
+       unpack ${P}.tar.bz2 || die
+       mkdir "${S}"/cursors || die
+       cd "${S}"/cursors || die
+       unpack cursors.tar.gz || die
+}
+
+src_install() {
+       exeinto "${dir}"
+       doexe nwmouse.so || die
+       # libelf moved to games-rpg/nwn, see bug #210562
+       #exeinto "${dir}/lib"
+       #doexe libelf/libelf.so.1
+       exeinto "${dir}/nwmouse/libdis"
+       doexe libdis/libdisasm.so || die
+       insinto "${dir}/nwmouse/cursors"
+       doins cursors/* || die
+       prepgamesdirs
+}
+
+pkg_postinst() {
+       games_pkg_postinst
+       elog "When starting nwn the next time, nwmouse will scan the nwmain"
+       elog "binary for its hooks, store this information in:"
+       elog "  ${dir}/nwmouse.ini"
+       elog "and exit. This is normal."
+       elog
+       elog "You will have to remove this file whenever you update nwn."
+}
index befe69ab63ad630ebdc0b6c69daeb1d4c23a2f40..93b80eb87608758a1ca908b1611a9a20b1f2fe91 100644 (file)
@@ -1,6 +1,9 @@
 # ChangeLog for games-rpg/nwmovies
 # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-rpg/nwmovies/ChangeLog,v 1.1 2008/02/17 00:55:47 calchan Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-rpg/nwmovies/ChangeLog,v 1.2 2008/02/20 11:41:59 calchan Exp $
+
+  20 Feb 2008; Denis Dupeyron <calchan@gentoo.org> nwmovies-0.1.ebuild:
+  Fixed bug #210562, thanks to Anton Romanov.
 
 *nwmovies-0.1 (16 Feb 2008)
 
index 0b7343fbb0c7be1cd95ec7ed83eff49274aa96e3..5f581f058d2108c614b1edb4bc19e83ac14b971a 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/games-rpg/nwmovies/nwmovies-0.1.ebuild,v 1.1 2008/02/17 00:55:47 calchan Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-rpg/nwmovies/nwmovies-0.1.ebuild,v 1.2 2008/02/20 11:41:59 calchan Exp $
 
 inherit games
 
@@ -15,7 +15,7 @@ IUSE=""
 
 DEPEND=">=games-rpg/nwn-data-1.29-r3"
 RDEPEND="${DEPEND}
-       >=games-rpg/nwn-1.68-r3
+       >=games-rpg/nwn-1.68-r4
        media-video/binkplayer"
 
 S="${WORKDIR}"
index c4aa79dd2fb589bf506f96752494d5a94a85a0e3..680f421af4009f9c059643b8e2dd6af496120324 100644 (file)
@@ -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 (file)
index 0000000..957ff28
--- /dev/null
@@ -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"
+}