xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-extended/groff/groff_1.22.4.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1SUMMARY = "GNU Troff software"
2DESCRIPTION = "The groff (GNU troff) software is a typesetting package which reads plain text mixed with \
3formatting commands and produces formatted output."
4SECTION = "base"
5HOMEPAGE = "http://www.gnu.org/software/groff/"
6LICENSE = "GPL-3.0-only"
7
8LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
9
10SRC_URI = "${GNU_MIRROR}/groff/groff-${PV}.tar.gz \
11	file://0001-replace-perl-w-with-use-warnings.patch \
12	file://groff-not-search-fonts-on-build-host.patch \
13	file://0001-support-musl.patch \
14	file://0001-Include-config.h.patch \
15        file://0001-Make-manpages-mulitlib-identical.patch \
16"
17
18SRC_URI[md5sum] = "08fb04335e2f5e73f23ea4c3adbf0c5f"
19SRC_URI[sha256sum] = "e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293"
20
21# Remove at the next upgrade
22PR = "r1"
23
24DEPENDS = "bison-native"
25RDEPENDS:${PN} += "perl sed"
26
27inherit autotools-brokensep texinfo multilib_script pkgconfig
28
29MULTILIB_SCRIPTS = "${PN}:${bindir}/gpinyin ${PN}:${bindir}/groffer ${PN}:${bindir}/grog"
30
31EXTRA_OECONF = "--without-x --without-doc"
32PARALLEL_MAKE = ""
33
34CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl' ac_cv_path_BASH_PROG='no' PAGE=A4"
35
36# Delete these generated files since we depend on bison-native
37# and regenerate them. Do it deterministically (always).
38do_configure:prepend() {
39	rm -f ${S}/src/preproc/eqn/eqn.cpp
40	rm -f ${S}/src/preproc/eqn/eqn.hpp
41}
42
43do_install:append() {
44	# Some distros have both /bin/perl and /usr/bin/perl, but we set perl location
45	# for target as /usr/bin/perl, so fix it to /usr/bin/perl.
46	for i in afmtodit mmroff gropdf pdfmom grog; do
47		if [ -f ${D}${bindir}/$i ]; then
48			sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/$i
49		fi
50	done
51	if [ -e ${D}${libdir}/charset.alias ]; then
52		rm -rf ${D}${libdir}/charset.alias
53	fi
54
55	# awk is located at /usr/bin/, not /bin/
56	SPECIAL_AWK=`find ${D} -name special.awk`
57	if [ -f ${SPECIAL_AWK} ]; then
58		sed -i -e 's:#!.*awk:#! ${USRBINPATH}/awk:' ${SPECIAL_AWK}
59	fi
60
61	# not ship /usr/bin/glilypond and its releated files in embedded target system
62	rm -rf ${D}${bindir}/glilypond
63	rm -rf ${D}${libdir}/groff/glilypond
64	rm -rf ${D}${mandir}/man1/glilypond*
65
66	# not ship /usr/bin/grap2graph and its releated man files
67	rm -rf ${D}${bindir}/grap2graph
68	rm -rf ${D}${mandir}/man1/grap2graph*
69}
70
71do_install:append:class-native() {
72	create_cmdline_wrapper ${D}/${bindir}/groff \
73		-F${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/font \
74		-M${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/tmac
75}
76
77FILES:${PN} += "${libdir}/${BPN}/site-tmac \
78                ${libdir}/${BPN}/groffer/"
79
80BBCLASSEXTEND = "native"
81