+#
+# Conditional build:
+%bcond_without cups # GSCUPS bundle
+%bcond_without magick # ImageMagick support
+%bcond_without portaudio # gsnd tool
+#
Summary: GNUstep GUI library package
-Summary(pl): Biblioteka GNUstep GUI
+Summary(pl.UTF-8): Biblioteka GNUstep GUI
Name: gnustep-gui
-Version: 0.9.4
-Release: 3
-License: LGPL/GPL
+%define ver 0.23
+Version: %{ver}.1
+Release: 1
+License: LGPL v2+ (library), GPL v3+ (applications)
Group: Libraries
Source0: ftp://ftp.gnustep.org/pub/gnustep/core/%{name}-%{version}.tar.gz
-# Source0-md5: 399b3a2341899d12710f4d1ed36f3002
-Patch0: %{name}-themes.patch
-Patch1: %{name}-nocompressdocs.patch
-Patch2: %{name}-segv.patch
-Patch3: %{name}-doc.patch
+# Source0-md5: 1771bdb42f27ee946b17bf60fef5eb2e
+Patch0: %{name}-nocompressdocs.patch
+Patch1: %{name}-doc.patch
URL: http://www.gnustep.org/
+%{?with_magick:BuildRequires: ImageMagick-devel}
+BuildRequires: aspell-devel
BuildRequires: audiofile-devel
+%{?with_cups:BuildRequires: cups-devel}
+BuildRequires: flite-devel
BuildRequires: gcc-objc
-BuildRequires: gnustep-base-devel >= 1.10.0
+BuildRequires: giflib-devel
+BuildRequires: gnustep-base-devel >= 1.13.0
+BuildRequires: gnustep-make-devel
+BuildRequires: libao-devel
+BuildRequires: libicu-devel >= 4.0
BuildRequires: libjpeg-devel
+BuildRequires: libpng-devel
+BuildRequires: libsndfile-devel
BuildRequires: libtiff-devel
+BuildRequires: pkgconfig
+%{?with_portaudio:BuildRequires: portaudio-devel >= 19}
BuildRequires: zlib-devel
-Requires: gnustep-base >= 1.10.0
+Requires: gnustep-base >= 1.13.0
Conflicts: gnustep-core
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _prefix /usr/%{_lib}/GNUstep
-
-%define libcombo gnu-gnu-gnu
-%define gsos linux-gnu
-%ifarch %{ix86}
-%define gscpu ix86
-%else
-# also s/alpha.*/alpha/, but we use only "alpha" arch for now
-%define gscpu %(echo %{_target_cpu} | sed -e 's/amd64/x86_64/;s/ppc/powerpc/')
-%endif
-
%description
It is a library of graphical user interface classes written completely
in the Objective-C language; the classes are based upon the OpenStep
browser lists, and windows; there are also many associated classes for
handling events, colors, fonts, pasteboards and images.
-%description -l pl
-To jest biblioteka klas graficznego interfejsu u¿ytkownika napisana w
-Objective-C. Klasy bazuj± na specyfikacji OpenStep wypuszczonej przez
-NeXT Software. Biblioteka nie jest ca³kowicie zgodna ze specyfikacj± i
-zosta³a rozszerzona, aby wykorzystaæ mo¿liwo¶ci systemu GNU. Klasy
-zawieraj± graficzne obiekty takie jak przyciski, pola tekstowe, listy
-rozwijane, listy przewijane i okienka; jest tak¿e wiele klas do
-obs³ugi zdarzeñ, kolorów, fontów i obrazków.
+%description -l pl.UTF-8
+To jest biblioteka klas graficznego interfejsu użytkownika napisana w
+Objective-C. Klasy bazują na specyfikacji OpenStep wypuszczonej przez
+NeXT Software. Biblioteka nie jest całkowicie zgodna ze specyfikacją i
+została rozszerzona, aby wykorzystać możliwości systemu GNU. Klasy
+zawierają graficzne obiekty takie jak przyciski, pola tekstowe, listy
+rozwijane, listy przewijane i okienka; jest także wiele klas do
+obsługi zdarzeń, kolorów, fontów i obrazków.
%package devel
Summary: GNUstep GUI headers and libs
-Summary(pl): Pliki nag³ówkowe GNUstep GUI
+Summary(pl.UTF-8): Pliki nagłówkowe GNUstep GUI
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: audiofile-devel
-Requires: gnustep-base-devel >= 1.9.0
+Requires: gnustep-base-devel >= 1.13.0
Requires: libjpeg-devel
Requires: libtiff-devel
Conflicts: gnustep-core
Header files required to build applications against the GNUstep GUI
library.
-%description devel -l pl
-Pliki nag³ówkowe potrzebne do budowania aplikacji korzystaj±cych z
+%description devel -l pl.UTF-8
+Pliki nagłówkowe potrzebne do budowania aplikacji korzystających z
biblioteki GNUstep GUI.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
-%patch2 -p1
-%patch3 -p1
%build
-. %{_prefix}/System/Library/Makefiles/GNUstep.sh
-%configure
+export GNUSTEP_MAKEFILES=%{_datadir}/GNUstep/Makefiles
+export GNUSTEP_FLATTENED=yes
+# disable gsnd - not ready for current portaudio
+%configure \
+ %{!?with_cups:--disable-cups} \
+ %{!?with_portaudio:--disable-gsnd} \
+ %{?with_magick:--enable-imagemagick} \
+ --enable-libgif \
+ --disable-ungif
-%{__make} \
+# with __make -jN we can got non-deterministic errors
+%{__make} -j1 \
messages=yes
%install
rm -rf $RPM_BUILD_ROOT
-. %{_prefix}/System/Library/Makefiles/GNUstep.sh
+export GNUSTEP_MAKEFILES=%{_datadir}/GNUstep/Makefiles
+export GNUSTEP_INSTALLATION_DOMAIN=SYSTEM
+export GNUSTEP_FLATTENED=yes
%{__make} install \
- GNUSTEP_INSTALLATION_DIR=$RPM_BUILD_ROOT%{_prefix}/System \
- INSTALL_ROOT_DIR=$RPM_BUILD_ROOT
+ DESTDIR=$RPM_BUILD_ROOT
+
%{__make} install -C Documentation \
- GNUSTEP_INSTALLATION_DIR=$RPM_BUILD_ROOT%{_prefix}/System \
- INSTALL_ROOT_DIR=$RPM_BUILD_ROOT
+ DESTDIR=$RPM_BUILD_ROOT
-find $RPM_BUILD_ROOT%{_prefix}/System/Library/Documentation \
+find $RPM_BUILD_ROOT%{_datadir}/GNUstep/Documentation \
-type f -name .cvsignore | xargs rm -f
-# not (yet?) supported by rpm-compress-doc
-find $RPM_BUILD_ROOT%{_prefix}/System/Library/Documentation \
- -type f -a ! -name '*.html' | xargs gzip -9nf
-mv $RPM_BUILD_ROOT/%{_prefix}/System/Library/Documentation/info/manual.info.gz $RPM_BUILD_ROOT/%{_prefix}/System/Library/Documentation/info/gnustep-gui.info.gz
+# not (yet?) supported by rpm-compress-doc
+find $RPM_BUILD_ROOT%{_datadir}/GNUstep/Documentation \
+ -type f -a ! -name '*.html' -a ! -name '*.gz' -a ! -name '*.jpg' -a ! -name '*.css' | xargs gzip -9nf
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc ChangeLog
+%docdir %{_datadir}/GNUstep/Documentation
+%dir %{_datadir}/GNUstep/Documentation/Developer
+%dir %{_datadir}/GNUstep/Documentation/Developer/Gui
+%{_datadir}/GNUstep/Documentation/Developer/Gui/ReleaseNotes
+%{_datadir}/GNUstep/Documentation/User
+
+%{_mandir}/man1/gclose.1*
+%{_mandir}/man1/gcloseall.1*
+%{_mandir}/man1/gopen.1*
+%{_mandir}/man1/make_services.1*
+%{_mandir}/man1/set_show_service.1*
+
+%attr(755,root,root) %{_bindir}/GSSpeechServer
+%attr(755,root,root) %{_bindir}/gclose
+%attr(755,root,root) %{_bindir}/gcloseall
+%attr(755,root,root) %{_bindir}/gopen
+%attr(755,root,root) %{_bindir}/make_services
+%attr(755,root,root) %{_bindir}/say
+%attr(755,root,root) %{_bindir}/set_show_service
+%attr(755,root,root) %{_libdir}/libgnustep-gui.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgnustep-gui.so.%{ver}
+
+%dir %{_libdir}/GNUstep/Applications
+%dir %{_libdir}/GNUstep/Applications/GSSpeechServer.app
+%attr(755,root,root) %{_libdir}/GNUstep/Applications/GSSpeechServer.app/GSSpeechServer
+%{_libdir}/GNUstep/Applications/GSSpeechServer.app/Resources
+%{_libdir}/GNUstep/Applications/GSSpeechServer.app/stamp.make
+
+%dir %{_libdir}/GNUstep/Bundles
+
+%dir %{_libdir}/GNUstep/Bundles/AudioOutput.nssound
+%attr(755,root,root) %{_libdir}/GNUstep/Bundles/AudioOutput.nssound/AudioOutput
+%{_libdir}/GNUstep/Bundles/AudioOutput.nssound/Resources
+%{_libdir}/GNUstep/Bundles/AudioOutput.nssound/stamp.make
+
+%dir %{_libdir}/GNUstep/Bundles/GSPrinting
+%dir %{_libdir}/GNUstep/Bundles/GSPrinting/GSLPR.bundle
+%attr(755,root,root) %{_libdir}/GNUstep/Bundles/GSPrinting/GSLPR.bundle/GSLPR
+%{_libdir}/GNUstep/Bundles/GSPrinting/GSLPR.bundle/Resources
+%{_libdir}/GNUstep/Bundles/GSPrinting/GSLPR.bundle/stamp.make
+%if %{with cups}
+# R: cups-lib - separate?
+%dir %{_libdir}/GNUstep/Bundles/GSPrinting/GSCUPS.bundle
+%attr(755,root,root) %{_libdir}/GNUstep/Bundles/GSPrinting/GSCUPS.bundle/GSCUPS
+%{_libdir}/GNUstep/Bundles/GSPrinting/GSCUPS.bundle/Resources
+%{_libdir}/GNUstep/Bundles/GSPrinting/GSCUPS.bundle/stamp.make
+%endif
+
+%dir %{_libdir}/GNUstep/Bundles/Sndfile.nssound
+%attr(755,root,root) %{_libdir}/GNUstep/Bundles/Sndfile.nssound/Sndfile
+%{_libdir}/GNUstep/Bundles/Sndfile.nssound/Resources
+%{_libdir}/GNUstep/Bundles/Sndfile.nssound/stamp.make
-%docdir %{_prefix}/System/Library/Documentation
-%dir %{_prefix}/System/Library/Documentation/Developer/Gui
-%{_prefix}/System/Library/Documentation/Developer/Gui/ReleaseNotes
-%{_prefix}/System/Library/Documentation/User/Gui
-%{_prefix}/System/Library/Documentation/man/man1/*
-
-%dir %{_prefix}/System/Library/Bundles/TextConverters
-%dir %{_prefix}/System/Library/Bundles/TextConverters/RTFConverter.bundle
-%{_prefix}/System/Library/Bundles/TextConverters/RTFConverter.bundle/Resources
-%attr(755,root,root) %{_prefix}/System/Library/Bundles/TextConverters/RTFConverter.bundle/%{gscpu}
-%dir %{_prefix}/System/Library/Bundles/libgmodel.bundle
-%{_prefix}/System/Library/Bundles/libgmodel.bundle/Resources
-%attr(755,root,root) %{_prefix}/System/Library/Bundles/libgmodel.bundle/%{gscpu}
-
-%dir %{_prefix}/System/Library/Bundles/GSPrinting/GSLPR.bundle
-%{_prefix}/System/Library/Bundles/GSPrinting/GSLPR.bundle/Resources
-%{_prefix}/System/Library/Bundles/GSPrinting/GSLPR.bundle/%{gscpu}
-
-
-%dir %{_prefix}/System/Library/ColorPickers
-%dir %{_prefix}/System/Library/ColorPickers/StandardPicker.bundle
-%dir %{_prefix}/System/Library/ColorPickers/StandardPicker.bundle/Resources
-%{_prefix}/System/Library/ColorPickers/StandardPicker.bundle/Resources/*.tiff
-%{_prefix}/System/Library/ColorPickers/StandardPicker.bundle/Resources/*.plist
-%{_prefix}/System/Library/ColorPickers/StandardPicker.bundle/Resources/English.lproj
-%lang(fr) %{_prefix}/System/Library/ColorPickers/StandardPicker.bundle/Resources/French.lproj
-%lang(sv) %{_prefix}/System/Library/ColorPickers/StandardPicker.bundle/Resources/Swedish.lproj
-%attr(755,root,root) %{_prefix}/System/Library/ColorPickers/StandardPicker.bundle/%{gscpu}
-%dir %{_prefix}/System/Library/ColorPickers/NamedPicker.bundle
-%{_prefix}/System/Library/ColorPickers/NamedPicker.bundle/Resources
-%attr(755,root,root) %{_prefix}/System/Library/ColorPickers/NamedPicker.bundle/%{gscpu}
-%dir %{_prefix}/System/Library/ColorPickers/WheelPicker.bundle
-%{_prefix}/System/Library/ColorPickers/WheelPicker.bundle/Resources
-%attr(755,root,root) %{_prefix}/System/Library/ColorPickers/WheelPicker.bundle/%{gscpu}
-
-%{_prefix}/System/Library/Images/*
-%{_prefix}/System/Library/KeyBindings/*.dict
-
-%dir %{_prefix}/System/Library/Libraries/Resources/gnustep-gui
-%{_prefix}/System/Library/Libraries/Resources/gnustep-gui/English.lproj
-%lang(it) %{_prefix}/System/Library/Libraries/Resources/gnustep-gui/Italian.lproj
-
-%{_prefix}/System/Library/Libraries/%{gscpu}/%{gsos}/%{libcombo}/lib*.so.*
-
-%dir %{_prefix}/System/Library/PostScript
-%{_prefix}/System/Library/PostScript/GSProlog.ps
-%dir %{_prefix}/System/Library/PostScript/PPD
-%{_prefix}/System/Library/PostScript/PPD/English.lproj
-%dir %{_prefix}/System/Library/Services/GSspell.service
-%{_prefix}/System/Library/Services/GSspell.service/Resources
-%attr(755,root,root) %{_prefix}/System/Library/Services/GSspell.service/%{gscpu}
-
-%attr(755,root,root) %{_prefix}/System/Tools/%{gscpu}/%{gsos}/%{libcombo}/*
+%dir %{_libdir}/GNUstep/Bundles/TextConverters
+%dir %{_libdir}/GNUstep/Bundles/TextConverters/RTFConverter.bundle
+%attr(755,root,root) %{_libdir}/GNUstep/Bundles/TextConverters/RTFConverter.bundle/RTFConverter
+%{_libdir}/GNUstep/Bundles/TextConverters/RTFConverter.bundle/Resources
+%{_libdir}/GNUstep/Bundles/TextConverters/RTFConverter.bundle/stamp.make
+
+%dir %{_libdir}/GNUstep/Bundles/libgmodel.bundle
+%attr(755,root,root) %{_libdir}/GNUstep/Bundles/libgmodel.bundle/libgmodel
+%{_libdir}/GNUstep/Bundles/libgmodel.bundle/Resources
+%{_libdir}/GNUstep/Bundles/libgmodel.bundle/stamp.make
+
+%dir %{_libdir}/GNUstep/ColorPickers
+
+%dir %{_libdir}/GNUstep/ColorPickers/NamedPicker.bundle
+%attr(755,root,root) %{_libdir}/GNUstep/ColorPickers/NamedPicker.bundle/NamedPicker
+%{_libdir}/GNUstep/ColorPickers/NamedPicker.bundle/Resources
+%{_libdir}/GNUstep/ColorPickers/NamedPicker.bundle/stamp.make
+
+%dir %{_libdir}/GNUstep/ColorPickers/StandardPicker.bundle
+%attr(755,root,root) %{_libdir}/GNUstep/ColorPickers/StandardPicker.bundle/StandardPicker
+%dir %{_libdir}/GNUstep/ColorPickers/StandardPicker.bundle/Resources
+%{_libdir}/GNUstep/ColorPickers/StandardPicker.bundle/Resources/*.tiff
+%{_libdir}/GNUstep/ColorPickers/StandardPicker.bundle/Resources/*.plist
+%{_libdir}/GNUstep/ColorPickers/StandardPicker.bundle/Resources/English.lproj
+%lang(fr) %{_libdir}/GNUstep/ColorPickers/StandardPicker.bundle/Resources/French.lproj
+%lang(es) %{_libdir}/GNUstep/ColorPickers/StandardPicker.bundle/Resources/Spanish.lproj
+%lang(sv) %{_libdir}/GNUstep/ColorPickers/StandardPicker.bundle/Resources/Swedish.lproj
+%{_libdir}/GNUstep/ColorPickers/StandardPicker.bundle/stamp.make
+
+%dir %{_libdir}/GNUstep/ColorPickers/WheelPicker.bundle
+%attr(755,root,root) %{_libdir}/GNUstep/ColorPickers/WheelPicker.bundle/WheelPicker
+%{_libdir}/GNUstep/ColorPickers/WheelPicker.bundle/Resources
+%{_libdir}/GNUstep/ColorPickers/WheelPicker.bundle/stamp.make
+
+%{_libdir}/GNUstep/Images
+%{_libdir}/GNUstep/KeyBindings
+
+%dir %{_libdir}/GNUstep/Libraries/gnustep-gui
+%dir %{_libdir}/GNUstep/Libraries/gnustep-gui/Versions
+%dir %{_libdir}/GNUstep/Libraries/gnustep-gui/Versions/%{ver}
+%dir %{_libdir}/GNUstep/Libraries/gnustep-gui/Versions/%{ver}/Resources
+%{_libdir}/GNUstep/Libraries/gnustep-gui/Versions/%{ver}/Resources/*.plist
+%{_libdir}/GNUstep/Libraries/gnustep-gui/Versions/%{ver}/Resources/English.lproj
+%lang(eo) %{_libdir}/GNUstep/Libraries/gnustep-gui/Versions/%{ver}/Resources/Esperanto.lproj
+%lang(fr) %{_libdir}/GNUstep/Libraries/gnustep-gui/Versions/%{ver}/Resources/French.lproj
+%lang(de) %{_libdir}/GNUstep/Libraries/gnustep-gui/Versions/%{ver}/Resources/German.lproj
+%lang(it) %{_libdir}/GNUstep/Libraries/gnustep-gui/Versions/%{ver}/Resources/Italian.lproj
+%lang(jbo) %{_libdir}/GNUstep/Libraries/gnustep-gui/Versions/%{ver}/Resources/Lojban.lproj
+%lang(es) %{_libdir}/GNUstep/Libraries/gnustep-gui/Versions/%{ver}/Resources/Spanish.lproj
+
+%dir %{_libdir}/GNUstep/PostScript
+%{_libdir}/GNUstep/PostScript/GSProlog.ps
+%dir %{_libdir}/GNUstep/PostScript/PPD
+%{_libdir}/GNUstep/PostScript/PPD/English.lproj
+
+%dir %{_libdir}/GNUstep/Services
+
+%dir %{_libdir}/GNUstep/Services/GSspell.service
+%attr(755,root,root) %{_libdir}/GNUstep/Services/GSspell.service/GSspell
+%{_libdir}/GNUstep/Services/GSspell.service/Resources
+
+%{_libdir}/GNUstep/Sounds
%files devel
%defattr(644,root,root,755)
-%docdir %{_prefix}/System/Library/Documentation
-%{_prefix}/System/Library/Documentation/Developer/Gui/Additions
-%{_prefix}/System/Library/Documentation/Developer/Gui/General
-%{_prefix}/System/Library/Documentation/Developer/Gui/ProgrammingManual
-%{_prefix}/System/Library/Documentation/Developer/Gui/Reference
-%{_prefix}/System/Library/Documentation/info/gnustep-gui.info*
-
-%{_prefix}/System/Library/Headers/%{libcombo}/AppKit
-%{_prefix}/System/Library/Headers/%{libcombo}/GNUstepGUI
-%{_prefix}/System/Library/Headers/%{libcombo}/gnustep/gui
-
-%{_prefix}/System/Library/Libraries/%{gscpu}/%{gsos}/%{libcombo}/lib*.so
-%{_prefix}/System/Library/Makefiles/Additional/gui.make
+%attr(755,root,root) %{_libdir}/libgnustep-gui.so
+%{_includedir}/AppKit
+%{_includedir}/Cocoa
+%{_includedir}/GNUstepGUI
+%{_includedir}/gnustep/gui
+
+%docdir %{_datadir}/GNUstep/Documentation
+%{_datadir}/GNUstep/Documentation/Developer/Gui/Additions
+%{_datadir}/GNUstep/Documentation/Developer/Gui/General
+%{_datadir}/GNUstep/Documentation/Developer/Gui/ProgrammingManual
+%{_datadir}/GNUstep/Documentation/Developer/Gui/Reference
+%{_infodir}/AppKit.info*
+
+%{_datadir}/GNUstep/Makefiles/Additional/gui.make