From 010a550616e8831969b519eaa1dbdf54edd6124f Mon Sep 17 00:00:00 2001 From: Wolfgang Meyer Date: Thu, 8 Sep 2022 11:51:36 +0200 Subject: [PATCH 1/4] fbida: Switch to git fetcher fbida has not seen any versioned releases for five years even though development has not stalled. Update to latest commit that builds with the legacy gnumake style build system ([2019-01-24] ac9005bf0). Support for lirc, curl, sane, and cairo-gl has been dropped, the corresponding packageconfigs and dependencies were removed from the recipe. Dependencies to libinput and udev have been added. Signed-off-by: Wolfgang Meyer Signed-off-by: Roland Hieber --- .../fbida/{fbida_2.14.bb => fbida_git.bb} | 31 ++++++------------- .../fbida/files/cairo-weak-detect.patch | 17 ---------- 2 files changed, 10 insertions(+), 38 deletions(-) rename meta-oe/recipes-graphics/fbida/{fbida_2.14.bb => fbida_git.bb} (68%) delete mode 100644 meta-oe/recipes-graphics/fbida/files/cairo-weak-detect.patch diff --git a/meta-oe/recipes-graphics/fbida/fbida_2.14.bb b/meta-oe/recipes-graphics/fbida/fbida_git.bb similarity index 68% rename from meta-oe/recipes-graphics/fbida/fbida_2.14.bb rename to meta-oe/recipes-graphics/fbida/fbida_git.bb index 3d65399cd22..b2e2a4bdcf2 100644 --- a/meta-oe/recipes-graphics/fbida/fbida_2.14.bb +++ b/meta-oe/recipes-graphics/fbida/fbida_git.bb @@ -1,23 +1,24 @@ SUMMARY = "Framebuffer image and doc viewer tools" DESCRIPTION = "The fbida project contains a few applications for viewing and editing images, \ with the main focus being photos." -HOMEPAGE = "http://linux.bytesex.org/fbida/" +HOMEPAGE = "https://www.kraxel.org/blog/linux/fbida/" AUTHOR = "Gerd Hoffmann" SECTION = "utils" LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=e8feb78a32950a909621bbb51f634b39" -DEPENDS = "virtual/libiconv jpeg fontconfig freetype libexif libdrm pixman poppler libepoxy cairo" +DEPENDS = "virtual/libiconv jpeg fontconfig freetype libexif libdrm pixman udev libinput poppler libepoxy cairo" -SRC_URI = "https://www.kraxel.org/releases/fbida/fbida-${PV}.tar.gz \ - file://0001-Avoid-using-host-path.patch \ - file://fix-preprocessor.patch \ +PV = "2.14+git${SRCPV}" +SRC_URI = "git://github.com/kraxel/fbida;protocol=https;branch=master \ + file://0001-Avoid-using-host-path.patch \ + file://fix-preprocessor.patch \ file://support-jpeg-turbo.patch \ - file://cairo-weak-detect.patch \ file://fbida-gcc10.patch \ - " -SRC_URI[sha256sum] = "95b7c01556cb6ef9819f358b314ddfeb8a4cbe862b521a3ed62f03d163154438" +" +SRCREV = "ac9005bf0bbf50f14dc1b368be5084c8e0510a5d" +S = "${WORKDIR}/git" inherit pkgconfig features_check @@ -26,18 +27,12 @@ REQUIRED_DISTRO_FEATURES = "opengl" EXTRA_OEMAKE = "STRIP= 'srcdir=${S}' -f ${S}/GNUmakefile" -PACKAGECONFIG ??= "gif png curl" -PACKAGECONFIG[curl] = ",,curl" +PACKAGECONFIG ??= "gif png" PACKAGECONFIG[gif] = ",,giflib" PACKAGECONFIG[png] = ",,libpng" PACKAGECONFIG[tiff] = ",,tiff" PACKAGECONFIG[motif] = ",,libx11 libxext libxpm libxt openmotif" PACKAGECONFIG[webp] = ",,libwebp" -PACKAGECONFIG[lirc] = ",,lirc" -# This can only be enabled when cairo has egl enabled in its packageconfig support too -PACKAGECONFIG[egl] = ",," - -EXTRA_OEMAKE += ""${@bb.utils.contains('PACKAGECONFIG', 'egl', 'HAVE_CAIRO_GL=yes', 'HAVE_CAIRO_GL=no', d)}"" CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" @@ -48,9 +43,6 @@ do_compile() { # Be sure to respect preferences (force to "no") # Also avoid issues when ${BUILD_ARCH} == ${HOST_ARCH} - if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'curl', d)}" ]; then - sed -i -e '/^HAVE_LIBCURL/s/:=.*$/:= no/' ${S}/GNUmakefile - fi if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'gif', d)}" ]; then sed -i -e '/^HAVE_LIBGIF/s/:=.*$/:= no/' ${S}/GNUmakefile fi @@ -66,9 +58,6 @@ do_compile() { if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'webp', d)}" ]; then sed -i -e '/^HAVE_LIBWEBP/s/:=.*$/:= no/' ${S}/GNUmakefile fi - if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'lirc', d)}" ]; then - sed -i -e '/^HAVE_LIBLIRC/s/:=.*$/:= no/' ${S}/GNUmakefile - fi oe_runmake } diff --git a/meta-oe/recipes-graphics/fbida/files/cairo-weak-detect.patch b/meta-oe/recipes-graphics/fbida/files/cairo-weak-detect.patch deleted file mode 100644 index c7c579cc41a..00000000000 --- a/meta-oe/recipes-graphics/fbida/files/cairo-weak-detect.patch +++ /dev/null @@ -1,17 +0,0 @@ -OE configures cairo to disable EGL support, however fbida expects cairo with egl support -this patch therefore makes it possible to set HAVE_CAIRO_GL via recipe - -Upstream-Status: Inappropriate [OE-Specific] -Signed-off-by: Khem Raj - ---- a/GNUmakefile -+++ b/GNUmakefile -@@ -67,7 +67,7 @@ define make-config - LIB := $(LIB) - RESDIR := $(call ac_resdir) - HAVE_LINUX_FB_H := $(call ac_header,linux/fb.h) --HAVE_CAIRO_GL := $(call ac_pkg_config,cairo-gl) -+HAVE_CAIRO_GL ?= $(call ac_pkg_config,cairo-gl) - HAVE_LIBPCD := $(call ac_lib,pcd_open,pcd) - HAVE_LIBGIF := $(call ac_lib,DGifOpenFileName,gif) - HAVE_LIBWEBP := $(call ac_pkg_config,libwebp) From 2d6f0e9d41ff4d678461811900e92224e768cf5a Mon Sep 17 00:00:00 2001 From: Wolfgang Meyer Date: Fri, 16 Sep 2022 15:44:12 +0200 Subject: [PATCH 2/4] fbida: build with meson Add meason features options for the PACKAGECONFIG choices. Remove patches that target the Autotools/gnumake style build. Signed-off-by: Wolfgang Meyer Signed-off-by: Roland Hieber --- meta-oe/recipes-graphics/fbida/fbida_git.bb | 47 ++----- .../files/0001-Avoid-using-host-path.patch | 34 ----- ...eson.build-install-fbgs-shell-script.patch | 26 ++++ ...features-options-for-png-gif-tiff-we.patch | 123 ++++++++++++++++++ .../fbida/files/use-jpeg-turbo.patch | 13 -- 5 files changed, 157 insertions(+), 86 deletions(-) delete mode 100644 meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch create mode 100644 meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch create mode 100644 meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch delete mode 100644 meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch diff --git a/meta-oe/recipes-graphics/fbida/fbida_git.bb b/meta-oe/recipes-graphics/fbida/fbida_git.bb index b2e2a4bdcf2..f686779f9fd 100644 --- a/meta-oe/recipes-graphics/fbida/fbida_git.bb +++ b/meta-oe/recipes-graphics/fbida/fbida_git.bb @@ -12,58 +12,27 @@ DEPENDS = "virtual/libiconv jpeg fontconfig freetype libexif libdrm pixman udev PV = "2.14+git${SRCPV}" SRC_URI = "git://github.com/kraxel/fbida;protocol=https;branch=master \ - file://0001-Avoid-using-host-path.patch \ file://fix-preprocessor.patch \ file://support-jpeg-turbo.patch \ file://fbida-gcc10.patch \ + file://0001-meson.build-install-fbgs-shell-script.patch \ + file://0002-meson.build-add-features-options-for-png-gif-tiff-we.patch \ " SRCREV = "ac9005bf0bbf50f14dc1b368be5084c8e0510a5d" S = "${WORKDIR}/git" -inherit pkgconfig features_check +inherit meson pkgconfig features_check # Depends on libepoxy REQUIRED_DISTRO_FEATURES = "opengl" -EXTRA_OEMAKE = "STRIP= 'srcdir=${S}' -f ${S}/GNUmakefile" - PACKAGECONFIG ??= "gif png" -PACKAGECONFIG[gif] = ",,giflib" -PACKAGECONFIG[png] = ",,libpng" -PACKAGECONFIG[tiff] = ",,tiff" -PACKAGECONFIG[motif] = ",,libx11 libxext libxpm libxt openmotif" -PACKAGECONFIG[webp] = ",,libwebp" +PACKAGECONFIG[gif] = "-Dgif=enabled,-Dgif=disabled,giflib" +PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng" +PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff" +PACKAGECONFIG[motif] = "-Dmotif=enabled,-Dmotif=disabled,libx11 libxext libxpm libxt openmotif" +PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp" CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" -do_compile() { - sed -i -e 's# fbgs# \$(srcdir)/fbgs#; s#-Ijpeg#-I\$(srcdir)/jpeg#; s# jpeg/# \$(srcdir)/jpeg/#' ${S}/GNUmakefile - sed -i -e 's:/sbin/ldconfig:echo x:' ${S}/mk/Autoconf.mk - sed -i -e 's: cpp: ${CPP}:' ${S}/GNUmakefile - - # Be sure to respect preferences (force to "no") - # Also avoid issues when ${BUILD_ARCH} == ${HOST_ARCH} - if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'gif', d)}" ]; then - sed -i -e '/^HAVE_LIBGIF/s/:=.*$/:= no/' ${S}/GNUmakefile - fi - if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'png', d)}" ]; then - sed -i -e '/^HAVE_LIBPNG/s/:=.*$/:= no/' ${S}/GNUmakefile - fi - if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'tiff', d)}" ]; then - sed -i -e '/^HAVE_LIBTIFF/s/:=.*$/:= no/' ${S}/GNUmakefile - fi - if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'motif', d)}" ]; then - sed -i -e '/^HAVE_MOTIF/s/:=.*$/:= no/' ${S}/GNUmakefile - fi - if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'webp', d)}" ]; then - sed -i -e '/^HAVE_LIBWEBP/s/:=.*$/:= no/' ${S}/GNUmakefile - fi - - oe_runmake -} - -do_install() { - oe_runmake 'DESTDIR=${D}' install -} - RDEPENDS:${PN} = "ttf-dejavu-sans-mono" diff --git a/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch b/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch deleted file mode 100644 index cdf2c25d370..00000000000 --- a/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 8d8fa9f22d9f6a95523bac63ac3af724faf5ff92 Mon Sep 17 00:00:00 2001 -From: Marek Vasut -Date: Fri, 7 Apr 2017 23:26:09 +0200 -Subject: [PATCH] Avoid using host-path - -Remove the explicit reference to /usr/local/* , this is completely -bogus and causes trouble during cross-compilation. - -Signed-off-by: Marek Vasut -Upstream-Status: Inappropriate [upstream requires this] ---- - mk/Variables.mk | 6 ------ - 1 file changed, 6 deletions(-) - -diff --git a/mk/Variables.mk b/mk/Variables.mk -index 99f787c..3ffd87a 100644 ---- a/mk/Variables.mk -+++ b/mk/Variables.mk -@@ -42,12 +42,6 @@ CFLAGS += -Wall -Wmissing-prototypes -Wstrict-prototypes \ - -Wpointer-arith -Wunused - CXXFLAGS += -Wall -Wpointer-arith -Wunused - --# add /usr/local to the search path if something is in there ... --ifneq ($(wildcard /usr/local/include/*.h),) -- CFLAGS += -I/usr/local/include -- LDFLAGS += -L/usr/local/$(LIB) --endif -- - # fixup include path for $(srcdir) != "." - ifneq ($(srcdir),.) - CFLAGS += -I. -I$(srcdir) --- -2.11.0 - diff --git a/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch b/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch new file mode 100644 index 00000000000..06ec5dfd819 --- /dev/null +++ b/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch @@ -0,0 +1,26 @@ +From f9c455e81ad4d870c8ae20b9af8598139231ad26 Mon Sep 17 00:00:00 2001 +From: "Meyer, Wolfgang" +Date: Fri, 9 Sep 2022 09:32:22 +0200 +Subject: [PATCH] meson.build: install fbgs shell script + +--- + meson.build | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/meson.build b/meson.build +index cbed982..2129896 100644 +--- a/meson.build ++++ b/meson.build +@@ -124,6 +124,9 @@ executable('fbpdf', + sources : fbpdf_srcs, + dependencies : fbpdf_deps, + install : true) ++install_data('fbgs', ++ install_dir : get_option('bindir'), ++ install_mode : 'rwxr--r--') + + # build kbdtest + executable('kbdtest', +-- +2.37.3 + diff --git a/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch b/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch new file mode 100644 index 00000000000..92f034c520d --- /dev/null +++ b/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch @@ -0,0 +1,123 @@ +From fa60c06cadd6acd8abede91e75254e7250a087a3 Mon Sep 17 00:00:00 2001 +From: "Meyer, Wolfgang" +Date: Fri, 16 Sep 2022 13:40:25 +0200 +Subject: [PATCH] meson.build: add features options for png, gif, tiff, webp, + and motif + +--- + meson.build | 41 +++++++++++++++++++++++++++-------------- + meson_options.txt | 5 +++++ + selections.c | 4 ++++ + 3 files changed, 36 insertions(+), 14 deletions(-) + create mode 100644 meson_options.txt + +diff --git a/meson.build b/meson.build +index cbed982..e66ee48 100644 +--- a/meson.build ++++ b/meson.build +@@ -21,9 +21,9 @@ drm_dep = dependency('libdrm') + gbm_dep = dependency('gbm') + epoxy_dep = dependency('epoxy') + exif_dep = dependency('libexif') +-png_dep = dependency('libpng') +-tiff_dep = dependency('libtiff-4') +-webp_dep = dependency('libwebp', required : false) ++png_dep = dependency('libpng', required: get_option('png')) ++tiff_dep = dependency('libtiff-4', required: get_option('tiff')) ++webp_dep = dependency('libwebp', required : get_option('webp')) + udev_dep = dependency('libudev') + input_dep = dependency('libinput') + +@@ -32,20 +32,20 @@ cc = meson.get_compiler('c') + jpeg_dep = cc.find_library('jpeg') + math_dep = cc.find_library('m', required : false) + pcd_dep = cc.find_library('pcd', required : false) +-gif_dep = cc.find_library('gif', required : false) ++gif_dep = cc.find_library('gif', required: get_option('gif')) + + # motif + x11 libs +-motif_dep = cc.find_library('Xm', required : false) +-xpm_dep = cc.find_library('Xpm', required : false) +-xt_dep = cc.find_library('Xt', required : false) +-xext_dep = cc.find_library('Xext', required : false) +-x11_dep = cc.find_library('X11', required : false) ++motif_dep = cc.find_library('Xm', required : get_option('motif')) ++xpm_dep = cc.find_library('Xpm', required : get_option('motif')) ++xt_dep = cc.find_library('Xt', required : get_option('motif')) ++xext_dep = cc.find_library('Xext', required : get_option('motif')) ++x11_dep = cc.find_library('X11', required : get_option('motif')) + + # image formats + read_srcs = [ 'readers.c', 'rd/read-ppm.c', 'rd/read-bmp.c', +- 'rd/read-jpeg.c', 'rd/read-png.c', 'rd/read-tiff.c' ] ++ 'rd/read-jpeg.c' ] + write_srcs = [ 'writers.c', 'wr/write-ppm.c', 'wr/write-ps.c', +- 'wr/write-jpeg.c', 'wr/write-png.c', 'wr/write-tiff.c' ] ++ 'wr/write-jpeg.c' ] + image_deps = [ jpeg_dep, png_dep, tiff_dep, + pcd_dep, gif_dep, webp_dep ] + +@@ -53,11 +53,21 @@ if pcd_dep.found() + read_srcs += 'rd/read-pcd.c' + config.set('HAVE_LIBPCD', true) + endif +-if gif_dep.found() ++if get_option('png').enabled() ++ read_srcs += 'rd/read-png.c' ++ write_srcs += 'wr/write-png.c' ++ config.set('HAVE_LIBPNG', true) ++endif ++if get_option('tiff').enabled() ++ read_srcs += 'rd/read-tiff.c' ++ write_srcs += 'wr/write-tiff.c' ++ config.set('HAVE_LIBTIFF', true) ++endif ++if get_option('gif').enabled() + read_srcs += 'rd/read-gif.c' + config.set('HAVE_LIBGIF', true) + endif +-if webp_dep.found() ++if get_option('webp').enabled() + read_srcs += 'rd/read-webp.c' + config.set('HAVE_LIBWEBP', true) + endif +@@ -153,7 +166,7 @@ ida_srcs = [ 'ida.c', 'man.c', 'hex.c', 'x11.c', 'viewer.c', + ida_deps = [ pixman_dep, exif_dep, image_deps, math_dep, + motif_dep, xpm_dep, xt_dep, xext_dep, x11_dep ] + +-if motif_dep.found() ++if get_option('motif').enabled() + executable('ida', + sources : ida_srcs, + dependencies : ida_deps, +diff --git a/meson_options.txt b/meson_options.txt +new file mode 100644 +index 0000000..ce37188 +--- /dev/null ++++ b/meson_options.txt +@@ -0,0 +1,5 @@ ++option('gif', type: 'feature', value : 'enabled') ++option('png', type: 'feature', value : 'enabled') ++option('tiff', type: 'feature', value : 'enabled') ++option('webp', type: 'feature', value : 'disabled') ++option('motif', type: 'feature', value : 'disabled') +diff --git a/selections.c b/selections.c +index 7b16264..ccdc686 100644 +--- a/selections.c ++++ b/selections.c +@@ -609,8 +609,12 @@ void ipc_init() + #ifdef HAVE_LIBGIF + targets[ntargets++] = MIME_IMAGE_GIF; + #endif ++#ifdef HAVE_LIBPNG + targets[ntargets++] = MIME_IMAGE_PNG; ++#endif ++#ifdef HAVE_LIBTIFF + targets[ntargets++] = MIME_IMAGE_TIFF; ++#endif + targets[ntargets++] = XA_PIXMAP; + targets[ntargets++] = XA_STRING; + +-- +2.37.3 + diff --git a/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch b/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch deleted file mode 100644 index 99639554c21..00000000000 --- a/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: fbida-2.10/GNUmakefile -=================================================================== ---- fbida-2.10.orig/GNUmakefile -+++ fbida-2.10/GNUmakefile -@@ -51,7 +51,7 @@ HAVE_LIBSANE := $(call ac_lib,sane_init, - HAVE_LIBCURL := $(call ac_lib,curl_easy_init,curl) - HAVE_LIBLIRC := $(call ac_lib,lirc_init,lirc_client) - HAVE_MOTIF := $(call ac_lib,XmStringGenerate,Xm,-L/usr/X11R6/$(LIB) -lXpm -lXt -lXext -lX11) --JPEG_VER := $(call ac_jpeg_ver) -+JPEG_VER := 62 - endef - - # transposing From eb7aae1e146fa87066cfcfe1a70641200e64f415 Mon Sep 17 00:00:00 2001 From: Wolfgang Meyer Date: Fri, 16 Sep 2022 18:33:34 +0200 Subject: [PATCH 3/4] fbida: SRC_REV bump ac9005b..eb769e3 The new build target fbcon is not built as the dependency libtsm cannot be met. Changelogs: eb769e3 clear sb on resize 82cff28 scrollback ef35479 fbcon: cleanups, resize a89c23e color tweak, inverse support ff74e64 some optimizations 3b682fa fixes 94b0a4b update specfile 86da298 use libtsm kbd support 853c1b3 fbcon: switch to libtsm 6d62ddc drop dead code d4aad4f blit using pixman, drop dirty line tracking ea92708 fix cairo shadow clear 11ae121 tweak error logging 679347d drm format wireup fb7fa43 fmt wireup, framebuffer c2f9a48 format fixups 930713c add gfxfmt, fixes 4ff884b drop drmtools-egl.c b8e5897 use pixman for image blit+blend 83a73a8 libinput check fix 60fa59d libinput tweaks 0e322a1 dirty fix, parse font name 8d5f8b0 fix pause b66dd93 use cairo for text rendering b69070a fix darkify 01a758d drop more line editing support 1e0cead drop line editing support fe220c2 use cairo for darkify f1609f4 fix cairo, use cairo for lines 100c5b1 init cairo context for shadow 900255f fix blend c140de7 drop legacy build system 8b995ae drop dither support, switch shadow fb to DRM_FORMAT_XRGB8888 (aka CAIRO_FORMAT_RGB24) 8c07498 use cloexec 920879c fbdev support, console switching 9767597 add fbcon session 07b44a5 tweak console switching 620c38f drop -vt option 7fcf29e read keymap from /etc/vconsole.conf c49dee0 move ansi keys 69d0357 color tweaks aa62b1b terminal reply 6c289d5 udev device enumeration 2764d42 fill winsize 084cd1b more keys f73e9dd update spec 541df7d add static 718d175 cursor key support 5a77b52 cache contexts, init font early, autosize terminal d359a58 add color and cursor rendering c1da53f add simple, experimental terminal emulator Signed-off-by: Wolfgang Meyer Signed-off-by: Roland Hieber --- meta-oe/recipes-graphics/fbida/fbida_git.bb | 3 ++- ...eson.build-install-fbgs-shell-script.patch | 6 ++--- ...features-options-for-png-gif-tiff-we.patch | 18 ++++++------- ...meson.build-do-not-require-xkbcommon.patch | 25 +++++++++++++++++++ 4 files changed, 39 insertions(+), 13 deletions(-) create mode 100644 meta-oe/recipes-graphics/fbida/files/0003-meson.build-do-not-require-xkbcommon.patch diff --git a/meta-oe/recipes-graphics/fbida/fbida_git.bb b/meta-oe/recipes-graphics/fbida/fbida_git.bb index f686779f9fd..784485052d3 100644 --- a/meta-oe/recipes-graphics/fbida/fbida_git.bb +++ b/meta-oe/recipes-graphics/fbida/fbida_git.bb @@ -17,8 +17,9 @@ SRC_URI = "git://github.com/kraxel/fbida;protocol=https;branch=master \ file://fbida-gcc10.patch \ file://0001-meson.build-install-fbgs-shell-script.patch \ file://0002-meson.build-add-features-options-for-png-gif-tiff-we.patch \ + file://0003-meson.build-do-not-require-xkbcommon.patch \ " -SRCREV = "ac9005bf0bbf50f14dc1b368be5084c8e0510a5d" +SRCREV = "eb769e3d7f4a073d4c37ed524ebd5017c6a578f5" S = "${WORKDIR}/git" inherit meson pkgconfig features_check diff --git a/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch b/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch index 06ec5dfd819..5f8deab67cc 100644 --- a/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch +++ b/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch @@ -11,7 +11,7 @@ diff --git a/meson.build b/meson.build index cbed982..2129896 100644 --- a/meson.build +++ b/meson.build -@@ -124,6 +124,9 @@ executable('fbpdf', +@@ -126,6 +126,9 @@ executable('fbpdf', sources : fbpdf_srcs, dependencies : fbpdf_deps, install : true) @@ -19,8 +19,8 @@ index cbed982..2129896 100644 + install_dir : get_option('bindir'), + install_mode : 'rwxr--r--') - # build kbdtest - executable('kbdtest', + # build fbcon + fbcon_srcs = [ 'fbcon.c', 'drmtools.c', 'fbtools.c', 'gfx.c', 'vt.c', 'kbd.c' ] -- 2.37.3 diff --git a/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch b/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch index 92f034c520d..dee2249928f 100644 --- a/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch +++ b/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch @@ -1,6 +1,6 @@ -From fa60c06cadd6acd8abede91e75254e7250a087a3 Mon Sep 17 00:00:00 2001 +From cdcde5c1fd106a69118dff98118600911392762f Mon Sep 17 00:00:00 2001 From: "Meyer, Wolfgang" -Date: Fri, 16 Sep 2022 13:40:25 +0200 +Date: Fri, 16 Sep 2022 16:25:38 +0200 Subject: [PATCH] meson.build: add features options for png, gif, tiff, webp, and motif @@ -12,10 +12,10 @@ Subject: [PATCH] meson.build: add features options for png, gif, tiff, webp, create mode 100644 meson_options.txt diff --git a/meson.build b/meson.build -index cbed982..e66ee48 100644 +index cd9cc49..b5e3ffc 100644 --- a/meson.build +++ b/meson.build -@@ -21,9 +21,9 @@ drm_dep = dependency('libdrm') +@@ -23,9 +23,9 @@ drm_dep = dependency('libdrm') gbm_dep = dependency('gbm') epoxy_dep = dependency('epoxy') exif_dep = dependency('libexif') @@ -27,9 +27,9 @@ index cbed982..e66ee48 100644 +webp_dep = dependency('libwebp', required : get_option('webp')) udev_dep = dependency('libudev') input_dep = dependency('libinput') - -@@ -32,20 +32,20 @@ cc = meson.get_compiler('c') - jpeg_dep = cc.find_library('jpeg') + xkb_dep = dependency('xkbcommon') +@@ -36,20 +36,20 @@ jpeg_dep = cc.find_library('jpeg') + util_dep = cc.find_library('util') math_dep = cc.find_library('m', required : false) pcd_dep = cc.find_library('pcd', required : false) -gif_dep = cc.find_library('gif', required : false) @@ -57,7 +57,7 @@ index cbed982..e66ee48 100644 image_deps = [ jpeg_dep, png_dep, tiff_dep, pcd_dep, gif_dep, webp_dep ] -@@ -53,11 +53,21 @@ if pcd_dep.found() +@@ -57,11 +57,21 @@ if pcd_dep.found() read_srcs += 'rd/read-pcd.c' config.set('HAVE_LIBPCD', true) endif @@ -81,7 +81,7 @@ index cbed982..e66ee48 100644 read_srcs += 'rd/read-webp.c' config.set('HAVE_LIBWEBP', true) endif -@@ -153,7 +166,7 @@ ida_srcs = [ 'ida.c', 'man.c', 'hex.c', 'x11.c', 'viewer.c', +@@ -168,7 +181,7 @@ ida_srcs = [ 'ida.c', 'man.c', 'hex.c', 'x11.c', 'viewer.c', ida_deps = [ pixman_dep, exif_dep, image_deps, math_dep, motif_dep, xpm_dep, xt_dep, xext_dep, x11_dep ] diff --git a/meta-oe/recipes-graphics/fbida/files/0003-meson.build-do-not-require-xkbcommon.patch b/meta-oe/recipes-graphics/fbida/files/0003-meson.build-do-not-require-xkbcommon.patch new file mode 100644 index 00000000000..9fabc20df50 --- /dev/null +++ b/meta-oe/recipes-graphics/fbida/files/0003-meson.build-do-not-require-xkbcommon.patch @@ -0,0 +1,25 @@ +From ec82a194f3454ac203a134c9a99bac6d63095d25 Mon Sep 17 00:00:00 2001 +From: "Meyer, Wolfgang" +Date: Fri, 16 Sep 2022 18:29:03 +0200 +Subject: [PATCH] meson.build: do not require xkbcommon + +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 341939c..b5dab14 100644 +--- a/meson.build ++++ b/meson.build +@@ -26,7 +26,7 @@ tiff_dep = dependency('libtiff-4', required: get_option('tiff')) + webp_dep = dependency('libwebp', required : get_option('webp')) + udev_dep = dependency('libudev') + input_dep = dependency('libinput') +-xkb_dep = dependency('xkbcommon') ++xkb_dep = dependency('xkbcommon', required : false) + tsm_dep = dependency('libtsm', required : false) + + # other library deps +-- +2.37.3 + From 837ea74e88fa76c5f88a544010e3e6db49dbff05 Mon Sep 17 00:00:00 2001 From: Wolfgang Meyer Date: Fri, 16 Sep 2022 18:50:32 +0200 Subject: [PATCH 4/4] fbida: make fbpdf build optional Signed-off-by: Wolfgang Meyer Signed-off-by: Roland Hieber --- meta-oe/recipes-graphics/fbida/fbida_git.bb | 6 +- ...eson.build-make-fbpdf-build-optional.patch | 64 +++++++++++++++++++ 2 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 meta-oe/recipes-graphics/fbida/files/0001-meson.build-make-fbpdf-build-optional.patch diff --git a/meta-oe/recipes-graphics/fbida/fbida_git.bb b/meta-oe/recipes-graphics/fbida/fbida_git.bb index 784485052d3..523a7865ce0 100644 --- a/meta-oe/recipes-graphics/fbida/fbida_git.bb +++ b/meta-oe/recipes-graphics/fbida/fbida_git.bb @@ -8,7 +8,7 @@ SECTION = "utils" LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=e8feb78a32950a909621bbb51f634b39" -DEPENDS = "virtual/libiconv jpeg fontconfig freetype libexif libdrm pixman udev libinput poppler libepoxy cairo" +DEPENDS = "virtual/libiconv jpeg fontconfig freetype libexif libdrm pixman udev libinput cairo" PV = "2.14+git${SRCPV}" SRC_URI = "git://github.com/kraxel/fbida;protocol=https;branch=master \ @@ -18,6 +18,7 @@ SRC_URI = "git://github.com/kraxel/fbida;protocol=https;branch=master \ file://0001-meson.build-install-fbgs-shell-script.patch \ file://0002-meson.build-add-features-options-for-png-gif-tiff-we.patch \ file://0003-meson.build-do-not-require-xkbcommon.patch \ + file://0001-meson.build-make-fbpdf-build-optional.patch \ " SRCREV = "eb769e3d7f4a073d4c37ed524ebd5017c6a578f5" S = "${WORKDIR}/git" @@ -27,12 +28,13 @@ inherit meson pkgconfig features_check # Depends on libepoxy REQUIRED_DISTRO_FEATURES = "opengl" -PACKAGECONFIG ??= "gif png" +PACKAGECONFIG ??= "gif png pdf" PACKAGECONFIG[gif] = "-Dgif=enabled,-Dgif=disabled,giflib" PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng" PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff" PACKAGECONFIG[motif] = "-Dmotif=enabled,-Dmotif=disabled,libx11 libxext libxpm libxt openmotif" PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp" +PACKAGECONFIG[pdf] = "-Dpdf=enabled,-Dpdf=disabled,poppler libepoxy" CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" diff --git a/meta-oe/recipes-graphics/fbida/files/0001-meson.build-make-fbpdf-build-optional.patch b/meta-oe/recipes-graphics/fbida/files/0001-meson.build-make-fbpdf-build-optional.patch new file mode 100644 index 00000000000..6c0d0f1d36f --- /dev/null +++ b/meta-oe/recipes-graphics/fbida/files/0001-meson.build-make-fbpdf-build-optional.patch @@ -0,0 +1,64 @@ +From c00a155e90a9b22bd6ab5fa5407bb9923ee16ca0 Mon Sep 17 00:00:00 2001 +From: "Meyer, Wolfgang" +Date: Fri, 16 Sep 2022 18:45:58 +0200 +Subject: [PATCH] meson.build: make fbpdf build optional + +--- + meson.build | 22 ++++++++++++---------- + meson_options.txt | 1 + + 2 files changed, 13 insertions(+), 10 deletions(-) + +diff --git a/meson.build b/meson.build +index 6b3daf3..289d1ec 100644 +--- a/meson.build ++++ b/meson.build +@@ -15,11 +15,11 @@ x11resdir = x11resrun.stdout().strip() + + # pkg-config deps + pixman_dep = dependency('pixman-1') +-poppler_dep = dependency('poppler-glib') ++poppler_dep = dependency('poppler-glib', required: get_option('pdf')) + cairo_dep = dependency('cairo') + drm_dep = dependency('libdrm') +-gbm_dep = dependency('gbm') +-epoxy_dep = dependency('epoxy') ++gbm_dep = dependency('gbm', required: get_option('pdf')) ++epoxy_dep = dependency('epoxy', required: get_option('pdf')) + exif_dep = dependency('libexif') + png_dep = dependency('libpng', required: get_option('png')) + tiff_dep = dependency('libtiff-4', required: get_option('tiff')) +@@ -132,13 +132,15 @@ fbpdf_deps = [ drm_dep, gbm_dep, epoxy_dep, + pixman_dep, poppler_dep, cairo_dep, + udev_dep, input_dep ] + +-executable('fbpdf', +- sources : fbpdf_srcs, +- dependencies : fbpdf_deps, +- install : true) +-install_data('fbgs', +- install_dir : get_option('bindir'), +- install_mode : 'rwxr--r--') ++if get_option('pdf').enabled() ++ executable('fbpdf', ++ sources : fbpdf_srcs, ++ dependencies : fbpdf_deps, ++ install : true) ++ install_data('fbgs', ++ install_dir : get_option('bindir'), ++ install_mode : 'rwxr--r--') ++endif + + # build fbcon + fbcon_srcs = [ 'fbcon.c', 'drmtools.c', 'fbtools.c', 'gfx.c', 'vt.c', 'kbd.c' ] +diff --git a/meson_options.txt b/meson_options.txt +index ce37188..74699ab 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -3,3 +3,4 @@ option('png', type: 'feature', value : 'enabled') + option('tiff', type: 'feature', value : 'enabled') + option('webp', type: 'feature', value : 'disabled') + option('motif', type: 'feature', value : 'disabled') ++option('pdf', type: 'feature', value : 'enabled') +-- +2.37.3 +