1################################################################################
2#
3# gettext-tiny
4#
5################################################################################
6
7GETTEXT_TINY_VERSION = 0.3.2
8GETTEXT_TINY_SITE = $(call github,sabotage-linux,gettext-tiny,v$(GETTEXT_TINY_VERSION))
9GETTEXT_TINY_LICENSE = MIT, GPL-3.0+ (extra gettext)
10GETTEXT_TINY_INSTALL_STAGING = YES
11GETTEXT_TINY_LICENSE_FILES = LICENSE
12HOST_GETTEXT_TINY_LICENSE_FILES = LICENSE extra/COPYING
13
14GETTEXT_TINY_PROVIDES = gettext
15
16# needed for gettextize
17# Please keep in sync with package/gettext-gnu/gettext-gnu.mk
18GETTEXT_TINY_ARCHIVE_VERSION = 0.22.4
19
20GETTEXT_TINY_EXTRA_GETTEXT_FILES = \
21	gettext-tools/misc/gettextize.in \
22	gettext-tools/po/Makevars.template \
23	gettext-runtime/po/boldquot.sed \
24	gettext-runtime/po/en@boldquot.header \
25	gettext-runtime/po/en@quot.header \
26	gettext-runtime/po/insert-header.sin \
27	gettext-runtime/po/quot.sed \
28	gettext-runtime/po/remove-potcdate.sin \
29	gettext-runtime/po/Rules-quot \
30	gettext-runtime/po/Makefile.in.in \
31	COPYING
32
33HOST_GETTEXT_TINY_EXTRA_DOWNLOADS = $(GETTEXT_GNU_SITE)/$(GETTEXT_GNU_SOURCE)
34
35define HOST_GETTEXT_TINY_EXTRACT_GNU_GETTEXT
36	mkdir -p $(@D)/gettext-gnu
37	$(call suitable-extractor,$(GETTEXT_GNU_SOURCE)) \
38		$(GETTEXT_TINY_DL_DIR)/$(GETTEXT_GNU_SOURCE) | \
39		$(TAR) --strip-components=1 -C $(@D)/gettext-gnu $(TAR_OPTIONS) -
40endef
41HOST_GETTEXT_TINY_POST_EXTRACT_HOOKS += HOST_GETTEXT_TINY_EXTRACT_GNU_GETTEXT
42
43define HOST_GETTEXT_TINY_COPY_EXTRA_FILES
44	$(foreach f,$(GETTEXT_TINY_EXTRA_GETTEXT_FILES),\
45		$(INSTALL) -D -m 0644 $(@D)/gettext-gnu/$(f) $(@D)/extra/$(notdir $(f))
46	)
47	$(INSTALL) -D -m 0755 $(@D)/gettext-gnu/build-aux/config.rpath \
48		$(@D)/build-aux/config.rpath
49endef
50HOST_GETTEXT_TINY_POST_PATCH_HOOKS += HOST_GETTEXT_TINY_COPY_EXTRA_FILES
51
52define HOST_GETTEXT_TINY_BUILD_CMDS
53	$(HOST_MAKE_ENV) $(MAKE) -C $(@D) \
54		$(HOST_CONFIGURE_OPTS) \
55		prefix=$(HOST_DIR) \
56		CFLAGS="$(HOST_CFLAGS) -fPIC" \
57		LIBINTL=NONE
58
59	cp $(@D)/extra/gettextize.in $(@D)/gettextize
60
61	$(SED) 's,@PACKAGE@,gettext-tools,g;' $(@D)/gettextize
62	$(SED) 's,@VERSION@,$(GETTEXT_GNU_VERSION),g;' $(@D)/gettextize
63	$(SED) 's,@ARCHIVE_VERSION@,$(GETTEXT_TINY_ARCHIVE_VERSION),' $(@D)/gettextize
64	$(SED) 's,@prefix@,$(HOST_DIR),g;' $(@D)/gettextize
65	$(SED) 's,@datarootdir@,$${prefix}/share,g;' $(@D)/gettextize
66	$(SED) 's,@datadir@,$${prefix}/share,g;' $(@D)/gettextize
67	$(SED) 's,@PATH_SEPARATOR@,:,g;' $(@D)/gettextize
68	$(SED) 's,@RELOCATABLE@,no,g;' $(@D)/gettextize
69	$(SED) 's,@exec_prefix@,$${prefix},g;' $(@D)/gettextize
70	$(SED) 's,@bindir@,$${exec_prefix}/bin,g;' $(@D)/gettextize
71endef
72
73define HOST_GETTEXT_TINY_INSTALL_CMDS
74	$(Q)mkdir -p $(HOST_DIR)/share/gettext-tiny/po
75	$(Q)mkdir -p $(HOST_DIR)/share/gettext-tiny/m4
76
77	$(HOST_MAKE_ENV) $(MAKE) -C $(@D) \
78		$(HOST_CONFIGURE_OPTS) \
79		prefix=$(HOST_DIR) \
80		LIBINTL=NONE install
81
82	$(SED) '/read dummy/d' $(@D)/gettextize
83
84	$(INSTALL) -m 0755 -D $(@D)/gettextize $(HOST_DIR)/bin/gettextize
85	$(INSTALL) -m 0644 -D $(@D)/build-aux/config.rpath $(HOST_DIR)/share/gettext-tiny/config.rpath
86	$(INSTALL) -m 0644 -D $(@D)/extra/Makefile.in.in $(HOST_DIR)/share/gettext-tiny/po/Makefile.in.in
87	$(INSTALL) -m 0644 -D $(@D)/extra/boldquot.sed $(HOST_DIR)/share/gettext-tiny/po/boldquot.sed
88	$(INSTALL) -m 0644 -D $(@D)/extra/en@boldquot.header $(HOST_DIR)/share/gettext-tiny/po/en@boldquot.header
89	$(INSTALL) -m 0644 -D $(@D)/extra/en@quot.header $(HOST_DIR)/share/gettext-tiny/po/en@quot.header
90	$(INSTALL) -m 0644 -D $(@D)/extra/insert-header.sin $(HOST_DIR)/share/gettext-tiny/po/insert-header.sin
91	$(INSTALL) -m 0644 -D $(@D)/extra/quot.sed $(HOST_DIR)/share/gettext-tiny/po/quot.sed
92	$(INSTALL) -m 0644 -D $(@D)/extra/remove-potcdate.sin $(HOST_DIR)/share/gettext-tiny/po/remove-potcdate.sin
93	$(INSTALL) -m 0644 -D $(@D)/extra/Rules-quot $(HOST_DIR)/share/gettext-tiny/po/Rules-quot
94	$(INSTALL) -m 0644 -D $(@D)/extra/Makevars.template $(HOST_DIR)/share/gettext-tiny/po/Makevars.template
95
96	$(Q)touch $(HOST_DIR)/share/gettext-tiny/ABOUT-NLS
97
98	# for gettextize
99	ln -sf $(HOST_DIR)/share/gettext-tiny $(HOST_DIR)/share/gettext
100endef
101
102# Install simple echo wrapper for gettext tool
103define GETTEXT_TINY_INSTALL_TARGET_CMDS
104	$(INSTALL) -m 0755 -D $(GETTEXT_TINY_PKGDIR)/gettext-wrapper $(TARGET_DIR)/usr/bin/gettext
105endef
106
107$(eval $(generic-package))
108$(eval $(host-generic-package))
109