* gropdf: A new driver for generating PDF output directly, contributed by Deri James and written in Perl * The -mom macro package has reached version 2.0, focusing on PDF output with gropdf (using the new `pdfmom' wrapper script). See the file`version-2.html' of the -mom documentation for a list of the many changes. * pdfmom: A new wrapper around groff that facilitates the production of PDF documents from files formatted with the -mom macros. * and a lot more, see NEWS for details - obsoletes: groff-1.21-groffer-libexecdir.patch, already fixed upstream config-guess-sub-update.patch, dtto groff_1.21-6.debian.diff, replaced by - added groff_1.22.2-2.debian.diff - create a stripped-down version of groff usable for viewing of manual pages - new groff-full package contains the rest of groff tools capable to work with images, html or pdf. It contains the devx fonts, thus obsoletes groff-devx it aims to fix bnc#755533 - grohtml built without pnm* tools in PATH - gxdview.spec is removed as gxdview is built from groff-full.spec - verify the tarball using gpg-offline - this is done in groff-full only to retain a limited list of dependencies for base groff - config-guess-sub-update.patch: Update config.guess/sub for aarch64 - update license to new format - add explicit buildrequire makeinfo - Remove redundant tags/sections from specfile OBS-URL: https://build.opensuse.org/package/show/M17N/groff?expand=0&rev=39
330 lines
11 KiB
RPMSpec
330 lines
11 KiB
RPMSpec
#
|
|
# spec file for package groff
|
|
#
|
|
# Copyright (c) 2013 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/
|
|
#
|
|
|
|
|
|
%global groff_base_only 1
|
|
|
|
Name: groff
|
|
Version: 1.22.2
|
|
Release: 0
|
|
Summary: GNU troff Document Formatting System
|
|
License: BSD-3-Clause and GPL-2.0+
|
|
Group: Productivity/Publishing/Troff
|
|
Url: http://www.gnu.org/software/groff/groff.html
|
|
Source0: ftp://ftp.gnu.org/gnu/groff/groff-%{version}.tar.gz
|
|
Source1: ftp://ftp.gnu.org/gnu/groff/groff-%{version}.tar.gz.sig
|
|
Source2: groff-full.keyring
|
|
Source3: zzz-groff.sh
|
|
Source4: zzz-groff.csh
|
|
# for file in `cat series | grep -v '^#' | grep '^[a-z]' `; do
|
|
# cat $file >> groff_1.21-6.debian.diff
|
|
# done
|
|
Patch0: groff_1.22.2-2.debian.diff
|
|
Patch1: groff-1.20.1-destbufferoverflow.patch
|
|
Patch2: groff-1.20.1-nroff-empty-LANGUAGE.patch
|
|
# obsoleted by 1.22.2 - groffer is installed to /usr/lib on 64bit
|
|
#Patch3: groff-1.21-groffer-libexecdir.patch
|
|
Patch4: groff-1.20.1-deunicode.patch
|
|
Patch5: groff-1.21-CVE-2009-5044.patch
|
|
#PATCH-FIX-OPENSUSE: splitted patch6 and patch7 from
|
|
#http://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/groff/groff-1.20.1-owl-tmp.diff?rev=1.2;content-type=text%2Fplain
|
|
Patch6: groff-1.21-CVE-2009-5080.patch
|
|
Patch7: groff-1.21-CVE-2009-5081.patch
|
|
#PATCH-FIX-OPENSUSE: FATE#312586
|
|
#sent upstream http://lists.gnu.org/archive/html/bug-groff/2011-09/msg00002.html
|
|
#so they would be available on next release of groff
|
|
Patch8: 0001-locale-support-in-papersize-definition.patch
|
|
Patch9: 0002-documentation-for-the-locale-keyword.patch
|
|
# change the papersize definition to force the locale usage
|
|
# it can be supressed by /etc/papersize if needed
|
|
Patch10: groff-force-locale-usage.patch
|
|
# obsoleted by 1.22.2
|
|
#Patch11: config-guess-sub-update.patch
|
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
BuildRequires: bison
|
|
BuildRequires: fdupes
|
|
BuildRequires: gcc-c++
|
|
%if 0%{suse_version} > 1220
|
|
BuildRequires: makeinfo
|
|
%endif
|
|
|
|
%if %{groff_base_only}
|
|
Recommends: groff-full
|
|
%else
|
|
BuildRequires: ghostscript-library
|
|
BuildRequires: gpg-offline
|
|
BuildRequires: groff
|
|
BuildRequires: netpbm
|
|
BuildRequires: psutils
|
|
# for gxditview and X fontx
|
|
BuildRequires: xorg-x11-devel
|
|
|
|
Provides: jgroff = %{version}-%{release}
|
|
Provides: normal-groff = %{version}-%{release}
|
|
Obsoletes: jgroff < %{version}
|
|
# X fonts were moved back
|
|
Provides: groff-devx = %{version}-%{release}
|
|
Obsoletes: groff-devx <= 1.21
|
|
# requires the -base package
|
|
Requires: groff = %{version}
|
|
Requires(pre): %install_info_prereq
|
|
# for pre-grohtml and pdfroff
|
|
Requires: ghostscript-library
|
|
Requires: netpbm
|
|
Requires: psutils
|
|
%endif
|
|
|
|
%if %{groff_base_only}
|
|
%description
|
|
The groff package is a stripped-down package containing the necessary
|
|
components to read manual pages in ASCII, Latin-1, and UTF-8, plus the
|
|
PostScript device (groff's default). Users who want a full groff installation,
|
|
with the standard set of devices, fonts, macros, and documentation, should
|
|
install the groff-full package.
|
|
|
|
%else #groff_base_only
|
|
|
|
%description
|
|
The groff-full package provides aditional tools excluded from base groff
|
|
package, like grohtml, X fonts et. all.
|
|
|
|
Groff is used to "compile" man pages stored in groff or nroff format
|
|
for different output devices, for example, displaying to a screen or in
|
|
PostScript(tm) format for printing on a PostScript(tm) printer. Most
|
|
programs store their man pages in either /usr/share/man/ or
|
|
/usr/X11R6/man/.
|
|
|
|
%package -n groff-doc
|
|
Summary: HTML documentation and examples for groff
|
|
Group: Productivity/Publishing/Troff
|
|
|
|
%description -n groff-doc
|
|
The groff package provides compatible versions of troff, nroff, eqn,
|
|
tbl, and other Unix text formatting utilities.
|
|
|
|
Groff is used to "compile" man pages stored in groff or nroff format
|
|
for different output devices, for example, displaying to a screen or in
|
|
PostScript(tm) format for printing on a PostScript(tm) printer. Most
|
|
programs store their man pages in either /usr/share/man/ or
|
|
/usr/X11R6/man/.
|
|
|
|
%package -n gxditview
|
|
Summary: Ditroff Output Displayer for Groff
|
|
Group: Productivity/Publishing/Troff
|
|
Requires: groff-full = %{version}
|
|
# bnc#668254
|
|
Supplements: packageand(groff:xorg-x11-libX11)
|
|
Conflicts: jgxdview
|
|
Provides: gxdview = %{version}-%{release}
|
|
Obsoletes: gxdview < %{version}
|
|
|
|
%description -n gxditview
|
|
This version of xditview is called gxditview and has some extensions
|
|
used by the groff command. gxditview is used by groff if called with
|
|
the -X option.
|
|
|
|
%endif #groff_base_only
|
|
|
|
%prep
|
|
%if ! %{groff_base_only}
|
|
# we do a verification on non-base package in order to not add more dependencies to Base:build ...
|
|
%gpg_verify %{SOURCE1}
|
|
%endif
|
|
|
|
%setup -q -n groff-%{version}
|
|
%patch0 -p1 -b .debian
|
|
%patch1
|
|
%patch2 -p1 -b .bnc540600
|
|
# % patch3 -p1 -b .groffer-libexecdir
|
|
%patch4 -p1 -b .deunicode
|
|
%patch5 -p1 -b .CVE-2009-5044
|
|
%patch6 -p1 -b .CVE-2009-5080
|
|
%patch7 -p1
|
|
%patch8 -p1 -b .locale
|
|
%patch9 -p1 -b .locale
|
|
%patch10 -p1 -b .force-locale
|
|
# % patch11
|
|
|
|
%build
|
|
PATH=$PWD/src/roff/troff:$PWD/src/preproc/pic:$PWD/src/preproc/eqn:$PWD/src/preproc/tbl:$PWDsrc/preproc/refer:$PWD/src/preproc/soelim:$PATH
|
|
PATH=$PWD/src/roff/grog:$PWD/src/roff/groff:$PWD/src/devices/grops:$PWD/src/devices/grotty:$PWD/src/devices/grodvi:$PWD/src/devices/grohtml:$PATH
|
|
GROFF_COMMAND_PREFIX=
|
|
GROFF_FONT_PATH=$PWD
|
|
GROFF_TMAC_PATH=$PWD/tmac:$PWD/src/roff/troff
|
|
export PATH GROFF_COMMAND_PREFIX GROFF_FONT_PATH GROFF_TMAC_PATH
|
|
#
|
|
#libtoolize --force
|
|
#autoreconf --force --install
|
|
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
|
|
export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
|
|
%{configure} \
|
|
--with-appresdir=%{_datadir}/X11/app-defaults
|
|
|
|
#ulimit -c unlimited
|
|
make %{?_smp_mflags}
|
|
|
|
%if ! %{groff_base_only}
|
|
#pushd doc
|
|
# make %{?_smp_mflags}
|
|
# makeinfo groff.texinfo
|
|
#popd
|
|
%endif
|
|
|
|
%install
|
|
%if %{groff_base_only}
|
|
install -d -m 0755 %{buildroot}%{_bindir}
|
|
install -d -m 0755 %{buildroot}%{_mandir}/man1
|
|
install -d -m 0755 %{buildroot}%{_datadir}/%{name}/%{version}/
|
|
install -d -m 0755 %{buildroot}%{_datadir}/%{name}/%{version}/font/
|
|
install -d -m 0755 %{buildroot}%{_datadir}/%{name}/%{version}/tmac/
|
|
install -d -m 0755 %{buildroot}%{_datadir}/%{name}/%{version}/tmac/mdoc/
|
|
%else
|
|
%{makeinstall} docdir=%{_defaultdocdir}/groff
|
|
%endif
|
|
|
|
### see Debian's groff-base.install.in ###
|
|
for BIN in eqn groff grog grops grotty neqn nroff pic preconv soelim tbl troff; do
|
|
|
|
%if %{groff_base_only}
|
|
# install binary
|
|
install -m 0755 $(find . -type f -name ${BIN}) %{buildroot}/%{_bindir}/
|
|
|
|
# install man
|
|
MAN_SOURCE=$(find src -name "${BIN}.n")
|
|
MAN_DEST="${MAN_SOURCE%.n}.1" # replace suffix .n by .1
|
|
MAN_DEST="${MAN_DEST##*/}" # remove the path/before/
|
|
install -m 0644 "${MAN_SOURCE}" "%{buildroot}%{_mandir}/man1/${MAN_DEST}"
|
|
%else
|
|
# remove binary already in groff.rpm
|
|
rm %{buildroot}/%{_bindir}/${BIN}
|
|
# remove manual already in groff.rpm
|
|
rm %{buildroot}/%{_mandir}/man1/${BIN}.*
|
|
%endif
|
|
|
|
done
|
|
|
|
%if %{groff_base_only}
|
|
# datadir
|
|
install -m 0644 src/utils/indxbib/eign %{buildroot}%{_datadir}/%{name}/%{version}/
|
|
%else
|
|
rm %{buildroot}%{_datadir}/groff/%{version}/eign
|
|
%endif
|
|
|
|
for FONT in devascii devlatin1 devps devutf8; do
|
|
%if %{groff_base_only}
|
|
cp -pr "font/${FONT}" %{buildroot}%{_datadir}/%{name}/%{version}/font/
|
|
%else
|
|
rm -r %{buildroot}%{_datadir}/groff/%{version}/font/${FONT}
|
|
%endif
|
|
done
|
|
|
|
for TMAC in an-ext.tmac an-old.tmac an.tmac andoc.tmac composite.tmac cp1047.tmac cs.tmac de.tmac den.tmac \
|
|
devtag.tmac doc.tmac doc-old.tmac eqnrc europs.tmac fr.tmac hyphen.cs hyphen.den hyphen.det \
|
|
hyphen.fr hyphen.sv hyphen.us hyphenex.cs hyphenex.det hyphenex.us ja.tmac latin1.tmac latin2.tmac \
|
|
latin5.tmac latin9.tmac man.tmac mandoc.tmac mdoc.tmac papersize.tmac pic.tmac ps.tmac psatk.tmac \
|
|
psold.tmac pspic.tmac safer.tmac sv.tmac trans.tmac troffrc troffrc-end tty-char.tmac tty.tmac \
|
|
unicode.tmac www.tmac; do
|
|
|
|
%if %{groff_base_only}
|
|
cp tmac/${TMAC} %{buildroot}%{_datadir}/%{name}/%{version}/tmac/
|
|
%else
|
|
rm %{buildroot}%{_datadir}/groff/%{version}/tmac/${TMAC}
|
|
%endif
|
|
done
|
|
|
|
%if %{groff_base_only}
|
|
install -m 0644 tmac/doc-common tmac/doc-ditroff tmac/doc-nroff tmac/doc-syms \
|
|
%{buildroot}%{_datadir}/%{name}/%{version}/tmac/mdoc/
|
|
%else
|
|
rm -rf %{buildroot}%{_datadir}/groff/%{version}/tmac/mdoc
|
|
%endif
|
|
|
|
%if %{groff_base_only}
|
|
|
|
%{__ln_s} -f current %{buildroot}%{_datadir}/%{name}/%{version}
|
|
|
|
# compat symlinks
|
|
%{__ln_s} -f eqn %{buildroot}%{_bindir}/geqn
|
|
%{__ln_s} -f tbl %{buildroot}%{_bindir}/gtbl
|
|
|
|
# install profiles to disable the use of ANSI colour sequences by default:
|
|
%{__install} -d -m 0755 %{buildroot}/%{_sysconfdir}/profile.d
|
|
%{__install} -m 644 %{SOURCE3} %{SOURCE4} %{buildroot}/%{_sysconfdir}/profile.d/
|
|
|
|
%endif #groff_base_only
|
|
|
|
%fdupes -s %{buildroot}
|
|
|
|
%if ! %{groff_base_only}
|
|
%post
|
|
%install_info --info-dir=%{_infodir} %{_infodir}/groff.info.gz
|
|
|
|
%postun
|
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/groff.info.gz
|
|
%endif
|
|
|
|
%if %{groff_base_only}
|
|
%files
|
|
%defattr(-,root,root)
|
|
%doc BUG-REPORT ChangeLog* COPYING FDL LICENSES MANIFEST MORE.STUFF NEWS PROBLEMS PROJECTS README REVISION VERSION
|
|
%doc %{_mandir}/man1/*
|
|
%{_bindir}/*
|
|
%config %{_sysconfdir}/profile.d/zzz-%{name}.*sh
|
|
%{_datadir}/%{name}
|
|
|
|
%else #groff_base_only
|
|
%files
|
|
%defattr(-,root,root)
|
|
%dir %{_datadir}/groff/%{version}
|
|
%doc %{_docdir}/groff
|
|
%exclude %{_docdir}/groff/html
|
|
%exclude %{_docdir}/groff/examples
|
|
%doc %{_infodir}/groff*
|
|
%doc %{_mandir}/man*/*
|
|
%exclude %{_mandir}/man1/gxditview.1*
|
|
%{_bindir}/*
|
|
%exclude %{_bindir}/gxditview
|
|
%{_datadir}/groff/%{version}/font
|
|
%{_datadir}/groff/%{version}/oldfont
|
|
%{_datadir}/groff/%{version}/pic
|
|
%{_datadir}/groff/%{version}/tmac
|
|
%{_datadir}/groff/current
|
|
%{_datadir}/groff/site-tmac
|
|
%{_libexecdir}/groff/groffer
|
|
|
|
%files -n groff-doc
|
|
%defattr(-, root, root)
|
|
%dir %{_docdir}/groff
|
|
%doc %{_docdir}/groff/html
|
|
%doc %{_docdir}/groff/examples
|
|
|
|
%files -n gxditview
|
|
%defattr(-,root,root)
|
|
%dir %{_datadir}/X11/app-defaults
|
|
%doc src/devices/xditview/ChangeLog
|
|
%doc src/devices/xditview/README
|
|
%doc src/devices/xditview/TODO
|
|
%{_bindir}/gxditview
|
|
%doc %{_mandir}/man1/gxditview.1*
|
|
%{_datadir}/X11/app-defaults/GXditview
|
|
%{_datadir}/X11/app-defaults/GXditview-color
|
|
|
|
%endif #groff_base_only
|
|
|
|
%changelog
|