new file mode 100644
@@ -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
new file mode 100644
@@ -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
new file mode 100644
@@ -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