File filters.spec of Package filters

#
# spec file for package filters (Version 2007.2.6)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild

Name:           filters
BuildRequires:  cups-filters-devel
BuildRequires:  gcc-c++
BuildRequires:  ghostscript_any
BuildRequires:  groff
BuildRequires:  libnetpbm-devel
BuildRequires:  libpng-devel
BuildRequires:  procps
License:        GPL-2.0-or-later
Group:          Hardware/Printing
Obsoletes:      ppa
Requires:       ghostscript_any
Autoreqprov:    on
Summary:        Printer Filters for HP, Lexmark, CaPSL, Citizen, and Apple
Version:        2007.2.6
Release:        1
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 printers from HP, Lexmark,
Canon, Citizen, and Apple. 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 -P0 -p 0 -b .p0
pushd ../c2070-*/
%patch -P1 -p 0 -b .p1
popd
pushd ../lz11-*/
%patch -P2 -p 0 -b .p2
popd
pushd ../cjet089*/
%patch -P3 -p 0 -b .p3
popd
pushd ../lm1100*/
%patch -P4 -p 0 -b .p4
popd
pushd ../pbm2l2030*/
%patch -P5 -p 0 -b .p5
popd
pushd ../ppmto*/
%patch -P6 -p 0 -b .p6
popd
pushd ../stylewriter
%patch -P7 -p 0 -b .p7
popd
pushd ../min12xxw*/
#%patch -P9 -p 0 -b .p9
popd

%build
CC=gcc
CFLAGS="%{optflags} -D_GNU_SOURCE -I/usr/include/netpbm"
if ${CC:-gcc} -Werror -std=gnu17 -S -o /dev/null -xc /dev/null >/dev/null 2>&1
then
    CFLAGS="${CFLAGS} -std=gnu17"
fi
RPM_OPT_FLAGS="$CFLAGS"
export CC CFLAGS RPM_OPT_FLAGS
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
%{_bindir}/*
#%{_datadir}/foomatic/
%dir %{_datadir}/cups/model/
%dir %{_datadir}/cups/model/Lexmark/
%{_datadir}/cups/model/Lexmark/*ppd.gz
%config(noreplace) %{_sysconfdir}/pnm2ppa.conf
%{_mandir}/man1/*.gz
%doc %{_docdir}/%{name}/

%changelog -n filters
* 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
* Thu May 14 1998 - werner@suse.de
- New package: post processor to convert pbm output
  of ghostscript to ppa protocol of HP DeskJet without PCL3
  (GDI printer).
openSUSE Build Service is sponsored by