On Fri, 2012-06-29 at 10:03 +0100, Simon McVittie wrote:
> On 28/06/12 22:25, Svante Signell wrote:
> > On Thu, 2012-06-28 at 09:03 +0100, Simon McVittie wrote:
> >> On 27/06/12 23:10, Svante Signell wrote:
> >>> The attached patch adds support for the GNU/Hurd architecture
> 
> > I have now patched and built openarena. Care for a new bug report?
> 
> If you want another bug number, but sending the openarena patch to this
> one is probably easier.

Attaching the openarena patch.

> >> You could also use Quake III Arena

Thanks, will try that later.

> As I said, OpenArena is a better test, though (it exercises bits of the
> code that aren't normally used in Quake III Arena, and that I suspect
> could be a problem on new ports).

Will try that first, but maybe not until after the week-end.

> >> If Hurd lacks accelerated 3D, it might make sense to only ship
> >> ioquake3-server, and leave out ioquake3.
> > 
> > Does it make any harm if the client is built? I don't think people will
> > try the client until 3D video is supported.
> 
> I'd prefer to avoid shipping a package that's effectively useless on its
> target OS, particularly if that means nobody has ever tested it.

I will test it, see above and below. As you might know a lot of packages
build for GNU/Hurd without kernel support yet, like audio packages.

> libgl1-mesa-swx11 might be less horribly slow than an unaccelerated
> libgl1-mesa-glx, perhaps? The state-of-the-art in software rendering is
> llvmpipe, but Debian doesn't seem to have that yet.

Looks like llvmpipe is supported in mesa for Linux/kFreeBSD i386/amd64.
Not yet for Hurd, I will try it to enable it, llvm is available for
Hurd! And also try with libgl1-mesa-swx11.

> > Yes, it is not needed, I have built ioquake3 without that part. Should I
> > a provide an updated patch?
> 
> Just to be sure, please send the actual patches you tested.

Updated patch applied!

> > Yes, the answer is gnu because uname results in GNU.
> 
> Good, the patch should be able to go upstream then.

Nice!

--- openarena-0.8.8/code/qcommon/q_platform.h	2012-06-29 16:56:11.000000000 +0200
+++ openarena-0.8.8.new/code/qcommon/q_platform.h	2012-06-28 19:21:44.000000000 +0200
@@ -147,7 +147,7 @@
 
 //================================================================= LINUX ===
 
-#if defined(__linux__) || defined(__FreeBSD_kernel__)
+#if defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__GNU__)
 
 #include <endian.h>
 
@@ -210,6 +210,8 @@
 #define OS_STRING "freebsd"
 #elif defined(__OpenBSD__)
 #define OS_STRING "openbsd"
+#elif defined(__GNU__)
+#define OS_STRING "GNU"
 #elif defined(__NetBSD__)
 #define OS_STRING "netbsd"
 #endif
--- a/debian_control	2012-06-23 01:06:28.000000000 +0200
+++ b/debian/control	2012-06-26 20:44:59.000000000 +0200
@@ -19,7 +19,7 @@
 Homepage: http://www.ioquake3.org/
 
 Package: ioquake3
-Architecture: linux-any kfreebsd-any
+Architecture: linux-any kfreebsd-any hurd-any
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Recommends: x11-utils | zenity | kdebase-bin
 Breaks: openarena (<< 0.8.5-10~)
@@ -32,7 +32,7 @@
  openarena or another suitable set of game data.
 
 Package: ioquake3-server
-Architecture: linux-any kfreebsd-any
+Architecture: linux-any kfreebsd-any hurd-any
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Description: Standalone server for ioQuake3 based games
  This package installs a modified version of the ioQuake3 dedicated server,
@@ -43,7 +43,7 @@
  openarena-server or another suitable set of server data.
 
 Package: ioquake3-dbg
-Architecture: linux-any kfreebsd-any
+Architecture: linux-any kfreebsd-any hurd-any
 Section: debug
 Priority: extra
 Depends: ioquake3 (= ${binary:Version}) | ioquake3-server (= ${binary:Version}),
--- a/Makefile	2012-06-26 13:33:50.000000000 +0200
+++ b/Makefile	2012-06-29 16:59:19.000000000 +0200
@@ -291,7 +291,7 @@
 INSTALL=install
 MKDIR=mkdir
 
-ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu"))
+ifneq (,$(findstring "$(PLATFORM)", "linux" "gnu_kfreebsd" "kfreebsd-gnu" "gnu"))
 
   ifeq ($(ARCH),axp)
     ARCH=alpha
--- a/code/qcommon/q_platform.h	2011-10-22 00:48:53.000000000 +0200
+++ b/code/qcommon/q_platform.h	2012-06-26 20:44:59.000000000 +0200
@@ -169,14 +169,16 @@
 
 //================================================================= LINUX ===
 
-#if defined(__linux__) || defined(__FreeBSD_kernel__)
+#if defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__GNU__)
 
 #include <endian.h>
 
 #if defined(__linux__)
 #define OS_STRING "linux"
-#else
+#elif defined(__FreeBSD_kernel__)
 #define OS_STRING "kFreeBSD"
+#else
+#define OS_STRING "GNU"
 #endif
 
 #ifdef __clang__

Reply via email to