File filters.spec of Package filters

#
# spec file for package filters (Version 2007.8.9)
#
# Copyright (c) 2008 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


Name:           filters
BuildRequires:  cups-drivers gcc-c++ ghostscript_any libnetpbm-devel libpng-devel procps
License:        GPL v2 or later
Group:          Hardware/Printing
Obsoletes:      ppa
Requires:       ghostscript_any
AutoReqProv:    on
Summary:        Printer Drivers (Filters) for a few GDI Printer Models
Version:        2007.8.9
Release:        186
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Url:            http://sourceforge.net/projects/pnm2ppa
Source0:        http://download.sourceforge.net/pnm2ppa/pnm2ppa-1.12.tar.bz2
Source1:        c2070-0.99.tar.gz
Source2:        lz11-V2-1.2.tar.gz
Source3:        cjet089.tar.gz
Source4:        lm1100.1.0.2a.tar.bz2
Source5:        pbm2l2030-1.4.tar.gz
Source6:        ppmtomd-1.2.tar.bz2
Source7:        stylewriter.tar.gz
Source9:        min12xxw-0.0.9.tar.bz2
Patch0:         pnm2ppa-1.12.dif
Patch1:         c2070-0.99.dif
Patch2:         lz11-V2-1.2.dif
Patch3:         cjet089.dif
Patch4:         lm1100.1.0.2a.dif
Patch5:         pbm2l2030-1.4.dif
Patch6:         ppmtomd-1.2.dif
Patch7:         stylewriter.dif
#Patch9:        min12xxw-0.0.9.dif

%description
This package includes several converters for a few so called GDI
printer models, see http://en.opensuse.org/SDB:GDI_Printers for general
information about "GDI printers".

pnm, ppm, pbm, pgm to PPA (HP Printing Performance Architecture)
supports HP 720 Series(710C,720C,722C), HP 820 series (820Cse, 820Cxi)
and HP 1000 series (1000Cse, 1000Cxi)

bitcmyk to Lexmark Z11 and Lexmark lex2070

PCL to CaPSL (Canon Laser, see gs devices lbp8 and lips3)

ppmraw to Lexmark 1100

bitcmyk to Apple StyleWriter

pbmraw to Lexmark 2030

ppmraw	to Citizen Printiva

For more information see the docs in /usr/share/doc/packages/filters



Authors:
--------
    Tim Norman	<normat@rpi.edu>

%prep
%setup -n pnm2ppa-1.12 -b1 -b2 -b3 -b4 -b5 -b6 -b7 -b9
chmod -R a+rX ..
%patch -P 0 -p 0
pushd ../c2070-*
%patch -P 1 -p 0
popd
pushd ../lz11-*
%patch -P 2 -p 0
popd
pushd ../cjet089*
%patch -P 3 -p 0
popd
pushd ../lm1100*
%patch -P 4 -p 0
popd
pushd ../pbm2l2030*
%patch -P 5 -p 0
popd
pushd ../ppmto*
%patch -P 6 -p 0
popd
pushd ../stylewriter
%patch -P 7 -p 0
popd
pushd ../min12xxw*
#%patch -P 9 -p 0
popd

%build
CC=gcc
CFLAGS="${RPM_OPT_FLAGS} -D_GNU_SOURCE -fstack-protector"
export CC CFLAGS
make
pushd ../c2070-*
    make LDFLAGS=
popd
pushd ../lz11-*
    make LDFLAGS=
popd
pushd ../cjet089*
    make LINKOPT=
popd
pushd ../lm1100*
    make
popd
pushd ../pbm2l2030*
    make
popd
pushd ../ppmto*
    make
popd
pushd ../stylewriter
    make LINKFLAGS=
popd
pushd ../min12xxw*
    ./configure --prefix=/usr --exec-prefix=/usr --mandir=%{_mandir}
    make
popd

%install
PNM2PPA_DOC=$RPM_BUILD_ROOT%{_docdir}/filters/pnm2ppa/
mkdir -p $PNM2PPA_DOC
make DESTDIR=$RPM_BUILD_ROOT install
install -m 0755 utils/Linux/detect_ppa $RPM_BUILD_ROOT/usr/bin/
install -m 0755 utils/Linux/test_ppa   $RPM_BUILD_ROOT/usr/bin/
pushd $RPM_BUILD_ROOT%{_docdir}/filters/
    rm -f INSTALL
    rm -f README
popd
for file in README COLOR.* CALIBRATION.* RELEASE-NOTES; do
  install -m 0644 docs/en/$file $PNM2PPA_DOC
done
cp -rv lpd pdq sample_scripts testpages $PNM2PPA_DOC
install -m 0644 *.ps $PNM2PPA_DOC
troff -Tlatin1 -t -mandoc docs/en/pnm2ppa.1 | grotty -bou >$PNM2PPA_DOC/manual
find $PNM2PPA_DOC -type f | xargs -r chmod -x
pushd ../c2070-*
    make install DESTDIR=$RPM_BUILD_ROOT
    install -m 0644 README $RPM_BUILD_ROOT%{_docdir}/filters/README.c2070
popd
pushd ../lz11-*
    mkdir -p ${RPM_BUILD_ROOT}/usr/bin
    mkdir -p ${RPM_BUILD_ROOT}%{_docdir}
    mkdir -p ${RPM_BUILD_ROOT}/usr/share/cups/model
    OPATH=$PATH
    PATH=$PATH:$PWD
    (DESTDIR=$RPM_BUILD_ROOT sh ./lz11.install)<<-EOF
	2
	n
	n
	0
	EOF
    for ppd in ${RPM_BUILD_ROOT}/usr/share/cups/model/Lexmark/* ; do
	test -e $ppd || break
	gzip -9 $ppd
    done
    if cmp -s  ${RPM_BUILD_ROOT}/usr/bin/cZ11 ${RPM_BUILD_ROOT}/usr/bin/cZ11-V2 ; then
	rm -vf ${RPM_BUILD_ROOT}/usr/bin/cZ11
	ln  -f ${RPM_BUILD_ROOT}/usr/bin/cZ11-V2 ${RPM_BUILD_ROOT}/usr/bin/cZ11
    fi
    mv ${RPM_BUILD_ROOT}%{_docdir}/lz11/README $RPM_BUILD_ROOT%{_docdir}/filters/README.lz11
    rm -vf ${RPM_BUILD_ROOT}/usr/bin/lz11.uninstall
    rm -vr ${RPM_BUILD_ROOT}%{_docdir}/lz11
popd
pushd ../cjet089*
    make install DESTDIR=$RPM_BUILD_ROOT
    install -m 0644 README $RPM_BUILD_ROOT%{_docdir}/filters/README.cjet
popd
pushd ../lm1100*
    make install DESTDIR=$RPM_BUILD_ROOT
    install -m 0644 README $RPM_BUILD_ROOT%{_docdir}/filters/README.lm1100
popd
pushd ../pbm2l2030*
    make install DESTDIR=$RPM_BUILD_ROOT
    install -m 0644 README.TXT $RPM_BUILD_ROOT%{_docdir}/filters/README.pbm2l2030
popd
pushd ../ppmto*
    make install DESTDIR=$RPM_BUILD_ROOT
    troff -Tlatin1 -t -mandoc ppmtomd.man | \
	grotty -bou > $RPM_BUILD_ROOT%{_docdir}/filters/README.ppmtomd
#
#   Comand line options are not compatible, skip it for now
#
#   echo '#!/bin/sh'  > $RPM_BUILD_ROOT%{_bindir}/ppmtocpva
#   echo 'exec ppmtomd -model Printiva-600 ${1+"$@"}' >> $RPM_BUILD_ROOT%{_bindir}/ppmtocpva
#   chmod 755 $RPM_BUILD_ROOT%{_bindir}/ppmtocpva
#
popd
pushd ../stylewriter
    make install DESTDIR=$RPM_BUILD_ROOT
    install -m 0644 README $RPM_BUILD_ROOT%{_docdir}/filters/README.stylewriter
    install -m 0644 README.protocol  $RPM_BUILD_ROOT%{_docdir}/filters/README.protocol.stylewriter
    install -m 0644 README.troubleshooting $RPM_BUILD_ROOT%{_docdir}/filters/README.troubleshooting.stylewriter
popd
pushd ../min12xxw*
    make install DESTDIR=$RPM_BUILD_ROOT
    mkdir ${RPM_BUILD_ROOT}%{_docdir}/filters/min12xxw
    install -m 0644 AUTHORS COPYING ChangeLog FAQ NEWS README \
	${RPM_BUILD_ROOT}%{_docdir}/filters/min12xxw/
popd
for file in c2070 cZ11 cjet lm1100 lpstyl pbm2l2030 \
	ppmtomd pnm2ppa calibrate_ppa min12xxw
do
#	strip $RPM_BUILD_ROOT/usr/bin/$file # serves also as file exist check
	test -x $RPM_BUILD_ROOT/usr/bin/$file
done

%files
%defattr(-, root, root)
/usr/bin/*
#/usr/share/foomatic/
/usr/share/cups/model/Lexmark/*ppd.gz
%config(noreplace) /etc/pnm2ppa.conf
%{_mandir}/man1/*.gz
%doc %{_docdir}/%{name}/

%changelog
* Fri Oct 24 2008 jsmeix@suse.de
- Updated RPM info texts (via our PDB).
* Fri Aug 10 2007 ro@suse.de
- added libnetpbm-devel to buildreq
* Tue Feb 06 2007 werner@suse.de
- Drop foo2zjs.tar.bz2 because it contains a copy of the JBIG
  reference implementation from Markus Kuhn (bug #227702)
- Fix array subscript running above array bounds (bug #242359)
* Fri Jan 26 2007 ro@suse.de
- replace ghostscript-mini by ghostscript_any in BuildReq (#119914)
* Tue Oct 31 2006 meissner@suse.de
- use RPM_OPT_FLAGS for ppmtomd.c too.
* Mon Aug 14 2006 werner@suse.de
- Update Minolta filter progam min12xxw-0.0.9 (bug #198661)
* Thu May 18 2006 schwab@suse.de
- Don't build as root.
- Don't strip binaries.
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Thu Jan 12 2006 werner@suse.de
- Use the gcc stack protector
* Wed Oct 05 2005 werner@suse.de
- Make gcc 4.1 happy
* Tue Sep 20 2005 werner@suse.de
- Use -fno-strict-aliasing to be able to cast a struct holding
  three doubles over an double[3] array.
* Tue Jul 26 2005 werner@suse.de
- Add Minolta filter progam min12xxw-0.0.7 (bug #97842)
- Make compiler warnings vanish
* Wed Jun 15 2005 meissner@suse.de
- use RPM_OPT_FLAGS in 2 more filters.
* Sun Apr 10 2005 coolo@suse.de
- fix increments
* Mon Nov 15 2004 werner@suse.de
- Add foo2zjs driver
* Wed Sep 29 2004 werner@suse.de
- Drop ppmtocpva wrapper script (bug #46407)
* Fri Apr 16 2004 werner@suse.de
- Update some filters, fix stupid compile problem for not void
  but void functions.
* Mon Jan 19 2004 meissner@suse.de
- fixed gcc3.4 problems.
* Thu Jul 11 2002 werner@suse.de
- Remove lpdfilter from required packages (bug #15869)
* Fri Feb 15 2002 werner@suse.de
- New requires
* Fri Feb 01 2002 ro@suse.de
- changed neededforbuild <libpng> to <libpng-devel-packages>
* Mon Jan 07 2002 schwab@suse.de
- Fix syntax of friend declarations.
- Fix undefined operation.
* Thu Feb 01 2001 werner@suse.de
- More compiler issues for ia64
* Fri Dec 15 2000 werner@suse.de
- Next try
* Fri Dec 15 2000 werner@suse.de
- Try to make lm1100.1.0 compiling on ia64
* Thu Dec 14 2000 werner@suse.de
- Correct group tag
* Tue Nov 28 2000 kukuk@suse.de
- Fix neededforbuild (libnetpb -> libnetpbm)
* Mon Nov 20 2000 bk@suse.de
- fixed installation of pnm2ppa and pnm2ppa man page(incl file list).
- added /etc/pnm2ppa.conf as %%config(noreplace) to file list
- added new pnm2ppa utils calibrate_ppa, detect_ppa and test_ppa.
- removed debug compile flag for pnm2ppa(as sample spec does)
- changed Group tag to Applications/Publishing(used by pnm2ppa too)
- added testpages, samples and RELEASE-NOTES to pnm2ppa documentation
- added html documentation for pnm2ppa
- moved all pnm2ppa documentation to %%{_docdir}/filters/pnm2ppa
* Fri Nov 17 2000 werner@suse.de
- Update to pnm2ppa-1.03 (color printing)
- Rename ppa to filters and add various filters:
  * bitcmyk to lexmark Z11
  * bitcmyk to lexmark lex2070
  * PCL to CaPSL (Canon Laser, see gs devices lbp8 and lips3)
  * ppmraw  to lexmark 1100
  * pbmraw  to lexmark 2030
  * ppmraw  to Citizen Printiva printers
  * bitcmyk to Apple StyleWriter printers
* Wed Jun 07 2000 ro@suse.de
- doc relocation
* Mon Sep 13 1999 bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
* Mon Apr 19 1999 werner@suse.de
- New Release 0.8.6
* Wed Sep 16 1998 werner@suse.de
- Fix name of doc directory
* Mon Jul 13 1998 werner@suse.de
- Make name space uniq
* Fri May 15 1998 werner@suse.de
- New package: post processor to convert pbm output
  of ghostscript to ppa protocol of HP DeskJet without PCL3
  (GDI printer).