You are not logged in.
I have a new PKGBUILD for the atari800 emulator that allows the user to select the build target: sdl, x11, etc. I noticed the package in AUR is outdated and the owner has not been on the forum since Oct. 2005 nor has he responded to my last email. What can be done?
Offline
Orphaned for you now. Enjoy.
Offline
Thanks tomk! A question comes up now because this new package is interactive and I recently received feedback for another package that was interactive stating that it should not be...
Are we not supposed to make PKGBUILDs interactive?
The situations are different since the atari800 PKGBUILD will ask for a build target while my other package raine (broken still because of the fonts) asks the user if they want to download emudx files. I realize it is better to create a separate package for the emudx files according to the AUR guidelines, but what about the atari800 package?
Here's what I have of the PKGBUILD for an example (still a work in progress):
# Contributor: robb_force <robb_force>
pkgname=atari800
pkgver=2.0.2
pkgrel=1
pkgdesc="An emulator of the Atari 800/800XL/130XE/5200 with various extensions (320kB RAM, stereo sound and more)."
url="http://atari800.sourceforge.net/"
license="GPL"
depends=('libpng')
source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz
http://downloads.sourceforge.net/sourceforge/${pkgname}/xf25.zip)
install=atari800.install
md5sums=('a81f8a5ace5fd89eb6094faef7c936af' '4dc3b6b4313e9596c4d474785a37b94d')
build()
{
# This emulator has a few linux compatible targets. Instead of creating
# multiple packages, prompt the user for a target.
_PS3="(1-4)> "
echo ""
echo "Choose a target for ${pkgname}:"
select _response in ncurses svgalib sdl x11
do
break
done
if [ "${_response}" = "" ]; then
echo "Bad selection"
exit
fi
# Pass the reponse to the configure script
cd ${startdir}/src/${pkgname}-${pkgver}/src
./configure --target=${_response} --prefix=/usr
make || return 1
make DESTDIR=${startdir}/pkg install
# Copy the required ROM images to /usr/share
cd ${startdir}/src
install -d ${startdir}/pkg/usr/share/${pkgname}
install -m644 *.ROM ${startdir}/pkg/usr/share/${pkgname}/
}
Offline
Uhh.... how very unfriendly of them.
I'm going to assume the depends= would change for each target, in which case I see two possibilities:
a. 4 packages, one for each target, with only the dependencies required for that target.
b. 1 package, providing all four targets, with all dependencies
I don't particularly like either of those solutions - maybe someone else would have a better idea.
Offline
I didn't like either of those solutions either, so I thought as users we could be smart enough to know that if we want to build the SDL target that we'll obviously need SDL installed.
Unless there is a way to add depends later?... I could do a case function instead where selecting SDL would do:
depends+=('sdl')
I did some ports for FreeBSD at one time where you could add dependencies in this type of situation. Is that possible in Arch?
Edit: Here's an example Makefile (basically the same thing as a PKGBUILD) for scummvm on FreeBSD. Look at the LIB_DEPENDS+= lines that are used based on the user's selections at the OPTIONS tag.
Offline
I'd like to move forward on this, does anyone have an opinion? Or better ideas?
Offline
Ncurses current/base
svgalib aur unsupported
sdl extra
x11 current
Other emulators like dosbox, dosemu and scummvm packages for archlinux are build against sdl (possibily because sdl can be used both on console and gui).
I'm inclined to advise you to build the package against sdl and put instructions for the other options in comments in the pkgbuild.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Thanks, that's the same conclusion I came to this morning. Since it's in AUR, the user should be looking at the PKGBUILD anyway and should see the notes to modify the target prior to building the package.
Offline