You are not logged in.
Are there any free GOG games also for GNU/Linux? Otherwise I only those who have some could participate. Do the any files in the archive have the games description in them? That could be used for the package description instead of downloading it from gog's website or manual entry.
Stargunner and Dragonsphere are free on GOG and have linux versions. Both are dosbox games.
Offline
Here is my final version of the PKGBUILD for stargunner
# Maintainer : André Fettouhi <a.fettouhi@gmail.com>
pkgname=gog-stargunner
pkgver=1.0.0.8
pkgrel=1
pkgdesc="This sci-fi scrolling shooter brings you some of the most intense action ever seen on the PC."
arch=("i686" "x86_64")
url="http://www.gog.com/game/stargunner"
license=("custom")
groups=("games")
source=("gog_stargunner_${pkgver}.tar.gz" "gog-stargunner")
sha256sums=('d04dd70b598fdd3b23e7d05fa1626feed08fd93d98511775dc33e2a537d69311'
'420ac2a59a807e17c44c100d016b64217d8ec14d8d6abe1b1aabc9bd1b656c2c')
depends=(libpng12 unionfs-fuse)
#options=('!strip')
PKGEXT=.pkg.tar
package() {
mkdir -p "${pkgdir}"/opt/gog/stargunner
cp -r "${srcdir}"/Stargunner/* "${pkgdir}"/opt/gog/stargunner
install -Dm644 "${srcdir}"/Stargunner/support/gog-stargunner-primary.desktop "${pkgdir}"/usr/share/applications/gog-stargunner.desktop
install -Dm644 "${srcdir}"/Stargunner/support/gog-stargunner.png "${pkgdir}"/usr/share/pixmaps/gog-stargunner.png
install -Dm644 "${srcdir}"/Stargunner/docs/End\ User\ License\ Agreement.txt "${pkgdir}"/usr/share/licenses/$pkgname/LICENSE
install -Dm755 "${srcdir}/gog-stargunner" "${pkgdir}/usr/bin/gog-stargunner"
}
and the launcher
#!/usr/bin/bash
gogdir="/opt/gog/stargunner"
homedir="$HOME/.gog/stargunner"
mkdir -p "$homedir"/{game,config/data}
if [[ ! -e "$homedir/config/dosbox_stargun.conf" ]]; then
cp "$gogdir/dosbox_stargun.conf" "$homedir/config/dosbox_stargun.conf"
fi
unionfs "$homedir/config=RW:$gogdir=RO" "$homedir/game"
"$homedir"/game/start.sh
fusermount -u "$homedir/game"
I wanted to upload it to AUR but it has been so long since I last did it. How do you create the src.tzr.gz for upload? I remember doing makepkg --source but will include the source package for the game. How do I avoid that?
Offline
install pkgbuild-introspection , then run mkaurball .
inside the created *.src.tar.gz , delete the program source manually (most file managers support this)
Last edited by Lone_Wolf (2014-08-20 16:00:05)
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
@Lone_Wolf So the difference to conventional 'makepkg -S' and stripping the game from archive would be the .AURINFO file?
@fettouhi I see that you did not strip dosbox from the archive. When I find some time, maybe I will post what I meant, based on those two games.
Offline
@Lone_Wolf So the difference to conventional 'makepkg -S' and stripping the game from archive would be the .AURINFO file?
yes,
When aur was upgraded to 3.4.0 [1] , .AURINFO became mandatory for new uploads.
( in the announcement they talk about metadata , that's what is inside .AURINFO )
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
install pkgbuild-introspection , then run mkaurball .
inside the created *.src.tar.gz , delete the program source manually (most file managers support this)
Thanks for the info. I've uploaded my PKGBUILD to stargunner here:
https://aur.archlinux.org/packages/gog-stargunner/
I have 3 more games in my gog account that have linux versions, I'll try yo make PKGBUILD for them as well. These are also dosbox games.
EDIT: Added dragonsphere also now!
https://aur.archlinux.org/packages/gog-dragonsphere/
Last edited by fettouhi (2014-08-20 18:55:10)
Offline
Here is my suggestion for duke nukem 3d: atomic edition
PKGBUILD:
# Maintainer : André Fettouhi <a.fettouhi@gmail.com>
pkgname=gog-duke-nukem-3d
pkgver=1.0.0.7
pkgrel=1
pkgdesc="This sci-fi scrolling shooter brings you some of the most intense action ever seen on the PC."
arch=("i686" "x86_64")
url="http://www.gog.com/game/duke_nukem_3d_atomic_edition"
license=("custom")
groups=("games")
source=("gog_duke_nukem_3d_${pkgver}.tar.gz" "gog-duke-nukem-3d")
sha256sums=('ba81c81d5f35f3aa424d30d9ab1c8441f8967bf4776cc85299efc95eea257ea3'
'55c518ba74f02f7a3797bd0f4a3da310d932545bf1f38b4347f583d05e8053b3')
depends=(libpng12 unionfs-fuse)
#options=('!strip')
PKGEXT=.pkg.tar
package() {
mkdir -p "${pkgdir}"/opt/gog/duke-nukem-3d
cp -r "${srcdir}"/Duke\ Nukem\ 3D/* "${pkgdir}"/opt/gog/duke-nukem-3d
install -Dm644 "${srcdir}"/Duke\ Nukem\ 3D/support/gog-duke-nukem-3d-primary.desktop "${pkgdir}"/usr/share/applications/gog-duke-nukem-3d.desktop
install -Dm644 "${srcdir}"/Duke\ Nukem\ 3D/support/gog-duke-nukem-3d-1.desktop "${pkgdir}"/usr/share/applications/gog-duke-nukem-3d-server.desktop
install -Dm644 "${srcdir}"/Duke\ Nukem\ 3D/support/gog-duke-nukem-3d-2.desktop "${pkgdir}"/usr/share/applications/gog-duke-nukem-3d-client.desktop
install -Dm644 "${srcdir}"/Duke\ Nukem\ 3D/support/gog-duke-nukem-3d.png "${pkgdir}"/usr/share/pixmaps/gog-duke-nukem-3d.png
install -Dm644 "${srcdir}"/Duke\ Nukem\ 3D/docs/End\ User\ License\ Agreement.txt "${pkgdir}"/usr/share/licenses/$pkgname/LICENSE
install -Dm755 "${srcdir}/gog-duke-nukem-3d" "${pkgdir}/usr/bin/gog-duke-nukem-3d"
}
and launcher gog-duke-nukem-3d
#!/usr/bin/bash
gogdir="/opt/gog/duke-nukem-3d"
homedir="$HOME/.gog/duke-nukem-3d"
mkdir -p "$homedir"/{game,config/data}
if [[ ! -e "$homedir/config/dosboxDuke3D.conf" ]]; then
cp "$gogdir/dosboxDuke3D.conf" "$homedir/config/dosboxDuke3D.conf"
fi
unionfs "$homedir/config=RW:$gogdir=RO" "$homedir/game"
"$homedir"/game/start.sh
fusermount -u "$homedir/game"
fails currently because of
[af@andre ~]$ gog-duke-nukem-3d
Running Duke Nukem 3D
Starting DOSBox
DOSBox version 0.74
Copyright 2002-2010 DOSBox Team, published under GNU GPL.
---
CONFIG:Loading primary settings from config file dosboxDuke3D.conf
CONFIG:Loading additional settings from config file dosboxDuke3D_single.conf
MIXER:Got different values from SDL: freq 22050, blocksize 1024
ALSA:Can't subscribe to MIDI port (65:0) nor (17:0)
MIDI:Opened device:none
Warning: file data/DUKE3D.GRP exists and failed to open in write mode.
Please Remove write-protection
Done.
so how do add that to the pkgbuild in a proper manner
Last edited by fettouhi (2014-08-20 20:34:00)
Offline
Does one of the configurations have 'midiconfig=128:0'? If no, try that. 'aconnect -l' should list dosbox when run, should it use another port, change midiconfig to that.
This is exactly the reason, I would put dosbox as a dependency, strip it from the package and use one user configuration with minor changes required by the game. We might disagree on this issue, but testing several dozen dosbox games from gog, I never had problems launching them with my dosbox, I only checked the configuration, which can be modified anyway. Also you could use the $pkgname and other variables a little bit more often, it will spare you some time if you want to write a PKGBUILD for every game.
Edit: I lost an 'it'.
Last edited by emeres (2014-08-21 11:48:39)
Offline
Does one of the configurations have 'midiconfig=128:0'? If no, try that. 'aconnect -l' should list dosbox when run, should use another port, change midiconfig to that.
This is exactly the reason, I would put dosbox as a dependency, strip it from the package and use one user configuration with minor changes required by the game. We might disagree on this issue, but testing several dozen dosbox games from gog, I never had problems launching them with my dosbox, I only checked the configuration, which can be modified anyway. Also you could use the $pkgname and other variables a little bit more often, it will spare you some time if you want to write a PKGBUILD for every game.
Somebody already uploaded duke nukem 3d from
https://aur.archlinux.org/packages/dukenukem3d-gog
he also striped dosbox from the game. I can see that he did this for for DUKE3D.CFG
chmod 0664 "${pkgdir}/opt/Duke Nukem 3D/data/DUKE3D.CFG"
but also this
chmod 1775 "${pkgdir}/opt/Duke Nukem 3D/data"
in order to make saving work.
Offline
Tried adding
chmod 1775 "${pkgdir}/opt/gog/duke-nukem-3d/data"
chmod 1775 "${pkgdir}/opt/gog/duke-nukem-3d/data/DUKE3D.CFG"
chmod 1775 "${pkgdir}/opt/gog/duke-nukem-3d/data/DUKE3D.GRP"
to PKGBUILD but it still won't run.
Offline
I am not that familiar with unionfs, but it seems you would need to mount those files with appropriate permissions, since you mount the whole directory as read only, it will not matter, what permission those files have during installation.
unionfs "$homedir/config=RW:$gogdir=RO:$gogdir/data/DUKE3D.CFG=RW:$gogdir/data/DUKE3D.GRP=RW" "$homedir/game"
That still leaves the sound problem however.
Should unionfs only accept directories, mount the data directory with read and write access:
unionfs "$homedir/config=RW:$gogdir=RO:$gogdir/data=RW" "$homedir/game"
Those two files could be copied into another directory, to leave the rest as read only and be mounted from there.
Edit: Added clarification.
Last edited by emeres (2014-08-22 18:51:53)
Offline
I am not that familiar with unionfs, but it seems you would need to mount those files with appropriate permissions, since you mount the whole directory as read only, it will not matter, what permission those files have during installation.
unionfs "$homedir/config=RW:$gogdir=RO:$gogdir/data/DUKE3D.CFG=RW:$gogdir/data/DUKE3D.GRP=RW" "$homedir/game"
That still leaves the sound problem however.
Should unionfs only accept directories, mount the data directory with read and write access:
unionfs "$homedir/config=RW:$gogdir=RO:$gogdir/data=RW" "$homedir/game"
Those two files could be copied into another directory, to leave the rest as read only and be mounted from there.
Edit: Added clarification.
The first one doesn't work because unionfs thinks that DUKE3D.GRP & DUKE3D.CFG directories and fails. The second option leads to the same result that:
Warning: file data/DUKE3D.GRP exists and failed to open in write mode.
Please Remove write-protection.
Offline
Just for completeness here is the PKGBUILD for Rise of the Triads - Dark War:
# Maintainer : André Fettouhi <a.fettouhi@gmail.com>
pkgname=gog-rise-of-the-triad-dark-war
pkgver=1.0.0.7
pkgrel=1
pkgdesc="Old-school first person shooter with an arcade feel."
arch=("i686" "x86_64")
url="http://www.gog.com/game/rise_of_the_triad__dark_war"
license=("custom")
groups=("games")
source=("gog_rise_of_the_triad_dark_war_${pkgver}.tar.gz" "gog-rise-of-the-triad-dark-war")
sha256sums=('100753a91fd212f367620c49fb26c36e382e96677ec504245a050235c7f22e6e'
'6e9d70042346450077af63951ffbc85a77231c823b102b82fb125bd9379abe97')
depends=(libpng12 unionfs-fuse)
#options=('!strip')
PKGEXT=.pkg.tar
package() {
mkdir -p "${pkgdir}"/opt/gog/rise-of-the-triad-dark-war
cp -r "${srcdir}"/Rise\ of\ the\ Triad\ Dark\ War/* "${pkgdir}"/opt/gog/rise-of-the-triad-dark-war
install -Dm644 "${srcdir}"/Rise\ of\ the\ Triad\ Dark\ War/support/gog-rise-of-the-triad-dark-war-primary.desktop "${pkgdir}"/usr/share/applications/gog-rise-of-the-triad-dark-war.desktop
install -Dm644 "${srcdir}"/Rise\ of\ the\ Triad\ Dark\ War/support/gog-rise-of-the-triad-dark-war-1.desktop "${pkgdir}"/usr/share/applications/gog-rise-of-the-triad-dark-war-server.desktop
install -Dm644 "${srcdir}"/Rise\ of\ the\ Triad\ Dark\ War/support/gog-rise-of-the-triad-dark-war-2.desktop "${pkgdir}"/usr/share/applications/gog-rise-of-the-triad-dark-war-client.desktop
install -Dm644 "${srcdir}"/Rise\ of\ the\ Triad\ Dark\ War/support/gog-rise-of-the-triad-dark-war.png "${pkgdir}"/usr/share/pixmaps/gog-rise-of-the-triad-dark-war.png
install -Dm644 "${srcdir}"/Rise\ of\ the\ Triad\ Dark\ War/docs/End\ User\ License\ Agreement.txt "${pkgdir}"/usr/share/licenses/$pkgname/LICENSE
install -Dm755 "${srcdir}/gog-rise-of-the-triad-dark-war" "${pkgdir}/usr/bin/gog-rise-of-the-triad-dark-war"
}
and the launcher gog-rise-of-the-triad-dark-war
#!/usr/bin/bash
gogdir="/opt/gog/rise-of-the-triad-dark-war"
homedir="$HOME/.gog/rise-of-the-triad-dark-war"
mkdir -p "$homedir"/{game,config/data}
if [[ ! -e "$homedir/config/dosboxRiseOTT.conf" ]]; then
cp "$gogdir/dosboxRiseOTT.conf" "$homedir/config/dosboxRiseOTT.conf"
fi
unionfs "$homedir/config=RW:$gogdir=RW:$gogdir/data=RW" "$homedir/game"
"$homedir"/game/start.sh
fusermount -u "$homedir/game"
this one fails also because of similar reasons with read/write access to certain files in the data directory. These are the 4 games I have in my GOG collection that have linux versions. I have 2 more but these are native games, e.g. Gemini Rue and Legend of Grimrock. They packaged in the same way as the dosbox games hence the PKGBUILD will look almost the same minus the dosbox stuff and unionfs stuff.
Last edited by fettouhi (2014-08-23 07:01:57)
Offline
unionfs "$homedir/config=RW:$gogdir/data=RW:$gogdir=RO" "$homedir/game"
Again I do not use unionfs, so you have to try it out. If that does not work, move the data directory outside $gogdir and mount it from there or maybe unionfs respects chmoding the files.
Offline
Just added the GOG versions of Gemini Rue and Legend of Grimrock to AUR. For those interested look here:
https://aur.archlinux.org/packages/gog-gemini-rue/
https://aur.archlinux.org/packages/gog- … -grimrock/
That all the games I have in my GOG account that have Linux versions ATM. Will add again when GOG updates their library. Still figuring out how to get duke nukem 3d and rise of the triads - dark war working with the PKGBUILD's I've made.
Offline
@fettouhi: You could copy the data/DUKE3.GRP file into the $HOME/.gog/duke-nukem-3d/config/data from "${pkgdir}/usr/bin/gog-duke-nukem-3d", the same way it conditionally copies the dosbox config file. This way UnionFS will write to the file in $gogdir, at least I think so. Does this file contain data related to a player's progress? If so then this seems like the correct solution as separate users would have separate save files.
Offline
Duke Nukem seems to make .sav files when you save but it complains about DUKE3.GRP not having write access when launching the game and then it just quits.
Offline
A little searching shows it contains the game's maps. I don't know why the game wants to write to this file, but given that we can't change that behaviour I'd suggest copying that file into $gogdir, as I suggested above.
It'd be interesting to see if the contents of the file change as you play.
Offline
A little searching shows it contains the game's maps. I don't know why the game wants to write to this file, but given that we can't change that behaviour I'd suggest copying that file into $gogdir, as I suggested above.
It'd be interesting to see if the contents of the file change as you play.
Yep that did the trick. I uploaded the GOG version of Duke Nukem 3D to AUR.
https://aur.archlinux.org/packages/gog-duke-nukem-3d/
Here is how I made the launcher:
#!/usr/bin/bash
gogdir="/opt/gog/duke-nukem-3d"
homedir="$HOME/.gog/duke-nukem-3d"
mkdir -p "$homedir"/{game,config/data}
if [[ ! -e "$homedir/config/dosboxDuke3D.conf" ]]; then
cp "$gogdir/dosboxDuke3D.conf" "$homedir/config/dosboxDuke3D.conf"
fi
if [[ ! -e "$homedir/config/data/DUKE3D.GRP" ]]; then
cp "$gogdir/data/DUKE3D.GRP" "$homedir/config/data/DUKE3D.GRP"
fi
if [[ ! -e "$homedir/config/data/DUKE3D.CFG" ]]; then
cp "$gogdir/data/DUKE3D.CFG" "$homedir/config/data/DUKE3D.CFG"
fi
unionfs "$homedir/config=RW:$gogdir=RO" "$homedir/game"
"$homedir"/game/start.sh
fusermount -u "$homedir/game"
Offline
Added Rise of The Triad - Dark War
https://aur.archlinux.org/packages/gog- … -dark-war/
that's all the games I have for now.
@SidK: I don't own Colonization myself and I think need to own it in order to make the AURINFO file for AUR.
Offline
Just for completion for those who have sid meier's colonization here is the PKGBUILD from SidK with added desktop etc. and launcher:
# Maintainer : André Fettouhi <a.fettouhi@gmail.com>
# Contributors: SidK
pkgname=gog-sidmeierscolonization
pkgver=1.0.0.3
pkgrel=1
pkgdesc="a turn-based strategy game themed on the early European colonization of the New World"
arch=("i686" "x86_64")
url="http://www.gog.com/game/sid_meiers_colonization"
license=("custom")
source=("sid_meier_s_colonization_${pkgver}.tar.gz"
"gog-sidmeierscolonization")
sha256sums=('e5924289e5a17a6938591e0e5d78a3ac0b1af6b8892ab63023f5b7c3fcbd610d'
'675ac219ad406c255a2dbce4494f50b69e6578fc2e1a23dfcdee211571677aa5')
depends=(libpng12 unionfs-fuse)
package() {
mkdir -p "${pkgdir}"/opt/gog/sidmeierscolonization
cp -r "${srcdir}"/Sid\ Meiers\ Colonization/* "${pkgdir}"/opt/gog/sidmeierscolonization
install -Dm644 "${srcdir}"/Sid\ Meiers\ Colonization/support/gog-sidmeierscolonization-primary.desktop "${pkgdir}"/usr/share/applications/gog-sidmeierscolonization.desktop
install -Dm644 "${srcdir}"/Sid\ Meiers\ Colonization/support/gog-sidmeierscolonization.png "${pkgdir}"/usr/share/pixmaps/gog-sidmeierscolonization.png
install -Dm644 "${srcdir}"/Sid\ Meiers\ Colonization/docs/End\ User\ License\ Agreement.txt "${pkgdir}"/usr/share/licenses/$pkgname/LICENSE
install -Dm755 "${srcdir}/gog-sidmeierscolonization" "${pkgdir}/usr/bin/gog-sidmeierscolonization"
}
PKGEXT=.pkg.tar
#!/usr/bin/bash
gogdir="/opt/gog/sidmeierscolonization"
homedir="$HOME/.gog/sidmeierscolonization"
mkdir -p "$homedir"/{game,config/data/MPS/COLONIZE}
if [[ ! -e "$homedir/config/dosboxCOL.conf" ]]; then
cp "$gogdir/dosboxCOL.conf" "$homedir/config/dosboxCOL.conf"
fi
unionfs "$homedir/config=RW:$gogdir=RO" "$homedir/game"
"$homedir"/game/start.sh
fusermount -u "$homedir/game"
Offline
Those packagebuilds look good, people .
I did consider testing the colonization one, but then realised i use my original cd for that and don't own the gog version.
(well, to be exact i use an iso of the original i bought long ago so the CD doesn't deteriorate from use)
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
Thanks for taking over on that one fettouhi
Offline
Thanks for taking over on that one fettouhi
I would to take over the package but I don't know how to upload it to AUR. Since I can't create scr.tar.gz without having the game myself.
Offline
The linux version of the Witcher 2 is on GOG now I made a PKGBUILD for the game (the english installer) and uploaded it to AUR.
https://aur.archlinux.org/packages/gog- … -of-kings/
EDIT: Here are links to the 2 other native games I have in my account:
https://aur.archlinux.org/packages/gog- … -grimrock/
https://aur.archlinux.org/packages/gog-gemini-rue/
Last edited by fettouhi (2014-09-12 08:26:11)
Offline