rpms/moon-buggy/F-10 moon-buggy-1.0.51-pause.patch, NONE, 1.1 moon-buggy-1.0.51-sound.patch, NONE, 1.1 moon-buggy-sound.desktop, NONE, 1.1 moon-buggy.desktop, NONE, 1.1 moon-buggy.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Robert Scheck robert at fedoraproject.org
Wed Jan 7 13:22:10 UTC 2009


Author: robert

Update of /cvs/pkgs/rpms/moon-buggy/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv4467/F-10

Modified Files:
	.cvsignore sources 
Added Files:
	moon-buggy-1.0.51-pause.patch moon-buggy-1.0.51-sound.patch 
	moon-buggy-sound.desktop moon-buggy.desktop moon-buggy.spec 
Log Message:
Initial import of moon-buggy into Fedora and EPEL


moon-buggy-1.0.51-pause.patch:

--- NEW FILE moon-buggy-1.0.51-pause.patch ---
Patch by Robert Scheck <robert at fedoraproject.org> originally based on a patch by
Christian T. Steigies <cts at debian.org> for moon-buggy >= 1.0.51. This patch adds
the ability to pause moon-buggy without dying. But this "feature" will never get
accepted by upstream, as upstream maintainer thinks, that if you play moon-buggy
you just have to concentrate onto moon-buggy. And for further information, please
have a look to Debian bug ID #76430.

--- moon-buggy-1.0.51/game.c			2003-04-13 21:06:31.000000000 +0200
+++ moon-buggy-1.0.51/game.c.pause		2009-01-03 18:32:47.000000000 +0100
@@ -117,6 +117,15 @@
     print_message ("aborted at user's request");
     mode_change (crash_mode, 0);
     break;
+  case 4:
+    clock_freeze ();
+    wnoutrefresh (moon);
+    print_message ("PAUSED (press any key to continue)");
+    doupdate ();
+    wait_for_key ();
+    mode_redraw ();
+    clock_thaw ();
+    break;
   }
 }
 
@@ -214,6 +223,7 @@
   mode_add_key (game_mode, mbk_jump, "jump", 1);
   mode_add_key (game_mode, mbk_fire, "fire", 2);
   mode_add_key (game_mode, mbk_end, "abort game", 3);
+  mode_add_key (game_mode, mbk_pause, "pause", 4);
   mode_complete (game_mode);
 
   crash_mode = new_mode ();
--- moon-buggy-1.0.51/keyboard.c		2003-04-13 21:06:29.000000000 +0200
+++ moon-buggy-1.0.51/keyboard.c.pause		2009-01-03 18:33:34.000000000 +0100
@@ -124,6 +124,8 @@
 
   add_key ('s', mbk_scores, 100);
 
+  add_key ('p', mbk_pause, 100);
+
   add_key ('r', mbk_redraw, 20);
   add_key (12, mbk_redraw, 10);	/* \C-l */
 }
--- moon-buggy-1.0.51/moon-buggy.h		2003-04-13 21:07:04.000000000 +0200
+++ moon-buggy-1.0.51/moon-buggy.h.pause	2009-01-03 18:34:39.000000000 +0100
@@ -42,6 +42,7 @@
 
 extern  game_time  current_time (void);
 
+extern  void  wait_for_key (void);
 extern  void  clock_reset (void);
 extern  void  clock_thaw (void);
 extern  void  clear_queue (void);
@@ -149,8 +150,9 @@
   mbk_copyright = 1, mbk_down = 2, mbk_end = 4, mbk_fire = 8, mbk_first = 16,
   mbk_jump = 32, mbk_last = 64, mbk_pagedown = 128, mbk_pageup = 256,
   mbk_start = 512, mbk_up = 1024, mbk_warranty = 2048, mbk_scores = 4096,
+  mbk_pause = 8192,
   
-  mbk_redraw = 8192		/* specially handled in `mode_keypress' */
+  mbk_redraw = 16384		/* specially handled in `mode_keypress' */
 };
 struct binding {
   int  meanings;
--- moon-buggy-1.0.51/queue.c			2003-04-13 21:06:32.000000000 +0200
+++ moon-buggy-1.0.51/queue.c.pause		2009-01-03 18:35:09.000000000 +0100
@@ -120,7 +120,7 @@
   return  res;
 }
 
-static void
+void
 wait_for_key (void)
 {
   int  res;

moon-buggy-1.0.51-sound.patch:

--- NEW FILE moon-buggy-1.0.51-sound.patch ---
Patch by Robert Scheck <robert at fedoraproject.org> for moon-buggy >= 1.0.51, basing
on the original, but experimental, esound-based moon-buggy sound add-on patch of
the upstream maintainer Jochen Voss <voss at seehuhn.de>. Main differences are, that
the use of autoreconf is needed, because no direct patching of configure/Makefile
is done.

I also ensured, that moon-buggy still can be played without any sound, which isn't
possible with the upstream version of the patch. Upstream enforces, once the patch
is used, that a sound card is available on the machine moon-buggy is run. If you
would like to use moon-buggy with the esd sound add-on, add the parameter '-w' or
the long form '--with-sound' when calling the moon-buggy binary.

My suggestion was sent upstream - but I think, the esd sound add-on for moon-buggy
first needs to get implemented better before such an enhancement can be done on the
upstream side.

--- moon-buggy-1.0.51/Makefile.am		2004-12-27 16:34:32.000000000 +0100
+++ moon-buggy-1.0.51/Makefile.am.sound		2009-01-03 18:44:46.000000000 +0100
@@ -2,7 +2,9 @@
 # Copyright 1999, 2000, 2001  Jochen Voss
 # $Id: Makefile.am 6092 2004-12-27 15:34:32Z voss $
 
-EXTRA_DIST = manpage.in car.img \
+SOUND_FILES = jump.wav laser.wav crash.wav
+
+EXTRA_DIST = manpage.in car.img $(SOUND_FILES) README.sound \
 	text2c.sed img.sed ANNOUNCE moon-buggy.lsm \
 	moon-buggy.png moon-buggy.xpm title.eps
 DISTCLEANFILES = moon-buggy.6
@@ -14,8 +16,8 @@
 	game.c level.c ground.c buggy.c buggy.h laser.c meteor.c highscore.c \
 	realname.c queue.c vclock.c date.c persona.c signal.c keyboard.c \
 	terminal.c cursor.c random.c error.c xmalloc.c xstrdup.c darray.h \
-	hpath.c
-moon_buggy_LDADD = @CURSES_LIBS@
+	hpath.c sound.c
+moon_buggy_LDADD = @CURSES_LIBS@ @ESD_LIBS@
 
 info_TEXINFOS = moon-buggy.texi
 man_MANS = moon-buggy.6
@@ -24,6 +26,11 @@
 hpath.o: hpath.c moon-buggy.h Makefile
 	$(COMPILE) -DSCORE_DIR=\"$(scoredir)\" -c $<
 
+sounddir = @SOUND_DIR@
+sound_DATA = $(SOUND_FILES)
+sound.o: sound.c moon-buggy.h
+	$(COMPILE) -DSOUND_DIR=\"$(sounddir)\" @ESD_CFLAGS@ -c $<
+
 BUILT_SOURCES = copying.h buggy.h
 copying.h: COPYING text2c.sed
 	cd $(srcdir) && sed -f text2c.sed $(srcdir)/COPYING >$@
--- moon-buggy-1.0.51/buggy.c			2004-12-27 16:58:57.000000000 +0100
+++ moon-buggy-1.0.51/buggy.c.sound		2009-01-03 19:11:21.000000000 +0100
@@ -179,6 +179,9 @@
       state = sz_sit;
       start_wheel ();
       crash_detected = 1;
+      if (sound_flag == 1) {
+        play_sound (mev_CRASH);
+      }
     }
   }
   print_buggy ();
@@ -193,6 +196,9 @@
   assert (state->has_ground);
   remove_event (jump_handler);	/* only one jump at a time */
   add_event (t, jump_handler, sz_jump);
+  if (sound_flag == 1) {
+    play_sound (mev_JUMP);
+  }
 }
 
 int
@@ -215,6 +221,9 @@
     state = sz_crash;
     print_buggy ();
     start_wheel ();
+    if (sound_flag == 1) {
+      play_sound (mev_CRASH);
+    }
     return 1;
   }
   
@@ -232,6 +241,9 @@
     print_buggy ();
     start_wheel ();
     crash_detected = 1;
+    if (sound_flag == 1) {
+      play_sound (mev_CRASH);
+    }
     return 1;
   }
 
--- moon-buggy-1.0.51/configure.ac		2005-01-07 15:55:57.000000000 +0100
+++ moon-buggy-1.0.51/configure.ac.sound	2009-01-03 19:19:07.000000000 +0100
@@ -1,7 +1,7 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_REVISION($Revision: 1.4 $)
 
-AC_INIT(moon-buggy, 1.0.51, voss at seehuhn.de)
+AC_INIT(moon-buggy, 1.0.51+esd, voss at seehuhn.de)
 AC_CONFIG_SRCDIR([moon-buggy.h])
 AM_INIT_AUTOMAKE
 AM_CONFIG_HEADER(config.h)
@@ -28,6 +28,9 @@
 
 dnl Checks for libraries.
 AC_CHECK_LIB(m, modf)
+PKG_CHECK_MODULES(ESD, esound)
+AC_SUBST(ESD_CFLAGS)
+AC_SUBST(ESD_LIBS)
 JV_CHECK_CURSES
 
 dnl Checks for header files.
@@ -63,5 +66,8 @@
 
 AM_CONDITIONAL(short_getopt, test "x$ac_cv_func_getopt_long" != xyes)
 
+SOUND_DIR='$(datadir)/moon-buggy/sounds/'
+AC_SUBST(SOUND_DIR)
+
 AC_CONFIG_FILES([Makefile])
 AC_OUTPUT
--- moon-buggy-1.0.51/laser.c			2003-04-13 21:06:31.000000000 +0200
+++ moon-buggy-1.0.51/laser.c.sound		2009-01-03 19:13:33.000000000 +0100
@@ -108,6 +108,9 @@
   DA_ADD (beam_table, struct beam *, b);
   add_event (t+TICK(0.25), beam_handler, b);
   adjust_score (-1);
+  if (sound_flag == 1) {
+    play_sound (mev_LASER);
+  }
 }
 
 void
--- moon-buggy-1.0.51/moon-buggy.h		2003-04-13 21:07:04.000000000 +0200
+++ moon-buggy-1.0.51/moon-buggy.h.sound	2009-01-03 19:14:25.000000000 +0100
@@ -28,6 +28,7 @@
 extern  WINDOW *moon, *status, *message;
 
 extern int  car_base;
+extern int  sound_flag;
 
 extern  void  print_message (const char *str);
 extern  void  print_hint (const char *str);
@@ -217,4 +218,8 @@
 /* from "hpath.c" */
 extern  const char *score_dir;
 
+/* from "sound.c" */
+enum event_type { mev_JUMP, mev_LASER, mev_CRASH };
+extern  void  play_sound (enum event_type type);
+
 #endif /* FILE_MOON_BUGGY_H_SEEN */
--- moon-buggy-1.0.51/moon-buggy.info		2005-01-07 15:59:15.000000000 +0100
+++ moon-buggy-1.0.51/moon-buggy.info.sound	2009-01-03 19:15:37.000000000 +0100
@@ -32,7 +32,7 @@
 dangerous craters there.  Fortunately your car can jump over them!
 
    This edition (last updated 27 December 2004) of the manual applies to
-version 1.0.51 of the program.
+version 1.0.51+esd of the program.
 
 * Menu:
 
--- moon-buggy-1.0.51/stamp-vti			2006-03-19 20:25:18.000000000 +0100
+++ moon-buggy-1.0.51/stamp-vti.sound		2009-01-03 19:15:52.000000000 +0100
@@ -1,4 +1,4 @@
 @set UPDATED 27 December 2004
 @set UPDATED-MONTH December 2004
- at set EDITION 1.0.51
- at set VERSION 1.0.51
+ at set EDITION 1.0.51+esd
+ at set VERSION 1.0.51+esd
--- moon-buggy-1.0.51/version.texi		2005-01-07 15:57:00.000000000 +0100
+++ moon-buggy-1.0.51/version.texi.sound	2009-01-03 19:16:07.000000000 +0100
@@ -1,4 +1,4 @@
 @set UPDATED 27 December 2004
 @set UPDATED-MONTH December 2004
- at set EDITION 1.0.51
- at set VERSION 1.0.51
+ at set EDITION 1.0.51+esd
+ at set VERSION 1.0.51+esd
--- moon-buggy-1.0.51/main.c			2006-03-19 20:24:14.000000000 +0100
+++ moon-buggy-1.0.51/main.c.sound.c		2009-01-03 19:06:56.000000000 +0100
@@ -30,6 +30,7 @@
 WINDOW *moon, *status, *message;
 
 int  car_base;
+int  sound_flag = 0;
 
 
 void
@@ -135,11 +136,12 @@
     { "mesg", no_argument, 0, 'm' },
     { "no-title", no_argument, 0, 'n' },
     { "show-scores", no_argument, 0, 's' },
+    { "with-sound", no_argument, 0, 'w' },
     { "version", no_argument, 0, 'V' },
     { NULL, 0, NULL, 0}
   };
 #endif
-#define MB_SHORT_OPTIONS "chmnsV"
+#define MB_SHORT_OPTIONS "chmnswV"
   int  help_flag = 0;
   int  highscore_flag = 0;
   int  title_flag = 1;
@@ -182,6 +184,9 @@
     case 's':
       highscore_flag = 1;
       break;
+    case 'w':
+      sound_flag = 1;
+      break;
     case 'V':
       version_flag = 1;
       break;
@@ -221,6 +226,8 @@
 	   out);
     fputs (OPT("-n","--no-title     ") "omit the title screen\n", out);
     fputs (OPT("-s","--show-scores  ") "only show the highscore list\n", out);
+    fputs (OPT("-w","--with-sound   ") "enable sound using esd feature\n",
+           out);
     fputs (OPT("-V","--version      ") "show the version number and exit\n\n",
 	   out);
     fputs ("Please report bugs to <voss at seehuhn.de>.\n", out);
--- moon-buggy-1.0.51/README			2004-12-27 16:51:24.000000000 +0100
+++ moon-buggy-1.0.51/README.sound		2009-01-03 20:02:52.000000000 +0100
@@ -18,6 +18,19 @@
 by the command 'moon-buggy -V'.
 
 
+SOUND FEATURE:
+
+   This version of moon-buggy includes the very experimental sound add-
+on using esd.  It can only be used in conjunction with moon-buggy in
+version 1.0.51.  As moon-buggy should be able to run on a simple VT100
+terminal, this add-on is not part of the main moon-buggy distribution.
+
+   In Fedora, the experimental sound add-on was added more lightweight
+than upstream wrote the original patch.  The parameter '-w' or the long
+form '--with-sound' can be appended when calling the moon-buggy binary.
+If no parameter is given, moon-buggy will run without any sounds.
+
+
 INSTALLATION:
 
    Moon-buggy requires the curses library as a prerequisite.  If
--- moon-buggy-1.0.51/manpage.in		2004-12-27 16:58:57.000000000 +0100
+++ moon-buggy-1.0.51/manpage.in.sound		2009-01-03 21:20:43.000000000 +0100
@@ -32,6 +32,9 @@
 .Op s show\-scores
 shows the current highscore list and exits.
 .TP
+.Op w with\-sound
+enables experimental sound add-on using esd.
+.TP
 .Op V version
 prints the program\'s version to standard output and exits.
 .SH KEYS


--- NEW FILE moon-buggy-sound.desktop ---
[Desktop Entry]
Categories=Game;ArcadeGame;
Name=moon-buggy (with sounds)
Type=Application
Terminal=true
Exec=moon-buggy --with-sound
Icon=moon-buggy
Comment=Drive and jump with some kind of car across the moon (enhanced with some sounds)
Encoding=UTF-8


--- NEW FILE moon-buggy.desktop ---
[Desktop Entry]
Categories=Game;ArcadeGame;
Name=moon-buggy
Type=Application
Terminal=true
Exec=moon-buggy
Icon=moon-buggy
Comment=Drive and jump with some kind of car across the moon
Encoding=UTF-8


--- NEW FILE moon-buggy.spec ---
# Enable oldstyle to have a nearly nothing requiring package after rebuilding
%define oldstyle 0

Summary:         Drive and jump with some kind of car across the moon
Name:            moon-buggy
Version:         1.0.51
Release:         2%{?dist}
License:         GPL+
Group:           Amusements/Games
URL:             http://seehuhn.de/pages/%{name}
Source0:         http://seehuhn.de/media/programs/%{name}-%{version}.tar.gz
Source1:         http://seehuhn.de/media/programs/%{name}-sound-%{version}.tar.gz
Source2:         %{name}.desktop
Source3:         %{name}-sound.desktop
Patch0:          moon-buggy-1.0.51-pause.patch
Patch1:          moon-buggy-1.0.51-sound.patch
Requires(post):  /sbin/install-info
Requires(preun): /sbin/install-info
BuildRequires:   ncurses-devel
%if !%{oldstyle}
BuildRequires:   esound-devel, desktop-file-utils, autoconf, automake
%endif
BuildRoot:       %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

%description
Moon-buggy is a simple character graphics game where you drive some kind
of car across the moon's surface. Unfortunately there are dangerous craters
there. Fortunately your car can jump over them! 

The game has some resemblance of the classic arcade game moon-patrol which
was released in 1982. A clone of this game was relased for the Commodore
C64 in 1983. The present, ASCII art version of moon-buggy was written many
years later by Jochen Voss.

%prep
%setup -q -a 1
%patch0 -p1 -b .pause
%if !%{oldstyle}
%patch1 -p1 -b .sound
mv -f %{name}-%{version}/* .
autoreconf -f
%endif

%build
%configure --sharedstatedir=%{_localstatedir}/games
make %{?_smp_mflags}

%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" install

# Create zero-sized highscore file
touch $RPM_BUILD_ROOT%{_localstatedir}/games/%{name}/mbscore

# Install working *.desktop files and an icon
%if !%{oldstyle}
desktop-file-install --vendor "" --dir=$RPM_BUILD_ROOT%{_datadir}/applications %{SOURCE2}
desktop-file-install --vendor "" --dir=$RPM_BUILD_ROOT%{_datadir}/applications %{SOURCE3}

install -D -p -m 644 %{name}.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}.png
%endif

# Some file cleanups
rm -f $RPM_BUILD_ROOT%{_infodir}/dir

# Convert everything to UTF-8
iconv -f iso-8859-1 -t utf-8 -o ChangeLog.utf8 ChangeLog
sed -i 's|\r$||g' ChangeLog.utf8
touch -c -r ChangeLog ChangeLog.utf8
mv -f ChangeLog.utf8 ChangeLog

iconv -f iso-8859-1 -t utf-8 -o TODO.utf8 TODO
sed -i 's|\r$||g' TODO.utf8
touch -c -r TODO TODO.utf8
mv -f TODO.utf8 TODO

%post
/sbin/install-info %{_infodir}/%{name}.info.gz %{_infodir}/dir

%preun
if [ $1 = 0 ]; then
  /sbin/install-info --delete %{_infodir}/%{name}.info.gz %{_infodir}/dir || :
fi

%clean
rm -rf $RPM_BUILD_ROOT

%files 
%defattr(-,root,root,-)
%doc ANNOUNCE AUTHORS ChangeLog COPYING README THANKS
%if !%{oldstyle}
%doc README.sound
%{_datadir}/%{name}/
%{_datadir}/pixmaps/%{name}.png
%{_datadir}/applications/%{name}.desktop
%{_datadir}/applications/%{name}-sound.desktop
%endif
%attr(2755,root,games) %{_bindir}/%{name}
%{_mandir}/man6/%{name}.6*
%{_infodir}/%{name}.info.gz
%attr(0775,root,games) %{_localstatedir}/games/%{name}
%verify(not md5 size mtime) %config(noreplace) %attr(664,root,games) %{_localstatedir}/games/%{name}/mbscore

%changelog
* Sun Jan 04 2009 Robert Scheck <robert at fedoraproject.org> 1.0.51-2
- Avoid arbitrary modification of highscore file (#469585 #c25)

* Sat Jan 03 2009 Robert Scheck <robert at fedoraproject.org> 1.0.51-1
- Upgrade to 1.0.51
- Initial spec file for Fedora and Red Hat Enterprise Linux (based
  on a spec file of Simon Wesp <cassmodiah at fedoraproject.org>)


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/moon-buggy/F-10/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	7 Jan 2009 01:16:24 -0000	1.1
+++ .cvsignore	7 Jan 2009 13:21:39 -0000	1.2
@@ -0,0 +1,2 @@
+moon-buggy-1.0.51.tar.gz
+moon-buggy-sound-1.0.51.tar.gz


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/moon-buggy/F-10/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	7 Jan 2009 01:16:24 -0000	1.1
+++ sources	7 Jan 2009 13:21:39 -0000	1.2
@@ -0,0 +1,2 @@
+bfe23ef5cfa838ac261eee34ea5322f3  moon-buggy-1.0.51.tar.gz
+8a43b7c1baf583314e4cf0dde0ea9b85  moon-buggy-sound-1.0.51.tar.gz




More information about the fedora-extras-commits mailing list