diff mbox series

[meta-oe,2/4] fbida: build with meson

Message ID 20220917084459.17933-2-Wolfgang.Meyer@gossenmetrawatt.com
State New
Headers show
Series [meta-oe,1/4] fbida: Switch to git fetcher | expand

Commit Message

Meyer, Wolfgang Sept. 17, 2022, 8:44 a.m. UTC
Add meason features options for the PACKAGECONFIG choices. Remove patches that
target the Autotools/gnumake style build.

Signed-off-by: Wolfgang Meyer <Wolfgang.Meyer@gossenmetrawatt.com>
---
 meta-oe/recipes-graphics/fbida/fbida_git.bb   |  55 ++------
 .../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, 161 insertions(+), 90 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

--
2.37.3


Gossen Metrawatt GmbH

Südwestpark 15
90449 Nürnberg
Germany

http://www.gossenmetrawatt.com
Amtsgericht Nürnberg HRB 24 602/USt-IdNr. DE815002769
Geschäftsführer: Marcel Hutka, Matthias Wist

Gossen Metrawatt GmbH is a member of GMC INSTRUMENTS-Group

[https://www.gmc-instruments.de/media/mailfooter/mailfooter.jpg]<http://www.gossenmetrawatt.com>
diff mbox series

Patch

diff --git a/meta-oe/recipes-graphics/fbida/fbida_git.bb b/meta-oe/recipes-graphics/fbida/fbida_git.bb
index aadaaf57e..ab3c7d361 100644
--- a/meta-oe/recipes-graphics/fbida/fbida_git.bb
+++ b/meta-oe/recipes-graphics/fbida/fbida_git.bb
@@ -12,59 +12,28 @@  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                                        \
+    git://github.com/kraxel/fbida;protocol=https;branch=master              \
+    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 cdf2c25d3..000000000
--- 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 <marex@denx.de>
-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 <marex@denx.de>
-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 000000000..06ec5dfd8
--- /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" <Wolfgang.Meyer@gossenmetrawatt.com>
+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 000000000..cf89da926
--- /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" <Wolfgang.Meyer@gossenmetrawatt.com>
+Date: Fri, 16 Sep 2022 13:40:25 +0200
+Subject: [PATCH] meson.build: add features options for png, gif, tiff, web,
+ 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 99639554c..000000000
--- 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