--- /dev/null
+--- XaoS-3.1pre5/src/ui/ui-drv/svga/ui_svga.c.orig Thu May 31 19:07:17 2001
++++ XaoS-3.1pre5/src/ui/ui-drv/svga/ui_svga.c Fri Jan 24 21:57:08 2003
+@@ -338,8 +338,6 @@
+ }
+ #endif
+ vga_setmode (mode);
+- seteuid (getuid ()); /* Don't need supervisor rights anymore. */
+- setegid (getgid ());
+ if (mode == G320x240x256
+ || mode == G320x400x256
+ || mode == G360x480x256)
+@@ -459,29 +457,6 @@
+ int i;
+ int fd;
+ struct stat chkbuf;
+- seteuid (euid); /* We need supervisor rights to open mouse. */
+- setegid (egid);
+- if ((fd = open ("/dev/console", O_RDONLY)) < 0)
+- {
+- seteuid (getuid ()); /* Don't need supervisor rights anymore. */
+- setegid (getgid ());
+- return (0);
+- }
+- close (fd);
+- fstat (2, &chkbuf);
+- if (chkbuf.st_rdev >> 8 != 4 || (chkbuf.st_rdev & 0xff) >= 64)
+- {
+- seteuid (getuid ()); /* Don't need supervisor rights anymore. */
+- setegid (getgid ());
+- return (0);
+- }
+- if ((fd = open ("/dev/mem", O_RDWR)) < 0)
+- {
+- seteuid (getuid ()); /* Don't need supervisor rights anymore. */
+- setegid (getgid ());
+- return (0);
+- }
+- close (fd);
+ if (!initialised)
+ {
+ vga_setmousesupport (1);
+@@ -494,14 +469,14 @@
+ info = vga_getmodeinfo (i);
+ if (info->colors != 256 && info->colors != 32768 && info->colors != 65536 && info->colors != 16777216)
+ continue;
++ else
++ break;
+ }
+ if (i == GLASTMODE + 1)
+ {
+ svga_uninitialise ();
+ return 0;
+ }
+- seteuid (getuid ()); /* Don't need supervisor rights anymore. */
+- setegid (getgid ());
+ return (1);
+ }
+ static void
#
# Conditional build:
#
-# _without_aa - without aalib output support
-# _without_svga - without svga output support
-# _without_ncurses - without ncurses output support
+# _without_aa - without aalib output support
+# _without_ggi - without ggi output support
+# _without_ncurses - without ncurses output support
+# _without_svga - without svga output support
#
%ifnarch %{ix86} alpha
%define _without_svgalib 1
Summary: A fast, portable real-time interactive fractal zoomer
Summary(pl): Szybki, przeno¶ny i interaktywny explorator fraktali
Name: XaoS
-Version: 3.0
-Release: 1
+Version: 3.1
+%define pre pre5
+Release: 0.%{pre}.1
License: GPL
Group: X11/Applications
-Source0: ftp://ftp.sourceforge.net/pub/sourceforge/xaos/%{name}-%{version}.tar.gz
+Source0: ftp://ftp.sourceforge.net/pub/sourceforge/xaos/%{name}-%{version}%{pre}.tar.gz
Source1: %{name}.desktop
Source2: %{name}.png
Patch0: %{name}-nosuid.patch
Patch1: %{name}-brokenasm.patch
+Patch2: %{name}-ggi-fix.patch
+Patch3: %{name}-svga-fix.patch
URL: http://xaos.theory.org/
BuildRequires: XFree86-devel
%{!?_without_aa:BuildRequires: aalib-devel}
BuildRequires: autoconf
+BuildRequires: automake
+%{!?_without_ggi:BuildRequires: libggi-devel}
BuildRequires: libpng-devel
%{!?_without_ncurses:BuildRequires: ncurses-devel}
%{!?_without_svga:BuildRequires: svgalib-devel}
Buildroot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _prefix /usr/X11R6
-%define _mandir %{_prefix}/man
-
%description
XaoS is a fast portable real-time interactive fractal zoomer. It
supports outputs such as X11, aalib, ncurses and SVGAlib. It displays
palety, zapisywanie PNG i inwersja fraktali.
%prep
-%setup -q
+%setup -q -n %{name}-%{version}%{pre}
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+%patch3 -p1
%build
+cp -f /usr/share/automake/config.* .
%{__autoconf}
%configure \
--with-x \
--with-x11-driver=yes \
%{?_without_aa: --with-aa-driver=no} \
+ %{?_without_ggi: --with-ggi-driver=no} \
%{?_without_ncurses: --with-curses-driver=no} \
%{?_without_svga: --with-svga-driver=no}
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_infodir},%{_applnkdir},%{_pixmapsdir}} \
+ $RPM_BUILD_ROOT%{_datadir}/locale/{hu,es,fr,cs,de}/LC_MESSAGES
+
+%{__make} install \
+ datadir=$RPM_BUILD_ROOT%{_datadir} \
+ bindir=$RPM_BUILD_ROOT%{_bindir} \
+ mandir=$RPM_BUILD_ROOT%{_mandir} \
+ infodir=$RPM_BUILD_ROOT%{_infodir} \
+ LOCALEDIR=$RPM_BUILD_ROOT%{_datadir}/locale
-install -d $RPM_BUILD_ROOT%{_datadir}/XaoS
-install -d $RPM_BUILD_ROOT%{_datadir}/XaoS/tutorial
-install -d $RPM_BUILD_ROOT%{_datadir}/XaoS/examples
-install -d $RPM_BUILD_ROOT%{_datadir}/XaoS/catalogs
-install -d $RPM_BUILD_ROOT%{_datadir}/XaoS/doc
-install -d $RPM_BUILD_ROOT%{_bindir}
-install -d $RPM_BUILD_ROOT%{_mandir}/man6
-install -d $RPM_BUILD_ROOT%{_infodir}
-install -d $RPM_BUILD_ROOT%{_applnkdir}
-install -d $RPM_BUILD_ROOT%{_pixmapsdir}
-install bin/xaos $RPM_BUILD_ROOT%{_bindir}
-install tutorial/*.x[ah]f $RPM_BUILD_ROOT%{_datadir}/XaoS/tutorial
-install examples/* $RPM_BUILD_ROOT%{_datadir}/XaoS/examples
-install catalogs/* $RPM_BUILD_ROOT%{_datadir}/XaoS/catalogs
-install doc/xaos.6 $RPM_BUILD_ROOT%{_mandir}/man6
-install doc/xaos.info $RPM_BUILD_ROOT%{_infodir}
install %{SOURCE1} $RPM_BUILD_ROOT%{_applnkdir}
install %{SOURCE2} $RPM_BUILD_ROOT%{_pixmapsdir}
+%find_lang xaos
+
%clean
rm -rf $RPM_BUILD_ROOT
%postun
[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-%files
+%files -f xaos.lang
%defattr(644,root,root,755)
-%doc doc/{README,README.bugs,compilers.txt,ANNOUNCE,PROBLEMS,tutorial.txt}
+%doc TODO doc/{ANNOUNCE,AUTHORS,PROBLEMS,README{,.bugs,.ggi},SPONSORS}
%attr(755,root,root) %{_bindir}/xaos
-%{_mandir}/man6/*
-%{_infodir}/*.info*
%dir %{_datadir}/XaoS
-%{_datadir}/XaoS/tutorial
+%dir %{_datadir}/XaoS/catalogs
+%lang(cs) %{_datadir}/XaoS/catalogs/cesky.cat
+%lang(de) %{_datadir}/XaoS/catalogs/deutsch.cat
+%{_datadir}/XaoS/catalogs/english.cat
+%lang(es) %{_datadir}/XaoS/catalogs/espanhol.cat
+%lang(fr) %{_datadir}/XaoS/catalogs/francais.cat
+%lang(hu) %{_datadir}/XaoS/catalogs/magyar.cat
%{_datadir}/XaoS/examples
-%{_datadir}/XaoS/catalogs
+%{_datadir}/XaoS/help
+%{_datadir}/XaoS/tutorial
+%{_mandir}/man6/*
+%{_infodir}/*.info*
%{_pixmapsdir}/XaoS.png
%{_applnkdir}/XaoS.desktop