]> git.pld-linux.org Git - packages/gnustep-back.git/blobdiff - gnustep-back.spec
- freetype epoch
[packages/gnustep-back.git] / gnustep-back.spec
index d6491a3ad47a91dc089c7039dcc1b3544034a873..2f63b15e3fef549c0b2ee46369453d05ea2e31fe 100644 (file)
+# TODO:
+# - symlink Helvetica from ghostscript-fonts-std?
+#
+# Conditional build:
+%bcond_without art     # art backend
+%bcond_with    dps     # xdps backend
+%bcond_without cairo   # cairo backend
+%bcond_with    glitz   # glitz support in cairo backend (requires cairo built with glitz)
+#
 Summary:       The GNUstep backend bundle
 Summary:       The GNUstep backend bundle
-Summary(pl):   Pakiet backendowy GNUstep
+Summary(pl.UTF-8):     Pakiet backendowy GNUstep
 Name:          gnustep-back
 Name:          gnustep-back
-Version:       0.8.3
+Version:       0.24.0
 Release:       1
 Release:       1
-License:       LGPL/GPL
+License:       LGPL v2+ (libraries), GPL v3+ (applicatinos)
 Vendor:                The GNUstep Project
 Group:         X11/Libraries
 Source0:       ftp://ftp.gnustep.org/pub/gnustep/core/%{name}-%{version}.tar.gz
 Vendor:                The GNUstep Project
 Group:         X11/Libraries
 Source0:       ftp://ftp.gnustep.org/pub/gnustep/core/%{name}-%{version}.tar.gz
-Patch0:                %{name}-Xft2.patch
-Patch1:                %{name}-art-freetype213.patch
-Patch2:                %{name}-xdps-fix.patch
+# Source0-md5: 0b8393832bd928b9d3ec4eb68d7f6564
+Patch0:                %{name}-format.patch
 URL:           http://www.gnustep.org/
 URL:           http://www.gnustep.org/
-BuildRequires: OpenGL-devel
-BuildRequires: WindowMaker-devel
-BuildRequires: XFree86-devel
-BuildRequires: XFree86-DPS-devel
-BuildRequires: Xft-devel
-BuildRequires: freetype-devel >= 2.1.3
-BuildRequires: gnustep-gui-devel
-BuildRequires: libart_lgpl-devel
-Requires:      OpenGL
-Requires:      gnustep-gui
+BuildRequires: OpenGL-GLX-devel
+%{?with_dps:BuildRequires:     X11-DPS-devel}
+%{?with_cairo:BuildRequires:   cairo-devel >= 1.0}
+%{?with_cairo:BuildRequires:   fontconfig-devel}
+%{?with_art:BuildRequires:     freetype-devel >= 1:2.1.8}
+%{?with_glitz:BuildRequires:   glitz-devel}
+BuildRequires: gnustep-gui-devel >= %{version}
+%{?with_art:BuildRequires:     libart_lgpl-devel}
+BuildRequires: libtiff-devel
+BuildRequires: pkgconfig
+BuildRequires: xorg-lib-libXcursor-devel
+BuildRequires: xorg-lib-libXext-devel
+BuildRequires: xorg-lib-libXfixes-devel
+BuildRequires: xorg-lib-libXft-devel
+BuildRequires: xorg-lib-libXmu-devel
+%{?with_cairo:BuildRequires:   xorg-lib-libXrender-devel}
+%{?with_dps:BuildRequires:     xorg-lib-libXt-devel}
+Requires:      gnustep-gui >= %{version}
+Obsoletes:     gnustep-back-devel
+%{!?with_dps:Obsoletes:        gnustep-back-xdps}
 Obsoletes:     gnustep-xgps
 Conflicts:     gnustep-core
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 Obsoletes:     gnustep-xgps
 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           %{_target_cpu}
-%endif
+# bundles version (echo %{version} | cut -d. -f1,2 | tr -d .)
+%define                bver    024
 
 %description
 This is a backend for the GNUstep gui Library which allows you to use
 
 %description
 This is a backend for the GNUstep gui Library which allows you to use
-the GNUstep gui Library on an X Windows System (other backends will
+the GNUstep gui Library on an X Window System (other backends will
 be added later to allow you to use the GNUstep gui Library in other
 windowing environments).
 
 This package contains common part and xlib graphics backend.
 
 be added later to allow you to use the GNUstep gui Library in other
 windowing environments).
 
 This package contains common part and xlib graphics backend.
 
-%description -l pl
-To jest backend dla biblioteki GNUstep GUI, pozwalaj±cy na u¿ywanie
-biblioteki graficznego interfejsu u¿ytkownika GNUstep pod systemem X
-Window (inne backendy, pozwalaj±ce na u¿ywanie biblioteki GNUstep GUI
-w innych ¶rodowiskach okienkowych, zostan± dodane pó¼niej).
+%description -l pl.UTF-8
+To jest backend dla biblioteki GNUstep GUI, pozwalający na używanie
+biblioteki graficznego interfejsu użytkownika GNUstep pod systemem X
+Window (inne backendy, pozwalające na używanie biblioteki GNUstep GUI
+w innych środowiskach okienkowych, zostaną dodane później).
 
 
-Ten pakiet zawiera czê¶æ wspóln± i backend graficzny xlib.
+Ten pakiet zawiera część wspólną i backend graficzny xlib.
 
 %package art
 Summary:       GNUstep graphics backend - art
 
 %package art
 Summary:       GNUstep graphics backend - art
-Summary(pl):   Graficzny backend GNUstep - art
+Summary(pl.UTF-8):     Graficzny backend GNUstep - art
 Group:         X11/Libraries
 Group:         X11/Libraries
-Requires:      %{name} = %{version}
+Requires:      %{name} = %{version}-%{release}
+Requires:      freetype >= 1:2.1.8
 Conflicts:     gnustep-core
 
 %description art
 GNUstep graphics backend - art.
 
 Conflicts:     gnustep-core
 
 %description art
 GNUstep graphics backend - art.
 
-%description art -l pl
+%description art -l pl.UTF-8
 Graficzny backend GNUstep - art.
 
 Graficzny backend GNUstep - art.
 
+%package cairo
+Summary:       GNUstep graphics backend - cairo
+Summary(pl.UTF-8):     Graficzny backend GNUstep - cairo
+Group:         X11/Libraries
+Requires:      %{name} = %{version}-%{release}
+Requires:      cairo >= 1.0
+
+%description cairo
+GNUstep graphics backend - cairo.
+
+%description cairo -l pl.UTF-8
+Graficzny backend GNUstep - cairo.
+
 %package xdps
 Summary:       GNUstep graphics backend - xdps
 %package xdps
 Summary:       GNUstep graphics backend - xdps
-Summary(pl):   Graficzny backend GNUstep - xdps
+Summary(pl.UTF-8):     Graficzny backend GNUstep - xdps
 Group:         X11/Libraries
 Group:         X11/Libraries
-Requires:      %{name} = %{version}
+Requires:      %{name} = %{version}-%{release}
 Obsoletes:     gnustep-xdps
 Conflicts:     gnustep-core
 
 %description xdps
 GNUstep graphics backend - xdps.
 
 Obsoletes:     gnustep-xdps
 Conflicts:     gnustep-core
 
 %description xdps
 GNUstep graphics backend - xdps.
 
-%description xdps -l pl
+%description xdps -l pl.UTF-8
 Graficzny backend GNUstep - xdps.
 
 Graficzny backend GNUstep - xdps.
 
-%package devel
-Summary:       Headers for GNUstep backends
-Summary(pl):   Pliki nag³ówkowe backendów GNUstep
-Group:         X11/Development/Libraries
-Requires:      %{name} = %{version}
-Requires:      XFree86-devel
-Requires:      Xft-devel
-Requires:      gnustep-gui-devel
-Obsoletes:     gnustep-xdps-devel
-Obsoletes:     gnustep-xgps-devel
-Conflicts:     gnustep-core
-
-%description devel
-This package contains development headers for GNUstep backends. It
-includes also files specific for all x11 graphic backends (xlib,
-art, xdps).
-
-%description devel -l pl
-Ten pakiet zawiera pliki nag³ówkowe dla backendów GNUstep, w tym pliki
-specyficzne dla wszystkich backendów graficznych dla x11 (xlib, art,
-xdps).
-
 %prep
 %setup -q
 %patch0 -p1
 %prep
 %setup -q
 %patch0 -p1
-%patch1 -p1
-%patch2 -p1
+
+%if %{with cairo}
+# hack cairo header - objc doesn't allow #defines in #include
+sed -e 's,FT_FREETYPE_H,<freetype/freetype.h>,' /usr/include/cairo/cairo-ft.h > \
+       Headers/cairo-ft.h
+%endif
+
+# prepare the trees (for art, cairo, xdps, xlib backends)
+echo * > files.list
+%if %{with art}
+install -d back-art 
+cp -a `cat files.list` back-art
+%endif
+%if %{with cairo}
+install -d back-cairo
+cp -a `cat files.list` back-cairo
+%endif
+%if %{with dps}
+install -d back-xdps
+cp -a `cat files.list` back-xdps
+%endif
+ln -sf . back-xlib
 
 %build
 
 %build
-. %{_prefix}/System/Makefiles/GNUstep.sh
-for g in art xdps xlib ; do
+export GNUSTEP_MAKEFILES=%{_datadir}/GNUstep/Makefiles
+export GNUSTEP_FLATTENED=yes
+export GNUSTEP_INSTALLATION_DOMAIN=SYSTEM
+
+for g in %{?with_art:art} %{?with_cairo:cairo} %{?with_dps:xdps} xlib ; do
+cd back-$g
 if [ "$g" = "xlib" ]; then
 if [ "$g" = "xlib" ]; then
-       INC='--with-include-flags=-I/usr/include/freetype2'
        NAME="back"
 else
        NAME="back"
 else
-       INC=
        NAME="back-$g"
 fi
        NAME="back-$g"
 fi
+if [ "$g" = "cairo" ]; then
+       CPPFLAGS="%{rpmcppflags} -I/usr/include/freetype2"
+fi
 %configure \
 %configure \
+       %{!?with_glitz:--disable-glitz} \
        --enable-graphics=$g \
        --enable-graphics=$g \
-       --with-name=$NAME \
-       $INC
+       --with-name=$NAME
 
 %{__make} \
        messages=yes
 
 %{__make} \
        messages=yes
-cp -f back.make back-$g.make
+cd ..
 done
 
 %{__make} -C Documentation
 
 %install
 rm -rf $RPM_BUILD_ROOT
 done
 
 %{__make} -C Documentation
 
 %install
 rm -rf $RPM_BUILD_ROOT
-. %{_prefix}/System/Makefiles/GNUstep.sh
+export GNUSTEP_MAKEFILES=%{_datadir}/GNUstep/Makefiles
+export GNUSTEP_FLATTENED=yes
+export GNUSTEP_INSTALLATION_DOMAIN=SYSTEM
 
 
-for g in art xdps xlib ; do
+for g in %{?with_art:art} %{?with_cairo:cairo} %{?with_dps:xdps} xlib ; do
 if [ "$g" = "xlib" ]; then
        NAME="back"
 else
        NAME="back-$g"
 fi
 if [ "$g" = "xlib" ]; then
        NAME="back"
 else
        NAME="back-$g"
 fi
-%{__make} install \
-       GNUSTEP_INSTALLATION_DIR=$RPM_BUILD_ROOT%{_prefix}/System \
+%{__make} install -C back-$g \
+       DESTDIR=$RPM_BUILD_ROOT \
        BUILD_GRAPHICS="$g" \
        BACKEND_NAME="$NAME"
 done
 
 %{__make} install -C Documentation \
        BUILD_GRAPHICS="$g" \
        BACKEND_NAME="$NAME"
 done
 
 %{__make} install -C Documentation \
-       GNUSTEP_INSTALLATION_DIR=$RPM_BUILD_ROOT%{_prefix}/System \
+       DESTDIR=$RPM_BUILD_ROOT
+
 # not (yet?) supported by rpm-compress-doc
 # not (yet?) supported by rpm-compress-doc
-find $RPM_BUILD_ROOT%{_prefix}/System/Documentation -type f | xargs gzip -9nf
+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
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -159,31 +190,47 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(644,root,root,755)
 %doc ChangeLog
 %files
 %defattr(644,root,root,755)
 %doc ChangeLog
-%{_prefix}/System/Documentation/Developer/Back
 
 
-%dir %{_prefix}/System/Library/Bundles/libgnustep-back.bundle
-%{_prefix}/System/Library/Bundles/libgnustep-back.bundle/Resources
-%attr(755,root,root) %{_prefix}/System/Library/Bundles/libgnustep-back.bundle/%{gscpu}
+%docdir %{_datadir}/GNUstep/Documentation
+%{_datadir}/GNUstep/Documentation/Developer/Back
+
+%attr(755,root,root) %{_bindir}/font_cacher
+%attr(755,root,root) %{_bindir}/gpbs
+
+%{_mandir}/man1/gpbs.1*
 
 
-%attr(755,root,root) %{_prefix}/System/Tools/%{gscpu}/%{gsos}/%{libcombo}/*
+%dir %{_libdir}/GNUstep/Bundles/libgnustep-back-%{bver}.bundle
+%attr(755,root,root) %{_libdir}/GNUstep/Bundles/libgnustep-back-%{bver}.bundle/libgnustep-back-%{bver}
+%{_libdir}/GNUstep/Bundles/libgnustep-back-%{bver}.bundle/Resources
+%{_libdir}/GNUstep/Bundles/libgnustep-back-%{bver}.bundle/stamp.make
 
 
+%dir %{_libdir}/GNUstep/Fonts
+# XXX: n0190{0,2,4,6}{3,4}.{pfb,afm,pfm} - symlink from ghostscript-fonts-std?
+%{_libdir}/GNUstep/Fonts/Helvetica.nfont
+
+%if %{with art}
 %files art
 %defattr(644,root,root,755)
 %files art
 %defattr(644,root,root,755)
-%dir %{_prefix}/System/Library/Bundles/libgnustep-back-art.bundle
-%{_prefix}/System/Library/Bundles/libgnustep-back-art.bundle/Resources
-%attr(755,root,root) %{_prefix}/System/Library/Bundles/libgnustep-back-art.bundle/%{gscpu}
+%dir %{_libdir}/GNUstep/Bundles/libgnustep-back-art-%{bver}.bundle
+%attr(755,root,root) %{_libdir}/GNUstep/Bundles/libgnustep-back-art-%{bver}.bundle/libgnustep-back-art-%{bver}
+%{_libdir}/GNUstep/Bundles/libgnustep-back-art-%{bver}.bundle/Resources
+%{_libdir}/GNUstep/Bundles/libgnustep-back-art-%{bver}.bundle/stamp.make
+%endif
 
 
-%files xdps
+%if %{with cairo}
+%files cairo
 %defattr(644,root,root,755)
 %defattr(644,root,root,755)
-%dir %{_prefix}/System/Library/Bundles/libgnustep-back-xdps.bundle
-%{_prefix}/System/Library/Bundles/libgnustep-back-xdps.bundle/Resources
-%attr(755,root,root) %{_prefix}/System/Library/Bundles/libgnustep-back-xdps.bundle/%{gscpu}
+%dir %{_libdir}/GNUstep/Bundles/libgnustep-back-cairo-%{bver}.bundle
+%attr(755,root,root) %{_libdir}/GNUstep/Bundles/libgnustep-back-cairo-%{bver}.bundle/libgnustep-back-cairo-%{bver}
+%{_libdir}/GNUstep/Bundles/libgnustep-back-cairo-%{bver}.bundle/Resources
+%{_libdir}/GNUstep/Bundles/libgnustep-back-cairo-%{bver}.bundle/stamp.make
+%endif
 
 
-%files devel
+%if %{with dps}
+%files xdps
 %defattr(644,root,root,755)
 %defattr(644,root,root,755)
-%{_prefix}/System/Headers/gnustep/gsc
-%{_prefix}/System/Headers/gnustep/x11
-
-%{_prefix}/System/Headers/gnustep/xlib
-%{_prefix}/System/Headers/gnustep/art
-%{_prefix}/System/Headers/gnustep/xdps
+%dir %{_libdir}/GNUstep/Bundles/libgnustep-back-xdps-%{bver}.bundle
+%attr(755,root,root) %{_libdir}/GNUstep/Bundles/libgnustep-back-xdps-%{bver}.bundle/libgnustep-back-xdps-%{bver}
+%{_libdir}/GNUstep/Bundles/libgnustep-back-xdps-%{bver}.bundle/Resources
+%{_libdir}/GNUstep/Bundles/libgnustep-back-xdps-%{bver}.bundle/stamp.make
+%endif
This page took 0.150919 seconds and 4 git commands to generate.