public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: x11-wm/fvwm/files/, x11-wm/fvwm/
@ 2019-05-11 22:18 Andreas K. Hüttel
  0 siblings, 0 replies; only message in thread
From: Andreas K. Hüttel @ 2019-05-11 22:18 UTC (permalink / raw
  To: gentoo-commits

commit:     66b7a3f2cc41dbec839e53e98e97a8d86744e5ef
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sat May 11 22:16:33 2019 +0000
Commit:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sat May 11 22:18:19 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=66b7a3f2

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 <AT> gentoo.org>

 x11-wm/fvwm/files/fvwm-2.6.8-perl528.patch |  15 +++
 x11-wm/fvwm/fvwm-2.6.5-r3.ebuild           | 169 +++++++++++++++++++++++++++++
 x11-wm/fvwm/fvwm-2.6.8-r2.ebuild           | 158 +++++++++++++++++++++++++++
 3 files changed, 342 insertions(+)

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 00000000000..5735fb1f89b
--- /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 00000000000..9cb180c1f0c
--- /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 00000000000..02edbfa8a8f
--- /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
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2019-05-11 22:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-11 22:18 [gentoo-commits] repo/gentoo:master commit in: x11-wm/fvwm/files/, x11-wm/fvwm/ Andreas K. Hüttel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox