Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

meta-oe: fbida: switch to git and meson, update to newer SRC_REV #676

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 0 additions & 80 deletions meta-oe/recipes-graphics/fbida/fbida_2.14.bb

This file was deleted.

41 changes: 41 additions & 0 deletions meta-oe/recipes-graphics/fbida/fbida_git.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
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 = "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 udev libinput cairo"

PV = "2.14+git${SRCPV}"
SRC_URI = "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 \
file://0003-meson.build-do-not-require-xkbcommon.patch \
file://0001-meson.build-make-fbpdf-build-optional.patch \
"
SRCREV = "eb769e3d7f4a073d4c37ed524ebd5017c6a578f5"
S = "${WORKDIR}/git"

inherit meson pkgconfig features_check

# Depends on libepoxy
REQUIRED_DISTRO_FEATURES = "opengl"

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)}"

RDEPENDS:${PN} = "ttf-dejavu-sans-mono"

This file was deleted.

Original file line number Diff line number Diff line change
@@ -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

---
rohieb marked this conversation as resolved.
Show resolved Hide resolved
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
@@ -126,6 +126,9 @@ executable('fbpdf',
sources : fbpdf_srcs,
dependencies : fbpdf_deps,
install : true)
+install_data('fbgs',
+ install_dir : get_option('bindir'),
+ install_mode : 'rwxr--r--')

# build fbcon
fbcon_srcs = [ 'fbcon.c', 'drmtools.c', 'fbtools.c', 'gfx.c', 'vt.c', 'kbd.c' ]
--
2.37.3

Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
From c00a155e90a9b22bd6ab5fa5407bb9923ee16ca0 Mon Sep 17 00:00:00 2001
From: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
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

Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
From cdcde5c1fd106a69118dff98118600911392762f Mon Sep 17 00:00:00 2001
From: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
Date: Fri, 16 Sep 2022 16:25:38 +0200
Subject: [PATCH] meson.build: add features options for png, gif, tiff, webp,
and motif

rohieb marked this conversation as resolved.
Show resolved Hide resolved
---
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 cd9cc49..b5e3ffc 100644
--- a/meson.build
+++ b/meson.build
@@ -23,9 +23,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')
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)
+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 ]

@@ -57,11 +57,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
@@ -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 ]

-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

Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
From ec82a194f3454ac203a134c9a99bac6d63095d25 Mon Sep 17 00:00:00 2001
From: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
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

Loading