Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37478039
en ru br
Репозитории ALT
S:10.01.1-alt1
5.1: 9.01-alt0.M50P.1
4.1: 8.63-alt0.M41.4
4.0: 8.15.4-alt1.M40.4
+updates:8.15.4-alt1.M40.4
3.0: 7.07.1-alt7
www.altlinux.org/Changes

Группа :: Издательство
Пакет: ghostscript

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

%define gsver 7.07.1
%define ijsver 0.34

Name: ghostscript
Version: %gsver
Release: alt7

%define real_name espgs
%define esp_name esp-ghostscript
%define gnu_name gnu-ghostscript
%define dot_version 7.07

Summary: PostScript interpreter and renderer, most printer drivers
License: GPL
Group: Publishing
Url: http://www.cups.org/ghostscript.php
Packager: Stanislav Ievlev <inger at altlinux.org>

Source: ftp://ftp.easysw.com/pub/ghostscript/%real_name-%gsver-source.tar.bz2
Patch1: espgs-7.05.6-alt-broken-make_so.patch
Patch2: espgs-7.05.6-mdk-shared.patch
Patch3: espgs-7.05.4-mdk-shared-x11alpha.patch
Patch4: espgs-7.07.1-alt-shared-textrel.patch
Patch5: espgs-7.07.1-alt-ijs-textrel.patch
Patch6: espgs-7.07.1-alt-ijs-soname.patch
Patch7: gdevijs-krgb-1.0.patch
Patch8: espgs-7.07.1-alt-build.patch
Patch9: espgs-7.07.1-mdk-fontconfig.patch

# "GS-CJK Project" fontmaps, see http://www.gyve.org/gs-cjk/ for reference.

# Patches for GhostScript are not necessary any more.
Source2:       install-cid.tar.bz2
Source3:       ftp://ftp.gyve.org/pub/gs-cjk/adobe-cmaps-200202.tar.bz2
Source4:       ftp://ftp.gyve.org/pub/gs-cjk/acro5-cmaps-2001.tar.bz2
Source5:       CIDFnmap-cjk-20020627.tar.bz2

#Additional drivers

# Driver for the Samsung ML-85G and QL-85G winprinters
Source100: http://www.pragana.net/ml85p-0.2.0.tar.bz2
# HP DeskJet PPA printers
Source101: http://download.sourceforge.net/pnm2ppa/pnm2ppa-1.12.tar.bz2
Source102: http://www.httptech.com/ppa/files/ppa-0.8.6.tar.bz2
Patch102: pbm2ppa-20000205.diff
Source103: http://cesnet.dl.sourceforge.net/sourceforge/epsonepl/epsoneplijs-0.4.0pre5.tar.bz2
Patch103: espgs-7.07.1-alt-epsonepl-build.patch
Source104: http://sourceforge.net/projects/lz11/lz11-0.3.tar.bz2
# GhostScript wrapper for the Pentax PocketJet printers
Source105: http://www.pragana.net/pentaxpj-1.0.0.tar.bz2
Patch105: ghostscript-7.05-alt-pentaxpj-no-bwidget.patch
Source106: http://www.dcs.ed.ac.uk/home/jcb/ppmtomd/ppmtomd-1.3.tar.bz2
Patch106: ppmtomd-1.3-alt-build.patch

#compatibility requires

Requires: %name-classic = %gsver-%release, %name-drivers = %gsver-%release
Provides: %esp_name = %gsver, %gnu_name = %gsver
Obsoletes: %gnu_name, %esp_name

BuildPreReq: kernel-headers-std-up

# Automatically added by buildreq on Wed May 05 2004 (-bi)

BuildRequires: freetype2-devel pkgconfig fontconfig-devel XFree86-devel-static gcc-c++ glib-devel gtk+-devel libcups-devel libgimp-print-devel libjpeg-devel libnetpbm-devel libpng-devel libssl-devel libstdc++-devel libtiff-devel netpbm tk zlib-devel

%package -n libijs
Version: %{ijsver}_%gsver
License: MIT
Summary: Dynamic library for the IJS printer driver plug-in interface
Group: Publishing
Url: http://www.linuxprinting.org/ijs/
Provides: libespijs = %{ijsver}_%gsver, libgnuijs = %{ijsver}_%gsver
Obsoletes: libgnuijs, libespijs

%package -n libijs-devel
Version: %{ijsver}_%gsver
License: MIT
Summary: Headers and links for compiling against
Group: Development/C
Url: http://www.linuxprinting.org/ijs/
Requires: libijs = %{ijsver}_%gsver-%release
Provides: libespijs-devel = %{ijsver}_%gsver, libgnuijs-devel = %{ijsver}_%gsver
Obsoletes: libgnuijs-devel, libespijs-devel

%package module-X
Summary: PostScript interpreter and renderer (additional support for X)
Version: %gsver
Group: Publishing
PreReq: %name-rip = %gsver-%release
Provides: %esp_name-module-X = %gsver, %gnu_name-module-X = %gsver
Obsoletes: %gnu_name-module-X, %esp_name-module-X

%package drivers
Summary: PostScript interpreter and renderer (external drivers)
Version: %gsver
Group: Publishing
PreReq: %name-rip = %gsver-%release
Provides: %esp_name-drivers = %gsver, %gnu_name-drivers = %gsver
Obsoletes: %esp_name-drivers, %gnu_name-drivers

%package utils
Summary: Additional tools for configuring printers
Version: %gsver
Group: Publishing
PreReq: %name-rip = %gsver-%release
Provides: %esp_name-utils = %gsver, %gnu_name-utils = %gsver
Obsoletes: %gnu_name-utils, %esp_name-utils

%package lib
Summary: Shared library for %name
Version: %gsver
Group: Publishing
Provides: %esp_name-lib = %gsver, %gnu_name-lib = %gsver
Obsoletes: %gnu_name-lib, %esp_name-lib

%package classic
Summary: classic edition of %name
Version: %gsver
Group: Publishing
PreReq: %name-common = %gsver-%release
Provides: %name-rip = %gsver-%release
Provides: %esp_name-classic = %gsver, %gnu_name-classic = %gsver
Obsoletes: %gnu_name-classic, %esp_name-classic

%package minimal
Summary: minimal edition of %name
Version: %gsver
Group: Publishing
PreReq: %name-lib = %gsver-%release, %name-common = %gsver-%release
Provides: %name-rip = %gsver-%release
Provides: %esp_name-minimal = %gsver, %gnu_name-minimal = %gsver
Obsoletes: %gnu_name-minimal, %esp_name-minimal

%package gtk
Summary: %name with gtk
Version: %gsver
Group: Publishing
PreReq: %name-lib = %gsver-%release, %name-common = %gsver-%release
Provides: %name-rip = %gsver-%release
Provides: %esp_name-gtk = %gsver, %gnu_name-gtk = %gsver
Obsoletes: %gnu_name-gtk, %esp_name-gtk

%package common
Summary: Common files for the %name
Version: %gsver
Group: Publishing
Requires: urw-fonts >= 1.1
Provides: %esp_name-common = %gsver, %gnu_name-common = %gsver
Obsoletes: %gnu_name-common, %esp_name-common

%package cups
Summary: CUPS specific files %name
Version: %gsver
Group: Publishing
Requires:%name = %gsver-%release
Provides: %esp_name-cups = %gsver

%description
Ghostscript is a set of software that provides a PostScript(TM) interpreter,
a set of C procedures (the Ghostscript library, which implements the
graphics capabilities in the PostScript language) and an interpreter for
Portable Document Format (PDF) files. Ghostscript translates PostScript code
into many common, bitmapped formats, like those understood by your printer
or screen. Ghostscript is normally used to display PostScript files and to
print PostScript files to non-PostScript printers.
Most applications use PostScript for printer output.

In addition, the package contains filters which transfer the raw
bitmap of GhostScript into the protocol of some additional printer
models.

You should install ghostscript if you need to display PostScript files, or
if you have a non-PostScript printer.

%description module-X
Ghostscript is a PostScript interpreter. It can render both PostScript
and PDF compliant files to devices which include an X window, many printer
formats (including support for colour printers), and popular graphics
file formats.
This version enhances ghostscript with X windows support.

%description drivers
External ghostscript drivers

%description utils
Tools for printer maintenance: Setting default options for most laser
printers (PJL-capable printers), cartridge changing and head aligning
for inkjet winprinters.

%description -n libijs
This is the API library for programs using the IJS printer driver
plug-in interface. Printer drivers using this interface can be added
to GhostScript (6.53 or newer) without needing to rebuild
GhostScript. Application programs providing an IJS interface can make
use of IJS printer drivers directly, without needing GhostScript.

%description -n libijs-devel
This package contains the static library and the header files needed
to compile applications using this library.

%description lib
Shared library for %name

%description classic
Classic edition of %name

%description minimal
Minimal edition of %name

%description gtk
%name with gtk

%description common
Common files for the %name

%description cups
CUPS specific files %name

%prep
%setup -q -n %real_name-%gsver
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
#%patch9 -p1

%__subst 's,^GS_DOT_VERSION=.*,GS_DOT_VERSION=%gsver,' src/version.mak

# Driver for the Samsung ML-85G and QL-85G winprinters

%setup -q -T -D -a 100 -n %real_name-%gsver
pushd ml85p*
make clean
popd

%setup -q -T -D -a 101 -n %real_name-%gsver
%__subst 's/^version 0.*//' pnm2ppa-*/pnm2ppa.conf


# Generate README file

cat <<EOF >README.calibration

Colour calibration for PPA printers
-----------------------------------

If you have an HP DeskJet PPA printer (very cheap models: 710C, 712C,
720C, 722C, 820C, 1000C, or a newer printer which works with one of
these model entries) you can optionally do a colour correction. Do the
following:

Some of the printing modes offer optional colour correction. See the
option "Printing Mode" which is offered to you in the option window of
"printerdrake" and if you use CUPS also in "qtcups" or "kprinter"
("Properties" button, "Advanced" tab), "xpp" ("Options" button,
"Extra" tab), "kups" (right click on printer, "Configure printer" in
menu), or the WWW interface ("Configure printer" button) and if you
use PDQ in "xpdq" ("Driver options"). Choose a setting with "optional
colour correction" and save your settings. Read the file

  /usr/share/doc/printer-filters-1.0/HPDeskJetPPA/pnm2ppa/COLOR.txt

and follow the instructions there, but use the name

  /etc/pnm2ppa.gamma_normal

for the colour correction file for the "normal quality" modes and

  /etc/pnm2ppa.gamma_best

for the colour correction file for the "best quality" modes. So you
can do the colour correction independently in both normal and best
quality modes. The files are automatically taken into account by the
appropriate modes as soon as they are created.
EOF

#old PPA driver

%setup -q -T -D -a 102 -n %real_name-%gsver
%patch102 -p0

%setup -q -T -D -a 103 -n %real_name-%gsver
%patch103 -p1

%setup -q -T -D -a 104 -n %real_name-%gsver

%setup -q -T -D -a 105 -n %real_name-%gsver
%patch105 -p1

%setup -q -T -D -a 106 -n %real_name-%gsver
pushd ppmtomd*
%patch106 -p1
popd

%build
autoconf
%configure \
--with-fontpath=/usr/share/fonts/default/ghostscript:\
/usr/share/fonts/default/:\
/usr/share/fonts/default/Type1:\
/usr/share/ghostscript/fonts:\
/usr/share/ghostscript/Resource:\
/usr/share/ghostscript/CIDFont:\
/usr/X11R6/lib/X11/fonts \
--with-omni --with-x --with-ijs --with-drivers=ALL,stp --with-fontconfig

# Correct paths for CJK fonts

%__subst "s:/usr/share/ghostscript/:/usr/share/ghostscript/Resource/:g" lib/gs_res.ps
%__subst "s:ghostscript/Resource/fonts:ghostscript/Resource/Font:g" lib/gs_res.ps

# Correct library paths

%__subst -p "s,-L/usr/X11R6/lib,-L/usr/X11R6/%_lib,g" src/*.mak

#build with extended features

%make \
    FEATURE_DEVS="./obj/psl3.dev ./obj/pdf.dev ./obj/dpsnext.dev ./obj/ttfont.dev \
    ./obj/epsf.dev ./obj/pipe.dev ./obj/fzlib.dev ./obj/cidfont.dev"

#made shared library version

%make so
#make pcl3 stuff
%make pcl3opts

#ijs

pushd ijs
   autoconf
   %configure
   %make
popd

#additional drivers


%ifarch %ix86
# Driver for the Samsung ML-85G and QL-85G winprinters
pushd ml85p*
%make CFLAGS="$RPM_OPT_FLAGS"
popd
%endif #%ix86

# HP DeskJet PPA printers

pushd pnm2ppa*
%make BINDIR=%{_bindir} CONFDIR=%{_sysconfdir} MANDIR=%{_mandir}/man1
popd
pushd pbm2ppa*
make
popd

pushd epsoneplijs*
%configure
%make
popd

pushd lz11*
%make
popd

pushd pentaxpj*
%make_build
popd

pushd ppmtomd*
%make
popd


%install

make \
install_prefix=$RPM_BUILD_ROOT \
datadir=$RPM_BUILD_ROOT%_datadir \
libdir=$RPM_BUILD_ROOT%_libdir \
gsdir=$RPM_BUILD_ROOT%_datadir/ghostscript \
gsdatadir=$RPM_BUILD_ROOT%_datadir/ghostscript/%gsver \
gssharedir=$RPM_BUILD_ROOT%_libdir/ghostscript/%gsver \
docdir=$RPM_BUILD_ROOT%_defaultdocdir/%name-%gsver \
bindir=$RPM_BUILD_ROOT%_bindir \
mandir=$RPM_BUILD_ROOT%_mandir \
install

#shared objects stuff

make \
install_prefix=$RPM_BUILD_ROOT \
datadir=$RPM_BUILD_ROOT%_datadir \
libdir=$RPM_BUILD_ROOT%_libdir \
gsdir=$RPM_BUILD_ROOT%_datadir/ghostscript \
gsdatadir=$RPM_BUILD_ROOT%_datadir/ghostscript/%gsver \
docdir=$RPM_BUILD_ROOT%_defaultdocdir/%name-%gsver \
bindir=$RPM_BUILD_ROOT%_bindir \
mandir=$RPM_BUILD_ROOT%_mandir \
soinstall

#extract CIFMAPS

install -d $RPM_BUILD_ROOT%_datadir/ghostscript/Resource
install -d $RPM_BUILD_ROOT%_datadir/ghostscript/Resource/Font
install -d $RPM_BUILD_ROOT%_datadir/ghostscript/Resource/CIDFont
tar xvjf %SOURCE2 -C $RPM_BUILD_ROOT%_datadir/ghostscript/Resource
tar xvjf %SOURCE3 -C $RPM_BUILD_ROOT%_datadir/ghostscript/Resource
tar xvjf %SOURCE4 -C $RPM_BUILD_ROOT%_datadir/ghostscript/Resource
tar xvjf %SOURCE5 -C $RPM_BUILD_ROOT%_datadir/ghostscript/%gsver/lib

pushd $RPM_BUILD_ROOT%_datadir/ghostscript/Resource
rm -f alias-ac13.sh alias-ag14.sh alias-aj14.sh alias-aj20.sh alias-ak12.sh
sed 's,TTFontDir=/usr/local/share/fonts/truetype,TTFontDir=/usr/share/fonts/default/TrueType-chinese-big5,g' alias-cid.sh > alias-ac13.sh
sed 's,TTFontDir=/usr/local/share/fonts/truetype,TTFontDir=/usr/share/fonts/default/TrueType-chinese-gb2312,g' alias-cid.sh > alias-ag14.sh
sed 's,TTFontDir=/usr/local/share/fonts/truetype,TTFontDir=/usr/share/fonts/default/TrueType-japanese,g' alias-cid.sh > alias-aj14.sh
sed 's,TTFontDir=/usr/local/share/fonts/truetype,TTFontDir=/usr/share/fonts/default/TrueType-japanese,g' alias-cid.sh > alias-aj20.sh
sed 's,TTFontDir=/usr/local/share/fonts/truetype,TTFontDir=/usr/share/fonts/default/TrueType-korean,g' alias-cid.sh > alias-ak12.sh
chmod +x alias-ac13.sh alias-ag14.sh alias-aj14.sh alias-aj20.sh alias-ak12.sh
popd

#ijs

pushd ijs
   install -d $RPM_BUILD_ROOT%_includedir/ijs
   %makeinstall
   cp ijs_server_example %buildroot/usr/bin/
   chmod -x $RPM_BUILD_ROOT%_includedir/ijs/*
popd

rm -rf $RPM_BUILD_ROOT%_mandir/de

#additional drivers


%ifarch %ix86
# Driver for the Samsung ML-85G and QL-85G winprinters
pushd ml85p*
install -pm750 ml85p $RPM_BUILD_ROOT%_bindir
# Documentation
install -d $RPM_BUILD_ROOT%_docdir/%name-%gsver/SamsungML-85G
cp -ax COPYING NEWS README ml85-print ml85-test ml85*.lsm printcap \
$RPM_BUILD_ROOT%_docdir/%name-%gsver/SamsungML-85G
popd
%endif #%ix86

# HP DeskJet PPA printers

pushd pnm2ppa*
install -pm 0644  docs/en/pnm2ppa.1 $RPM_BUILD_ROOT%_man1dir
%makeinstall BINDIR=$RPM_BUILD_ROOT%_bindir CONFDIR=$RPM_BUILD_ROOT%_sysconfdir MANDIR=$RPM_BUILD_ROOT%_mandir/man1
chmod 0755 $RPM_BUILD_ROOT%_bindir/*
install -pm 0755 utils/Linux/detect_ppa $RPM_BUILD_ROOT%_bindir
install -pm 0755 utils/Linux/test_ppa $RPM_BUILD_ROOT%_bindir
install -d  $RPM_BUILD_ROOT%_docdir/%name-%gsver/HPDeskJetPPA/pnm2ppa
install -pm 0644 *.ps $RPM_BUILD_ROOT%_docdir/%name-%gsver/HPDeskJetPPA/pnm2ppa
pushd docs/en
for file in * ; do
 if  [ -f $file ] ; then
    install -m 0644  $file $RPM_BUILD_ROOT%_docdir/%name-%gsver/HPDeskJetPPA/pnm2ppa
 fi
done
rm -f $RPM_BUILD_ROOT%_docdir/%name-%gsver/HPDeskJetPPA/pnm2ppa/pnm2ppa.1
popd
cp -ax ppa_protocol sample_scripts README.security Changelog $RPM_BUILD_ROOT%_docdir/%name-%gsver/HPDeskJetPPA/pnm2ppa
popd

pushd pbm2ppa*
install -pm 0755 pbm2ppa  $RPM_BUILD_ROOT%_bindir
install -pm 0755 pbmtpg   $RPM_BUILD_ROOT%_bindir
install -pm 0644 pbm2ppa.conf   $RPM_BUILD_ROOT%_sysconfdir
install -pm 0644 pbm2ppa.1   $RPM_BUILD_ROOT%_mandir/man1
install -d  $RPM_BUILD_ROOT%_docdir/%name-%gsver/HPDeskJetPPA/pbm2ppa
for file in CALIBRATION CREDITS INSTALL INSTALL-MORE LICENSE README ; do
 if [ -f $file ] ; then
   install -pm 0644  $file $RPM_BUILD_ROOT%_docdir/%name-%gsver/HPDeskJetPPA/pbm2ppa
 fi
done
popd

pushd epsonepl*
%makeinstall
popd

pushd lz11*
%__install -pm755 cZ11-V2 $RPM_BUILD_ROOT%_bindir
ln -s %_bindir/cZ11-V2 $RPM_BUILD_ROOT%_bindir/cZ11
%__install -m 755 cZ11-bit* $RPM_BUILD_ROOT%_bindir
%__install -m 755 lz11.* $RPM_BUILD_ROOT%_bindir
%__install -d $RPM_BUILD_ROOT%_docdir/%name-%gsver/LexmarkZ11
%__install -pm 644 README CHANGELOG $RPM_BUILD_ROOT%_docdir/%name-%gsver/LexmarkZ11
#note we don't install foomatic data files
popd

pushd pentaxpj*
# Program files
%__install -p -m755 pentaxsetup $RPM_BUILD_ROOT%_bindir
%__install -p -m755 pentaxpj $RPM_BUILD_ROOT%_bindir
cat > $RPM_BUILD_ROOT%_sysconfdir/pentaxpj.conf <<EOF
#
set settings(driverpath) %_bindir/pentaxpj
EOF
# Documentation
%__install -p -m 644 README $RPM_BUILD_ROOT%_docdir/%name-%gsver/README.pentaxpj
popd

pushd ppmtomd*
%make BINDIR=$RPM_BUILD_ROOT%_bindir MANDIR=$RPM_BUILD_ROOT%_man1dir install
popd


#fix ijs library

pushd $RPM_BUILD_ROOT%_libdir
mv libijs.so libijs.so.0.34
ln -sf libijs.so.0.34 libijs.so.0
ln -sf libijs.so.0 libijs.so
rm -rf libijs.a
popd

%post lib -p %post_ldconfig
%postun lib -p %postun_ldconfig

%post -n libijs -p %post_ldconfig
%postun -n libijs -p %postun_ldconfig

%files

%files common
%doc %_docdir/%name-%gsver
%_datadir/ghostscript
%_bindir/pdf2dsc
%_bindir/pdf2ps
%_bindir/gsnd

%files cups
%config(noreplace) %_sysconfdir/cups/*
%_libdir/cups/filter/*
%_datadir/cups/model/*

%files classic
%_bindir/gs

%files minimal
%_bindir/gsc

%files gtk
%_bindir/gsx

%files utils
%_sysconfdir/pentaxpj.conf
%_bindir/*
#common excludes
%exclude %_bindir/gs
%exclude %_bindir/gsc
%exclude %_bindir/gsx
%exclude %_bindir/*ijs*
%exclude %_bindir/pdf2dsc
%exclude %_bindir/pdf2ps
%exclude %_bindir/gsnd
#driver excludes
%ifarch %ix86
%exclude %_bindir/ml85p
%endif
%exclude %_bindir/pnm2ppa
%exclude %_bindir/pbm2ppa
%exclude %_bindir/ijs_server_epsonepl
%exclude %_bindir/cZ11
%exclude %_bindir/lz11.foomatic
%exclude %_bindir/pentaxpj
%exclude %_bindir/ppmtomd
#additional excludes
%exclude %_bindir/pj-gs.sh
%_man1dir/*
#driver excludes
%exclude %_man1dir/ppmtomd*

%files drivers
%_sysconfdir/pbm2ppa.conf
%_sysconfdir/pnm2ppa.conf
%_bindir/ppmtomd
%_man1dir/ppmtomd*
%ifarch %ix86
%_bindir/ml85p
%endif
%_bindir/cZ11*
%_bindir/lz11.*
%_bindir/pnm2ppa
%_bindir/pbm2ppa
%_bindir/ijs_server_epsonepl
%_bindir/pentaxpj

%files module-X
%_libdir/ghostscript

%files lib
%_libdir/libgs.so*

%files -n libijs
%_libdir/libijs*.so.*

%files -n libijs-devel
%doc ijs/README
%_bindir/ijs-config
%_bindir/ijs_client_example
%_bindir/ijs_server_example
%_libdir/libijs*.so
%_includedir/ijs

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin