blob: 404972439b9171a601dbb73ffbbd607388081355 [file] [log] [blame]
Patrick Williamsc0f7c042017-02-23 20:41:17 -06001SUMMARY = "Utilities and libraries for producing multi-lingual messages"
Brad Bishop6e60e8b2018-02-01 10:27:11 -05002DESCRIPTION = "GNU gettext is a set of tools that provides a framework to help other programs produce multi-lingual messages. \
3These tools include a set of conventions about how programs should be written to support message catalogs, a directory and file \
4naming organization for the message catalogs themselves, a runtime library supporting the retrieval of translated messages, and \
5a few stand-alone programs to massage in various ways the sets of translatable and already translated strings."
Patrick Williamsc0f7c042017-02-23 20:41:17 -06006HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
7SECTION = "libs"
8LICENSE = "GPLv3+ & LGPL-2.1+"
9LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
10
Brad Bishop19323692019-04-05 15:28:33 -040011# Because po-gram-gen.y has been modified by fix-CVE-2018-18751.patch,
12# it requires yacc which provided by bison-native
13# Please remove bison-native from DEPENDS* when next upgrade
14DEPENDS = "bison-native gettext-native virtual/libiconv"
15DEPENDS_class-native = "bison-native gettext-minimal-native"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060016PROVIDES = "virtual/libintl virtual/gettext"
17PROVIDES_class-native = "virtual/gettext-native"
18RCONFLICTS_${PN} = "proxy-libintl"
19SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
20 file://parallel.patch \
21 file://add-with-bisonlocaledir.patch \
Brad Bishop6e60e8b2018-02-01 10:27:11 -050022 file://cr-statement.c-timsort.h-fix-formatting-issues.patch \
Brad Bishop316dfdd2018-06-25 12:45:53 -040023 file://use-pkgconfig.patch \
Brad Bishop19323692019-04-05 15:28:33 -040024 file://fix-CVE-2018-18751.patch \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060025"
26
27SRC_URI[md5sum] = "97e034cf8ce5ba73a28ff6c3c0638092"
28SRC_URI[sha256sum] = "ff942af0e438ced4a8b0ea4b0b6e0d6d657157c5e2364de57baa279c1c125c43"
29
Brad Bishop316dfdd2018-06-25 12:45:53 -040030inherit autotools texinfo pkgconfig
Patrick Williamsc0f7c042017-02-23 20:41:17 -060031
32EXTRA_OECONF += "--without-lispdir \
33 --disable-csharp \
34 --disable-libasprintf \
35 --disable-java \
36 --disable-native-java \
37 --disable-openmp \
38 --disable-acl \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060039 --without-emacs \
40 --without-cvs \
41 --without-git \
Brad Bishop19323692019-04-05 15:28:33 -040042 --cache-file=${B}/config.cache \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060043 "
44EXTRA_OECONF_append_class-target = " \
45 --with-bisonlocaledir=${datadir}/locale \
46"
47
Brad Bishop316dfdd2018-06-25 12:45:53 -040048PACKAGECONFIG ??= "croco glib libxml"
49PACKAGECONFIG_class-native = ""
50PACKAGECONFIG_class-nativesdk = ""
51
52PACKAGECONFIG[croco] = "--without-included-libcroco,--with-included-libcroco,libcroco"
53PACKAGECONFIG[glib] = "--without-included-glib,--with-included-glib,glib-2.0"
54PACKAGECONFIG[libxml] = "--without-included-libxml,--with-included-libxml,libxml2"
55# Need paths here to avoid host contamination but this can cause RPATH warnings
56# or problems if $libdir isn't $prefix/lib.
57PACKAGECONFIG[libunistring] = "--with-libunistring-prefix=${STAGING_LIBDIR}/..,--with-included-libunistring,libunistring"
58PACKAGECONFIG[msgcat-curses] = "--with-libncurses-prefix=${STAGING_LIBDIR}/..,--disable-curses,ncurses,"
59
Patrick Williamsc0f7c042017-02-23 20:41:17 -060060acpaths = '-I ${S}/gettext-runtime/m4 \
61 -I ${S}/gettext-tools/m4'
62
63do_install_append_libc-musl () {
64 rm -f ${D}${libdir}/charset.alias
65 rm -f ${D}${includedir}/libintl.h
66 rm -f ${D}${libdir}/libintl.la
67}
68
69# these lack the .x behind the .so, but shouldn't be in the -dev package
70# Otherwise you get the following results:
71# 7.4M glibc/images/ep93xx/Angstrom-console-image-glibc-ipk-2008.1-test-20080104-ep93xx.rootfs.tar.gz
72# 25M uclibc/images/ep93xx/Angstrom-console-image-uclibc-ipk-2008.1-test-20080104-ep93xx.rootfs.tar.gz
73# because gettext depends on gettext-dev, which pulls in more -dev packages:
74# 15228 KiB /ep93xx/libstdc++-dev_4.2.2-r2_ep93xx.ipk
75# 1300 KiB /ep93xx/uclibc-dev_0.9.29-r8_ep93xx.ipk
76# 140 KiB /armv4t/gettext-dev_0.14.1-r6_armv4t.ipk
77# 4 KiB /ep93xx/libgcc-s-dev_4.2.2-r2_ep93xx.ipk
78
79PACKAGES =+ "libgettextlib libgettextsrc"
80FILES_libgettextlib = "${libdir}/libgettextlib-*.so*"
81FILES_libgettextsrc = "${libdir}/libgettextsrc-*.so*"
82
83PACKAGES =+ "gettext-runtime gettext-runtime-dev gettext-runtime-doc"
84
85FILES_${PN} += "${libdir}/${BPN}/*"
86
87# The its/Makefile.am has defined:
88# itsdir = $(pkgdatadir)$(PACKAGE_SUFFIX)/its
89# not itsdir = $(pkgdatadir), so use wildcard to match the version.
90FILES_${PN} += "${datadir}/${BPN}-*/*"
91
92FILES_gettext-runtime = "${bindir}/gettext \
93 ${bindir}/ngettext \
94 ${bindir}/envsubst \
95 ${bindir}/gettext.sh \
96 ${libdir}/libasprintf.so* \
97 ${libdir}/GNU.Gettext.dll \
98 "
Patrick Williamsc0f7c042017-02-23 20:41:17 -060099FILES_gettext-runtime-dev += "${libdir}/libasprintf.a \
100 ${includedir}/autosprintf.h \
101 "
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600102FILES_gettext-runtime-doc = "${mandir}/man1/gettext.* \
103 ${mandir}/man1/ngettext.* \
104 ${mandir}/man1/envsubst.* \
105 ${mandir}/man1/.* \
106 ${mandir}/man3/* \
107 ${docdir}/gettext/gettext.* \
108 ${docdir}/gettext/ngettext.* \
109 ${docdir}/gettext/envsubst.* \
110 ${docdir}/gettext/*.3.html \
111 ${datadir}/gettext/ABOUT-NLS \
112 ${docdir}/gettext/csharpdoc/* \
113 ${docdir}/libasprintf/autosprintf.html \
114 ${infodir}/autosprintf.info \
115 "
116
117do_install_append() {
118 rm -f ${D}${libdir}/preloadable_libintl.so
119}
120
121do_install_append_class-native () {
122 rm ${D}${datadir}/aclocal/*
123 rm ${D}${datadir}/gettext/config.rpath
124 rm ${D}${datadir}/gettext/po/Makefile.in.in
125 rm ${D}${datadir}/gettext/po/remove-potcdate.sin
Brad Bishopd7bf8c12018-02-25 22:55:05 -0500126
127 create_wrapper ${D}${bindir}/msgfmt \
128 GETTEXTDATADIR="${STAGING_DATADIR_NATIVE}/gettext-0.19.8/"
129
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600130}
131
132BBCLASSEXTEND = "native nativesdk"