%global checkout 20111121svn Summary: Driver for QPDL/SPL2 printers (Samsung and several Xerox printers) Name: splix Version: 2.0.1 Release: 0.7.%{checkout}%{?dist} License: GPLv2 Group: System Environment/Base URL: http://splix.sourceforge.net/ # This is a SVN snapshot downloaded via # http://splix.svn.sourceforge.net/viewvc/splix/splix/?view=tar # and renamed to follow naming guidelines Source0: splix-%{version}.%{checkout}.tar.gz # Don't strip symbols out of the binaries so the debuginfo can be created Patch0: splix-nostrip.patch # Add Device ID for # Samsung ML-1610 Patch1: splix-deviceID.patch # Install PPDs to custom directory Patch2: splix-custom-ppd-dir.patch # Don't install PPD files at all, only DRV files. Patch3: splix-drv.patch Requires: cups # PPD re-compilation BuildRequires: cups, recode # _cups_serverbin macro BuildRequires: cups-devel # postscriptdriver tags BuildRequires: python-cups %description This driver is usable by all printer devices which understand the QPDL (Quick Page Description Language) also known as SPL2 (Samsung Printer Language) language. It covers several Samsung, Xerox and Dell printers. Splix doesn't support old SPL(1) printers. %prep %setup -q -n splix # some files have wrongly set executable bit chmod -x include/algo0x0d.h chmod -x include/algo0x0e.h chmod -x src/algo0x0e.cpp chmod -x ppd/po/pt.po %patch0 -p1 -b .nostrip %patch1 -p1 -b .deviceID %patch2 -p1 -b .custom-ppd-dir %patch3 -p1 -b .drv-only pushd ppd # rename *.drv to *.drv.in for i in *.drv; do mv $i ${i}.in; done # remove old PPDs make distclean popd %build # The situation is that we can't ship jbigkit (JBIG1 implementation) in Fedora # because of one known patent. It can be found in rpmfusion-free repository. # DISABLE_JBIG=1 prevents splix from building against jbigkit and also from # installing PPD files for printers that require JBIG1 support. # # Luckily JBIG1 will be free of known patents in all countries from # 2012-04-04 onwards. (http://www.cl.cam.ac.uk/~mgk25/jbigkit/patents/) # So once jbigkit is in Fedora we could do the following with this spec: # - remove DISABLE_JBIG=1 # - replace 'make ppd' with 'make drv' # - remove cups and recode from BuildRequires # - add 'DRV_ONLY=1 CUPSDRV=%{_datadir}/cups/drv/splix' to make install # That will result in building splix with JBIG1 support and also # installing DRV files instead of only selected set of PPD files. pushd ppd make ppd popd DISABLE_JBIG=1 \ V=1 \ CXXFLAGS="%{optflags} -fno-strict-aliasing" \ make %{?_smp_mflags} %install DISABLE_JBIG=1 \ CUPSPPD=%{_datadir}/cups/model/splix \ DESTDIR=%{buildroot} \ make install %files %doc COPYING AUTHORS ChangeLog THANKS %{_cups_serverbin}/filter/pstoqpdl %{_cups_serverbin}/filter/rastertoqpdl %{_datadir}/cups/model/splix/ %changelog * Wed Jan 18 2012 Jiri Popelka - 2.0.1-0.7.20111121svn - Add Device ID for Samsung ML-1660. * Wed Nov 30 2011 Jiri Popelka - 2.0.1-0.6.20111121svn - Install splix PPDs into separate directory. - Added patch for compiling/installing DRVs instead of PPDs. However we still ship only selected PPDs instead of DRVs as some printers require JBIG1 support. * Tue Nov 29 2011 Jiri Popelka - 2.0.1-0.5.20111121svn - Re-compile PPD files. * Mon Nov 28 2011 Jiri Popelka - 2.0.1-0.4.20111121svn - Add Device ID for Samsung ML-1610. * Tue Nov 22 2011 Jiri Popelka - 2.0.1-0.3.20111121svn - Include more files into documentation (#755069). * Mon Nov 21 2011 Jiri Popelka - 2.0.1-0.2.20111121svn - Download only trunk from upstream SVN repository. * Fri Nov 18 2011 Jiri Popelka - 2.0.1-0.1.20111118svn - Initial spec file.