Package Details: smokinguns-git 1.1.r859.gf5d9ecf2-9

Git Clone URL: https://aur.archlinux.org/smokinguns-git.git (read-only, click to copy)
Package Base: smokinguns-git
Description: A semi-realistic simulation of the old west great atmosphere built on id Tech 3.
Upstream URL: https://www.smokin-guns.org
Keywords: Game Guns Shooter Smokin' west Western wild
Licenses: GPL2
Conflicts: smokinguns, smokinguns-bin, smokinguns-data
Provides: smokinguns, smokinguns-data
Submitter: Lucki
Maintainer: Lucki
Last Packager: Lucki
Votes: 6
Popularity: 0.71
First Submitted: 2017-08-09 19:56 (UTC)
Last Updated: 2025-10-18 12:52 (UTC)

Latest Comments

ciggunot commented on 2025-10-18 20:48 (UTC)

Hi Lukki, thanks to your efforts and hildigerr's, all installed flawlessly and I am now able to enjoy this game. Many many thanks Lukki.

hildigerr commented on 2025-10-17 15:56 (UTC)

Yes, I remember that happening for me now as I look back in my logs. The problem is that the list is optimized out in Sys_ListFiles() by the compiler. That's why I added CFLAGS="-O0 -g".

Lucki commented on 2025-10-17 13:04 (UTC)

I'm able to build successfully either with gcc13 OR with gcc14 and the yylax patch by hildigerr.

However, both resulting binaries fail executing with a segmentation fault.

Smokin' Guns 1.2dev_GIT_f5d9ecf2-2014-04-19 linux-x86_64 20251017
Have SSE support
----- FS_Startup -----
[1]    1992878 segmentation fault (core dumped)  smokinguns

hildigerr commented on 2025-10-17 03:14 (UTC)

Here's a patch to enable xdg base directory compliance:

diff --git a/code/qcommon/q_shared.h b/code/qcommon/q_shared.h
index e6e30d6..408994f 100644
--- a/code/qcommon/q_shared.h
+++ b/code/qcommon/q_shared.h
@@ -47,7 +47,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
   #define BASEGAME         "baseq3"
   #define CLIENT_WINDOW_TITLE      "ioquake3"
   #define CLIENT_WINDOW_MIN_TITLE  "ioq3"
-  #define HOMEPATH_NAME_UNIX       ".q3a"
+  #define HOMEPATH_NAME_UNIX       "q3a"
   #define HOMEPATH_NAME_WIN            "Quake3"
   #define HOMEPATH_NAME_MACOSX     HOMEPATH_NAME_WIN
   #define GAMENAME_FOR_MASTER      "Quake3Arena"
@@ -89,7 +89,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
   #define SDK_BASEGAME             "baseq3"
   #define CLIENT_WINDOW_TITLE      PRODUCT_NAME
   #define CLIENT_WINDOW_MIN_TITLE  "SG"
-  #define HOMEPATH_NAME_UNIX       ".smokinguns"
+  #define HOMEPATH_NAME_UNIX       "smokinguns"
   #define HOMEPATH_NAME_WIN            PRODUCT_NAME
   #define HOMEPATH_NAME_MACOSX     PRODUCT_SHORTNAME
   #define GAMENAME_FOR_MASTER      "smokinguns"
diff --git a/code/sys/sys_unix.c b/code/sys/sys_unix.c
index 7ee551c..0441329 100644
--- a/code/sys/sys_unix.c
+++ b/code/sys/sys_unix.c
@@ -59,9 +59,18 @@ char *Sys_DefaultHomePath(void)

    if( !*homePath && com_homepath != NULL )
    {
-       if( ( p = getenv( "HOME" ) ) != NULL )
+       if( ( p = getenv( "XDG_DATA_HOME" ) ) != NULL )
        {
            Com_sprintf(homePath, sizeof(homePath), "%s%c", p, PATH_SEP);
+       }
+       else if( ( p = getenv( "HOME" ) ) != NULL )
+       {
+#ifndef MACOS_X
+           Com_sprintf(homePath, sizeof(homePath), "%s%c.local%cshare%c", p, PATH_SEP, PATH_SEP, PATH_SEP);
+#endif
+       }
+       if( p != NULL )
+       {
 #ifdef MACOS_X
            Q_strcat(homePath, sizeof(homePath),
                "Library/Application Support/");

hildigerr commented on 2025-10-17 03:13 (UTC)

In case it helps, here's my diff for this repo:

diff --git a/PKGBUILD b/PKGBUILD
index 3439167..43ac980 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@
 pkgname=smokinguns-git
 _pkgname=${pkgname%-git}
 pkgver=1.1.r859.gf5d9ecf2
-pkgrel=8
+pkgrel=12
 pkgdesc='A semi-realistic simulation of the old west great atmosphere built on id Tech 3.'
 url="https://www.smokin-guns.org"
 arch=('i686' 'x86_64')
@@ -18,11 +18,15 @@ provides=('smokinguns-data' 'smokinguns')
 source=("$pkgname::git+https://github.com/smokin-guns/SmokinGuns.git"
         "$pkgname.data.zip::https://www.smokin-guns.org/downloads/Smokin_Guns_1.1.zip"
         "$pkgname.desktop"
-        "$pkgname-#11-build-fail.patch")
+        "$pkgname-#11-build-fail.patch"
+        "xdg.patch"
+)
 sha512sums=('SKIP'
             '51954ce00cccd9eb95a10491f0fcdea2d024058da11cbda7ee56c6369e8bc101d89ed95549cf4255393c3e1bec4585be12937e7ed7b20ff4cc0ce96685a5ce72'
             '37aefb4a9e811644af09bbbfdb35d6a2572bc70b6fe8ff0078330d1070e73ebcd18f2e656156f1e3d92b2ec7f6fdffe63b2c66018b449d8b5aa6402b3eb24d7d'
-            '4ad6e8c1775ccce791810349febfbcc9235bb4cc1310d0b5eb61ea522558c32457e192ab1b9860215d72441c708638cfa845af56e4749a0bfeecaa5bf120d051')
+            '4ad6e8c1775ccce791810349febfbcc9235bb4cc1310d0b5eb61ea522558c32457e192ab1b9860215d72441c708638cfa845af56e4749a0bfeecaa5bf120d051'
+            'b134b30c35d402f4c5bd776eed36019432a213f24613a0e7ee0878852618b1a51fd142643109774fa0d3b859470466c2b264f724ce0a3eb4909a1247bd6df30e'
+)

 pkgver() {
     cd "$pkgname" || exit
@@ -33,7 +37,7 @@ prepare() {
     cd "$pkgname" || exit
     {
         # Set basedir
-        echo "DEFAULT_BASEDIR = /usr/share/$_pkgname"
+        echo "DEFAULT_BASEDIR = /usr/share/games/$_pkgname"

         # Use system libraries
         echo "USE_INTERNAL_ZLIB=0"
@@ -49,11 +53,20 @@ prepare() {

     # https://github.com/smokin-guns/SmokinGuns/issues/11
     patch --forward --strip=1 --input="$srcdir/$pkgname-#11-build-fail.patch"
+
+    # Enable XDG Compliance
+    patch -Np1 -i "${srcdir}/xdg.patch"
+
+    # Replace %term with %token
+    sed -i 's|%term|%token|g' code/tools/lcc/lburg/gram.y
+
+    # Add `int yylex(void);` declaration after the `%{` block start
+    sed -i '/^%{.*/a int yylex(void);' code/tools/lcc/lburg/gram.y
 }

 build() {
     cd "$pkgname" || exit
-    make
+    make CFLAGS="-g -O0"
 }

 package() {
@@ -62,10 +75,10 @@ package() {

     cd "Smokin' Guns 1.1" || exit

-    install -d "$pkgdir/usr/share/$_pkgname/baseq3"
-    install -m 644 baseq3/* "$pkgdir/usr/share/$_pkgname/baseq3"
-    install -d "$pkgdir/usr/share/$_pkgname/$_pkgname"
-    install -m 644 "$_pkgname"/* "$pkgdir/usr/share/$_pkgname/$_pkgname"
+    install -d "$pkgdir/usr/share/games/$_pkgname/baseq3"
+    install -m 644 baseq3/* "$pkgdir/usr/share/games/$_pkgname/baseq3"
+    install -d "$pkgdir/usr/share/games/$_pkgname/$_pkgname"
+    install -m 644 "$_pkgname"/* "$pkgdir/usr/share/games/$_pkgname/$_pkgname"

     cd "$srcdir/$pkgname" || exit

@@ -77,10 +90,10 @@ package() {
                     "$pkgdir/usr/bin/${_pkgname}_dedicated"

     install -Dm 644 "build/release-linux-$SUFFIX/renderer_opengl1_$SUFFIX.so" \
-                    "$pkgdir/usr/share/$_pkgname"
+                    "$pkgdir/usr/share/games/$_pkgname"

     install -Dm 644 "build/release-linux-$SUFFIX/renderer_opengl2_$SUFFIX.so" \
-                    "$pkgdir/usr/share/$_pkgname"
+                    "$pkgdir/usr/share/games/$_pkgname"

     install -Dm 644 "misc/$_pkgname.png" \
                     "$pkgdir/usr/share/icons/hicolor/256x256/apps/$_pkgname.png"

ciggunot commented on 2025-10-16 21:47 (UTC) (edited on 2025-10-16 21:50 (UTC) by ciggunot)

Hi Lukki, Thank you for putting Smokin Guns into the AUR and maintaining it for so long. IMHO the game itself is fancy and quite unique. The master/map/lobby servers are active with some players online each day. Today on x86_64 and with multilib enabled, while processing smokinguns-git (currently the final smokinguns-git 1.1.r859.gf5d9ecf2-8), I encountered a build fail error as seen below. I hope this is fixable.

In file included from code/tools/lcc/src/alloc.c:1: code/tools/lcc/src/c.h:647:1: error: ‘constexpr’ used with ‘extern’ 647 | extern Tree constexpr(int); | ^~ code/tools/lcc/src/c.h:647:23: error: expected identifier or ‘(’ before ‘int’ 647 | extern Tree constexpr(int); | ^~~ make[2]: *** [Makefile:1434: build/release-linux-x86_64/tools/rcc/alloc.o] Error 1

linuxham commented on 2021-03-28 03:18 (UTC) (edited on 2021-03-28 03:19 (UTC) by linuxham)

I tried to install, but it wouldn't build...

make[2]: Leaving directory '/home/rutabaga/smokinguns-git/src/smokinguns' make[1]: [Makefile:1285: targets] Error 2 make[1]: Leaving directory '/home/rutabaga/smokinguns-git/src/smokinguns' make: [Makefile:1223: release] Error 2 ==> ERROR: A failure occurred in build(). Aborting...

Col_Sanders commented on 2018-01-27 17:16 (UTC)

Thanks for maintaining this. Builds like a charm out of the box. No issues.

Played for several years on Ubuntu, then had problems after upgrading and never pursued. Nice to have a working install again. Great game with small but friendly community.

Lucki commented on 2017-08-29 13:47 (UTC)

Thanks for reporting. I actually have no idea why it can't be found on your system, here's everything ok. But I replaced the .desktop file with a real one to get the name right. Happy gaming :)

<deleted-account> commented on 2017-08-29 02:50 (UTC)

My kids and I love playing this game over lan, many thanks! I get an error about missing smokinguns.desktop file, just made one and put it in place.