diff --git a/meta-oe/recipes-printing/gutenprint/gutenprint-native_git.bb b/meta-oe/recipes-printing/gutenprint/gutenprint-native_git.bb new file mode 100644 index 0000000000..c6e00c340a --- /dev/null +++ b/meta-oe/recipes-printing/gutenprint/gutenprint-native_git.bb @@ -0,0 +1,42 @@ +# Recipe for building gutenprint-native +# +# Native part is for generating strings - xmli18n-tmp.h used by target recipe +# We don't depend on cups as this is for generating the string header. +# +# Copyright (c) Ambu A/S - All rights reserved +# SPDX-License-Identifier: MIT +# +# Author(s) +# clst@ambu.com (Claus Stovgaard) +# + +require gutenprint.inc + +# We could consider switching to BBCLASSEXTEND native instead of inherit +# Using devtool with this results in warning, as devtool append externalsrc to +# inheritance, making native not being inherited last. +inherit autotools-brokensep pkgconfig native + +SECTION = "libs" + +# binutils is for xz etc. +# gettext-native for configuration +# flex-native is used for compilation +# byacc-native is for yacc command (compilation) +DEPENDS += "binutils-native gettext-native flex-native byacc-native" + +EXTRA_OECONF = "--without-doc --without-cups" + +# 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 +do_configure() { + ${S}/autogen.sh || bbnote "${PN} failed to autogen.sh" + oe_runconf +} + +# Currently we only uses the string header, even though we compile the complete +# native version of the library. So we limit the install to the needed. +do_install() { + install -d ${D}${datadir}/gutenprint/ + install -m644 ${B}/src/xml/xmli18n-tmp.h ${D}${datadir}/gutenprint/ +} \ No newline at end of file diff --git a/meta-oe/recipes-printing/gutenprint/gutenprint.inc b/meta-oe/recipes-printing/gutenprint/gutenprint.inc new file mode 100644 index 0000000000..0a162d2b59 --- /dev/null +++ b/meta-oe/recipes-printing/gutenprint/gutenprint.inc @@ -0,0 +1,22 @@ +# common part for gutenprint-native / gutenprint +# +# As we are using the native part for generating string header to the target +# version, it is important they use the same version. +# So we set the SRC_URI and SRCREV here. +# +# Copyright (c) Ambu A/S - All rights reserved +# SPDX-License-Identifier: MIT +# +# Author(s) +# clst@ambu.com (Claus Stovgaard) +# + +DESCRIPTION = "Gutenprint printer drivers" +HOMEPAGE = "http://gimp-print.sourceforge.net/" +LICENSE = "GPLv2+" + +SRC_URI = "git://git.code.sf.net/p/gimp-print/source;protocol=https;branch=master" +SRCREV = "8e47dc44dd7738302ba9e8fbc1f918461fed0236" +S = "${WORKDIR}/git" + +LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" \ No newline at end of file diff --git a/meta-oe/recipes-printing/gutenprint/gutenprint_git.bb b/meta-oe/recipes-printing/gutenprint/gutenprint_git.bb new file mode 100644 index 0000000000..7779793948 --- /dev/null +++ b/meta-oe/recipes-printing/gutenprint/gutenprint_git.bb @@ -0,0 +1,46 @@ +# Recipe for building gutenprint +# +# Uses the gutenprint-native extracted strings and disable local build stuff +# +# Copyright (c) Ambu A/S - All rights reserved +# SPDX-License-Identifier: MIT +# +# Author(s) +# clst@ambu.com (Claus Stovgaard) +# + +require gutenprint.inc + +inherit autotools-brokensep pkgconfig + +DEPENDS += "cups gutenprint-native" + +# 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 " + +EXTRA_OECONF = "--without-doc --disable-test --disable-nls PERL=/usr/bin/perl" + +# 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() { + # 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/ + + ${S}/autogen.sh || bbnote "${PN} failed to autogen.sh" + oe_runconf +} + +# gutenprint install the calibrate.ppm and net.sf.gimp-print.usb-quirks in +# /usr/share/cups +FILES:${PN} += "${datadir}/cups/*" + +# 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