package: add gutenprint
Gutenprint, formerly named Gimp-Print, is a suite of printer drivers that may be used with most common UNIX print spooling systems, including CUPS, lpr, LPRng, or others [Peter: needs host-pkgconf] Signed-off-by: Olivier Schonken <olivier.schonken@gmail.com> [yann.morin.1998@free.fr: needs libiconv, cleanup] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
2320f6a309
commit
e5407614ef
@ -646,6 +646,7 @@ source "package/ctorrent/Config.in"
|
||||
source "package/conntrack-tools/Config.in"
|
||||
source "package/cups/Config.in"
|
||||
source "package/foomatic-filters/Config.in"
|
||||
source "package/gutenprint/Config.in"
|
||||
source "package/hplip/Config.in"
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/dhcp/Config.in"
|
||||
|
14
package/gutenprint/Config.in
Normal file
14
package/gutenprint/Config.in
Normal file
@ -0,0 +1,14 @@
|
||||
config BR2_PACKAGE_GUTENPRINT
|
||||
bool "gutenprint"
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_PACKAGE_CUPS
|
||||
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
|
||||
help
|
||||
Gutenprint, formerly named Gimp-Print, is a suite of printer
|
||||
drivers that may be used with most common UNIX print spooling
|
||||
systems, including CUPS, lpr, LPRng, or others
|
||||
|
||||
http://gimp-print.sourceforge.net/
|
||||
|
||||
comment "gutenprint requires a toolchain with C++ support enabled"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP
|
@ -0,0 +1,48 @@
|
||||
src/xml: use preg-gen xmli18n_tmp.h if specified
|
||||
|
||||
Ideally, the programs needed at build-time should be built with
|
||||
CC_FOR_BUILD, and not with CC_FOR_HOST.
|
||||
|
||||
Unfortunately, this program wants to link against the gutenprint libs,
|
||||
so we would also need to build them with CC_FOR_HOST, that is build them
|
||||
twice, once for build, once for host.
|
||||
|
||||
Instead, in the Buildroot context, we first build gutenprint for the build
|
||||
system, use that to generate the incriminated header, and then re-use that
|
||||
header to build the gutenprint for the host.
|
||||
|
||||
It is not possible to have such constructs in Makefile.am:
|
||||
ifeq ($(FOO),)
|
||||
bar: bla
|
||||
cat $< >$@
|
||||
else
|
||||
bar:
|
||||
echo $(FOO) >$@
|
||||
endif
|
||||
|
||||
as autoreconf will yell loudly that there is an 'endif' without an 'if'.
|
||||
Sigh... :-(
|
||||
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
|
||||
diff -durN gutenprint-5.2.9.orig/src/xml/Makefile.am gutenprint-5.2.9/src/xml/Makefile.am
|
||||
--- gutenprint-5.2.9.orig/src/xml/Makefile.am 2011-03-30 02:43:24.000000000 +0200
|
||||
+++ gutenprint-5.2.9/src/xml/Makefile.am 2013-03-24 17:08:08.435918773 +0100
|
||||
@@ -52,10 +52,13 @@
|
||||
|
||||
|
||||
xmli18n-tmp.h: xml-stamp extract-strings
|
||||
- -rm -f $@ $@.tmp
|
||||
- ./extract-strings `cat xml-stamp | sed -e 's;^;$(srcdir)/;'` > $@.tmp
|
||||
- mv $@.tmp $@
|
||||
-
|
||||
+ if [ -z "$(BR2_USE_PREGEN_XMLI18N_TMP_H)" ]; then \
|
||||
+ rm -f $@ $@.tmp; \
|
||||
+ ./extract-strings `cat xml-stamp | sed -e 's;^;$(srcdir)/;'` > $@.tmp; \
|
||||
+ mv $@.tmp $@; \
|
||||
+ else \
|
||||
+ cp $(BR2_USE_PREGEN_XMLI18N_TMP_H) $@; \
|
||||
+ fi
|
||||
|
||||
dist-hook: xmli18n-tmp.h xml-stamp
|
||||
# xmli18n-tmp.h is needed by po/POTFILES.in at dist time
|
74
package/gutenprint/gutenprint.mk
Normal file
74
package/gutenprint/gutenprint.mk
Normal file
@ -0,0 +1,74 @@
|
||||
#############################################################
|
||||
#
|
||||
# gutenprint
|
||||
#
|
||||
#############################################################
|
||||
|
||||
GUTENPRINT_VERSION = 5.2.9
|
||||
GUTENPRINT_SITE = http://downloads.sourceforge.net/gimp-print/gutenprint-5.2/$(GUTENPRINT_VERSION)
|
||||
GUTENPRINT_SOURCE = gutenprint-$(GUTENPRINT_VERSION).tar.bz2
|
||||
GUTENPRINT_LICENSE = GPLv2+
|
||||
GUTENPRINT_LICENSE_FILES = COPYING
|
||||
|
||||
# Needed, as we touch Makefile.am
|
||||
GUTENPRINT_AUTORECONF = YES
|
||||
|
||||
GUTENPRINT_DEPENDENCIES = cups host-pkgconf \
|
||||
$(if $(BR2_PACKAGE_LIBICONV),libiconv)
|
||||
|
||||
# host-gutenprint is needed to generate XML as part of compilation
|
||||
# the program that generates the xml also links against libgutenprint
|
||||
# so we need to build both a host package and a target package
|
||||
GUTENPRINT_DEPENDENCIES += host-gutenprint
|
||||
|
||||
GUTENPRINT_CONF_OPT = --disable-libgutenprintui2 \
|
||||
--disable-samples \
|
||||
--without-gimp2 \
|
||||
--without-foomatic \
|
||||
--without-foomatic3 \
|
||||
--disable-escputil \
|
||||
--disable-test \
|
||||
--disable-testpattern \
|
||||
--with-cups="/usr" \
|
||||
--with-sysroot="$(STAGING_DIR)" \
|
||||
--disable-cups-ppds
|
||||
|
||||
# USE_PREGEN_XMLI18N_TMP_H is added by our patch
|
||||
GUTENPRINT_MAKE_ENV = BR2_USE_PREGEN_XMLI18N_TMP_H=$(HOST_DIR)/usr/include/xmli18n-tmp.h
|
||||
|
||||
# We have no host dependencies
|
||||
HOST_GUTENPRINT_DEPENDENCIES =
|
||||
# The host-gutenprint shall create the required header
|
||||
HOST_GUTENPRINT_MAKE_ENV =
|
||||
|
||||
HOST_GUTENPRINT_CONF_OPT = --disable-libgutenprintui2 \
|
||||
--disable-samples \
|
||||
--without-gimp2 \
|
||||
--without-doc \
|
||||
--disable-nls \
|
||||
--disable-nls-macos \
|
||||
--without-foomatic \
|
||||
--without-foomatic3 \
|
||||
--disable-escputil \
|
||||
--disable-test \
|
||||
--disable-testpattern
|
||||
|
||||
# Needed by autoreconf
|
||||
define GUTENPRINT_CREATE_M4_DIR
|
||||
mkdir -p $(@D)/m4local
|
||||
endef
|
||||
GUTENPRINT_POST_PATCH_HOOKS += GUTENPRINT_CREATE_M4_DIR
|
||||
|
||||
define HOST_GUTENPRINT_POST_BUILD_INSTAL_TMP_HEADER
|
||||
cp $(@D)/src/xml/xmli18n-tmp.h $(HOST_DIR)/usr/include
|
||||
endef
|
||||
HOST_GUTENPRINT_POST_BUILD_HOOKS += HOST_GUTENPRINT_POST_BUILD_INSTAL_TMP_HEADER
|
||||
|
||||
define GUTENPRINT_POST_INSTALL_TARGET_FIXUP
|
||||
mkdir -p $(TARGET_DIR)/usr/share/gutenprint/5.2
|
||||
cp -rf $(HOST_DIR)/usr/share/gutenprint/5.2/xml $(TARGET_DIR)/usr/share/gutenprint/5.2
|
||||
endef
|
||||
GUTENPRINT_POST_INSTALL_TARGET_HOOKS += GUTENPRINT_POST_INSTALL_TARGET_FIXUP
|
||||
|
||||
$(eval $(autotools-package))
|
||||
$(eval $(host-autotools-package))
|
Loading…
Reference in New Issue
Block a user