summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/recipes-printing/gutenprint/gutenprint_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-printing/gutenprint/gutenprint_git.bb')
-rw-r--r--meta-openembedded/meta-oe/recipes-printing/gutenprint/gutenprint_git.bb66
1 files changed, 47 insertions, 19 deletions
diff --git a/meta-openembedded/meta-oe/recipes-printing/gutenprint/gutenprint_git.bb b/meta-openembedded/meta-oe/recipes-printing/gutenprint/gutenprint_git.bb
index 7779793948..f0dc6adea0 100644
--- a/meta-openembedded/meta-oe/recipes-printing/gutenprint/gutenprint_git.bb
+++ b/meta-openembedded/meta-oe/recipes-printing/gutenprint/gutenprint_git.bb
@@ -9,38 +9,66 @@
# clst@ambu.com (Claus Stovgaard)
#
-require gutenprint.inc
+DESCRIPTION = "Gutenprint printer drivers"
+HOMEPAGE = "http://gimp-print.sourceforge.net/"
+LICENSE = "GPL-2.0-or-later"
-inherit autotools-brokensep pkgconfig
+SRC_URI = "git://git.code.sf.net/p/gimp-print/source;protocol=https;branch=master"
+SRCREV = "66b0a7bc3fd25659a3f295db0ebb39d04e413c01"
+PV = "5.3.3+git${SRCPV}"
-DEPENDS += "cups gutenprint-native"
+S = "${WORKDIR}/git"
-# cups-genppdupdate depend on perl
-# We also set the path to PERL as else the version in hosttools would be used
-# with full path
-RDEPENDS:${PN} = "perl "
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-EXTRA_OECONF = "--without-doc --disable-test --disable-nls PERL=/usr/bin/perl"
+inherit autotools gettext pkgconfig
-# gutenprint does not have a configure file in its root folder.
-# Rather it has a autogen.sh in its root folder. We just use it
-# together with adapting for cross compilation
-do_configure() {
+DEPENDS += "glib-2.0-native cups gutenprint-native"
+# autogen.sh needs autopoint
+DEPENDS:class-native = "glib-2.0-native gettext-native"
+
+EXTRA_OECONF = "--without-doc --disable-test PERL=/usr/bin/perl"
+EXTRA_OECONF:append:class-native = " --without-cups"
+
+do_configure:prepend:class-target() {
# Disable the xmli18n-tmp.h rule
# It depend on the local build extract-strings, we are not able to run this
# So we are using the xmli18n-tmp.h created by gutenprint-native
sed -i 's/all-local: xmli18n-tmp.h xml-stamp/all-local: xml-stamp/' ${S}/src/xml/Makefile.am
sed -i 's/dist-hook: xmli18n-tmp.h xml-stamp/dist-hook: xml-stamp/' ${S}/src/xml/Makefile.am
- cp ${RECIPE_SYSROOT_NATIVE}${datadir}/gutenprint/xmli18n-tmp.h ${S}/src/xml/
+ # Despite being a generated file, this needs to be in S.
+ cp ${STAGING_DATADIR_NATIVE}/gutenprint/xmli18n-tmp.h ${S}/src/xml/
+}
- ${S}/autogen.sh || bbnote "${PN} failed to autogen.sh"
+do_configure() {
+ # Need to call autogen.sh as that creates m4/stp_release.m4
+ cd ${S}
+ NOCONFIGURE=1 ./autogen.sh
+ cd ${B}
oe_runconf
}
-# gutenprint install the calibrate.ppm and net.sf.gimp-print.usb-quirks in
-# /usr/share/cups
+do_install:append() {
+ # This file contains build paths and isn't very useful, remove it
+ rm -f ${D}${libdir}/gutenprint/*/config.summary
+ # Match ownership to cups
+ chgrp lp ${D}${sysconfdir}/cups
+}
+
+do_compile:class-native() {
+ oe_runmake -C ${B}/src/xml
+}
+
+do_install:class-native() {
+ install -d ${D}${datadir}/gutenprint/
+ install -m644 ${B}/src/xml/xmli18n-tmp.h ${D}${datadir}/gutenprint/
+}
+
FILES:${PN} += "${datadir}/cups/*"
+RDEPENDS:${PN} = "perl"
+
+BBCLASSEXTEND = "native"
-# Install in /etc/cups when RPM needs DIRFILES to not conflict
-# https://stackoverflow.com/questions/44762430/why-do-i-get-etc-cups-conflicts-between-attempted-installs-in-yocto
-DIRFILES = "1" \ No newline at end of file
+# Pull in base-passwd for the lp user
+DEPENDS:append:class-target = " base-passwd"
+PACKAGE_WRITE_DEPS += "base-passwd"