diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..391ed66d0db5 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,115 @@ +# Contributor: Xiao-Long Chen <chenxiaolong@cxl.epac.to> +# Contributor: jimmy-6 <jakub.jarozek {at} gmail.com> +# Contributor: Babets http://aur.archlinux.org/account.php?Action=AccountInfo&ID=6996 +# Maintainer: Eric Anderson <ejona86@gmail.com> + +pkgname=trine +pkgver=1.0.8_update4 +pkgrel=4 +pkgdesc="A physics-based fantasy action game with three playable characters and co-op mode (game sold separately)" +url="http://trine-thegame.com" +license=('custom: "commercial"') +arch=('i686' 'x86_64') +depends=('glu' 'libglade' 'libvorbis' 'libxmu' 'nvidia-cg-toolkit' 'openal' + 'sdl_image' 'sdl_ttf') +optdepends=('libtxc_dxtn: texture decoding for open source ATI and Intel drivers') +makedepends=('unzip') +# The 32 bit and 64 bit binaries are identitical when unzipped, so it doesn't +# matter which you use. +if [ "${CARCH}" = "x86_64" ]; then + _gamepkg='TrineUpdate4.64.run' + _gamepkgsum='9ca9a755f3586aeda47d650808129948' + _archbits=64 + _rmarchbits=32 +else + _gamepkg='TrineUpdate4.32.run' + _gamepkgsum='7c84061f9f74052a45d15c35df18d143' + _archbits=32 + _rmarchbits=64 +fi +source=("${pkgname}.desktop" "hib://${_gamepkg}") +md5sums=('1c9f699d983521866f936feac81e86c9' "${_gamepkgsum}") +install="${pkgname}.install" +# You can download the Humble Indie Bundle file manually, or you can configure +# DLAGENTS in makepkg.conf to auto-download. +# +# For example, to use hib-dlagent to download files set something like this in +# your makepkg.conf (change/add -k and add -u/-p to your needs): +# DLAGENTS=('hib::/usr/bin/hib-dlagent -k 1a2b3c -o %o $(echo %u | cut -c 7-)') +# +# To auto-search through a directory containing Humble Bundle downloads, you +# could set: +# DLAGENTS=('hib::/usr/bin/find /path/to/downloads -name $(echo %u | cut -c 7-) -exec ln -s \{\} %o \; -quit') +DLAGENTS+=('hib::/usr/bin/echo "Could not find %u. Download the file manually to \"$(pwd)\" or setup hib:// DLAGENT in /etc/makepkg.conf"; echo "Read this PKGBUILD for more info."; exit 1') +PKGEXT=".pkg.tar" + +build() { + cd "${srcdir}" + unzip "${_gamepkg}" -d "${pkgname}-${pkgver}" || true +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + install -dm755 "${pkgdir}/opt/" + cp -Rl . "${pkgdir}/opt/${pkgname}/" + chmod 644 "${pkgdir}/opt/${pkgname}/Trine_Manual_linux.pdf" \ + "${pkgdir}/opt/${pkgname}/data/video/cinematic/trineroom_thief.ogg" + + # Cleanup install dir + cd "${pkgdir}/opt/${pkgname}" + rm removeShortcuts.sh createShortcuts.sh + rm -r lib${_rmarchbits} trine-bin${_rmarchbits} trine-launcher${_rmarchbits} + mv trine-bin${_archbits} trine-bin + mv trine-launcher${_archbits} trine-launcher + + cd "${pkgdir}/opt/${pkgname}/lib${_archbits}" + # Process libraries that are in only one architecture + if [ "${CARCH}" = "i686" ]; then + # In general, all of these are provided by the OS and need to be + # dependencies. Exceptions: + # libgdbm.so.3, libselinux.so.1, libxcb-render-util.so.0 aren't linked by + # anything, so they aren't necessary + # + # libxcb-xlib.so.0 is an old dependency of libX11. It isn't needed when + # using the system's newer libXll + # + # libx86.so.1 is only used by libvga.so.1, which will be removed + rm libexpat.so.1 libFLAC.so.8 libgcc_s.so.1 libgdbm.so.3 \ + libgmodule-2.0.so.0 libgomp.so.1 libICE.so.6 libmikmod.so.2 libm.so.6 \ + libpcre.so.3 librt.so.1 libSDL_sound-1.0.so.1 libselinux.so.1 \ + libsmpeg-0.4.so.0 libSM.so.6 libspeex.so.1 libX11.so.6 libx86.so.1 \ + libXau.so.6 libxcb-render.so.0 libxcb-render-util.so.0 libxcb.so.1 \ + libxcb-xlib.so.0 libXcomposite.so.1 libXcursor.so.1 libXdamage.so.1 \ + libXdmcp.so.6 libXext.so.6 libXfixes.so.3 libXinerama.so.1 libXi.so.6 \ + libXmu.so.6 libXrender.so.1 libXt.so.6 libz.so.1 + else + # libswscale.so.0 is used for 64 bit + true # nothing to do + fi + # In general, all of these are provided by the OS and need to be dependencies. + # Exceptions: + # libNxCharacter.so isn't linked by anything, so it isn't necessary + # + # libdirect-1.0.so.0, libdirectfb-1.0.so.0, libfusion-1.0.so.0, libvga.so.1 + # are optional dependencies of libSDL-1.2.so.0. They aren't needed when + # using the systems's libSDL, which doesn't depend on them. + # + # libpng12.so.0, libtiff.so.4 are old dependencies of libSDL_image-1.2.so.0. + # They aren't needed when using the system's newer libSDL_image + # + # libPhysXCore.so, libNxCooking.so appear to be unused when using ldd, but + # actually libPhysXLoader.so.1 dlopens them, so they shouldn't be removed. + rm libCg.so libCgGL.so libSDL-1.2.so.0 libSDL_image-1.2.so.0 \ + libSDL_ttf-2.0.so.0 libdirect-1.0.so.0 libdirectfb-1.0.so.0 \ + libfusion-1.0.so.0 libjpeg.so.62 libNxCharacter.so libogg.so.0 \ + libopenal.so.1 libpng12.so.0 libstdc++.so.6 libtiff.so.4 libvga.so.1 \ + libvorbis.so.0 libvorbisfile.so.3 + + install -dm755 "${pkgdir}/usr/bin/" + ln -s /opt/trine/trine-bin "${pkgdir}/usr/bin/trine" + ln -s /opt/trine/trine-launcher "${pkgdir}/usr/bin/trine-launcher" + + install -Dm644 "${srcdir}/trine.desktop" \ + "${pkgdir}/usr/share/applications/trine.desktop" +} |