summaryrefslogtreecommitdiff
path: root/x11-libs/libfm
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-03-17 06:49:08 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-03-17 06:49:08 +0000
commit2bf68d7062b64d9f815f3b8ce6942a66afe53b0d (patch)
treeac1e773aaa4d3575d18d178ae260cab963bbf64c /x11-libs/libfm
parentcd356b722fd8d162f02a5059fae1a66e00be52e3 (diff)
gentoo auto-resync : 17:03:2024 - 06:49:08
Diffstat (limited to 'x11-libs/libfm')
-rw-r--r--x11-libs/libfm/Manifest2
-rw-r--r--x11-libs/libfm/files/libfm-1.3.2-c99.patch48
-rw-r--r--x11-libs/libfm/libfm-1.3.2-r1.ebuild127
3 files changed, 177 insertions, 0 deletions
diff --git a/x11-libs/libfm/Manifest b/x11-libs/libfm/Manifest
index 7e888cb87692..affe0cd55192 100644
--- a/x11-libs/libfm/Manifest
+++ b/x11-libs/libfm/Manifest
@@ -1,4 +1,6 @@
AUX libfm-1.3.2-buildsystem.patch 1098 BLAKE2B 63cde148b2ada201d290550769ae7714324f72617629d801ce362dbc3f33b1de7e6a712959a6e4e8629e880244ad361c054ebc898f2b089d4e19f348120e9635 SHA512 d2dc9c220e2ce70c33809ecb9ce4e85529990946537970a63d60fad33577f1ec444b066abcbbf346611035e9dac5d2750ddce84105a391040c1dc8b179ec0901
+AUX libfm-1.3.2-c99.patch 2420 BLAKE2B afe2f7de533903925d1207ae9451db329ecea1fea9db0b138134808ea0e39b56daa256bd708dd502e8ea767327304f058d440151c829cbe82d8d81752c6d85f7 SHA512 a15fa0f92143d1d20b165a95ea8f68fa1f7952bed63835c87e2681ba168a1ae400d3653d56145ecf5abae4c2380ada2fbe341e3750f1fd26132e11a736977a31
DIST libfm-1.3.2.tar.gz 1295152 BLAKE2B 80b2110610aac9e8cb37502c3e69e425256ff22565ba15b5806e30c3bed5ad141c38cac1eda91f846e14eca6b783bea3d715b3b467ae7d37b036e3f19cadc3f8 SHA512 905c5eca66e1acb8ab2ed20de9f10e43d38eae304d1d986dd9961469141f9156130602c060754a5161672208c37a3969489bb40fd9c941281817852ca38500a6
+EBUILD libfm-1.3.2-r1.ebuild 3397 BLAKE2B 11ba7c741c6511b761de0a056cc9bd4899ec997dc56534ad45d5d018ad10ebe7d32997aaad4975b6b7da37bcea7148bd200b24424f6e4ee10a5990d5a891a7d5 SHA512 558c87ecdda5b7380b2081096e14633e7a4b0ffb7118051e16f796dc136540a9fe079ba07fade45514312855e6751e0692f1b84f7db61489498963b649cc4465
EBUILD libfm-1.3.2.ebuild 3359 BLAKE2B ec0a9aafb09a8ae911985c919931e925f218fb4e8329b11b157aa0aa909f680e42be524888bd0d9357be0579710e9a88021d33e033c60a57dd8810bd91d6a058 SHA512 f53a15a3e014bb2475659852ae81c91bf0cbae354a8f31648353d5ac54d0ef60590202be95be304c418e4a539d4e6271b5e122d12fdbf48ca0c66490681adc37
MISC metadata.xml 583 BLAKE2B 1c41015600c3e8298cb648d7a4429737cd8c5f1f9b856920dad397040e682892917c1895c391cfd1671fea59b28ada8e94972ec29d3787a06a8f7686e6934a45 SHA512 718448ed01fb88480c9a4f500308b9bb9c16f913a31b37e53b2c1b9670e698f8d6c0c5b78cd64b5c32f61e46da0b17d2e3f6c0417d5ddc247ce20ab99db57150
diff --git a/x11-libs/libfm/files/libfm-1.3.2-c99.patch b/x11-libs/libfm/files/libfm-1.3.2-c99.patch
new file mode 100644
index 000000000000..b84cf01111c8
--- /dev/null
+++ b/x11-libs/libfm/files/libfm-1.3.2-c99.patch
@@ -0,0 +1,48 @@
+https://bugs.gentoo.org/919076
+https://github.com/lxde/libfm/issues/100
+https://github.com/lxde/libfm/pull/101
+
+From ec6a21263d150aea918826941a80f335b45470a8 Mon Sep 17 00:00:00 2001
+From: Mamoru TASAKA <mtasaka@fedoraproject.org>
+Date: Fri, 1 Mar 2024 14:19:46 +0900
+Subject: [PATCH] FIX: support gcc14 -Werror=incompatible-pointer-types
+
+gcc14 now defaults to -Werror=incompatible-pointer-types .
+To support this, cast GTK related objects for assignment
+properly.
+
+Fixes #100 .
+--- a/src/gtk/exo/exo-icon-view.c
++++ b/src/gtk/exo/exo-icon-view.c
+@@ -2819,7 +2819,7 @@ exo_icon_view_key_press_event (GtkWidget *widget,
+ /* allocate a new event to forward */
+ new_event = gdk_event_copy ((GdkEvent *) event);
+ g_object_unref (G_OBJECT (new_event->key.window));
+- new_event->key.window = g_object_ref (G_OBJECT (gtk_widget_get_window (icon_view->priv->search_entry)));
++ new_event->key.window = GDK_WINDOW(g_object_ref (G_OBJECT (gtk_widget_get_window (icon_view->priv->search_entry))));
+
+ /* send the event to the search entry. If the "preedit-changed" signal is
+ * emitted during this event, priv->search_imcontext_changed will be set.
+--- a/src/gtk/fm-dnd-dest.c
++++ b/src/gtk/fm-dnd-dest.c
+@@ -458,7 +458,7 @@ static GdkDragAction _ask_action_on_drop(GtkWidget *widget,
+ gtk_action_set_sensitive(act, FALSE);
+ }
+ }
+- ri.menu = g_object_ref(gtk_ui_manager_get_widget(ui, "/popup"));
++ ri.menu = GTK_MENU(g_object_ref(gtk_ui_manager_get_widget(ui, "/popup")));
+ g_signal_connect(ri.menu, "selection-done", G_CALLBACK(gtk_widget_destroy), NULL);
+ unmap_handler = g_signal_connect(ri.menu, "unmap",
+ G_CALLBACK(run_unmap_handler), &ri);
+--- a/src/gtk/fm-standard-view.c
++++ b/src/gtk/fm-standard-view.c
+@@ -637,7 +637,7 @@ static inline void create_icon_view(FmStandardView* fv, GList* sels)
+ "text", FM_FOLDER_MODEL_COL_NAME );
+ if(fv->renderer_text)
+ g_object_unref(fv->renderer_text);
+- fv->renderer_text = g_object_ref_sink(render);
++ fv->renderer_text = FM_CELL_RENDERER_TEXT(g_object_ref_sink(render));
+ exo_icon_view_set_search_column((ExoIconView*)fv->view, FM_FOLDER_MODEL_COL_NAME);
+ g_signal_connect(fv->view, "item-activated", G_CALLBACK(on_icon_view_item_activated), fv);
+ g_signal_connect(fv->view, "selection-changed", G_CALLBACK(on_sel_changed), fv);
+
diff --git a/x11-libs/libfm/libfm-1.3.2-r1.ebuild b/x11-libs/libfm/libfm-1.3.2-r1.ebuild
new file mode 100644
index 000000000000..63012f59c6ff
--- /dev/null
+++ b/x11-libs/libfm/libfm-1.3.2-r1.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_P="${PN}-${PV/_/}"
+inherit autotools vala xdg
+
+DESCRIPTION="Library for file management"
+HOMEPAGE="https://wiki.lxde.org/en/PCManFM"
+SRC_URI="https://github.com/lxde/libfm/archive/${PV}.tar.gz -> ${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0/5.3.1" # copy ABI_VERSION because it seems upstream change it randomly
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="+automount debug doc examples exif gtk udisks vala"
+
+REQUIRED_USE="udisks? ( automount ) doc? ( gtk )"
+
+DEPEND="
+ >=dev-libs/glib-2.18:2
+ >=lxde-base/menu-cache-1.1.0-r1:=
+ ~x11-libs/libfm-extra-${PV}
+ gtk? ( x11-libs/gtk+:3 )
+ udisks? ( dev-libs/dbus-glib )
+"
+RDEPEND="${DEPEND}
+ !lxde-base/lxshortcut
+ x11-misc/shared-mime-info
+ automount? (
+ udisks? ( gnome-base/gvfs[udev,udisks] )
+ !udisks? ( gnome-base/gvfs[udev] )
+ )
+ exif? ( media-libs/libexif )
+"
+BDEPEND="
+ app-arch/xz-utils
+ dev-util/glib-utils
+ >=dev-util/intltool-0.40
+ sys-devel/gettext
+ virtual/pkgconfig
+ doc? ( dev-util/gtk-doc )
+ vala? ( $(vala_depend) )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-buildsystem.patch"
+ "${FILESDIR}/${PN}-1.3.2-c99.patch"
+)
+
+src_prepare() {
+ xdg_src_prepare
+
+ if ! use doc; then
+ sed -ie '/^SUBDIR.*=/s#docs##' Makefile.am || die
+ sed -ie '/^[[:space:]]*docs/d' configure.ac || die
+ fi
+
+ # disable unused translations. Bug #356029
+ cat <<-EOF >> po/POTFILES.in || die
+data/ui/app-chooser.ui
+data/ui/ask-rename.ui
+data/ui/exec-file.ui
+data/ui/file-prop.ui
+data/ui/preferred-apps.ui
+data/ui/progress.ui
+EOF
+
+ # subslot sanity check
+ local sub_slot=${SLOT#*/}
+ local libfm_major_abi=$(sed -rne '/ABI_VERSION/s:.*=::p' src/Makefile.am | tr ':' '.')
+
+ if [[ ${sub_slot} != ${libfm_major_abi} ]]; then
+ eerror "Ebuild sub-slot (${sub_slot}) does not match ABI_VERSION(${libfm_major_abi})"
+ eerror "Please update SLOT variable as follows:"
+ eerror " SLOT=\"${SLOT%%/*}/${libfm_major_abi}\""
+ eerror
+ die "sub-slot sanity check failed"
+ fi
+
+ eautoreconf
+ rm -r autom4te.cache || die
+ use vala && export VALAC="$(type -p valac-$(vala_best_api_version))"
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-static
+ --with-html-dir=/usr/share/doc/${PF}/html
+ $(use_enable debug)
+ $(use_enable doc gtk-doc)
+ $(use_enable examples demo)
+ $(use_enable exif)
+ $(use_with gtk gtk 3)
+ $(use_enable udisks)
+ $(use_enable vala old-actions)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+ # Sometimes a directory is created instead of a symlink. No idea why...
+ # It is wrong anyway. We expect a libfm-1.0 directory and then a libfm
+ # symlink to it.
+ if [[ -h ${D}/usr/include/${PN} || -d ${D}/usr/include/${PN} ]]; then
+ rm -r "${D}"/usr/include/${PN} || die
+ fi
+ # Remove files installed by split-off libfm-extra package
+ rm "${D}"/usr/include/libfm-1.0/fm-{extra,version,xml-file}.h || die
+ rm "${D}"/usr/$(get_libdir)/libfm-extra* || die
+ rm "${D}"/usr/$(get_libdir)/pkgconfig/libfm-extra.pc || die
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+ # Resolve the symlink mess. Bug #439570
+ if [[ -d "${ROOT}"/usr/include/${PN} ]]; then
+ rm -rf "${ROOT}"/usr/include/${PN} || die
+ fi
+ if [[ -d "${D}"/usr/include/${PN}-1.0 ]]; then
+ cd "${D}"/usr/include || die
+ ln -s --force ${PN}-1.0 ${PN} || die
+ fi
+}