Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 May 2013 01:02:37 +0000 (UTC)
From:      Alexey Dokuchaev <danfe@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r318348 - in head/games/doomlegacy: . files
Message-ID:  <201305170102.r4H12bol097562@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: danfe
Date: Fri May 17 01:02:37 2013
New Revision: 318348
URL: http://svnweb.freebsd.org/changeset/ports/318348

Log:
  - Update to version 1.44_alpha4
  - Do not use hand-written assembly code by default: upstream says they do
    not currently maintain it, and it does not contain many new improvements
    made to rendering, nor fog effects (ticket #604)
  - Fix memory reporting in I_GetFreeMem() on amd64 (reported by Ilya Arkhipov)
  - Enable key auto repeat in the menu/console (ticket #587)
  - Assume maintainership while hacking on it more than I originally intended
  
  Most of the patches were submitted upstream (tickets 587, 602-610).

Modified:
  head/games/doomlegacy/Makefile
  head/games/doomlegacy/distinfo
  head/games/doomlegacy/files/patch-Makefile
  head/games/doomlegacy/files/patch-sdl+i_system.c

Modified: head/games/doomlegacy/Makefile
==============================================================================
--- head/games/doomlegacy/Makefile	Thu May 16 23:58:56 2013	(r318347)
+++ head/games/doomlegacy/Makefile	Fri May 17 01:02:37 2013	(r318348)
@@ -2,16 +2,18 @@
 # $FreeBSD$
 
 PORTNAME=	doomlegacy
-DISTVERSION=	1.44_alpha3
+DISTVERSION=	1.44_alpha4
 PORTEPOCH=	1
 CATEGORIES=	games
 MASTER_SITES=	http://doomlegacy.sourceforge.net/releases/ \
 		http://freebsd.nsu.ru/distfiles/:wad
 DISTNAME=	${PORTNAME}_${DISTVERSION}_src_r${SVN_REV}
+# legacy.wad is not provided by upstream and must be regenerated manually
+# when needed (its contents change); luckily, it doesn't happen too often
 DISTFILES=	${DISTNAME}${EXTRACT_SUFX} legacy_wad${EXTRACT_SUFX}:wad
 DIST_SUBDIR=	${PORTNAME}
 
-MAINTAINER=	ports@FreeBSD.org
+MAINTAINER=	danfe@FreeBSD.org
 COMMENT=	Improved and extended version of Doom
 
 LICENSE=	GPLv2
@@ -21,24 +23,22 @@ USE_GL=		glu
 USE_GMAKE=	yes
 USE_SDL=	mixer sdl
 
-MAKE_ENV=	OLD_DEPENDENCIES=1		# since .dep file is removed
 CFLAGS+=	-DSVN_REV=\\\"${SVN_REV}\\\"
-WRKSRC=		${WRKDIR}/${PORTNAME}_${DISTVERSION:S/.//}/src
+WRKSRC=		${WRKDIR}/${PORTNAME}_${DISTVERSION}/src
 
 PLIST_FILES=	bin/${PORTNAME} share/doom/legacy.wad
 PORTDOCS=	*
 
-SVN_REV=	845
+SVN_REV=	999
 
 OPTIONS_DEFINE=	DOCS
 OPTIONS_DEFINE_i386=	ASM
-OPTIONS_DEFAULT_i386=	ASM
 
 .include <bsd.port.options.mk>
 
 .if ${PORT_OPTIONS:MASM}
 BUILD_DEPENDS=	nasm:${PORTSDIR}/devel/nasm
-MAKE_ENV+=	USEASM=1
+MAKE_ENV=	USEASM=1 OLD_DEPENDENCIES=1
 .endif
 
 post-patch: .SILENT
@@ -50,14 +50,12 @@ post-patch: .SILENT
 # Ensure that gathered memory stats are printed correctly
 	${REINPLACE_CMD} -e 's|total, free|(int)total, (int)free|' \
 		${WRKSRC}/z_zone.c
-# Adjust config and save games directory name to be less ambiguous
-	${REINPLACE_CMD} -e 's|\.legacy|.${PORTNAME}|' ${WRKSRC}/doomdef.h
-# Change default value of DOOMWADDIR; better support for relative paths
-	${REINPLACE_CMD} -e 's|\(doomwaddir = \)"\."|\1"${DMDIR}"| ; \
-		1306,1309d' -e "s|s\[0\] ==[^)]*|strchr(s, '/')|" \
+# Make local directory name less ambiguous; adjust default WAD search path
+	${REINPLACE_CMD} -e 's|\.legacy|.${PORTNAME}| ; \
+		/DEFWADS1/s|/.*|${DMDIR}"|' ${WRKSRC}/doomdef.h
+# Provide better support for relative paths (for `-iwad' switch)
+	${REINPLACE_CMD} -e "s|s\[0\] ==[^)]*|strchr(s, '/')|" \
 			${WRKSRC}/d_main.c
-# Remove broken dependency file (wrong paths inside) and a copy of GPL
-	${RM} ${WRKSRC}/sdl.dep ; ${TOUCH} ${WRKSRC}/sdl.dep
 	${RM} ${WRKSRC}/_doc/LICENSE.txt
 
 do-install:

Modified: head/games/doomlegacy/distinfo
==============================================================================
--- head/games/doomlegacy/distinfo	Thu May 16 23:58:56 2013	(r318347)
+++ head/games/doomlegacy/distinfo	Fri May 17 01:02:37 2013	(r318348)
@@ -1,4 +1,4 @@
-SHA256 (doomlegacy/doomlegacy_1.44_alpha3_src_r845.zip) = d5ac03ceab68f586ce7282fab1975bbbdbd83b093dd3fa55a8e5317892f61436
-SIZE (doomlegacy/doomlegacy_1.44_alpha3_src_r845.zip) = 2530660
+SHA256 (doomlegacy/doomlegacy_1.44_alpha4_src_r999.zip) = 51a41099168a113e13bd0bcbe0da7ed2dde1e9f23ddd3c23f6bedd911a4f4824
+SIZE (doomlegacy/doomlegacy_1.44_alpha4_src_r999.zip) = 2645943
 SHA256 (doomlegacy/legacy_wad.zip) = dd805018a60d3e1b54da88ad6d082ae6bb9f790447a3f8d8b8f227b9ffa22240
 SIZE (doomlegacy/legacy_wad.zip) = 338333

Modified: head/games/doomlegacy/files/patch-Makefile
==============================================================================
--- head/games/doomlegacy/files/patch-Makefile	Thu May 16 23:58:56 2013	(r318347)
+++ head/games/doomlegacy/files/patch-Makefile	Fri May 17 01:02:37 2013	(r318348)
@@ -1,15 +1,15 @@
 --- Makefile.orig
 +++ Makefile
-@@ -76,7 +76,7 @@
+@@ -84,7 +84,7 @@
    # std=c89, does not support // commments, no inline, no asm
  
  # gcc or g++
 -CC=gcc
 +CC?=gcc
- 
- # End of User tunable settings
- 
-@@ -116,9 +116,9 @@
+ ifdef CC_WATCOM
+   CC=WATCOMC
+ endif
+@@ -135,9 +135,9 @@
      LIBS := -lopengl32 -lglu32 -lwsock32 -lm
    else
      # default is Linux, for all unix SDL
@@ -21,8 +21,8 @@
      # -L/usr/X11R6/lib is needed by Linux 2.4 and others that still have
      # the GLU libraries in an X11 directory.
      # -lm is needed for pow, powf, and other MATH1 functions.
-@@ -296,7 +296,7 @@
- 
+@@ -392,7 +392,7 @@
+ endif
  
  # compiler and linker flags
 -CFLAGS = $(WFLAGS)
@@ -30,7 +30,7 @@
  
  ifdef PROFILEMODE
  # build with gprof profiling information
-@@ -309,7 +309,7 @@
+@@ -405,7 +405,7 @@
  else
  # build a normal optimized version
    #CFLAGS += -O3
@@ -39,3 +39,35 @@
  endif
  endif
  
+@@ -583,7 +583,7 @@
+ 
+ # executable
+ $(BIN)/$(EXENAME): $(O) $(OBJS) $(MAINOBJ) versionstring
+-#	 @mkdir $(BIN)
++	@mkdir -p $(BIN)
+ 	@echo Linking...
+ 	$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(MAINOBJ) \
+ 	-o $(BIN)/$(EXENAME) $(LIBS)
+@@ -651,7 +651,7 @@
+ ../dep/main2.dep : i*.c m*.c p*.c
+ ../dep/main3.dep : q*.c r*.c s*.c t*.c v*.c z*.c
+ # none: e*.c j*.c k*.c l*.c n*.c o*.c
+-../dep/hardware.dep : hardware/*.c hardware/*/*.c
++../dep/hardware.dep : hardware/*.c hardware/r_opengl/*.c
+ # $(INTERFACE).dep : $(INTERFACE)/*.c
+ ../dep/djgppdos.dep : djgppdos/*.c
+ ../dep/linux_x.dep : linux_x/*.c linux_x/musserv/*.c linux_x/sndserv/*.c
+@@ -673,11 +673,10 @@
+ ../dep :
+ 	@mkdir ../dep;
+ 
+-%.dep :
++%.dep : ../dep
+ 	@echo "Making dependencies $(@F)"
+-	if test ! -d ../dep; then mkdir ../dep; fi
+ 	$(CC) $(CFLAGS) -MM $^ > ../dep/$(@F)
+-	sed --separate -e "s@^[a-zA-Z0-9_]*.o:@\$$(O)/&@" ../dep/$(@F) > sed.dep
++	sed -e "s@^[a-zA-Z0-9_]*.o:@\$$(O)/&@" ../dep/$(@F) > sed.dep
+ 	mv sed.dep ../dep/$(@F)
+ endif
+ 

Modified: head/games/doomlegacy/files/patch-sdl+i_system.c
==============================================================================
--- head/games/doomlegacy/files/patch-sdl+i_system.c	Thu May 16 23:58:56 2013	(r318347)
+++ head/games/doomlegacy/files/patch-sdl+i_system.c	Fri May 17 01:02:37 2013	(r318348)
@@ -1,6 +1,6 @@
 --- sdl/i_system.c.orig
 +++ sdl/i_system.c
-@@ -83,10 +83,7 @@
+@@ -84,10 +84,7 @@
  #  include <sys/mount.h>
  /*For meminfo*/
  #  include <sys/types.h>
@@ -12,7 +12,16 @@
  # endif
  #endif
  
-@@ -832,30 +829,16 @@ uint64_t I_GetFreeMem(uint64_t *total)
+@@ -516,6 +513,8 @@ void I_SysInit()
+ 
+   // Enable unicode key conversion
+   SDL_EnableUNICODE(1);
++  // Enable key auto repeat
++  SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
+ 
+   // Initialize the joystick subsystem.
+   I_JoystickInit();
+@@ -906,33 +905,19 @@ uint64_t I_GetFreeMem(uint64_t *total)
    // LINUX covers all the unix-type OS's.
  
  #ifdef FREEBSD
@@ -24,8 +33,8 @@
 -	{ NULL }
 -    };
 -    if ((kd = kvm_open(NULL, NULL, NULL, O_RDONLY, "kvm_open")) == NULL)
-+    unsigned long page_count, free_count, pagesize;
-+    size_t len = sizeof(unsigned long);
++    unsigned page_count, free_count, pagesize;
++    size_t len = sizeof(unsigned);
 +    if (sysctlbyname("vm.stats.vm.v_page_count", &page_count, &len, NULL, 0))
        goto guess;
 -
@@ -47,8 +56,20 @@
 +      goto guess;
 +    if (sysctlbyname("hw.pagesize", &pagesize, &len, NULL, 0))
 +      goto guess;
-+    *total = page_count * pagesize;
-+    return free_count * pagesize;
++    *total = (uint64_t)page_count * pagesize;
++    return (uint64_t)free_count * pagesize;
  #elif defined(SOLARIS)
      goto guess;
- #else
+-#else
++#endif
+     // Actual Linux
+ 
+ #define MEMINFO_FILE "/proc/meminfo"
+@@ -970,7 +955,6 @@ uint64_t I_GetFreeMem(uint64_t *total)
+   // make a conservative guess
+   *total = 32 << 20;
+   return   32 << 20;
+-#endif // Unix flavors
+ #elif defined(WIN32)
+   // windows
+ #if defined(WIN_LARGE_MEM) && defined( _WIN32_WINNT ) && (_WIN32_WINNT >= 0x0500)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201305170102.r4H12bol097562>