blob: 68f5cc329a5ca34a781ed84a93e4cd05c92f705e [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 Bishop316dfdd2018-06-25 12:45:53 -040011DEPENDS = "gettext-native virtual/libiconv"
Patrick Williamsc0f7c042017-02-23 20:41:17 -060012DEPENDS_class-native = "gettext-minimal-native"
13PROVIDES = "virtual/libintl virtual/gettext"
14PROVIDES_class-native = "virtual/gettext-native"
15RCONFLICTS_${PN} = "proxy-libintl"
16SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
17 file://parallel.patch \
18 file://add-with-bisonlocaledir.patch \
Brad Bishop6e60e8b2018-02-01 10:27:11 -050019 file://cr-statement.c-timsort.h-fix-formatting-issues.patch \
Brad Bishop316dfdd2018-06-25 12:45:53 -040020 file://use-pkgconfig.patch \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060021"
22
23SRC_URI[md5sum] = "97e034cf8ce5ba73a28ff6c3c0638092"
24SRC_URI[sha256sum] = "ff942af0e438ced4a8b0ea4b0b6e0d6d657157c5e2364de57baa279c1c125c43"
25
Brad Bishop316dfdd2018-06-25 12:45:53 -040026inherit autotools texinfo pkgconfig
Patrick Williamsc0f7c042017-02-23 20:41:17 -060027
28EXTRA_OECONF += "--without-lispdir \
29 --disable-csharp \
30 --disable-libasprintf \
31 --disable-java \
32 --disable-native-java \
33 --disable-openmp \
34 --disable-acl \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060035 --without-emacs \
36 --without-cvs \
37 --without-git \
Patrick Williamsc0f7c042017-02-23 20:41:17 -060038 "
39EXTRA_OECONF_append_class-target = " \
40 --with-bisonlocaledir=${datadir}/locale \
41"
42
Brad Bishop316dfdd2018-06-25 12:45:53 -040043PACKAGECONFIG ??= "croco glib libxml"
44PACKAGECONFIG_class-native = ""
45PACKAGECONFIG_class-nativesdk = ""
46
47PACKAGECONFIG[croco] = "--without-included-libcroco,--with-included-libcroco,libcroco"
48PACKAGECONFIG[glib] = "--without-included-glib,--with-included-glib,glib-2.0"
49PACKAGECONFIG[libxml] = "--without-included-libxml,--with-included-libxml,libxml2"
50# Need paths here to avoid host contamination but this can cause RPATH warnings
51# or problems if $libdir isn't $prefix/lib.
52PACKAGECONFIG[libunistring] = "--with-libunistring-prefix=${STAGING_LIBDIR}/..,--with-included-libunistring,libunistring"
53PACKAGECONFIG[msgcat-curses] = "--with-libncurses-prefix=${STAGING_LIBDIR}/..,--disable-curses,ncurses,"
54
Patrick Williamsc0f7c042017-02-23 20:41:17 -060055acpaths = '-I ${S}/gettext-runtime/m4 \
56 -I ${S}/gettext-tools/m4'
57
58do_install_append_libc-musl () {
59 rm -f ${D}${libdir}/charset.alias
60 rm -f ${D}${includedir}/libintl.h
61 rm -f ${D}${libdir}/libintl.la
62}
63
64# these lack the .x behind the .so, but shouldn't be in the -dev package
65# Otherwise you get the following results:
66# 7.4M glibc/images/ep93xx/Angstrom-console-image-glibc-ipk-2008.1-test-20080104-ep93xx.rootfs.tar.gz
67# 25M uclibc/images/ep93xx/Angstrom-console-image-uclibc-ipk-2008.1-test-20080104-ep93xx.rootfs.tar.gz
68# because gettext depends on gettext-dev, which pulls in more -dev packages:
69# 15228 KiB /ep93xx/libstdc++-dev_4.2.2-r2_ep93xx.ipk
70# 1300 KiB /ep93xx/uclibc-dev_0.9.29-r8_ep93xx.ipk
71# 140 KiB /armv4t/gettext-dev_0.14.1-r6_armv4t.ipk
72# 4 KiB /ep93xx/libgcc-s-dev_4.2.2-r2_ep93xx.ipk
73
74PACKAGES =+ "libgettextlib libgettextsrc"
75FILES_libgettextlib = "${libdir}/libgettextlib-*.so*"
76FILES_libgettextsrc = "${libdir}/libgettextsrc-*.so*"
77
78PACKAGES =+ "gettext-runtime gettext-runtime-dev gettext-runtime-doc"
79
80FILES_${PN} += "${libdir}/${BPN}/*"
81
82# The its/Makefile.am has defined:
83# itsdir = $(pkgdatadir)$(PACKAGE_SUFFIX)/its
84# not itsdir = $(pkgdatadir), so use wildcard to match the version.
85FILES_${PN} += "${datadir}/${BPN}-*/*"
86
87FILES_gettext-runtime = "${bindir}/gettext \
88 ${bindir}/ngettext \
89 ${bindir}/envsubst \
90 ${bindir}/gettext.sh \
91 ${libdir}/libasprintf.so* \
92 ${libdir}/GNU.Gettext.dll \
93 "
Patrick Williamsc0f7c042017-02-23 20:41:17 -060094FILES_gettext-runtime-dev += "${libdir}/libasprintf.a \
95 ${includedir}/autosprintf.h \
96 "
Patrick Williamsc0f7c042017-02-23 20:41:17 -060097FILES_gettext-runtime-doc = "${mandir}/man1/gettext.* \
98 ${mandir}/man1/ngettext.* \
99 ${mandir}/man1/envsubst.* \
100 ${mandir}/man1/.* \
101 ${mandir}/man3/* \
102 ${docdir}/gettext/gettext.* \
103 ${docdir}/gettext/ngettext.* \
104 ${docdir}/gettext/envsubst.* \
105 ${docdir}/gettext/*.3.html \
106 ${datadir}/gettext/ABOUT-NLS \
107 ${docdir}/gettext/csharpdoc/* \
108 ${docdir}/libasprintf/autosprintf.html \
109 ${infodir}/autosprintf.info \
110 "
111
112do_install_append() {
113 rm -f ${D}${libdir}/preloadable_libintl.so
114}
115
116do_install_append_class-native () {
117 rm ${D}${datadir}/aclocal/*
118 rm ${D}${datadir}/gettext/config.rpath
119 rm ${D}${datadir}/gettext/po/Makefile.in.in
120 rm ${D}${datadir}/gettext/po/remove-potcdate.sin
Brad Bishopd7bf8c12018-02-25 22:55:05 -0500121
122 create_wrapper ${D}${bindir}/msgfmt \
123 GETTEXTDATADIR="${STAGING_DATADIR_NATIVE}/gettext-0.19.8/"
124
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600125}
126
127BBCLASSEXTEND = "native nativesdk"