Bug 94764 - Ebuild for nexuiz
|
Bug#:
94764
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: x86
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: enhancement
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: games@gentoo.org
|
Reported By: damien.thebault@gmail.com
|
|
Component: Games
|
|
|
URL:
|
|
Summary: Ebuild for nexuiz
|
|
Keywords: EBUILD
|
|
Status Whiteboard:
|
|
Opened: 2005-06-01 12:56 0000
|
Nexuiz is a nice FPS game under the GPL-2 license.
http://www.nexuiz.com
Reproducible: Always
Steps to Reproduce:
*** Bug 94765 has been marked as a duplicate of this bug. ***
Heres some info from their forums for building it:
unzip Nexuiz.zip
cd Nexuiz/sources/
unzip nexuizenginesourceyyyymmdd.zip
cd darkplaces/
make sdl-release
cp darkplaces-sdl ../../
cd ../..
./darkplaces-sdl -game nexuiz
Damien: please change your attachment to plain text
needs to either be renamed upstream with a version of mirrored on the gentoo
mirrors with a version. "nexuiz.zip" isn't good enough.
Anything happening here? This game is really great, so put the file in portage
if you want it named with a version.
The notorious sound problem with all (at least the older) "id games".
http://www.nexuiz.com/forums/index.php?showtopic=253
Is there way to circumvent this problem, maybe by modifying the start script
(and setting its suid bit???? any better ideas?).
At least I can confirm this problem here:
/dev/dsp: Input/output error
Could not mmap /dev/dsp
S_Startup: SNDDMA_Init failed.
--------------
Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130,
glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r4 i686)
=================================================================
System uname: 2.6.11-gentoo-r4 i686 AMD Athlon(tm) XP 2600+
Gentoo Base System version 1.4.16
Python: dev-lang/python-2.3.5 [2.3.5 (#1, Apr 28 2005, 23:57:12)]
dev-lang/python: 2.3.5
sys-apps/sandbox: [Not Present]
sys-devel/autoconf: 2.59-r6, 2.13
sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5
sys-devel/binutils: 2.15.92.0.2-r10
sys-devel/libtool: 1.5.16
virtual/os-headers: 2.6.8.1-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="no"
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/
/usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/
ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/
http://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LINGUAS="en de"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dfx X Xaw3d aalib acpi aim alib alsa apache2 apm audiofile avi avifile
bash-completion berkdb bitmap-fonts bonobo caps crypt cups curl dedicated dga
directfb divx4linux dvd emacs emacs-w3 emboss encode esd fam fbcon fdftk fftw
flac foomaticdb fortran gb gd gdbm gif gnome gpm gtk gtk2 gtkhtml guile icq
imagemagick imap imlib ipv6 java jikes joystick jpeg kcpd kde leim lesstif
libg++ libwww mad maildir mbox mcal memlimit mikmod mime mmx motif mozilla mp3
mpeg msn ncurses nls nocd offensive ogg oggvorbis opengl oscar oss pam pdflib
perl plotutils png ppds python qt quicktime readline samba sdl slang speex spell
sse ssl svg svga tcpd tetex tiff truetype truetype-fonts type1-fonts unicode usb
videos vorbis wmf wxwindows xine xml xml2 xmms xosd xv xvid zlib linguas_en
linguas_de userland_GNU kernel_linux elibc_glibc"
Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS
@ #11 (Sound)
I just noticed a solution might be (at least for alsa people) to uncomment the
alsa configuration lines in darkplaces/makefile.inc where the variables for are
defined.
This look like having to emulate a whole configure script.
Sadly, I've no experience with writing beautiful ebuilds... :-(
Created an attachment (id=60719) [details]
Patch to enable alsa
I used this patch with a modification to the ebuild (and USE flag alsa):
--- nexuiz-1.0.ebuild.orig 2005-06-06 14:59:23.000000000 +0200
+++ nexuiz-1.0.ebuild 2005-06-06 14:59:36.000000000 +0200
@@ -11,9 +11,10 @@
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86 ~amd64"
-IUSE="sdl"
+IUSE="sdl alsa"
RDEPEND="sdl? ( media-libs/libsdl )
+ alsa? ( media-libs/alsa-lib)
virtual/opengl"
src_unpack() {
@@ -24,6 +25,9 @@
unzip nexuizenginesource20050530.zip 1>/dev/null
cd "darkplaces"
epatch $FILESDIR/compile-patch.diff
+ if use alsa; then
+ epatch $FILESDIR/alsa-patch.diff
+ fi
}
src_compile() {
Created an attachment (id=61110) [details]
games-fps/nexuiz-1.0
minor tweaked ebuild. now applies both patches (with better naming), has
dependecy on unzip and also has an ${S}. still: upstream needs to rename source
package.
This isn't a forum. Don't bump bug requests, it is rude. We are all
volunteers
here, so we'll get to this as time and interst permits.
Check out the games bug FAQ at http://www.gentoo.org/proj/en/desktop/games
Thanks
Ok. I just couldn't find out what is keeping this from going into portage. The
filename can't really be a problem. I would add it myself if I had the permissions.
Also, my experience here is that bugs do indeed get forgotten.
Yes, the filename is actually a big deal. Besides that, none of us has taken
interest in investigating this ebuild. No amount of bumping will change that,
as it takes a developer to add the ebuild. Also, bugs do NOT get forgotten.
They simply do not get worked. Every bug that has ever been submitted to our
bugzilla is *still there* and still shows up under the searches, so they are
definitely not forgotten. Please refrain from bumping bus, as it does nothign
more than add noise for us developers.
As for nexuiz, I plan on looking into this ebuild, but have been having issues
with my primary development machine, which has slowed my ability to work games
bugs significantly. Have some patience and it will get added eventually. Until
that point, there's always a portage overlay.
Notwithstanding I know that this is not the right place for discussing things,
but bugs do get forgotten. That they still show up in bugzilla doesnt change
this. That this bugzilla-system is full of bugs which are obsolete for months
because they got fixed elsewhere as a side-effect is a fact which adds to this
issue...
From my point of view, this bugzilla system needs a few guys who clean up -
regularly. Where clean up may be: delete obsolete bugs, and work on forgotten
ones. Or those who dont seem to be that important to the respective developer
and as such "sleep" for ages - which can be quite frustrating for users, which
might need this fixed.
The binary installer ebuild wouldn't hurt.
i'm not sure that renaming is needed cause a new version has been released as a
patch.... (patch1.zip)
so it seems that they would leave nexiuz.zip utouched :)
Gentoo may require that distfile filenames have version numbers embedded in
them, or that they be unique. Anyway, the point is that the "nexuiz.zip"
filename is not a show stopper; its something we can fix within Gentoo.
the main problem (as i see it) with 'nexuiz.zip' is that if they release new
version with the same name 'nexuiz.zip' and replace older 'nexuiz.zip' user will
get 'digest verification failed'
but as for now they release new version as a patch with version number .... if
they continue to release next versions in the same manner thish should be fine
Created an attachment (id=62327) [details]
better ebuild : games-fps/nexuiz/nexuiz-1.0.ebuild
* Alsa added in IUSE and RDEPEND
* Added unzip in DEPEND and using S=${WORKDIR}/Nexuiz (since my previous file,
the file named "games-fps/nexuiz-1.0" was already like this
* Added some braces (for example around CFLAGS, GAMES_USER and GAMES_GROUP)
* Added "dedicated" USE flag
> Also, I've posted overlay instructions[2] in the forums for the impatient. They
> work minus the ALSA patch error noted above, so any help with that would be
> appreciated.
I followed the instructions and I was not able to reproduce the error. It would
be nice to have the "reject file".
Maybe they uploaded another zip-file "nexuiz.zip" which is already patched?
Here is the md5sum of my nexuiz.zip file :
43fbe6322931460b69ff257df1eb0bee
Yes, nexuiz.zip has changed. The original was 161541758 bytes, and the current
is 166167169 bytes.
...and Tor just proved why we don't work with non-versioned packages.
John, that is an absolutely brilliant idea. Anybody want to code up a new
ebuild using the liflg installer as the distfile instead? I'll gladly add that
to portage as their versioning (along with packaging) are always quite sane.
Created an attachment (id=62372) [details]
(binary) nexuiz ebuild using loki installer file
This ebuild is using the loki installer file (nexuiz_1.0-english.run) (not the
script, juste the file and its contents)
There some differences with the previous ebuilds :
* the game is not compiled since the sources are not included
* unpacking the data is very long... and it was not needed to compress it :( :
the size is the same because the .pk3 is already compressed (zip) so the
benefit is small or zero in size, but it takes longer to get the file.
* a menu entry is created with the included .xpm file
* the dependencies list has been modified (with the help of the lib files
included) (but I don't know wich version of every library is needed)
Please rename this ebuild:
http://bugs.gentoo.org/attachment.cgi?id=62372
to nexuiz-bin.
Again, the upstream project's bad habit of not embedding versioning info into
their distfile file names is fixable by Gentoo. If one of the games developers
would kindly download the distfile, rename it using today's date, and upload it
to the mirrors; I believe we would be all set on the compiled-from-source ebuild.
By the way, the reason for my earlier problems, as Damien deftly surmized, was
that the latest Nexuiz distfile already has the ALSA patch applied.
Version 1.1 has been released.
Does the ebuild work with it as well?
Created an attachment (id=62661) [details]
nexuiz-1.1.ebuild
Comment #33 From Tim Heinrich
> Version 1.1 has been released.
> Does the ebuild work with it as well?
*It is not needed to unpack the sources anymore...
*No patch is needed anymore for alsa or compilation
And this time, the file has a version number...
Created an attachment (id=62732) [details]
games-fps/nexuiz-1.1
Looked at the 1.1 ebuild, found it was ugly, reworked parts of it
a) no longer install to opt, since it isn't a binary
b) add a few "|| die" messages
c) use "mirror://sourceforge/..." and use the actual version number (no more
hardcoding)
d) add prepgamesdirs and stop playing around with chmod/chown calls
e) add a better description
No idea if I missed something I changed. Now we need Mr. Bones to tell me what
I did wrong this time and it will be ready for inclusion ;)
Works great here, but its missing an icon in the gnome/kde menu
Created an attachment (id=62945) [details]
Create a desktop entry
This patch creates a desktop entry under the "Games" menu.
If the "sdl" use is enabled, nexuiz-sdl is used, else nexuiz-glx is used.
(but we may create 2 entries... or always nexuiz-glx)
Hi, The icon patch works great, my gnome menu got an icon now :-)
So it must be ready for portage now :-)
seems to be a 1.2 patch now
Yes
But there is no loki installer.
We should choose to use the installer or the original file.
Since version 1.1 they release their files with the version number, so it may be
good to create ebuilds with it.
But we don't really know if they could upload another version (minor tweaks)
with the same name, overwriting the previous one and breaking the ebuild.
I'll mail the project leader to know.
Created an attachment (id=66855) [details]
games-fps/nexuiz-1.2
Here is the ebuild of nexuiz 1.2.
The included darkplaces sources (in "sources" dir) are not working (creating a
server don't work for me) so the (first found) zip file is extracted to get
working sources.
If something don't work, please tell me if the digest is the same than mine :
MD5 57559802ab6aa702e20c8171aa3ddf18 nexuiz12.zip 172312069
I get reply from the Team Leader and the forum...
The files don't change since they are officially released
Comments on the latest ebuild:
needs to depend on unzip
sort KEYWORDS
no quotes for S assignment
do the sed in src_unpack (and add error checking)
do the epatch in src_unpack
inherit eutils for epatch
use the user's CFLAGS, don't hard-code any.
use emake in src_compile
take out "${GAMES_DATADIR}/${PN}/data/nexuiz.ico Game" for the
make_desktop_entry calls.
put double-quotes around ${GAMES_DATADIR} and ${FILESDIR}
use if's for the optional installs in src_install instead of nested dies
Well, that does it. 1.2.1 is out.
Created an attachment (id=68284) [details]
ebuild : games-fps/nexuiz-1.2.1
changes:
- Adaptation of SRC_URI
- alsa-lib added to dependecies
- New sed in src_unpack() for build binaries with same names that older
versions
- more pictures are copied
- some other changes
Comments on 1.2.1 ebuild:
games comes last on the inherit line
quote the sed script and use -e
quote ${S} and ${T}
no need to || die for epatch. it dies if it fails.
no need to error check make_desktop_entry. it always returns 0
Created an attachment (id=68299) [details]
ebuild : games-fps/nexuiz-1.2.1
Changes :
- svgalib is added to dependencies with sdl useflag
- games is in last position on the inherit line
- ${S} and ${T} are quoted
- the unused dies are removed
- no quotes for S assignment
- use of doins for copy of the pictures.
- Am I right for the sed script ?
I'm pretty sure you don't need svgalib with use sdl.
The sed script should look like this:
sed -e "some sed foo here" \
filename > otherfilename \
|| die "sed failed"
the second one should look like:
sed -i \
-e "sed foo" \
-e "more sed foo \
filename \
|| die "sed failed"
just use doins instead of "install -o root -g games -m 0640 ..."
Created an attachment (id=68347) [details]
diff from nexuiz-1.2.1.ebuild
- the seds are corrected
- doins instead of install
about nexuiz-sdl dependence to svgalib, You are right. It was an stupid
mistake.
Hi!
I just tried the ebuild and get a lot of messages like
"^7Draw_CachePic: failed to load gfx/menudot1.lmp"
The engine seems to work right, but could not find its data
(sound and graphics)
If I just unzip and use the bin, everything is fine.
(In reply to comment #55)
Hi,
I can't reproduce this bug. No idea why your compiled binary don't find the data.
Did you do something special before emerging ? What is your arch ?
Why are the ico and png files installed in the data directory? They don't seem
to be needed for the game to run.
games-fps/nexuiz added to portage. Thanks for the bug report.
You may add ~amd64 keyword to nexuiz-1.2.1.ebuild
I compiled the ~86 version on my amd64 gentoo box and it works pretty fine.
Version 1.3 has been released.
(In reply to comment #61)
> Version 1.3 has been released.
>
Fill out a new bug. :)