summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2019-05-12 00:16:33 +0200
committerAndreas K. Hüttel <dilfridge@gentoo.org>2019-05-12 00:18:19 +0200
commit66b7a3f2cc41dbec839e53e98e97a8d86744e5ef (patch)
treef24b2e73109ae05f5da0a8e37ed8f7099399b851
parentsys-devel/gdb: drop 8.3.50.* snapshot in favour of 8.3 release (diff)
downloadgentoo-66b7a3f2.tar.gz
gentoo-66b7a3f2.tar.bz2
gentoo-66b7a3f2.zip
x11-wm/fvwm: Add Perl 5.26 / 5.28 fix, bug 674742
Closes: https://bugs.gentoo.org/674742 Package-Manager: Portage-2.3.66, Repoman-2.3.12 Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
-rw-r--r--x11-wm/fvwm/files/fvwm-2.6.8-perl528.patch15
-rw-r--r--x11-wm/fvwm/fvwm-2.6.5-r3.ebuild169
-rw-r--r--x11-wm/fvwm/fvwm-2.6.8-r2.ebuild158
3 files changed, 342 insertions, 0 deletions
diff --git a/x11-wm/fvwm/files/fvwm-2.6.8-perl528.patch b/x11-wm/fvwm/files/fvwm-2.6.8-perl528.patch
new file mode 100644
index 000000000000..5735fb1f89b7
--- /dev/null
+++ b/x11-wm/fvwm/files/fvwm-2.6.8-perl528.patch
@@ -0,0 +1,15 @@
+--- modules/FvwmPerl/FvwmPerl.in 2018-04-28 07:46:28.000000000 -0400
++++ modules/FvwmPerl/FvwmPerl.in 2019-01-06 20:44:59.035950968 -0500
+@@ -319,11 +319,11 @@
+ $FVWM_DATADIR = $FVWM_DATADIR || $module->site_data_dir;
+ $FVWM_USERDIR = $FVWM_USERDIR || $module->user_data_dir;
+ }
+
+ # perl code substitution first
+- $$text_ref =~ s/\Q$quote1\E { ( .*? ) } \Q$quote2\E/
++ $$text_ref =~ s/\Q$quote1\E \{ ( .*? ) \} \Q$quote2\E/
+ my $result = eval "
+ no strict;
+ package PreprocessNamespace;
+ $1
+ ";
diff --git a/x11-wm/fvwm/fvwm-2.6.5-r3.ebuild b/x11-wm/fvwm/fvwm-2.6.5-r3.ebuild
new file mode 100644
index 000000000000..9cb180c1f0c3
--- /dev/null
+++ b/x11-wm/fvwm/fvwm-2.6.5-r3.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils flag-o-matic
+
+DESCRIPTION="An extremely powerful ICCCM-compliant multiple virtual desktop window manager"
+HOMEPAGE="http://www.fvwm.org/"
+SRC_URI="ftp://ftp.fvwm.org/pub/fvwm/version-2/${P}.tar.bz2"
+
+LICENSE="GPL-2 FVWM"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~ia64 ppc ~ppc64 ~sparc x86 ~x86-fbsd"
+IUSE="bidi debug doc gtk2-perl netpbm nls perl png readline rplay stroke svg tk truetype +vanilla xinerama lock"
+
+COMMON_DEPEND="
+ sys-libs/zlib
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libxcb
+ x11-libs/libXcursor
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXpm
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ bidi? ( dev-libs/fribidi )
+ png? ( media-libs/libpng:0= )
+ readline? (
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ )
+ stroke? ( dev-libs/libstroke )
+ svg? ( gnome-base/librsvg )
+ truetype? (
+ media-libs/fontconfig
+ x11-libs/libXft
+ )
+ xinerama? ( x11-libs/libXinerama )
+"
+RDEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ gtk2-perl? ( dev-perl/Gtk2 )
+ perl? ( tk? (
+ dev-lang/tk
+ dev-perl/Tk
+ >=dev-perl/X11-Protocol-0.56
+ )
+ )
+ rplay? ( media-sound/rplay )
+ lock? ( x11-misc/xlockmore )
+ userland_GNU? ( sys-apps/debianutils )
+ !x86-fbsd? ( netpbm? ( media-libs/netpbm ) )
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ x11-base/xorg-proto
+ doc? ( dev-libs/libxslt )
+"
+
+src_prepare() {
+ if ! use vanilla; then
+ # Enables fast translucent menus; patch from fvwm-user mailing list.
+ epatch "${FILESDIR}/${PN}-2.5.27-translucent-menus.diff"
+
+ # Allow more mouse buttons, bug #411811
+ epatch "${FILESDIR}/${PN}-2.6.5-mouse-buttons.patch"
+
+ # Apply user-provided patches to the source tree, bug #411811
+ epatch_user
+ fi
+
+ epatch "${FILESDIR}/${PN}-2.6.5-ar.patch" #474528
+ epatch "${FILESDIR}/${PN}-2.6.8-perl528.patch" #674742
+ eautoreconf
+}
+
+src_configure() {
+ local myconf="--libexecdir=/usr/lib --with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm --enable-package-subdirs --without-gnome"
+
+ # Non-upstream email where bugs should be sent; used in fvwm-bug.
+ export FVWM_BUGADDR="desktop-wm@gentoo.org"
+
+ # Recommended by upstream.
+ append-flags -fno-strict-aliasing
+
+ # Signed chars are required.
+ use ppc && append-flags -fsigned-char
+
+ myconf="${myconf} --disable-gtk"
+
+ use readline && myconf="${myconf} --without-termcap-library"
+
+ econf ${myconf} \
+ $(use_enable bidi) \
+ $(use_enable debug debug-msgs) \
+ $(use_enable debug command-log) \
+ $(use_enable doc htmldoc) \
+ $(use_enable nls) \
+ $(use_enable nls iconv) \
+ $(use_enable perl perllib) \
+ $(use_with png png-library) \
+ $(use_with readline readline-library) \
+ $(use_with rplay rplay-library) \
+ $(use_with stroke stroke-library) \
+ $(use_enable svg rsvg) \
+ $(use_enable truetype xft) \
+ $(use_enable xinerama) \
+ --docdir="/usr/share/doc/${P}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" docdir="/usr/share/doc/${P}" install
+
+ # These are always removed, because gentoo doesn't have anymore
+ # a dev-perl/gtk-perl package, so, these modules are pointless.
+ rm -f "${D}/usr/share/fvwm/perllib/FVWM/Module/Gtk.pm"
+ find "${D}" -name '*FvwmGtkDebug*' -exec rm -f '{}' \; 2>/dev/null
+
+ if ! use lock; then
+ find "${D}" -name '*fvwm-menu-xlock' -exec rm -f '{}' \; 2>/dev/null
+ fi
+
+ if use perl; then
+ if ! use tk; then
+ rm -f "${D}/usr/share/fvwm/perllib/FVWM/Module/Tk.pm"
+ if ! use gtk2-perl; then # no tk and no gtk2 bindings
+ rm -f "${D}/usr/share/fvwm/perllib/FVWM/Module/Toolkit.pm"
+ find "${D}/usr/share/fvwm/perllib" -depth -type d -exec rmdir '{}' \; 2>/dev/null
+ fi
+ fi
+
+ # Now, the Gtk2.pm file, it will require dev-perl/Gtk2
+ # so it implies gtk2 as well. That's why we need another use flag.
+ if ! use gtk2-perl; then
+ rm -f "${D}/usr/share/fvwm/perllib/FVWM/Module/Gtk2.pm"
+ fi
+ else
+ # Completely wipe it if ! use perl
+ rm -rf "${D}/usr/bin/fvwm-perllib" \
+ "${D}/usr/share/man/man1/fvwm-perllib.1"
+ fi
+
+ # Utility for testing FVWM behaviour by creating a simple window with
+ # configurable hints.
+ if use debug; then
+ dobin "${S}/tests/hints/hints_test"
+ newdoc "${S}/tests/hints/README" README.hints
+ fi
+
+ dodir /etc/X11/Sessions
+ echo "/usr/bin/fvwm" > "${D}/etc/X11/Sessions/${PN}" || die
+ fperms a+x /etc/X11/Sessions/${PN} || die
+
+ dodoc AUTHORS ChangeLog NEWS README \
+ docs/{ANNOUNCE,BUGS,COMMANDS,CONVENTIONS} \
+ docs/{DEVELOPERS,error_codes,FAQ,TODO,fvwm.lsm}
+
+ # README file for translucent menus patch.
+ if ! use vanilla; then
+ dodoc "${FILESDIR}"/README.translucency
+ ewarn "You are using a patched build, so, please, don't"
+ ewarn "report bugs at the fvwm-workers list unless you are"
+ ewarn "also able to reproduce them with a vanilla build (USE=vanilla)."
+ fi
+}
diff --git a/x11-wm/fvwm/fvwm-2.6.8-r2.ebuild b/x11-wm/fvwm/fvwm-2.6.8-r2.ebuild
new file mode 100644
index 000000000000..02edbfa8a8f9
--- /dev/null
+++ b/x11-wm/fvwm/fvwm-2.6.8-r2.ebuild
@@ -0,0 +1,158 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools flag-o-matic desktop
+
+DESCRIPTION="An extremely powerful ICCCM-compliant multiple virtual desktop window manager"
+HOMEPAGE="http://www.fvwm.org/"
+SRC_URI="https://github.com/fvwmorg/fvwm/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2 FVWM"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="bidi debug doc netpbm nls perl png readline rplay stroke svg tk truetype +vanilla xinerama lock"
+
+COMMON_DEPEND="
+ sys-libs/zlib
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libxcb
+ x11-libs/libXcursor
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXpm
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ virtual/libiconv
+ bidi? ( dev-libs/fribidi )
+ nls? ( virtual/libintl )
+ png? ( media-libs/libpng:0= )
+ readline? (
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ )
+ stroke? ( dev-libs/libstroke )
+ svg? ( gnome-base/librsvg )
+ truetype? (
+ media-libs/fontconfig
+ x11-libs/libXft
+ )
+ xinerama? ( x11-libs/libXinerama )
+"
+RDEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ perl? ( tk? (
+ dev-lang/tk
+ dev-perl/Tk
+ >=dev-perl/X11-Protocol-0.56
+ )
+ )
+ rplay? ( media-sound/rplay )
+ lock? ( x11-misc/xlockmore )
+ userland_GNU? ( sys-apps/debianutils )
+ !x86-fbsd? ( netpbm? ( media-libs/netpbm ) )
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ x11-base/xorg-proto
+ doc? ( dev-libs/libxslt )
+"
+
+src_prepare() {
+ if ! use vanilla; then
+ # Enables fast translucent menus; patch from fvwm-user mailing list.
+ eapply -p0 "${FILESDIR}/${PN}-2.5.27-translucent-menus.diff"
+
+ # Allow more mouse buttons, bug #411811
+ eapply -p0 "${FILESDIR}/${PN}-2.6.5-mouse-buttons.patch"
+ fi
+
+ eapply -p0 "${FILESDIR}/${PN}-2.6.5-ar.patch" #474528
+
+ # Fix for Perl 5.28
+ eapply -p0 "${FILESDIR}/${PN}-2.6.8-perl528.patch"
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --libexecdir="${EPREFIX}"/usr/$(get_libdir)
+ --with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm
+ --enable-iconv
+ --enable-package-subdirs
+ --docdir="/usr/share/doc/${P}"
+ $(use_enable bidi)
+ $(use_enable debug debug-msgs)
+ $(use_enable debug command-log)
+ $(use_enable doc htmldoc)
+ $(use_enable nls)
+ $(use_enable perl perllib)
+ $(use_enable png)
+ $(use_with readline readline-library)
+ $(use_with rplay rplay-library)
+ $(use_with stroke stroke-library)
+ $(use_enable svg rsvg)
+ $(use_enable truetype xft)
+ $(use_enable xinerama)
+ )
+
+ # Non-upstream email where bugs should be sent; used in fvwm-bug.
+ export FVWM_BUGADDR="maintainer-needed@gentoo.org"
+
+ # Recommended by upstream, reference ????
+ append-flags -fno-strict-aliasing
+
+ # Signed chars are required.
+ use ppc && append-flags -fsigned-char
+
+ use readline && myeconfargs+=( --without-termcap-library )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ make_session_desktop fvwm /usr/bin/fvwm
+
+ if ! use lock; then
+ find "${D}" -name '*fvwm-menu-xlock' -exec rm -f '{}' \; 2>/dev/null
+ fi
+
+ if use perl; then
+ if ! use tk; then
+ rm "${D}"/usr/share/fvwm/perllib/FVWM/Module/Tk.pm || die
+ rm "${D}"/usr/share/fvwm/perllib/FVWM/Module/Toolkit.pm || die
+ find "${D}"/usr/share/fvwm/perllib -depth -type d -exec rmdir '{}' \; 2>/dev/null
+ fi
+ else
+ # Completely wipe it if ! use perl
+ rm -r "${D}"/usr/bin/fvwm-perllib "${D}"/usr/share/man/man1/fvwm-perllib.1
+ fi
+
+ # Utility for testing FVWM behaviour by creating a simple window with
+ # configurable hints.
+ if use debug; then
+ dobin "${S}"/tests/hints/hints_test
+ newdoc "${S}"/tests/hints/README README.hints
+ fi
+
+ dodir /etc/X11/Sessions
+ echo "/usr/bin/fvwm" > "${D}"/etc/X11/Sessions/${PN} || die
+ fperms a+x /etc/X11/Sessions/${PN} || die
+
+ dodoc docs/{COMMANDS,DEVELOPERS.md}
+
+ # README file for translucent menus patch.
+ if ! use vanilla; then
+ dodoc "${FILESDIR}"/README.translucency
+ ewarn "You are using a patched build, so, please, don't"
+ ewarn "report bugs at the fvwm-workers list unless you are"
+ ewarn "also able to reproduce them with a vanilla build (USE=vanilla)."
+ fi
+}