File splix.spec of Package splix
#
# spec file for package splix (Version 2.0.0)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
%bcond_with jbigkit
Name: splix
Summary: Driver for Samsung Printer Language printers
Version: 2.0.0
Release: 4
License: GPL-2.0
Group: Hardware/Printing
Url: http://splix.ap2c.org/
Source0: http://downloads.sourceforge.net/project/splix/splix/%{version}/%{name}-%{version}.tar.bz2
Source1: http://splix.ap2c.org/samsung_cms.tar.bz2
Source2: README.SUSE
Patch0: %name-2.0.0-gcc45.patch
Patch1: %name-libs.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: cups-devel
BuildRequires: fdupes
BuildRequires: gcc-c++
# All printer driver packages should have "BuildRequires: python-cups"
# because python-cups installs special rpm macros that adds Provides tags
# for the printer drivers supported by the package,
# see https://bugzilla.novell.com/show_bug.cgi?id=735865
BuildRequires: python-cups
%if %{with jbigkit}
BuildRequires: jbigkit-devel
%endif
Requires: cups
# Provide and obsolete its old RPM package name "cups-drivers-splix"
# see https://bugzilla.novell.com/show_bug.cgi?id=659579
Provides: cups-drivers-splix >= %version
Obsoletes: cups-drivers-splix < %version
%description
SpliX is a set of CUPS printer drivers for SPL (Samsung Printer
Language) printers. Some Samsung, Xerox and Dell printers use that
language.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%__cp %SOURCE2 .
%build
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%__make %{!?_with_jbigkit:DISABLE_JBIG=1} %{?jobs:-j%{jobs}} V=1
%install
%makeinstall %{!?_with_jbigkit:DISABLE_JBIG=1}
pushd $RPM_BUILD_ROOT%_datadir/cups/model/samsung/
%__tar xjvf "%{SOURCE1}"
popd
gzip -9 %buildroot/%_datadir/cups/model/*/*.ppd
# Run fdupes:
# The RPM macro fdupes runs /usr/bin/fdupes that links files with identical content.
# Never run fdupes carelessly over the whole buildroot directory
# because in older openSUSE and SLE11 versions fdupes
# links files with different owner, group, or permissions
# see https://bugzilla.novell.com/show_bug.cgi?id=784670
# and even in current openSUSE versions fdupes links across sub-package boundaries,
# compare https://bugzilla.novell.com/show_bug.cgi?id=784869
# so that fdupes can only run for specific directories where linking files is safe:
%fdupes -s %{buildroot}/%{_datadir}/cups/model/samsung/cms
%clean
rm -fr %buildroot
%files
%defattr(-,root,root)
%doc README.SUSE
%dir %_datadir/cups
%dir %_datadir/cups/model
%dir %_datadir/cups/model/dell
%dir %_datadir/cups/model/samsung
%dir %_datadir/cups/model/xerox
# Use a plain simple fixed /usr/lib/cups/filter/ according
# to what is actually used by CUPS on all platforms:
%dir /usr/lib/cups/
%dir /usr/lib/cups/filter/
/usr/lib/cups/filter/pstoqpdl
/usr/lib/cups/filter/rastertoqpdl
%_datadir/cups/model/dell/*.ppd.gz
%_datadir/cups/model/samsung/*.ppd.gz
%_datadir/cups/model/samsung/cms
%_datadir/cups/model/xerox/*.ppd.gz
%changelog