media-gfx/geeqie: fix build with -fno-common/gcc10, thanks slyfox
authorBernard Cafarelli <voyageur@gentoo.org>
Fri, 24 Jan 2020 14:02:59 +0000 (15:02 +0100)
committerBernard Cafarelli <voyageur@gentoo.org>
Fri, 24 Jan 2020 14:03:25 +0000 (15:03 +0100)
Also sync stable and live ebuilds

Closes: https://bugs.gentoo.org/706132
Package-Manager: Portage-2.3.85, Repoman-2.3.20
Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>
media-gfx/geeqie/files/geeqie-1.5.1-no_common.patch [new file with mode: 0644]
media-gfx/geeqie/geeqie-1.5.1.ebuild
media-gfx/geeqie/geeqie-9999.ebuild

diff --git a/media-gfx/geeqie/files/geeqie-1.5.1-no_common.patch b/media-gfx/geeqie/files/geeqie-1.5.1-no_common.patch
new file mode 100644 (file)
index 0000000..058e226
--- /dev/null
@@ -0,0 +1,75 @@
+From 543ea6d903a50c353d9e129d380240f277a670aa Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Thu, 23 Jan 2020 08:24:52 +0000
+Subject: [PATCH] src/options: fix build failure against gcc-10
+
+On gcc-10 (and gcc-9 -fno-common) build fails as:
+
+```
+  CXXLD    geeqie
+ld: ui_fileops.o:(.bss+0x0):
+  multiple definition of `options'; ui_bookmark.o:(.bss+0x0): first defined here
+ld: ui_fileops.o:(.bss+0x8):
+  multiple definition of `command_line'; ui_bookmark.o:(.bss+0x8): first defined here
+```
+
+gcc-10 will change the default from -fcommon to fno-common:
+https://gcc.gnu.org/PR85678.
+
+The error also happens if CFLAGS=-fno-common passed explicitly.
+
+Reported-by: Anthony Parsons
+Bug: https://bugs.gentoo.org/706132
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+---
+ src/bar_exif.h | 3 ---
+ src/options.c  | 3 +++
+ src/options.h  | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/bar_exif.h b/src/bar_exif.h
+index 63c30d4b..1395e842 100644
+--- a/src/bar_exif.h
++++ b/src/bar_exif.h
+@@ -28,9 +28,6 @@ void bar_pane_exif_update_from_config(GtkWidget *pane, const gchar **attribute_n
+ void bar_pane_exif_entry_add_from_config(GtkWidget *pane, const gchar **attribute_names, const gchar **attribute_values);
+ /* these are exposed for when duplication of the exif bar's text is needed */
+-
+-const gchar **bar_exif_key_list;
+-const gint bar_exif_key_count;
+ GList *bar_pane_exif_list();
+ #endif
+diff --git a/src/options.c b/src/options.c
+index 99459381..bab26acb 100644
+--- a/src/options.c
++++ b/src/options.c
+@@ -32,6 +32,9 @@
+ #include "ui_fileops.h"
+ #include "window.h"
++ConfOptions *options;
++CommandLine *command_line;
++
+ ConfOptions *init_options(ConfOptions *options)
+ {
+       gint i;
+diff --git a/src/options.h b/src/options.h
+index fcfe961a..02ff8fac 100644
+--- a/src/options.h
++++ b/src/options.h
+@@ -329,8 +329,8 @@ struct _ConfOptions
+       GList *disabled_plugins;
+ };
+-ConfOptions *options;
+-CommandLine *command_line;
++extern ConfOptions *options;
++extern CommandLine *command_line;
+ ConfOptions *init_options(ConfOptions *options);
+ void setup_default_options(ConfOptions *options);
+-- 
+2.25.0
+
index 88c65fbe11e3b6467acab30bb450e617d9c02b6d..85d8651bf87833e1859abebb8b4ccffae2c54c25 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -30,9 +30,9 @@ RDEPEND="
        tiff? ( media-libs/tiff:0 )
        xmp? ( >=media-gfx/exiv2-0.17:=[xmp] )
        !xmp? ( exif? ( >=media-gfx/exiv2-0.17:= ) )"
-DEPEND="${RDEPEND}
-       dev-util/glib-utils"
+DEPEND="${RDEPEND}"
 BDEPEND="
+       dev-util/glib-utils
        dev-util/intltool
        virtual/pkgconfig
        nls? ( sys-devel/gettext )"
@@ -40,6 +40,8 @@ BDEPEND="
 REQUIRED_USE="gpu-accel? ( gtk3 )
        map? ( gpu-accel )"
 
+PATCHES=( "${FILESDIR}"/${P}-no_common.patch )
+
 src_prepare() {
        default
 
@@ -50,7 +52,8 @@ src_prepare() {
 }
 
 src_configure() {
-       local myconf="--disable-dependency-tracking
+       local myeconfargs=(
+               --disable-dependency-tracking
                --with-readmedir="${EPREFIX}"/usr/share/doc/${PF}
                $(use_enable debug debug-log)
                $(use_enable ffmpegthumbnailer)
@@ -63,19 +66,20 @@ src_configure() {
                $(use_enable map)
                $(use_enable nls)
                $(use_enable pdf)
-               $(use_enable tiff)"
+               $(use_enable tiff)
+       )
 
        if use exif || use xmp; then
-               myconf="${myconf} --enable-exiv2"
+               myeconfargs+=( --enable-exiv2 )
        else
-               myconf="${myconf} --disable-exiv2"
+               myeconfargs+=( --disable-exiv2)
        fi
 
-       econf ${myconf}
+       econf "${myeconfargs[@]}"
 }
 
 src_install() {
-       emake DESTDIR="${D}" install
+       default
 
        rm -f "${D}/usr/share/doc/${PF}/COPYING"
        # Application needs access to the uncompressed file
index f40ac89c824a44684418cb9e2f562afbd6607e8a..a0e3b2f1b7610715723cdf6c96d5672e03bcaeee 100644 (file)
@@ -14,7 +14,7 @@ EGIT_REPO_URI="https://github.com/BestImageViewer/geeqie.git"
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS=""
-IUSE="debug doc exif ffmpegthumbnailer gpu-accel +gtk3 jpeg lcms lirc lua map tiff xmp"
+IUSE="debug doc exif ffmpegthumbnailer gpu-accel +gtk3 jpeg lcms lirc lua map nls pdf tiff xmp"
 
 RDEPEND="
        virtual/libintl
@@ -28,6 +28,7 @@ RDEPEND="
        lirc? ( app-misc/lirc )
        lua? ( >=dev-lang/lua-5.1:= )
        map? ( media-libs/libchamplain:0.12 )
+       pdf? ( >=app-text/poppler-0.62[cairo] )
        tiff? ( media-libs/tiff:0 )
        xmp? ( >=media-gfx/exiv2-0.17:=[xmp] )
        !xmp? ( exif? ( >=media-gfx/exiv2-0.17:= ) )"
@@ -35,8 +36,8 @@ DEPEND="${RDEPEND}"
 BDEPEND="
        dev-util/glib-utils
        dev-util/intltool
-       sys-devel/gettext
-       virtual/pkgconfig"
+       virtual/pkgconfig
+       nls? ( sys-devel/gettext )"
 
 REQUIRED_USE="gpu-accel? ( gtk3 )
        map? ( gpu-accel )"
@@ -63,6 +64,8 @@ src_configure() {
                $(use_enable lua)
                $(use_enable lirc)
                $(use_enable map)
+               $(use_enable nls)
+               $(use_enable pdf)
                $(use_enable tiff)
        )