From 4889b12b088f0938b4f8eda4cb7dda883a63f778 Mon Sep 17 00:00:00 2001 From: sulincix Date: Mon, 13 Mar 2023 19:13:21 +0000 Subject: [PATCH] libfm cycle dependency --- dev/perl/perl-xml-parser/ympbuild | 32 ++++++ dev/util/intltool/ympbuild | 2 +- ...1.1.0-0001-Support-gcc10-compilation.patch | 108 ++++++++++++++++++ lxde/base/menu-cache/ympbuild | 14 ++- x11/libs/libfm/ympbuild | 9 +- 5 files changed, 156 insertions(+), 9 deletions(-) create mode 100644 dev/perl/perl-xml-parser/ympbuild create mode 100644 lxde/base/menu-cache/menu-cache-1.1.0-0001-Support-gcc10-compilation.patch diff --git a/dev/perl/perl-xml-parser/ympbuild b/dev/perl/perl-xml-parser/ympbuild new file mode 100644 index 00000000..68665174 --- /dev/null +++ b/dev/perl/perl-xml-parser/ympbuild @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +name='perl-xml-parser' +release='1' +version='2.46' +url='https://metacpan.org/pod/XML::Parser' +description='A perl module for parsing XML documents' +email='aliriza.keskin@pardus.org.tr' +maintainer='aliriza' +license=('GPLv3') +source=("https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-$version.tar.gz") +depends=(perl expat) +makedepends=() +md5sums=('80bb18a8e6240fcf7ec2f7b57601c170') +group=(dev.perl) +uses=() +arch=('x86_64') + +cd XML-Parser-$version + +setup(){ + PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL INSTALLDIRS=vendor +} + +build(){ + make $jobs +} + +package(){ + make install DESTDIR="$DESTDIR" $jobs + find "$DESTDIR" \( -name perllocal.pod -o -name .packlist \) -delete +} + diff --git a/dev/util/intltool/ympbuild b/dev/util/intltool/ympbuild index 786c5366..b4698e88 100644 --- a/dev/util/intltool/ympbuild +++ b/dev/util/intltool/ympbuild @@ -8,7 +8,7 @@ email='bk@gmail.com' maintainer='bk' license=('GPLv3') source=('https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz') -depends=() +depends=(perl-xml-parser gettext file) makedepends=() md5sums=('12e517cac2b57a0121cda351570f1e63') group=() diff --git a/lxde/base/menu-cache/menu-cache-1.1.0-0001-Support-gcc10-compilation.patch b/lxde/base/menu-cache/menu-cache-1.1.0-0001-Support-gcc10-compilation.patch new file mode 100644 index 00000000..29f8e534 --- /dev/null +++ b/lxde/base/menu-cache/menu-cache-1.1.0-0001-Support-gcc10-compilation.patch @@ -0,0 +1,108 @@ +From 1ce739649b4d66339a03fc0ec9ee7a2f7c141780 Mon Sep 17 00:00:00 2001 +From: Mamoru TASAKA +Date: Fri, 24 Jan 2020 13:33:00 +0900 +Subject: [PATCH] Support gcc10 compilation + +gcc10 now defaults to -fno-common, and with gcc10 menu-cache compilation fails like + +/bin/ld: menu-merge.o:menu-cache-gen/menu-tags.h:167: multiple definition of `DirDirs'; main.o:menu-cache-gen/menu-tags.h:167: first defined here +/bin/ld: menu-merge.o:menu-cache-gen/menu-tags.h:164: multiple definition of `AppDirs'; main.o:menu-cache-gen/menu-tags.h:164: first defined here +/bin/ld: menu-merge.o:menu-cache-gen/menu-tags.h:52: multiple definition of `menuTag_Layout'; main.o:menu-cache-gen/menu-tags.h:52: first defined here +.... + +This patch fixes compilation with gcc10: properly declaring variables in header with "extern", and also removing some unneeded variables in header files. +--- + menu-cache-gen/menu-tags.h | 55 ++++++++++++-------------------------- + 1 file changed, 17 insertions(+), 38 deletions(-) + +diff --git a/menu-cache-gen/menu-tags.h b/menu-cache-gen/menu-tags.h +index f3fd7d3..f71c0bc 100644 +--- a/menu-cache-gen/menu-tags.h ++++ b/menu-cache-gen/menu-tags.h +@@ -22,38 +22,17 @@ + #include + #include + +-FmXmlFileTag menuTag_Menu; +-FmXmlFileTag menuTag_AppDir; +-FmXmlFileTag menuTag_DefaultAppDirs; +-FmXmlFileTag menuTag_DirectoryDir; +-FmXmlFileTag menuTag_DefaultDirectoryDirs; +-FmXmlFileTag menuTag_Include; +-FmXmlFileTag menuTag_Exclude; +-FmXmlFileTag menuTag_Filename; +-FmXmlFileTag menuTag_Or; +-FmXmlFileTag menuTag_And; +-FmXmlFileTag menuTag_Not; +-FmXmlFileTag menuTag_Category; +-FmXmlFileTag menuTag_MergeFile; +-FmXmlFileTag menuTag_MergeDir; +-FmXmlFileTag menuTag_DefaultMergeDirs; +-FmXmlFileTag menuTag_Directory; +-FmXmlFileTag menuTag_Name; +-FmXmlFileTag menuTag_Deleted; +-FmXmlFileTag menuTag_NotDeleted; +-FmXmlFileTag menuTag_OnlyUnallocated; +-FmXmlFileTag menuTag_NotOnlyUnallocated; +-FmXmlFileTag menuTag_All; +-FmXmlFileTag menuTag_LegacyDir; +-FmXmlFileTag menuTag_KDELegacyDirs; +-FmXmlFileTag menuTag_Move; +-FmXmlFileTag menuTag_Old; +-FmXmlFileTag menuTag_New; +-FmXmlFileTag menuTag_Layout; +-FmXmlFileTag menuTag_DefaultLayout; +-FmXmlFileTag menuTag_Menuname; +-FmXmlFileTag menuTag_Separator; +-FmXmlFileTag menuTag_Merge; ++extern FmXmlFileTag menuTag_AppDir; ++extern FmXmlFileTag menuTag_DirectoryDir; ++extern FmXmlFileTag menuTag_Include; ++extern FmXmlFileTag menuTag_Exclude; ++extern FmXmlFileTag menuTag_Filename; ++extern FmXmlFileTag menuTag_Or; ++extern FmXmlFileTag menuTag_And; ++extern FmXmlFileTag menuTag_Not; ++extern FmXmlFileTag menuTag_Category; ++extern FmXmlFileTag menuTag_All; ++extern FmXmlFileTag menuTag_LegacyDir; + + typedef enum { + MERGE_NONE, /* starting value */ +@@ -152,19 +131,19 @@ typedef struct { + } MenuRule; + + /* requested language(s) */ +-char **languages; ++extern char **languages; + + /* list of menu files to monitor */ +-GSList *MenuFiles; ++extern GSList *MenuFiles; + + /* list of menu dirs to monitor */ +-GSList *MenuDirs; ++extern GSList *MenuDirs; + + /* list of available app dirs */ +-GSList *AppDirs; ++extern GSList *AppDirs; + + /* list of available dir dirs */ +-GSList *DirDirs; ++extern GSList *DirDirs; + + /* parse and merge menu files */ + MenuMenu *get_merged_menu(const char *file, FmXmlFile **xmlfile, GError **error); +@@ -177,7 +156,7 @@ gboolean save_menu_cache(MenuMenu *layout, const char *menuname, const char *fil + void _free_layout_items(GList *data); + + /* verbosity level */ +-gint verbose; ++extern gint verbose; + + #define DBG if (verbose) g_debug + #define VDBG if (verbose > 1) g_debug +-- +2.24.1 + diff --git a/lxde/base/menu-cache/ympbuild b/lxde/base/menu-cache/ympbuild index 7b03854d..f1fc8f03 100644 --- a/lxde/base/menu-cache/ympbuild +++ b/lxde/base/menu-cache/ympbuild @@ -7,18 +7,24 @@ description='Package description missing' email='bk@gmail.com' maintainer='bk' license=('GPLv3') -source=('https://github.com/lxde/menu-cache/archive/refs/tags/1.1.0.tar.gz') -depends=() +source=('https://github.com/lxde/menu-cache/archive/refs/tags/1.1.0.tar.gz' + 'menu-cache-1.1.0-0001-Support-gcc10-compilation.patch') +depends=(libfm) makedepends=() -md5sums=('8630de9fcb97c9ca9b13eccec5b35efa') +md5sums=('8630de9fcb97c9ca9b13eccec5b35efa' + 'SKIP') group=() uses=() arch=('x86_64') cd $name-$version +prepare(){ + patch -Np1 -i ../menu-cache-1.1.0-0001-Support-gcc10-compilation.patch +} + setup(){ - autoreconf -fvi + autoreconf -fvi ./configure --prefix=/usr \ --libdir=/usr/lib64/ } diff --git a/x11/libs/libfm/ympbuild b/x11/libs/libfm/ympbuild index dd1f9246..665a2e66 100644 --- a/x11/libs/libfm/ympbuild +++ b/x11/libs/libfm/ympbuild @@ -13,16 +13,17 @@ makedepends=() md5sums=('8b2864ba2d21586171ab9616b5610aeb') group=() uses=() +uses_extra=(extra-only) arch=('x86_64') cd $name-$version setup(){ - ./autogen.sh - ./configure --prefix=/usr \ + autoreconf -fvi + ./configure --prefix=/usr \ --libdir=/usr/lib64/ \ - --with-gtk=3 \ - --with-extra-only + --with-gtk=3 \ + $(use_opt extra-only --with-extra-only "") } build(){