rpms/smashteroid/devel astro-fixes.patch, NONE, 1.1 smashteroid.desktop, NONE, 1.1 smashteroid.png, NONE, 1.1 smashteroid.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Hans de Goede (jwrdegoede) fedora-extras-commits at redhat.com
Thu Feb 1 08:52:45 UTC 2007


Author: jwrdegoede

Update of /cvs/extras/rpms/smashteroid/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30549/devel

Modified Files:
	.cvsignore sources 
Added Files:
	astro-fixes.patch smashteroid.desktop smashteroid.png 
	smashteroid.spec 
Log Message:
auto-import smashteroid-1.11-2.fc7 on branch devel from smashteroid-1.11-2.fc7.src.rpm

astro-fixes.patch:

--- NEW FILE astro-fixes.patch ---
--- /dev/null	2007-01-27 16:33:38.647762500 +0100
+++ smashteroid-1.11/license-change.txt	2007-01-27 17:05:02.000000000 +0100
@@ -0,0 +1,200 @@
+The original license statement in source.txt was: "
+The Smashteroid source code is (c)2001 by NewCreature Design. The source may be
+freely distributed and portions of the code may be extracted and used by you in
+your own projects. NewCreature Design grants you permission to distribute any
+[un]modified versions of the game you make, provided you include the original
+"readme.txt" file and notify us about your distribution."
+
+This was changed to the current text in source.txt and readme.txt by Hans de
+Goede <j.w.r.degoede at hhs.nl>, with permission from the original author Todd
+Cope, below is are literal copies of the email exchange in which he gave his
+permission:
+
+---
+
+Message-ID: <456DE5CA.7020300 at hhs.nl>
+Date: Wed, 29 Nov 2006 20:55:54 +0100
+From: Hans de Goede <j.w.r.degoede at hhs.nl>
+User-Agent: Thunderbird 1.5.0.5 (X11/20060803)
+MIME-Version: 1.0
+To:  todd at t3-i.com
+Subject: alphabet soup, laserwars en others license
+X-Enigmail-Version: 0.94.0.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+Hi Todd,
+
+Remember me I mailed you patches for a Linux version for crystalstacker
+quite some time ago. and I've created Fedora Linux packages of
+crystalstacker so that Fedora users can easily install it.
+
+Besides a Linux enthousiast / Fedora developer I'm also a Computer
+Science teacher at a Dutch University. This period I'm teaching my
+students howto write portable code, so I thought it would be fun to give
+them some games written with allegro, but not with another OS like Linux
+in mind, to "port" to Linux. Today there was a practical lesson where
+they did just that and it was a great success.
+
+The managed to get smashteroid and alphabet soup running under Linux
+quite easily. Their work still needs some cleaning up and then I'll send
+it to you. Know that I've seen your other games in action I would like
+to package them for Fedora Linux too.
+
+I'm interested in creating packages for all your (non java) games, but
+lets start with those for which you currently already make source
+available: alphabet soup, smashteroid and laserwars.
+
+All 3 of these come with a Freeware-ish license currently in the text. I
+don't know if you remember, but we had some discussions about some rough
+(and thus for Fedora troublesome) edges with the crystalstacker license.
+
+In the end you put the following license on crystalstacker (for which
+I'm still very grateful):
+
+"Crystal Stacker is freeware. This means you can pass copies around
+freely provided you include this document in it's original form in your
+distribution. Please see the "Contacting Us" section of this document if
+you need to contact us for any reason.
+
+The source code is provided as-is and you may do with it whatsoever you
+please provided that you include this file in its unmodified form with
+any new distribution. NewCreature Design makes no gaurantees regarding
+the usability of the source but are willing to help with any problems
+you might run into. Please see the "Contacting Us" section of this
+document if you need to get in touch with us about any issues you have
+regarding the source."
+
+Are you willing to release: alphabet soup, smashteroid and laserwars
+under this license too? And in that case is it ok for me to distribute
+the current available versions under this license?
+
+Thanks & Regards,
+
+Hans
+
+
+p.s.
+
+While I'm asking any chance you could release source of any of your
+other games like vgolf and secret of the hose? I know you already make
+linux binaries available, but source under an unrestrictive license
+would be really awsome!
+
+
+
+---
+
+Return-Path: <todd at t3-i.com>
+Received: from koko.hhs.nl ([145.52.2.16] verified)
+  by hhs.nl (CommuniGate Pro SMTP 4.3.6)
+  with ESMTP id 55013466 for j.w.r.degoede at hhs.nl; Thu, 30 Nov 2006 01:50:54 +0100
+Received: from exim by koko.hhs.nl with spam-scanned (Exim 4.62)
+	(envelope-from <todd at t3-i.com>)
+	id 1Gpa8Z-0007DU-2j
+	for j.w.r.degoede at hhs.nl; Thu, 30 Nov 2006 01:50:54 +0100
+X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on koko.hhs.nl
+X-Spam-Level: 
+X-Spam-Status: No, score=0.6 required=5.0 tests=AWL,BAYES_05,NO_REAL_NAME,
+	UNWANTED_LANGUAGE_BODY autolearn=no version=3.1.0
+Received: from exim (helo=koko)
+	by koko.hhs.nl with local-smtp (Exim 4.62)
+	(envelope-from <todd at t3-i.com>)
+	id 1Gpa8Y-0007DR-VX
+	for j.w.r.degoede at hhs.nl; Thu, 30 Nov 2006 01:50:51 +0100
+Received: from [68.178.232.10] (port=55956 helo=smtpout15-02.prod.mesa1.secureserver.net)
+	by koko.hhs.nl with smtp (Exim 4.62)
+	(envelope-from <todd at t3-i.com>)
+	id 1Gpa8Y-0007DM-Bx
+	for j.w.r.degoede at hhs.nl; Thu, 30 Nov 2006 01:50:50 +0100
+Received: (qmail 23995 invoked from network); 30 Nov 2006 00:50:48 -0000
+Received: from unknown (HELO gem-wbe25.prod.mesa1.secureserver.net) (64.202.189.228)
+  by smtpout15-02.prod.mesa1.secureserver.net with SMTP; 30 Nov 2006 00:50:48 -0000
+Received: (qmail 20967 invoked by uid 99); 30 Nov 2006 00:50:48 -0000
+Date: Wed, 29 Nov 2006 17:50:48 -0700
+From: todd at t3-i.com
+Subject: RE: alphabet soup, laserwars en others license
+To: Hans de Goede <j.w.r.degoede at hhs.nl>
+Message-ID: <20061129175048.c1bf2b7c2c1de069cff39b794cd5d62e.b7005c9902.wbe at email.secureserver.net>
+MIME-Version: 1.0
+Content-Type: TEXT/plain; CHARSET=US-ASCII
+User-Agent: Web-Based Email 4.9.0
+X-Originating-IP: 70.157.254.177
+X-Anti-Virus: Kaspersky Anti-Virus for MailServers 5.5.2/RELEASE, bases: 30112006 #232888, status: clean
+
+Hello Hans,
+
+To your first request to release the other games (Alphabet Soup, Smashteroid, Laser War) under the Crystal Stacker license, I give you my permission to do so.
+
+As for vGolf, it is unfinished but the source code is available under the "Linux" packages on the web site. No Linux binaries exist as I have no idea how to make them so they work with all Linux versions :) I am fine with you releasing the current vGolf under the Crystal Stacker license as well.
+
+However, Secret of the Hose is closed-source at the request of the game designer. He wanted to keep it closed-sourced so that people wouldn't be able to cheat as easily in online play. I would love to release the source otherwise. I see no benefit personally in keeping my sources under wraps Your case of using them for educational purposes makes me quite happy.
+
+Sincerely,
+
+Todd
+
+> -------- Original Message --------
+> Subject: alphabet soup, laserwars en others license
+> From: Hans de Goede <j.w.r.degoede at hhs.nl>
+> Date: Wed, November 29, 2006 12:55 pm
+> To: todd at t3-i.com
+> 
+> Hi Todd,
+> 
+> Remember me I mailed you patches for a Linux version for crystalstacker
+> quite some time ago. and I've created Fedora Linux packages of
+> crystalstacker so that Fedora users can easily install it.
+> 
+> Besides a Linux enthousiast / Fedora developer I'm also a Computer
+> Science teacher at a Dutch University. This period I'm teaching my
+> students howto write portable code, so I thought it would be fun to give
+> them some games written with allegro, but not with another OS like Linux
+> in mind, to "port" to Linux. Today there was a practical lesson where
+> they did just that and it was a great success.
+> 
+> The managed to get smashteroid and alphabet soup running under Linux
+> quite easily. Their work still needs some cleaning up and then I'll send
+> it to you. Know that I've seen your other games in action I would like
+> to package them for Fedora Linux too.
+> 
+> I'm interested in creating packages for all your (non java) games, but
+> lets start with those for which you currently already make source
+> available: alphabet soup, smashteroid and laserwars.
+> 
+> All 3 of these come with a Freeware-ish license currently in the text. I
+> don't know if you remember, but we had some discussions about some rough
+> (and thus for Fedora troublesome) edges with the crystalstacker license.
+> 
+> In the end you put the following license on crystalstacker (for which
+> I'm still very grateful):
+> 
+> "Crystal Stacker is freeware. This means you can pass copies around
+> freely provided you include this document in it's original form in your
+> distribution. Please see the "Contacting Us" section of this document if
+> you need to contact us for any reason.
+> 
+> The source code is provided as-is and you may do with it whatsoever you
+> please provided that you include this file in its unmodified form with
+> any new distribution. NewCreature Design makes no gaurantees regarding
+> the usability of the source but are willing to help with any problems
+> you might run into. Please see the "Contacting Us" section of this
+> document if you need to get in touch with us about any issues you have
+> regarding the source."
+> 
+> Are you willing to release: alphabet soup, smashteroid and laserwars
+> under this license too? And in that case is it ok for me to distribute
+> the current available versions under this license?
+> 
+> Thanks & Regards,
+> 
+> Hans
+> 
+> 
+> p.s.
+> 
+> While I'm asking any chance you could release source of any of your
[...1767 lines suppressed...]
--- smashteroid-1.11/source/objects.cc.fixes	2001-07-31 00:12:14.000000000 +0200
+++ smashteroid-1.11/source/objects.cc	2007-01-27 17:05:02.000000000 +0100
@@ -1,4 +1,5 @@
 #include <allegro.h>
+#include <math.h>
 //#include <ncd.h>
 #include "objects.h"
 #include "collide.h"
--- smashteroid-1.11/source/t3ssal.h.fixes	2001-07-18 03:55:56.000000000 +0200
+++ smashteroid-1.11/source/t3ssal.h	2007-01-27 17:05:02.000000000 +0100
@@ -7,6 +7,11 @@
 extern "C" {
 #endif
 
+/* Do we want to use pthreads? */
+#if !defined(ALLEGRO_WINDOWS) && !defined(T3SS_PTHREADS)
+#define T3SS_PTHREADS
+#endif
+
 #define I_NULL -1 /* provide NULL value for signed integers */
 #define MSAMPLE SAMPLE
 
@@ -39,6 +44,14 @@
 void t3ss_play_sound_ex(MSAMPLE * sp, int chan, int vol, int pan, int freq);
 void t3ss_play_sound_reserved(MSAMPLE * sp, int chan, int pan, int freq);
 int t3ss_place_sound(int x, int width);
+void t3ss_pause_music(void);
+void t3ss_resume_music(void);
+
+#ifdef T3SS_PTHREADS
+#define t3ss_poll()
+#else
+void t3ss_poll(void);
+#endif
 
 #ifdef __cplusplus
 }
--- smashteroid-1.11/source/simon.cc.fixes	2001-07-27 15:11:00.000000000 +0200
+++ smashteroid-1.11/source/simon.cc	2007-01-27 17:05:02.000000000 +0100
@@ -15,15 +15,15 @@
 
 void simon_init(void)
 {
-    simon_pic[0] = load_pcx("astro.dat#simon_0", NULL);
-    simon_pic[1] = load_pcx("astro.dat#simon_1", NULL);
-    simon_pic[2] = load_pcx("astro.dat#simon_2", NULL);
-    simon_pic[3] = load_pcx("astro.dat#simon_3", NULL);
-    simon_pic[4] = load_pcx("astro.dat#simon_4", NULL);
-    simon_sound[1] = t3ss_load_wav_fn("astro.dat#simon_sound_1");
-    simon_sound[2] = t3ss_load_wav_fn("astro.dat#simon_sound_2");
-    simon_sound[3] = t3ss_load_wav_fn("astro.dat#simon_sound_3");
-    simon_sound[4] = t3ss_load_wav_fn("astro.dat#simon_sound_4");
+    simon_pic[0] = load_pcx(DATADIR "astro.dat#simon_0", NULL);
+    simon_pic[1] = load_pcx(DATADIR "astro.dat#simon_1", NULL);
+    simon_pic[2] = load_pcx(DATADIR "astro.dat#simon_2", NULL);
+    simon_pic[3] = load_pcx(DATADIR "astro.dat#simon_3", NULL);
+    simon_pic[4] = load_pcx(DATADIR "astro.dat#simon_4", NULL);
+    simon_sound[1] = t3ss_load_wav_fn(DATADIR "astro.dat#simon_sound_1");
+    simon_sound[2] = t3ss_load_wav_fn(DATADIR "astro.dat#simon_sound_2");
+    simon_sound[3] = t3ss_load_wav_fn(DATADIR "astro.dat#simon_sound_3");
+    simon_sound[4] = t3ss_load_wav_fn(DATADIR "astro.dat#simon_sound_4");
 
     simon_over = 0;
     simon_count = 0;
@@ -56,7 +56,7 @@
         draw_sprite(astro_screen, simon_pic[simon_lit], 69, 10);
         ncd_draw_number(astro_screen, &astro_font, 286, 184, simon_count - 1 >= 0 ? simon_count - 1 : 0, 2);
         vsync();
-        blit(astro_screen, screen, 0, 0, 1, 0, 320, 200);
+        stretch_blit(astro_screen, screen, 0, 0, 320, 200, 1*2, 0*2, 320*2, 480);
     }
 }
 
--- smashteroid-1.11/source/pong.cc.fixes	2001-07-27 15:18:10.000000000 +0200
+++ smashteroid-1.11/source/pong.cc	2007-01-27 17:05:02.000000000 +0100
@@ -8,9 +8,10 @@
 BASIC_SPRITE ball;
 int p1_score;
 int p2_score;
-fix ball_acc = 1.0;
-fix angle_chart[18] = { 32,  24,  16,   8,   0, 248, 240, 232, 224,
-                        96, 104, 112, 120, 128, 136, 144, 152, 160};
+fix ball_acc(1.0);
+fix angle_chart[18] = { fix(32), fix(24), fix(16), fix(8), fix(0), fix(248),
+    fix(240), fix(232), fix(224), fix(96), fix(104), fix(112), fix(120),
+    fix(128), fix(136), fix(144), fix(152), fix(160) };
 char current_angle = 5;
 int predicted_y;
 
@@ -117,33 +118,33 @@
 
 void pong_init(void)
 {
-    pong_bg = load_pcx("astro.dat#pong_backdrop", NULL);
-    load_animation(&paddle_animation, "astro.dat#pong_paddle");
-    load_animation(&ball_animation, "astro.dat#pong_ball");
+    pong_bg = load_pcx(DATADIR "astro.dat#pong_backdrop", NULL);
+    load_animation(&paddle_animation, DATADIR "astro.dat#pong_paddle");
+    load_animation(&ball_animation, DATADIR "astro.dat#pong_ball");
 
     /* initialize paddle 0 */
     paddle[0].initialize(&paddle_animation);
-    paddle[0].set_friction(0, 0.5);
-    paddle[0].set_acceleration(0, 1);
-    paddle[0].set_max_speed(0, 1.5);
-    paddle[0].set_boundary(2, 18, 308, 166, BOUNDARY_STOP);
-    paddle[0].set_position(2, 76 + 16);
+    paddle[0].set_friction(fix(0), fix(0.5));
+    paddle[0].set_acceleration(fix(0), fix(1));
+    paddle[0].set_max_speed(fix(0), fix(1.5));
+    paddle[0].set_boundary(fix(2), fix(18), fix(308), fix(166), BOUNDARY_STOP);
+    paddle[0].set_position(fix(2), fix(76 + 16));
     paddle[0].activate();
 
     /* initialize paddle 1 */
     paddle[1].initialize(&paddle_animation);
-    paddle[1].set_friction(0, 0.5);
-    paddle[1].set_acceleration(0, 1);
-    paddle[1].set_max_speed(0, 1.5);
-    paddle[1].set_boundary(2, 18, 308, 166, BOUNDARY_STOP);
-    paddle[1].set_position(308, 76 + 16);
+    paddle[1].set_friction(fix(0), fix(0.5));
+    paddle[1].set_acceleration(fix(0), fix(1));
+    paddle[1].set_max_speed(fix(0), fix(1.5));
+    paddle[1].set_boundary(fix(2), fix(18), fix(308), fix(166), BOUNDARY_STOP);
+    paddle[1].set_position(fix(308), fix(76 + 16));
     paddle[1].activate();
 
     /* ball */
     ball_acc = 1;
     current_angle = ncd_random() % 18;
     ball.initialize(&ball_animation);
-    ball.set_position(155, 82);
+    ball.set_position(fix(155), fix(82));
     ball.set_speed(ball_acc * cos(angle_chart[current_angle]), ball_acc * sin(angle_chart[current_angle]));
     ball.activate();
 
@@ -211,7 +212,7 @@
     }
     if(ball.get_x() <= 2)
     {
-        ball.set_position(2, ball.get_y());
+        ball.set_position(fix(2), ball.get_y());
         current_angle = pick_reverse_angle_x(current_angle);
         if(mode == 0)
         {
@@ -224,7 +225,7 @@
     }
     if(ball.get_x() >= 308)
     {
-        ball.set_position(308, ball.get_y());
+        ball.set_position(fix(308), ball.get_y());
         current_angle = pick_reverse_angle_x(current_angle);
         if(mode == 0)
         {
@@ -236,7 +237,7 @@
     }
     if(ball.get_y() <= 18)
     {
-        ball.set_position(ball.get_x(), 18);
+        ball.set_position(ball.get_x(), fix(18));
         current_angle = pick_reverse_angle_y(current_angle);
         ball.set_speed(ball_acc * cos(angle_chart[current_angle]), ball_acc * sin(angle_chart[current_angle]));
         if(mode == 0)
@@ -246,7 +247,7 @@
     }
     if(ball.get_y() >= 190)
     {
-        ball.set_position(ball.get_x(), 190);
+        ball.set_position(ball.get_x(), fix(190));
         current_angle = pick_reverse_angle_y(current_angle);
         ball.set_speed(ball_acc * cos(angle_chart[current_angle]), ball_acc * sin(angle_chart[current_angle]));
         if(mode == 0)
@@ -312,7 +313,7 @@
     ncd_draw_number(astro_screen, &astro_font, 0, 0, p1_score, 2);
     ncd_draw_number(astro_screen, &astro_font, 286, 0, p2_score, 2);
     vsync();
-    blit(astro_screen, screen, 0, 0, 1, 0, 320, 200);
+    stretch_blit(astro_screen, screen, 0, 0, 320, 200, 1*2, 0*2, 320*2, 480);
 }
 
 void pong_check_winner(void)
@@ -327,7 +328,7 @@
         ncd_draw_number(astro_screen, &astro_font, 286, 0, p2_score, 2);
         ncd_printf(astro_screen, &astro_font, 46, 100, "Player 1 Wins!");
         vsync();
-        blit(astro_screen, screen, 0, 0, 1, 0, 320, 200);
+        stretch_blit(astro_screen, screen, 0, 0, 320, 200, 1*2, 0*2, 320*2, 480);
         clear_keybuf();
         while(!keypressed());
         pong_over = 1;
@@ -342,7 +343,7 @@
         ncd_draw_number(astro_screen, &astro_font, 286, 0, p2_score, 2);
         ncd_printf(astro_screen, &astro_font, 47, 100, "Player 2 Wins!");
         vsync();
-        blit(astro_screen, screen, 0, 0, 1, 0, 320, 200);
+        stretch_blit(astro_screen, screen, 0, 0, 320, 200, 1*2, 0*2, 320*2, 480);
         clear_keybuf();
         while(!keypressed());
         pong_over = 1;


--- NEW FILE smashteroid.desktop ---
[Desktop Entry]
Encoding=UTF-8
Name=Smashteroid
Comment=Astrosmash Remake
Exec=smashteroid
Icon=smashteroid.png
Terminal=false
StartupNotify=false
Type=Application
Categories=Application;Game;ArcadeGame;


--- NEW FILE smashteroid.spec ---
Name:           smashteroid
Version:        1.11
Release:        2%{?dist}
Summary:        Astrosmash Remake
Group:          Amusements/Games
License:        Freeware
URL:            http://www.t3-i.com/smashteroid.htm
Source0:        http://www.t3-i.com/ncdgames/astro111src.zip
Source1:        %{name}.desktop
Source2:        %{name}.png
Patch0:         astro-fixes.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  allegro-devel dumb-devel desktop-file-utils
Requires:       hicolor-icon-theme

%description
Smashteroid is a remake of the old Intellivision game Astrosmash. Your job is
to defend Earth from the onslaught of asteroids.  Features three game modes
with exciting new twists.


%prep
%setup -q -c
%patch0 -p1 -z .fixes
sed -i 's/\r//' distro/readme.txt distro/history.txt source.txt


%build
pushd source
make %{?_smp_mflags} -f Makefile.unix PREFIX=%{_prefix} \
  CFLAGS="$RPM_OPT_FLAGS -fsigned-char -Wno-deprecated-declarations"
popd


%install
rm -rf $RPM_BUILD_ROOT
pushd source
make -f Makefile.unix install PREFIX=$RPM_BUILD_ROOT%{_prefix}
popd

# below is the desktop file and icon stuff.
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
desktop-file-install --vendor fedora            \
  --dir $RPM_BUILD_ROOT%{_datadir}/applications \
  --add-category X-Fedora                       \
  %{SOURCE1}
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps
install -p -m 644 %{SOURCE2} \
  $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps


%clean
rm -rf $RPM_BUILD_ROOT


%post
touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
   %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi

%postun
touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
   %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi


%files
%defattr(-,root,root,-)
%doc distro/readme.txt distro/history.txt source.txt license-change.txt
%{_bindir}/%{name}
%{_datadir}/%{name}
%{_datadir}/applications/fedora-%{name}.desktop
%{_datadir}/icons/hicolor/48x48/apps/%{name}.png


%changelog
* Wed Jan 31 2007 Hans de Goede <j.w.r.degoede at hhs.nl> 1.11-2
- Not only create but actually package license-change.txt
- Add Requires: hicolor-icon-theme
- Use: http://www.t3-i.com/smashteroid.htm as URL

* Thu Jan 25 2007 Hans de Goede <j.w.r.degoede at hhs.nl> 1.11-1
- Initial Fedora Extras package


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/smashteroid/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	1 Feb 2007 08:51:29 -0000	1.1
+++ .cvsignore	1 Feb 2007 08:52:14 -0000	1.2
@@ -0,0 +1 @@
+astro111src.zip


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/smashteroid/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	1 Feb 2007 08:51:29 -0000	1.1
+++ sources	1 Feb 2007 08:52:14 -0000	1.2
@@ -0,0 +1 @@
+fbdd2aed12da3f2e4802c629fcdd7979  astro111src.zip




More information about the scm-commits mailing list