diff options
Diffstat (limited to 'x11-wm')
83 files changed, 1460 insertions, 2130 deletions
diff --git a/x11-wm/amiwm/Manifest b/x11-wm/amiwm/Manifest index d2c039c17bb6..250b8225e4c3 100644 --- a/x11-wm/amiwm/Manifest +++ b/x11-wm/amiwm/Manifest @@ -1 +1 @@ -DIST amiwm-0.22.01_p20200826.tar.gz 153787 BLAKE2B eebd61436bff6c063c0946f61632f5a56ba01d62f01e2761de62fed1c2c5049a191dbbaf836ac0b0771b38a84dc6f52a40ee53b9c73666855cfe03b6a829f9a8 SHA512 a4329eb8ea98b631611a6e069f27a6c640bfac94aa5a2c3591c9c35c4b08ea6f123fadcd56597353b27ec67bc079e8268e1b700fe85c0d545c9bb93439362c1b +DIST amiwm-0.22.01_p20230916.tar.gz 153785 BLAKE2B c1a3e25bcef99f8381dec22eec82ec66393b97eb1924e7fb8f58d57ff81db0c1b0dfdda9cca46e0c8e0fe514ec6c9c79f3abcdfc99915571b9e1d9a6f29548b0 SHA512 4d58b3120ff2c72ad5aeab488221e992380567bbb69abc9ef170fc133be4bde771b93c71ef1e10a2dd995cb5aadc7598f62b8ce7288d6265da17b2fd93554dc0 diff --git a/x11-wm/amiwm/amiwm-0.22.01_p20200826.ebuild b/x11-wm/amiwm/amiwm-0.22.01_p20230916.ebuild index 01783f64e26e..3395a726dd7b 100644 --- a/x11-wm/amiwm/amiwm-0.22.01_p20200826.ebuild +++ b/x11-wm/amiwm/amiwm-0.22.01_p20230916.ebuild @@ -1,13 +1,13 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit autotools -COMMIT="8b8c956a904fa73edb02d4dc6d45bc0358bff3b3" +COMMIT="74a398944f9a2c543b6b176e65ed4ee2373b1d65" DESCRIPTION="Amiga Workbench inspired window manager for Xorg" -HOMEPAGE="https://github.com/redsPL/amiwm" +HOMEPAGE="https://github.com/sdomi/amiwm" SRC_URI="https://github.com/chewi/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" LICENSE="amiwm" diff --git a/x11-wm/amiwm/metadata.xml b/x11-wm/amiwm/metadata.xml index 7118affd8801..e2849ec8821c 100644 --- a/x11-wm/amiwm/metadata.xml +++ b/x11-wm/amiwm/metadata.xml @@ -5,9 +5,12 @@ <email>chewi@gentoo.org</email> <name>James Le Cuirot</name> </maintainer> + <upstream> + <remote-id type="github">sdomi/amiwm</remote-id> + </upstream> <longdescription> amiwm is an X window manager that tries to make your display look and feel like an Amiga Workbench screen. It is fully functional and can do all the usual window manager stuff, like moving and resizing windows. - </longdescription> + </longdescription> </pkgmetadata> diff --git a/x11-wm/blackbox/blackbox-0.77.ebuild b/x11-wm/blackbox/blackbox-0.77-r1.ebuild index 32b54c5b3e31..7757c55f873b 100644 --- a/x11-wm/blackbox/blackbox-0.77.ebuild +++ b/x11-wm/blackbox/blackbox-0.77-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ SRC_URI="https://github.com/bbidulock/blackboxwm/archive/${PV}.tar.gz -> ${P}.ta LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~m68k ppc ppc64 ~riscv sparc x86" +KEYWORDS="amd64 arm ppc ppc64 sparc x86" IUSE="debug nls static-libs truetype" RDEPEND="x11-libs/libXft @@ -45,9 +45,11 @@ src_configure() { } src_install() { - dodir /etc/X11/Sessions - echo "/usr/bin/blackbox" > "${D}/etc/X11/Sessions/${PN}" - fperms a+x /etc/X11/Sessions/${PN} + exeinto /etc/X11/Sessions + newexe - ${PN} <<-EOF + #!/bin/sh + ${PN} + EOF insinto /usr/share/xsessions doins "${FILESDIR}/${PN}.desktop" diff --git a/x11-wm/dwm/dwm-6.4.ebuild b/x11-wm/dwm/dwm-6.4.ebuild index 4553c04b8640..56eb31afdeda 100644 --- a/x11-wm/dwm/dwm-6.4.ebuild +++ b/x11-wm/dwm/dwm-6.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://git.suckless.org/dwm" else SRC_URI="https://dl.suckless.org/${PN}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" + KEYWORDS="amd64 ~arm arm64 ppc ppc64 ~riscv x86" fi LICENSE="MIT" diff --git a/x11-wm/e16/Manifest b/x11-wm/e16/Manifest index 8c473fe0361f..5ccaefc97367 100644 --- a/x11-wm/e16/Manifest +++ b/x11-wm/e16/Manifest @@ -1,2 +1 @@ -DIST e16-1.0.24.tar.xz 1392444 BLAKE2B 5a4c30af2d484226fac73cbe9131ae9dc308638fc035958012b99747ddaa15b1fc1340fe74c7e809e399b5c93dfc7bf8a6ead338c3977483621f4ab98f8f4a3e SHA512 869e2c654bbdcdbb56656cacea8338b0f99a991e4aeaa4dde3fd01e358b1010a58422344e617d522e024186ab98a1d9364e6ea3428507b3831516d1da5dfb08a DIST e16-1.0.25.tar.xz 1400004 BLAKE2B 34ef7be6896d04234b3a48675c185aa86d7a70e0e8b5db2cdf15bef4336a40575065713f9612b94dd29a490902f36f9eb08489a779160801e885a5635d896e56 SHA512 e5cc6b08ddad8eb3052dbafda2a0ab56134e90eb9cdf75da405ac853301eadf8348dc918218119117a1f96d08e562367ff60365deb790a14af5fbdaaf89684d3 diff --git a/x11-wm/e16/e16-1.0.24.ebuild b/x11-wm/e16/e16-1.0.24.ebuild deleted file mode 100644 index 786d09336886..000000000000 --- a/x11-wm/e16/e16-1.0.24.ebuild +++ /dev/null @@ -1,147 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Enlightenment Window Manager (E16)" -HOMEPAGE="https://www.enlightenment.org https://sourceforge.net/projects/enlightenment/" -SRC_URI="mirror://sourceforge/enlightenment/${P}.tar.xz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="+alsa audiofile container dbus debug +dialogs doc examples -gnome libhack modules nls opengl +pango +poll player pulseaudio -select +sndfile sound +themes xcomposite +xft xi2 xinerama xpresent -+xrandr +xrender +xsm +xsync zoom" - -REQUIRED_USE=" - ^^ ( poll select ) - opengl? ( xcomposite ) - pango? ( xft ) - sound? ( - ^^ ( alsa player pulseaudio ) - alsa? ( ^^ ( sndfile audiofile ) ) - pulseaudio? ( ^^ ( sndfile audiofile ) ) - ) -" - -BDEPEND=" - nls? ( sys-devel/gettext ) - virtual/pkgconfig -" -COMMON_DEPEND=" - media-libs/freetype:2 - media-libs/imlib2[X] - virtual/libiconv - x11-libs/libX11 - x11-libs/libXext - x11-misc/xbitmaps - dbus? ( sys-apps/dbus ) - opengl? ( - media-libs/glu - media-libs/mesa - ) - pango? ( - dev-libs/glib:2 - x11-libs/pango[X] - ) - sound? ( - alsa? ( media-libs/alsa-lib ) - player? ( media-sound/alsa-utils ) - pulseaudio? ( || ( - media-sound/apulse[sdk] - media-sound/pulseaudio - ) ) - audiofile? ( media-libs/audiofile:= ) - sndfile? ( media-libs/libsndfile ) - ) - xcomposite? ( - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXfixes - ) - xft? ( x11-libs/libXft ) - xinerama? ( x11-libs/libXinerama ) - xpresent? ( x11-libs/libXpresent ) - xrandr? ( x11-libs/libXrandr ) - xrender? ( x11-libs/libXrender ) - xsm? ( - x11-libs/libICE - x11-libs/libSM - ) - zoom? ( x11-libs/libXxf86vm ) -" -RDEPEND="${COMMON_DEPEND} - doc? ( app-doc/e16-docs ) - nls? ( virtual/libintl ) - themes? ( x11-themes/e16-themes ) - !x11-wm/enlightenment:0 -" -DEPEND="${COMMON_DEPEND} - x11-base/xorg-proto -" - -src_configure() { - local myconf=( - $(use_enable container) - $(use_enable dbus) - $(use_enable debug libtrip) - $(use_enable dialogs) - $(use_enable doc docs) - $(use_enable libhack) - $(use_enable modules) - $(use_enable nls) - $(use_enable opengl glx) - $(use_enable pango) - $(use_enable xcomposite composite) - $(use_enable xft) - $(use_enable xi2) - $(use_enable xinerama) - $(use_enable xpresent) - $(use_enable xrandr) - $(use_enable xrender) - $(use_enable xsm sm) - $(use_enable xsync) - $(use_enable zoom) - $(use_with gnome gnome gnome3) - --enable-mans - --disable-docs - --disable-esdtest - --disable-gcc-cpp - --disable-hints-gnome - --disable-werror - --disable-xscrnsaver - ) - if use sound; then - use alsa && myconf+=( --enable-sound=alsa ) - use pulseaudio && myconf+=( --enable-sound=pulseaudio ) - use player && myconf+=( --enable-sound=player ) - - if use alsa || use pulseaudio; then - use sndfile && myconf+=( --with-sndldr=sndfile ) - use audiofile && myconf+=( --with-sndldr=audiofile ) - else - myconf+=( --without-sndldr ) - fi - else - myconf+=( --disable-sound --without-sndldr ) - fi - use poll && myconf+=( --with-evhan=poll ) - use select && myconf+=( --with-evhan=select ) - - econf "${myconf[@]}" -} - -src_install() { - default - docompress -x /usr/share/doc/${PF}/e16.html - dodoc COMPLIANCE docs/e16.html - use examples && dodoc -r sample-scripts -} - -pkg_postinst() { - einfo "In order to use custom fonts, put them into ~/.e16/fonts/ and use" - einfo "appropriate names in ~/.e16/fonts.cfg. \"Use theme font configuration\"" - einfo "in the Theme setting should be disabled for this to work." -} diff --git a/x11-wm/e16/e16-1.0.25.ebuild b/x11-wm/e16/e16-1.0.25-r1.ebuild index a7804aab9c99..b35cdeb40b44 100644 --- a/x11-wm/e16/e16-1.0.25.ebuild +++ b/x11-wm/e16/e16-1.0.25-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,7 +9,7 @@ SRC_URI="mirror://sourceforge/enlightenment/${P}.tar.xz" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="+alsa audiofile dbus debug +dialogs doc examples gnome libhack modules nls no-container opengl +pango +poll player pulseaudio select +sndfile sound +themes xcomposite +xft xi2 @@ -50,8 +50,8 @@ COMMON_DEPEND=" alsa? ( media-libs/alsa-lib ) player? ( media-sound/alsa-utils ) pulseaudio? ( || ( + media-libs/libpulse media-sound/apulse[sdk] - media-sound/pulseaudio ) ) audiofile? ( media-libs/audiofile:= ) sndfile? ( media-libs/libsndfile ) diff --git a/x11-wm/e16/metadata.xml b/x11-wm/e16/metadata.xml index 5ee3f5c0bde3..597d69869e3e 100644 --- a/x11-wm/e16/metadata.xml +++ b/x11-wm/e16/metadata.xml @@ -6,7 +6,6 @@ <name>Andrew Savchenko</name> </maintainer> <use> - <flag name="container">Use container window</flag> <flag name="debug">Build libtrip debugging library</flag> <flag name="dialogs">Enable support for configuration dialogs</flag> <flag name="libhack">Build libhack window mode helper library</flag> diff --git a/x11-wm/fluxbox/fluxbox-1.3.7-r4.ebuild b/x11-wm/fluxbox/fluxbox-1.3.7-r4.ebuild deleted file mode 100644 index a7785b67f68f..000000000000 --- a/x11-wm/fluxbox/fluxbox-1.3.7-r4.ebuild +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit flag-o-matic toolchain-funcs prefix xdg - -DESCRIPTION="X11 window manager featuring tabs and an iconbar" -HOMEPAGE="http://www.fluxbox.org" -SRC_URI="mirror://sourceforge/fluxbox/${P}.tar.xz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux" -IUSE="nls xinerama bidi +truetype +imlib +slit +systray test +toolbar vim-syntax" -REQUIRED_USE="systray? ( toolbar )" -# Tests are all manual and throw an exception on launch. -RESTRICT="!test? ( test ) test" - -RDEPEND="bidi? ( >=dev-libs/fribidi-0.19.2 ) - imlib? ( >=media-libs/imlib2-1.2.0[X] ) - truetype? ( media-libs/freetype ) - vim-syntax? ( app-vim/fluxbox-syntax ) - x11-libs/libXext - x11-libs/libXft - x11-libs/libXpm - x11-libs/libXrandr - x11-libs/libXrender - xinerama? ( x11-libs/libXinerama ) - || ( x11-misc/gxmessage x11-apps/xmessage )" - -BDEPEND="bidi? ( virtual/pkgconfig ) - nls? ( sys-devel/gettext )" - -DEPEND="${RDEPEND} - x11-base/xorg-proto" - -PATCHES=( - "${FILESDIR}"/${P}-c++17.patch -) - -src_prepare() { - default - # We need to be able to include directories rather than just plain - # files in menu [include] items. This patch will allow us to do clever - # things with style ebuilds. - eapply "${FILESDIR}"/gentoo_style_location-1.1.x.patch - - eprefixify util/fluxbox-generate_menu.in - - eapply "${FILESDIR}"/osx-has-otool.patch - - # Fix bug #551522; 1.3.8 will render this obsolete - eapply "${FILESDIR}"/fix-hidden-toolbar.patch - - # Add in the Gentoo -r number to fluxbox -version output. - if [[ "${PR}" == "r0" ]] ; then - suffix="gentoo" - else - suffix="gentoo-${PR}" - fi - sed -i \ - -e "s~\(__fluxbox_version .@VERSION@\)~\1-${suffix}~" \ - version.h.in || die "version sed failed" -} - -src_configure() { - xdg_environment_reset - - use bidi && append-cppflags "$($(tc-getPKG_CONFIG) --cflags fribidi)" - - econf \ - $(use_enable bidi fribidi ) \ - $(use_enable imlib imlib2) \ - $(use_enable nls) \ - $(use_enable slit) \ - $(use_enable systray) \ - $(use_enable test) \ - $(use_enable toolbar) \ - $(use_enable truetype xft) \ - $(use_enable xinerama) \ - --sysconfdir="${EPREFIX}"/etc/X11/${PN} \ - --with-style="${EPREFIX}"/usr/share/fluxbox/styles/Emerge -} - -src_compile() { - emake AR="$(tc-getAR)" - - mkdir -p "${T}/home/.fluxbox" || die "mkdir home failed" - # Call fluxbox-generate_menu through bash since it lacks +x - # chmod 744 may be an equal fix - MENUFILENAME="${S}/data/menu" MENUTITLE="Fluxbox ${PV}" \ - CHECKINIT="no. go away." HOME="${T}/home" \ - bash "${S}/util/fluxbox-generate_menu" -is -ds \ - || die "menu generation failed" -} - -src_install() { - emake DESTDIR="${D}" STRIP="" install - dodoc README* AUTHORS TODO* ChangeLog NEWS - - # Install the generated menu - insinto /usr/share/fluxbox - doins data/menu - - insinto /usr/share/xsessions - doins "${FILESDIR}"/${PN}.desktop - - exeinto /etc/X11/Sessions - newexe "${FILESDIR}"/${PN}.xsession fluxbox - - # Styles menu framework - insinto /usr/share/fluxbox/menu.d/styles - doins "${FILESDIR}"/styles-menu-fluxbox - doins "${FILESDIR}"/styles-menu-commonbox - doins "${FILESDIR}"/styles-menu-user -} diff --git a/x11-wm/fluxbox/fluxbox-1.3.7-r5.ebuild b/x11-wm/fluxbox/fluxbox-1.3.7-r5.ebuild index 9f0445070bb7..c46d1f16478c 100644 --- a/x11-wm/fluxbox/fluxbox-1.3.7-r5.ebuild +++ b/x11-wm/fluxbox/fluxbox-1.3.7-r5.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/fluxbox/${P}.tar.xz" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux" IUSE="nls xinerama bidi +truetype +imlib +slit +systray test +toolbar vim-syntax" REQUIRED_USE="systray? ( toolbar )" # Tests are all manual and throw an exception on launch. diff --git a/x11-wm/fvwm/fvwm-2.7.0-r1.ebuild b/x11-wm/fvwm/fvwm-2.7.0-r1.ebuild new file mode 100644 index 000000000000..775437b687c9 --- /dev/null +++ b/x11-wm/fvwm/fvwm-2.7.0-r1.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +inherit autotools flag-o-matic python-single-r1 desktop + +DESCRIPTION="An extremely powerful ICCCM-compliant multiple virtual desktop window manager" +HOMEPAGE="https://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 ~riscv ~sparc x86" +IUSE="bidi debug doc netpbm nls perl png readline stroke svg tk truetype +vanilla xinerama lock" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +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 + $(python_gen_cond_dep ' + dev-python/pyxdg[${PYTHON_USEDEP}] + ') + 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} + ${PYTHON_DEPS} + dev-lang/perl + sys-apps/debianutils + perl? ( tk? ( + dev-lang/tk + dev-perl/Tk + >=dev-perl/X11-Protocol-0.56 + ) + ) + lock? ( x11-misc/xlockmore ) + netpbm? ( media-libs/netpbm ) +" +DEPEND="${COMMON_DEPEND} + x11-base/xorg-proto +" +BDEPEND=" + dev-lang/perl + dev-libs/libxslt + virtual/pkgconfig +" + +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 + + eapply "${FILESDIR}"/fvwm-2.7.0-clang16.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 + --enable-mandoc + --without-rplay-library + $(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 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 ) + + export ac_cv_path_PYTHON="${PYTHON}" + + 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 + + exeinto /etc/X11/Sessions + newexe - ${PN} <<-EOF + #!/bin/sh + ${PN} + EOF + + 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 +} diff --git a/x11-wm/fvwm3/Manifest b/x11-wm/fvwm3/Manifest index 3469d010d753..f7b692de43b2 100644 --- a/x11-wm/fvwm3/Manifest +++ b/x11-wm/fvwm3/Manifest @@ -1,2 +1 @@ -DIST fvwm3-1.0.4.tar.gz 4691719 BLAKE2B 4ce93b1a2d110b570b5fc8b253f9ff8ea1f44e5470c6e1bc136a53ebe53a23abe3d075bf351fca54ac110ea5731f9b44c59c83186d320e7509bf26e5144436ca SHA512 b72a1ebeba7c55214603fd43ea439f7283b3c79e39d2671a67b9512c67dcea111377eab2131ed0b18a72f6b772b0d048abe08f52565708367465ed9bb14e85f6 -DIST fvwm3-1.0.6a.tar.gz 4538100 BLAKE2B c71087eb09a17760ff5754060c4639228f268a0f3640ce0d92d7d8f807aa0df36eac998da0ed943787f1bb369ac90b7b2ca65d922120d41ed81a940be7756f4f SHA512 7577e0dde1f7c5c54024207cf48ab5b816c87fc163735e44eb72e66561c67c08f6a06e7fbf5c89fa6180b692ce25e5121845476d0d1dcfb8273b0aa7321d28f9 +DIST fvwm3-1.0.8.tar.gz 5644021 BLAKE2B c2a0a4953f556f86128452c8b42d8f86e2a02c9314cca17688987a51ed91bb3ecccf29e77f2b01c7ed444b54f45e402859ed1cce39714ad6d47860f639509b80 SHA512 fef69b6d97b3533e6722b48336aa8904b399c42437c4adcab756edf55cf839126002255dfa268bf7159d3bb9caf4d44c43a9217c9df5dc6224cef8461ecf2c34 diff --git a/x11-wm/fvwm3/files/README.translucency b/x11-wm/fvwm3/files/README.translucency deleted file mode 100644 index a60b5f668acd..000000000000 --- a/x11-wm/fvwm3/files/README.translucency +++ /dev/null @@ -1,94 +0,0 @@ -From owner-fvwm@hpc.uh.edu Sun Aug 31 22:52:59 2003 -Received: from sina.hpc.uh.edu ([129.7.128.10] ident=lists) - by malifon.math.uh.edu with esmtp (Exim 3.20 #1) - id 19tb0F-0006NY-00; Sun, 31 Aug 2003 17:48:59 -0500 -Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Sun, 31 Aug 2003 17:50:31 -0500 (CDT) -Received: from epithumia.math.uh.edu (epithumia.math.uh.edu [129.7.128.2]) - by sina.hpc.uh.edu (8.9.3/8.9.3) with ESMTP id RAA16575 - for <fvwm@hpc.uh.edu>; Sun, 31 Aug 2003 17:50:24 -0500 (CDT) -Received: from epithumia.math.uh.edu (epithumia.math.uh.edu [127.0.0.1]) - by epithumia.math.uh.edu (8.12.8/8.12.5) with ESMTP id h7VMml6M025095 - for <fvwm@hpc.uh.edu>; Sun, 31 Aug 2003 17:48:47 -0500 -Received: (from tibbs@localhost) - by epithumia.math.uh.edu (8.12.8/8.12.8/Submit) id h7VMmlVC025093 - for fvwm@hpc.uh.edu; Sun, 31 Aug 2003 17:48:47 -0500 -Received: from util2.math.uh.edu (util2.math.uh.edu [129.7.128.23]) - by sina.hpc.uh.edu (8.9.3/8.9.3) with ESMTP id QAA16418 - for <fvwm@hpc.uh.edu>; Sun, 31 Aug 2003 16:02:07 -0500 (CDT) -Received: from postfix4-2.free.fr ([213.228.0.176]) - by util2.math.uh.edu with esmtp (Exim 4.20) - id 19tZIm-00079F-6t - for fvwm@fvwm.org; Sun, 31 Aug 2003 16:00:00 -0500 -Received: from snoopy.folie (nas-p19-3-62-147-221-172.dial.proxad.net [62.147.221.172]) - by postfix4-2.free.fr (Postfix) with ESMTP id 59DE6C386 - for <fvwm@fvwm.org>; Sun, 31 Aug 2003 22:59:34 +0200 (CEST) -Received: by snoopy.folie (Postfix, from userid 501) - id A4D1D48784; Sun, 31 Aug 2003 22:39:19 +0200 (CEST) -Date: Sun, 31 Aug 2003 22:39:19 +0200 -From: Olivier Chapuis <olivier.chapuis@free.fr> -To: fvwm@fvwm.org -Subject: Re: FVWM: Transparency/Translucency revisited... -Message-ID: <20030831203919.GA6205@snoopy.folie> -Mail-Followup-To: fvwm@fvwm.org -References: <Pine.LNX.4.44.0308251817370.1980-100000@atlantis.ssw.krakow.pl> -Mime-Version: 1.0 -Content-Type: multipart/mixed; boundary="Nq2Wo0NMKNjxTN9z" -Content-Disposition: inline -In-Reply-To: <Pine.LNX.4.44.0308251817370.1980-100000@atlantis.ssw.krakow.pl> -User-Agent: Mutt/1.4i -X-Spam-Score: -9.3 (---------) -Sender: owner-fvwm@hpc.uh.edu -Precedence: list -X-Majordomo: 1.94.jlt7 -Status: RO -Content-Length: 6519 -Lines: 122 - - ---Nq2Wo0NMKNjxTN9z -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline - -On Mon, Aug 25, 2003 at 09:00:32PM +0200, Dawid Kuroczko wrote: -> Hello. :-) -> -> I did manage to make pseudo-transparent menus, but now I'd like -> to make something more "real". What I'd like to do is to have -> something like there is in KDE. -> -> It should work like this: -> 1. user clicks thus calling a Menu. -> 2. current screen dump is taken (with all the windows, but -> without a menu just as yet). -> 3. this screen dump is made available to Menu as -> root background pixmap. -> 4. Menu is displayed with tinted real background. -> -> This way it's pretty easy to make an illusion of real -> transparency (and looks "l33t", as some may say). -> - -Here a new version of the patch for current cvs/snapshot. -This patch add a new options to Colorset: Translucent/NoTranslucent. -These options has effects only with (non tear-off) menu. -Also menu animation is "handled". - -For example with: - - Colorset 5 fg yellow, bg blue, HGradient 200 lightblue darkblue, \ - Translucent blue 60 - Style * MenuColorset 5, PopupOffset 0 100, AnimationOff - -you get translucent menus (with a 60% blue tint) and if you tear-off -a menu the menu use the gradient. - -Regards, Olivier - -<snip patch> - --- -Visit the official FVWM web page at <URL: http://www.fvwm.org/>. -To unsubscribe from the list, send "unsubscribe fvwm" in the body of a -message to majordomo@fvwm.org. -To report problems, send mail to fvwm-owner@fvwm.org. - diff --git a/x11-wm/fvwm3/files/fvwm3-1.0.4-htmldoc.patch b/x11-wm/fvwm3/files/fvwm3-1.0.4-htmldoc.patch deleted file mode 100644 index ef277e902faa..000000000000 --- a/x11-wm/fvwm3/files/fvwm3-1.0.4-htmldoc.patch +++ /dev/null @@ -1,73 +0,0 @@ -This patch enables html documentation output for fvwm3 1.0.4 ---- a/doc/Makefile.am -+++ b/doc/Makefile.am -@@ -1,40 +1,59 @@ - docdir = @FVWM_DOCDIR@ --MODULE_ADOCS = $(wildcard fvwm3/fvwm3.adoc bin/*.adoc modules/*.adoc) -+DOC_SRC = $(wildcard fvwm3/fvwm3.adoc bin/*.adoc modules/*.adoc) - --EXTRA_DIST = $(MODULE_ADOCS) -+EXTRA_DIST = $(DOC_SRC) - - if FVWM_BUILD_MANDOC --BUILD_MANS = $(patsubst %.adoc,%, $(MODULE_ADOCS)) -+BUILD_MANS = $(DOC_SRC:.adoc=.1) -+BUILD_HTML = $(DOC_SRC:.adoc=.html) - else - BUILD_MANS = - endif - --all: docs --docs: $(BUILD_MANS) -+all: man html -+ -+man: $(BUILD_MANS) -+ -+html: $(BUILD_HTML) - - clean: - rm -fr man1/ -+ rm -fr html/ - - distclean-local: clean - - if FVWM_BUILD_MANDOC --QUIET_ASCIIDOC = @echo ' ' DOC ' ' $@'.1'; -+QUIET_ASCIIDOC = @echo ' ' DOC ' ' $@; - --%: %.adoc -+%.1: %.adoc - $(QUIET_ASCIIDOC) \ - NAME=`basename "$@" | "$(SED)" -e "${transform}"`; \ -- $(ASCIIDOC) -b manpage $< -o "man1/$$NAME.1" -+ $(ASCIIDOC) -b manpage $^ -o "man1/$$NAME" -+ -+%.html: %.adoc -+ $(QUIET_ASCIIDOC:.1=.html) \ -+ NAME=`basename "$@" | "$(SED)" -e "${transform}"`; \ -+ $(ASCIIDOC) -b html5 $^ -o "html/$$NAME" - - install-data-local: - install -d -m 755 $(DESTDIR)$(mandir)/man1/ - @for i in $(notdir $(BUILD_MANS)); do \ - NAME=`basename "$$i" | "$(SED)" -e "${transform}"`; \ -- install -m 644 "man1/$$NAME.1" $(DESTDIR)$(mandir)/man1/; \ -+ install -m 644 "man1/$$NAME" $(DESTDIR)$(mandir)/man1/; \ -+ done -+ install -d -m 755 $(DESTDIR)$(mandir)/html/ -+ @for i in $(notdir $(BUILD_HTML)); do \ -+ NAME=`basename "$$i" | "$(SED)" -e "${transform}"`; \ -+ install -m 644 "html/$$NAME" $(DESTDIR)$(mandir)/html/; \ - done - - uninstall-local: - @for i in $(notdir $(BUILD_MANS)); do \ - NAME=`basename "$$i" | "$(SED)" -e "${transform}"`; \ -- rm -f "$(DESTDIR)$(mandir)/man1/$$NAME.1"; \ -+ rm -f "$(DESTDIR)$(mandir)/man1/$$NAME"; \ -+ done -+ @for i in $(notdir $(BUILD_HTML)); do \ -+ NAME=`basename "$$i" | "$(SED)" -e "${transform}"`; \ -+ rm -f "$(DESTDIR)$(mandir)/html/$$NAME"; \ - done - endif diff --git a/x11-wm/fvwm3/files/fvwm3-1.0.4-translucent-menus.patch b/x11-wm/fvwm3/files/fvwm3-1.0.4-translucent-menus.patch deleted file mode 100644 index 5ead9b09aff5..000000000000 --- a/x11-wm/fvwm3/files/fvwm3-1.0.4-translucent-menus.patch +++ /dev/null @@ -1,487 +0,0 @@ ---- a/fvwm/colorset.c -+++ b/fvwm/colorset.c -@@ -162,6 +162,8 @@ static char *csetopts[] = - "NoIconTint", - "IconAlpha", - -+ "Translucent", -+ "NoTranslucent", - NULL - }; - -@@ -620,6 +622,7 @@ void parse_colorset(int n, char *line) - char *fg_tint = NULL; - char *bg_tint = NULL; - char *icon_tint = NULL; -+ char *translucent_tint = NULL; - Bool have_pixels_changed = False; - Bool has_icon_pixels_changed = False; - Bool has_fg_changed = False; -@@ -632,6 +635,7 @@ void parse_colorset(int n, char *line) - Bool has_fg_tint_changed = False; - Bool has_bg_tint_changed = False; - Bool has_icon_tint_changed = False; -+ Bool has_translucent_tint_changed = False; - Bool has_pixmap_changed = False; - Bool has_shape_changed = False; - Bool has_image_alpha_changed = False; -@@ -758,6 +762,10 @@ void parse_colorset(int n, char *line) - case 21: /* Plain */ - has_pixmap_changed = True; - free_colorset_background(cs, True); -+ cs->is_translucent = False; -+ cs->translucent_tint_percent = 0; -+ cs->color_flags &= ~TRANSLUCENT_TINT_SUPPLIED; -+ has_translucent_tint_changed = True; - break; - case 22: /* NoShape */ - has_shape_changed = True; -@@ -923,6 +931,24 @@ void parse_colorset(int n, char *line) - cs->icon_alpha_percent = tmp; - } - break; -+ case 42: /* Translucent */ -+ cs->is_translucent = True; -+ parse_simple_tint( -+ cs, args, &translucent_tint, -+ TRANSLUCENT_TINT_SUPPLIED, -+ &has_translucent_tint_changed, &percent, -+ "Translucent"); -+ if (has_translucent_tint_changed) -+ { -+ cs->translucent_tint_percent = percent; -+ } -+ break; -+ case 43: /* NoTranslucent */ -+ cs->is_translucent = False; -+ cs->translucent_tint_percent = 0; -+ cs->color_flags &= ~TRANSLUCENT_TINT_SUPPLIED; -+ has_translucent_tint_changed = True; -+ break; - default: - /* test for ?Gradient */ - if (option[0] && StrEquals(&option[1], "Gradient")) -@@ -1624,6 +1650,27 @@ void parse_colorset(int n, char *line) - } - } - -+ /* -+ * ---------- change the translucent tint colour ---------- -+ */ -+ if (has_translucent_tint_changed) -+ { -+ /* user specified colour */ -+ if (translucent_tint != NULL) -+ { -+ PictureFreeColors( -+ dpy, Pcmap, &cs->translucent_tint, 1, 0, True); -+ cs->translucent_tint = GetColor(translucent_tint); -+ } -+ else -+ { -+ /* default */ -+ PictureFreeColors( -+ dpy, Pcmap, &cs->translucent_tint, 1, 0, True); -+ cs->translucent_tint = GetColor(black); -+ } -+ } -+ - /* - * ---------- send new colorset to fvwm and clean up ---------- - */ -@@ -1720,6 +1767,7 @@ void alloc_colorset(int n) - ncs->fgsh = GetColor(white); - ncs->tint = GetColor(black); - ncs->icon_tint = GetColor(black); -+ ncs->translucent_tint = GetColor(black); - ncs->pixmap = XCreatePixmapFromBitmapData( - dpy, Scr.NoFocusWin, - &g_bits[4 * (nColorsets % 3)], 4, 4, -@@ -1737,6 +1785,7 @@ void alloc_colorset(int n) - ncs->fgsh = GetForeShadow(ncs->fg, ncs->bg); - ncs->tint = GetColor(black); - ncs->icon_tint = GetColor(black); -+ ncs->translucent_tint = GetColor(black); - } - ncs->fg_tint = ncs->bg_tint = GetColor(black); - /* set flags for fg contrast, bg average */ -@@ -1748,6 +1797,7 @@ void alloc_colorset(int n) - ncs->icon_alpha_percent = 100; - ncs->tint_percent = 0; - ncs->icon_tint_percent = 0; -+ ncs->translucent_tint_percent = 0; - ncs->fg_tint_percent = ncs->bg_tint_percent = 0; - ncs->dither = (PictureDitherByDefault())? True:False; - nColorsets++; ---- a/fvwm/menuroot.h -+++ b/fvwm/menuroot.h -@@ -147,6 +147,9 @@ typedef struct MenuRootDynamic - int d_npixels; - } stored_pixels; - /* alloc pixels when dithering is used for gradients */ -+ /* x,y XMapRaise */ -+ int x; -+ int y; - } MenuRootDynamic; - - /* access macros to dynamic menu members */ ---- a/fvwm/menus.c -+++ b/fvwm/menus.c -@@ -75,6 +75,18 @@ - (ctx).menu_root.menu_root = (root)) - #define SCTX_GET_MR(ctx) ((ctx).type == SCTX_MENU_ROOT ? \ - (ctx).menu_root.menu_root : NULL) -+#define MENU_IS_TRANSLUCENT(mr,cs) \ -+ (!MR_IS_TEAR_OFF_MENU(mr) && CSET_IS_TRANSLUCENT(cs)) -+#define MENU_IS_TRANSPARENT(mr,cs) \ -+ (MENU_IS_TRANSLUCENT(mr,cs) || CSET_IS_TRANSPARENT(cs)) -+#define MR_IS_TRANSLUCENT_MENU(mr) \ -+ (!MR_IS_TEAR_OFF_MENU(mr) && MR_STYLE(mr) && \ -+ ST_HAS_MENU_CSET(MR_STYLE(mr)) && CSET_IS_TRANSLUCENT( \ -+ ST_CSET_MENU(MR_STYLE(mr)))) -+#define MR_IS_TRANSPARENT_MENU(mr) \ -+ (MR_IS_TRANSLUCENT_MENU(mr) || (MR_STYLE(mr) && \ -+ ST_HAS_MENU_CSET(MR_STYLE(mr)) && CSET_IS_TRANSPARENT( \ -+ ST_CSET_MENU(MR_STYLE(mr))))) - - /* ---------------------------- imports ------------------------------------ */ - -@@ -218,6 +230,8 @@ typedef struct mloop_static_info_t - } mloop_static_info_t; - - /* ---------------------------- forward declarations ----------------------- */ -+static MenuRoot *seek_submenu_instance( -+ MenuRoot *parent_menu, MenuItem *parent_item); - - /* ---------------------------- local variables ---------------------------- */ - -@@ -379,12 +393,22 @@ static void animated_move_back( - Bool transparent_bg = False; - - /* move it back */ -- if (ST_HAS_MENU_CSET(MR_STYLE(mr)) && -- CSET_IS_TRANSPARENT(ST_CSET_MENU(MR_STYLE(mr)))) -+ if (MR_IS_TRANSPARENT_MENU(mr)) - { - transparent_bg = True; - get_menu_repaint_transparent_parameters( - &mrtp, mr, fw); -+ if (MR_IS_TRANSLUCENT_MENU(mr) && MR_SUBMENU_ITEM(mr)) -+ { -+ MenuRoot *smr; -+ smr = seek_submenu_instance( -+ mr, MR_SUBMENU_ITEM(mr)); -+ if (smr) -+ { -+ /* just unmap it here, popdown later */ -+ XUnmapWindow(dpy, MR_WINDOW(smr)); -+ } -+ } - } - AnimatedMoveOfWindow( - MR_WINDOW(mr), act_x, act_y, act_x - MR_XANIMATION(mr), -@@ -1910,6 +1934,7 @@ static void make_menu_window(MenuRoot *mr, Bool is_tear_off) - /* Doh. Use the standard display instead. */ - MR_CREATE_DPY(mr) = dpy; - } -+ MR_IS_TEAR_OFF_MENU(mr) = 1; - } - else - { -@@ -2714,7 +2739,37 @@ static void paint_menu( - } - MR_IS_PAINTED(mr) = 1; - /* paint the menu background */ -- if (ms && ST_HAS_MENU_CSET(ms)) -+ if (MR_IS_TRANSLUCENT_MENU(mr)) -+ { -+ Pixmap trans = None; -+ FvwmRenderAttributes fra; -+ colorset_t *colorset = &Colorset[ST_CSET_MENU(ms)]; -+ -+ fra.mask = 0; -+ if (colorset->translucent_tint_percent > 0) -+ { -+ fra.mask = FRAM_HAVE_TINT; -+ fra.tint = colorset->translucent_tint; -+ fra.tint_percent = colorset->translucent_tint_percent; -+ } -+ if (MR_IS_BACKGROUND_SET(mr) == False) -+ { -+ trans = PGraphicsCreateTranslucent( -+ dpy, MR_WINDOW(mr), &fra, -+ BACK_GC(ST_MENU_INACTIVE_GCS(ms)), -+ MR_X(mr), MR_Y(mr), MR_WIDTH(mr), MR_HEIGHT(mr)); -+ XMapRaised(dpy, MR_WINDOW(mr)); -+ if (trans != None) -+ { -+ XSetWindowBackgroundPixmap( -+ dpy, MR_WINDOW(mr), trans); -+ MR_IS_BACKGROUND_SET(mr) = True; -+ clear_expose_menu_area(MR_WINDOW(mr), pevent); -+ XFreePixmap(dpy, trans); -+ } -+ } -+ } -+ else if (ms && ST_HAS_MENU_CSET(ms)) - { - if (MR_IS_BACKGROUND_SET(mr) == False) - { -@@ -3523,10 +3578,7 @@ static int pop_menu_up( - MR_HAS_POPPED_UP_RIGHT(mr) = 0; - } - MR_XANIMATION(parent_menu) += end_x - prev_x; -- if (ST_HAS_MENU_CSET(MR_STYLE(parent_menu)) && -- CSET_IS_TRANSPARENT( -- ST_CSET_MENU( -- MR_STYLE(parent_menu)))) -+ if (MR_IS_TRANSPARENT_MENU(parent_menu)) - { - transparent_bg = True; - get_menu_repaint_transparent_parameters( -@@ -3705,10 +3757,21 @@ static int pop_menu_up( - */ - - XMoveWindow(dpy, MR_WINDOW(mr), x, y); -+ MR_X(mr) = x; -+ MR_Y(mr) = y; - XSelectInput(dpy, MR_WINDOW(mr), event_mask); -- XMapRaised(dpy, MR_WINDOW(mr)); -- if (popdown_window) -- XUnmapWindow(dpy, popdown_window); -+ if (MR_IS_TRANSLUCENT_MENU(mr)) -+ { -+ if (popdown_window) -+ XUnmapWindow(dpy, popdown_window); -+ paint_menu(mr, NULL, fw); -+ } -+ else -+ { -+ XMapRaised(dpy, MR_WINDOW(mr)); -+ if (popdown_window) -+ XUnmapWindow(dpy, popdown_window); -+ } - XFlush(dpy); - MR_MAPPED_COPIES(mr)++; - MST_USAGE_COUNT(mr)++; -@@ -6277,16 +6340,122 @@ void update_transparent_menu_bg( - { - last = True; - } -- if (!last && CSET_IS_TRANSPARENT_PR_TINT(ST_CSET_MENU(ms))) -+ if (!last && -+ (CSET_IS_TRANSPARENT_PR_TINT(ST_CSET_MENU(ms)) || -+ MR_IS_TRANSLUCENT_MENU(mr))) - { - /* too slow ... */ - return; - } -- SetWindowBackgroundWithOffset( -- dpy, MR_WINDOW(mr), step_x - current_x, step_y - current_y, -- MR_WIDTH(mr), MR_HEIGHT(mr), -- &Colorset[ST_CSET_MENU(ms)], Pdepth, -- FORE_GC(MST_MENU_INACTIVE_GCS(mr)), False); -+ if (MR_IS_TRANSLUCENT_MENU(mr)) -+ { -+ Pixmap trans, tmp; -+ FvwmRenderAttributes fra; -+ colorset_t *colorset = &Colorset[ST_CSET_MENU(ms)]; -+ -+ fra.mask = 0; -+ if (colorset->translucent_tint_percent > 0) -+ { -+ fra.mask = FRAM_HAVE_TINT; -+ fra.tint = colorset->translucent_tint; -+ fra.tint_percent = colorset->translucent_tint_percent; -+ } -+ if (current_x == step_x) -+ { -+ /* Reuse the old pixmap for the part of the menu -+ * that has not moved. (This can be extended to get -+ * two new rectangles, one in each direction) -+ * -+ * It saves the unmapping of the window and makes -+ * Things less flickering. -+ */ -+ GC my_gc; -+ unsigned long valuemask = GCSubwindowMode; -+ XGCValues values; -+ int out_y=0; -+ values.subwindow_mode = IncludeInferiors; -+ if (step_y < 0) -+ { -+ out_y = -step_y; -+ } -+ trans = XCreatePixmap(dpy, MR_WINDOW(mr), MR_WIDTH(mr), -+ MR_HEIGHT(mr), Pdepth); -+ my_gc = fvwmlib_XCreateGC(dpy, MR_WINDOW(mr), 0, NULL); -+ XChangeGC(dpy, my_gc, valuemask, &values); -+ -+ XClearWindow(dpy, MR_WINDOW(mr)); -+ -+ if (current_y < step_y) -+ { -+ XCopyArea(dpy, MR_WINDOW(mr), trans, my_gc, 0, -+ step_y-current_y, MR_WIDTH(mr), -+ MR_HEIGHT(mr)-(step_y-current_y), -+ 0,0); -+ tmp = PGraphicsCreateTranslucent( -+ dpy, MR_WINDOW(mr), &fra, -+ BACK_GC(ST_MENU_INACTIVE_GCS(ms)), -+ current_x, current_y+MR_HEIGHT(mr), -+ MR_WIDTH(mr), step_y-current_y); -+ -+ XCopyArea(dpy, tmp, trans, my_gc, 0, 0, -+ MR_WIDTH(mr), step_y-current_y,0, -+ MR_HEIGHT(mr)-(step_y-current_y)); -+ } -+ else -+ { -+ XCopyArea(dpy, MR_WINDOW(mr), trans, my_gc, 0, -+ 0, MR_WIDTH(mr), -+ MR_HEIGHT(mr)-(current_y-step_y), 0, -+ current_y-step_y); -+ tmp = PGraphicsCreateTranslucent( -+ dpy, MR_WINDOW(mr), &fra, -+ BACK_GC(ST_MENU_INACTIVE_GCS(ms)), -+ current_x,step_y, MR_WIDTH(mr), -+ current_y-step_y); -+ XCopyArea(dpy, tmp, trans, my_gc, 0, 0, -+ MR_WIDTH(mr), current_y-step_y,0, -+ out_y); -+ } -+ MR_X(mr) = step_x; -+ MR_Y(mr) = step_y; -+ XFreePixmap(dpy, tmp); -+ XFreeGC(dpy,my_gc); -+ } -+ else -+ { -+ XUnmapWindow(dpy, MR_WINDOW(mr)); -+ MR_X(mr) = step_x; -+ MR_Y(mr) = step_y; -+ trans = PGraphicsCreateTranslucent( -+ dpy, MR_WINDOW(mr), &fra, -+ BACK_GC(ST_MENU_INACTIVE_GCS(ms)), -+ step_x, step_y, MR_WIDTH(mr), -+ MR_HEIGHT(mr)); -+ XMapRaised(dpy, MR_WINDOW(mr)); -+ } -+ XSetWindowBackgroundPixmap( -+ dpy, MR_WINDOW(mr), trans); -+ XFreePixmap(dpy, trans); -+ if (current_x == step_x) -+ { -+ /* Redraw the border */ -+ RelieveRectangle( -+ dpy, MR_WINDOW(mr), 0, 0, MR_WIDTH(mr) - 1, -+ MR_HEIGHT(mr) - 1, (Pdepth < 2) ? -+ SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)) : -+ HILIGHT_GC(MST_MENU_INACTIVE_GCS(mr)), -+ SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)), -+ MST_BORDER_WIDTH(mr)); -+ } -+ } -+ else -+ { -+ SetWindowBackgroundWithOffset( -+ dpy, MR_WINDOW(mr), step_x - current_x, -+ step_y - current_y, MR_WIDTH(mr), MR_HEIGHT(mr), -+ &Colorset[ST_CSET_MENU(ms)], Pdepth, -+ FORE_GC(MST_MENU_INACTIVE_GCS(mr)), False); -+ } - } - - -@@ -6327,10 +6496,7 @@ void repaint_transparent_menu( - } - if (!is_bg_set) - { -- SetWindowBackground( -- dpy, MR_WINDOW(mr), MR_WIDTH(mr), MR_HEIGHT(mr), -- &Colorset[ST_CSET_MENU(ms)], Pdepth, -- FORE_GC(MST_MENU_INACTIVE_GCS(mr)), False); -+ update_transparent_menu_bg(prtm, x, y, x, y, end_x, end_y); - } - /* redraw the background of non active item */ - for (mi = MR_FIRST_ITEM(mr); mi != NULL; mi = MI_NEXT_ITEM(mi)) -@@ -6969,7 +7135,10 @@ void UpdateMenuColorset(int cset) - &Colorset[ST_CSET_MENU(ms)], - Pdepth, - FORE_GC(MST_MENU_INACTIVE_GCS(mr)), -- True); -+ False); -+ XClearArea( -+ dpy, MR_WINDOW(mr), 0, 0, MR_WIDTH(mr), -+ MR_HEIGHT(mr), True); - } - else if ((ST_HAS_ACTIVE_CSET(ms) && - ST_CSET_ACTIVE(ms) == cset) || ---- a/fvwm/menus.h -+++ b/fvwm/menus.h -@@ -19,6 +19,9 @@ - #define IS_MENU_RETURN(x) \ - ((x)==MENU_DONE || (x)==MENU_ABORTED || (x)==MENU_SUBMENU_TORN_OFF) - -+#define MR_X(m) ((m)->d->x) -+#define MR_Y(m) ((m)->d->y) -+ - struct MenuRoot; - struct MenuStyle; - struct MenuReturn; ---- a/libs/Colorset.h -+++ b/libs/Colorset.h -@@ -53,6 +53,10 @@ typedef struct Colorset - Bool dither; - Bool allows_buffered_transparency; - Bool is_maybe_root_transparent; -+ /* only use by fvwm menu (non tear-off) */ -+ Bool is_translucent; -+ Pixel translucent_tint; -+ unsigned int translucent_tint_percent : 7; - #endif - } colorset_t; - -@@ -80,6 +84,7 @@ typedef struct Colorset - #define FG_TINT_SUPPLIED 0x100 - #define BG_TINT_SUPPLIED 0x200 - #define ICON_TINT_SUPPLIED 0x400 -+#define TRANSLUCENT_TINT_SUPPLIED 0x800 - #endif - - /* colorsets are stored as an array of structs to permit fast dereferencing */ -@@ -154,6 +159,10 @@ extern colorset_t *Colorset; - #define CSETS_IS_TRANSPARENT_PR_TINT(cset) \ - (cset != NULL && cset->pixmap == ParentRelative && \ - cset->tint_percent > 0) -+#define CSET_IS_TRANSLUCENT(cset) \ -+ (cset >= 0 && Colorset[cset].is_translucent) -+#define CSETS_IS_TRANSLUCENT(cset) \ -+ (cset && cset->is_translucent) - - #ifndef FVWM_COLORSET_PRIVATE - /* Create n new colorsets, fvwm/colorset.c does its own thing (different size) ---- a/libs/PictureGraphics.c -+++ b/libs/PictureGraphics.c -@@ -1361,7 +1361,7 @@ void PGraphicsTintRectangle( - } - } - --#if 0 /* humm... maybe useful one day with menus */ -+#if 1 /* humm... maybe useful one day with menus */ - Pixmap PGraphicsCreateTranslucent( - Display *dpy, Window win, FvwmRenderAttributes *fra, GC gc, - int x, int y, int width, int height) ---- a/libs/PictureGraphics.h -+++ b/libs/PictureGraphics.h -@@ -124,7 +124,9 @@ void PGraphicsTintRectangle( - Display *dpy, Window win, Pixel tint, int tint_percent, - Drawable dest, Bool dest_is_a_window, GC gc, GC mono_gc, GC alpha_gc, - int dest_x, int dest_y, int dest_w, int dest_h); -- -+Pixmap PGraphicsCreateTranslucent( -+ Display *dpy, Window win, FvwmRenderAttributes *fra, GC gc, -+ int x, int y, int width, int height); - /* never used ! */ - Pixmap PGraphicsCreateDitherPixmap( - Display *dpy, Window win, Drawable src, Pixmap mask, int depth, GC gc, diff --git a/x11-wm/fvwm3/files/fvwm3-1.0.8-implicit-function-decl-configure.patch b/x11-wm/fvwm3/files/fvwm3-1.0.8-implicit-function-decl-configure.patch new file mode 100644 index 000000000000..374afddcd6e4 --- /dev/null +++ b/x11-wm/fvwm3/files/fvwm3-1.0.8-implicit-function-decl-configure.patch @@ -0,0 +1,18 @@ +https://github.com/fvwmorg/fvwm3/pull/914 +From: Matt Jolly <Matt.Jolly@footclan.ninja> +Date: Tue, 17 Oct 2023 16:01:33 +1000 +Subject: [PATCH] Fix implicit function declaration in configure + +Missing unistd.h include for `close` and `unlink` +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -996,6 +996,7 @@ AC_DEFUN([AM_SAFETY_CHECK_MKSTEMP],[ + #include <stdio.h> + #include <stdlib.h> + #include <string.h> ++#include <unistd.h> + int main(void) + { + char template[128]; +-- +2.42.0 diff --git a/x11-wm/fvwm3/fvwm3-1.0.4-r2.ebuild b/x11-wm/fvwm3/fvwm3-1.0.4-r2.ebuild deleted file mode 100644 index 6a3f6cabc32f..000000000000 --- a/x11-wm/fvwm3/fvwm3-1.0.4-r2.ebuild +++ /dev/null @@ -1,177 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) -GO_OPTIONAL=1 -inherit autotools desktop flag-o-matic go-module python-single-r1 toolchain-funcs - -DESCRIPTION="A multiple large virtual desktop window manager derived from fvwm" -HOMEPAGE="https://www.fvwm.org/" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/fvwmorg/fvwm3.git" - EGIT_BRANCH="master" -else - SRC_URI="https://github.com/fvwmorg/fvwm3/releases/download/${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~riscv" -fi - -LICENSE="GPL-2+ FVWM - go? ( Apache-2.0 BSD MIT )" -SLOT="0" -IUSE="bidi debug doc go netpbm nls perl readline stroke svg tk vanilla lock" -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE}" - -DOCS=( NEWS ) - -if [[ ${PV} == 9999 ]]; then - DOCS+=( dev-docs/COMMANDS dev-docs/DEVELOPERS.md dev-docs/INSTALL.md dev-docs/PARSING.md dev-docs/TODO.md dev-docs/NEW-COMMANDS.md ) -fi - -BDEPEND=" - virtual/pkgconfig - doc? ( dev-libs/libxslt - dev-ruby/asciidoctor ) - app-arch/unzip - go? ( >=dev-lang/go-1.14 ) -" - -RDEPEND="${PYTHON_DEPS} - ${COMMON_DEPEND} - !x11-wm/fvwm - dev-lang/perl - dev-libs/glib:2 - dev-libs/libevent:= - media-libs/fontconfig - media-libs/libpng:= - sys-apps/debianutils - 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/libXft - x11-libs/libXpm - x11-libs/libXrandr - x11-libs/libXrender - bidi? ( dev-libs/fribidi ) - lock? ( x11-misc/xlockmore ) - netpbm? ( media-libs/netpbm ) - perl? ( tk? ( - dev-lang/tk - dev-perl/Tk - >=dev-perl/X11-Protocol-0.56 - ) - ) - readline? ( - sys-libs/ncurses:= - sys-libs/readline:= - ) - stroke? ( dev-libs/libstroke ) - svg? ( - gnome-base/librsvg:2 - x11-libs/cairo - )" - -DEPEND="${COMMON_DEPEND} - x11-base/xorg-proto" - -PATCHES=( - "${FILESDIR}/${P}-translucent-menus.patch" -) - -if [[ ${PV} == 9999 ]]; then - PATCHES+=( - "${FILESDIR}/${P}-goflags.patch" - ) -fi - -src_prepare() { - default - if use doc; then - eapply "${FILESDIR}/${P}-htmldoc.patch" - fi - - eautoreconf -} - -src_configure() { - # Non-upstream email where bugs should be sent; used in fvwm-bug. - export FVWM_BUGADDR="desktop-wm@nogentoo.org" - - # Recommended by upstream for release. Doesn't really matter for live ebuilds. - append-flags -fno-strict-aliasing - - # Signed chars are required. - for arch in arm arm64 ppc ppc64; do - use $arch && append-flags -fsigned-chars - done - - local myconf=( - --with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm - --enable-package-subdirs - $(use_enable bidi) - $(use_enable doc mandoc) - $(use_enable go golang) - $(use_enable nls) - $(use_enable nls iconv) - $(use_enable perl perllib) - $(use_with readline readline-library) - $(use_enable svg rsvg) - --enable-png - --enable-xft - ) - - use readline && myconf+=( --without-termcap-library ) - - econf ${myconf[@]} -} - -src_compile() { - PREFIX="${EPREFIX}/usr" emake AR="$(tc-getAR)" - if [[ ${PV} == *9999 ]]; then - use doc && emake -C doc html - fi -} - -src_install() { - emake DESTDIR="${ED}" prefix="/usr" exec_prefix="/usr" datarootdir="/usr/share" install - - dodir /etc/X11/Sessions - echo "/usr/bin/fvwm3" > "${ED}/etc/X11/Sessions/${PN}" || die - fperms a+x /etc/X11/Sessions/${PN} || die - - python_scriptinto "/usr/bin" - python_doscript "${ED}/usr/bin/FvwmCommand" "${ED}/usr/bin/fvwm-menu-desktop" - if use doc; then - if [[ ${PV} == *9999 ]]; then - HTML_DOCS=( doc/*.html ) - else - HTML_DOCS=( doc/html/*.html ) - fi - fi - einstalldocs - - make_session_desktop fvwm3 /usr/bin/fvwm3 -} - -pkg_postinst() { - if use go; then - ewarn "FvwmPrompt has been installed, it provides the functionality of both FvwmCommand and FvwmConsole." - ewarn "For compatibility with the existing fvwm2 configurations, the ebuild will install a FvwmCommand wrapper script." - ewarn "If you need FvwmConsole, install ${PN} with USE=\"-go\", but FvwmPrompt and FvwmCommnd will not be installed." - else - ewarn "Fvwmconsole has been installed, but FvwmCommand and FvwmPrompt are no longer included in this ebuild." - ewarn "If you need FvwmPrompt or FvwmCommand, install ${PN} with USE=\"go\"." - ewarn "In that case, FvwmPrompt will replace FvwmConsole and provide the same functionality in a more flexible way." - fi -} diff --git a/x11-wm/fvwm3/fvwm3-1.0.6a.ebuild b/x11-wm/fvwm3/fvwm3-1.0.8.ebuild index cc412650d214..3cbbc80a0860 100644 --- a/x11-wm/fvwm3/fvwm3-1.0.6a.ebuild +++ b/x11-wm/fvwm3/fvwm3-1.0.8.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) GO_OPTIONAL=1 inherit autotools desktop flag-o-matic go-module python-single-r1 toolchain-funcs @@ -13,7 +13,7 @@ HOMEPAGE="https://www.fvwm.org/" if [[ ${PV} == 9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/fvwmorg/fvwm3.git" - EGIT_BRANCH="master" + EGIT_BRANCH="main" else SRC_URI="https://github.com/fvwmorg/fvwm3/releases/download/${PV}/${P}.tar.gz" KEYWORDS="~amd64 ~riscv" @@ -92,12 +92,14 @@ RDEPEND="${PYTHON_DEPS} DEPEND="${COMMON_DEPEND} x11-base/xorg-proto" +PATCHES=( + "${FILESDIR}/${P}-implicit-function-decl-configure.patch" +) + src_prepare() { default use go && ( sed -e 's/GOFLAGS=-ldflags="-s -w"/GOFLAGS=/' \ -i bin/FvwmPrompt/Makefile.am || die ) - # Patch configure to allow later go versions - sed -e 's/1.19\*)$/1.19*|1.20*|1.21*)/' -i configure.ac || die eautoreconf } @@ -143,9 +145,11 @@ src_compile() { src_install() { emake DESTDIR="${ED}" prefix="/usr" exec_prefix="/usr" datarootdir="/usr/share" install - dodir /etc/X11/Sessions - echo "/usr/bin/fvwm3" > "${ED}/etc/X11/Sessions/${PN}" || die - fperms a+x "/etc/X11/Sessions/${PN}" || die + exeinto /etc/X11/Sessions + newexe - ${PN} <<-EOF + #!/bin/sh + ${PN} + EOF python_scriptinto "/usr/bin" python_doscript "${ED}/usr/bin/FvwmCommand" "${ED}/usr/bin/fvwm-menu-desktop" @@ -157,8 +161,9 @@ src_install() { pkg_postinst() { if use go; then ewarn "FvwmPrompt has been installed, it provides the functionality of both FvwmCommand and FvwmConsole." - ewarn "For compatibility with the existing fvwm2 configurations, the ebuild will install a FvwmCommand wrapper script." - ewarn "If you need FvwmConsole, install ${PN} with USE=\"-go\", but FvwmPrompt and FvwmCommand will not be installed." + ewarn "For compatibility with the existing fvwm2 configurations, the ebuild will install a FvwmCommand wrapper." + ewarn "If you need FvwmConsole, install ${PN} with USE=\"-go\";" + ewarn "however FvwmPrompt and FvwmCommand will not be installed." else ewarn "FvwmConsole has been installed, but FvwmCommand and FvwmPrompt are no longer included in this ebuild." ewarn "If you need FvwmPrompt or FvwmCommand, install ${PN} with USE=\"go\"." diff --git a/x11-wm/fvwm3/fvwm3-9999.ebuild b/x11-wm/fvwm3/fvwm3-9999.ebuild index 958bb6e0c085..8bc78a359bc5 100644 --- a/x11-wm/fvwm3/fvwm3-9999.ebuild +++ b/x11-wm/fvwm3/fvwm3-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) GO_OPTIONAL=1 inherit autotools desktop flag-o-matic go-module python-single-r1 toolchain-funcs @@ -13,7 +13,7 @@ HOMEPAGE="https://www.fvwm.org/" if [[ ${PV} == 9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/fvwmorg/fvwm3.git" - EGIT_BRANCH="master" + EGIT_BRANCH="main" else SRC_URI="https://github.com/fvwmorg/fvwm3/releases/download/${PV}/${P}.tar.gz" KEYWORDS="~amd64 ~riscv" @@ -141,9 +141,11 @@ src_compile() { src_install() { emake DESTDIR="${ED}" prefix="/usr" exec_prefix="/usr" datarootdir="/usr/share" install - dodir /etc/X11/Sessions - echo "/usr/bin/fvwm3" > "${ED}/etc/X11/Sessions/${PN}" || die - fperms a+x "/etc/X11/Sessions/${PN}" || die + exeinto /etc/X11/Sessions + newexe - ${PN} <<-EOF + #!/bin/sh + ${PN} + EOF python_scriptinto "/usr/bin" python_doscript "${ED}/usr/bin/FvwmCommand" "${ED}/usr/bin/fvwm-menu-desktop" @@ -155,8 +157,9 @@ src_install() { pkg_postinst() { if use go; then ewarn "FvwmPrompt has been installed, it provides the functionality of both FvwmCommand and FvwmConsole." - ewarn "For compatibility with the existing fvwm2 configurations, the ebuild will install a FvwmCommand wrapper script." - ewarn "If you need FvwmConsole, install ${PN} with USE=\"-go\", but FvwmPrompt and FvwmCommand will not be installed." + ewarn "For compatibility with the existing fvwm2 configurations, the ebuild will install a FvwmCommand wrapper." + ewarn "If you need FvwmConsole, install ${PN} with USE=\"-go\";" + ewarn "however FvwmPrompt and FvwmCommand will not be installed." else ewarn "FvwmConsole has been installed, but FvwmCommand and FvwmPrompt are no longer included in this ebuild." ewarn "If you need FvwmPrompt or FvwmCommand, install ${PN} with USE=\"go\"." diff --git a/x11-wm/herbstluftwm/herbstluftwm-0.9.5-r1.ebuild b/x11-wm/herbstluftwm/herbstluftwm-0.9.5-r2.ebuild index 27636824401a..83a22e20d0e4 100644 --- a/x11-wm/herbstluftwm/herbstluftwm-0.9.5-r1.ebuild +++ b/x11-wm/herbstluftwm/herbstluftwm-0.9.5-r2.ebuild @@ -4,6 +4,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{9..11} ) +DISTUTILS_USE_PEP517=setuptools DISTUTILS_OPTIONAL=1 inherit cmake desktop distutils-r1 @@ -51,7 +52,7 @@ RDEPEND=" python? ( ${PYTHON_DEPS} ) " BDEPEND=" - ${PYTHON_DEPS} + ${DISTUTILS_DEPS} virtual/pkgconfig " diff --git a/x11-wm/herbstluftwm/herbstluftwm-9999.ebuild b/x11-wm/herbstluftwm/herbstluftwm-9999.ebuild index 051f9ba720c9..7c5b5aaecbda 100644 --- a/x11-wm/herbstluftwm/herbstluftwm-9999.ebuild +++ b/x11-wm/herbstluftwm/herbstluftwm-9999.ebuild @@ -4,6 +4,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{9..11} ) +DISTUTILS_USE_PEP517=setuptools DISTUTILS_OPTIONAL=1 inherit cmake distutils-r1 @@ -51,7 +52,7 @@ RDEPEND=" python? ( ${PYTHON_DEPS} ) " BDEPEND=" - ${PYTHON_DEPS} + ${DISTUTILS_DEPS} virtual/pkgconfig " diff --git a/x11-wm/i3/Manifest b/x11-wm/i3/Manifest index f094f0e4a672..197caa7623f3 100644 --- a/x11-wm/i3/Manifest +++ b/x11-wm/i3/Manifest @@ -1 +1,2 @@ DIST i3-4.22.tar.xz 1349276 BLAKE2B fa179f445ba4286bfeec98dc7a2e1dfad14bda6874e84878a48ee5890ed4cf3a90fc542e8e14aedaaba3abebc8d280284a3b00e838da70a783064a4bd271ca41 SHA512 4e4536fb4108e92a1c918b5869232c0f7eb0feca2d3a49ba87250b970df0614cfe256d1e41fbd825a81c43b82898651e5d3fc11ca8101978916754dfa885266a +DIST i3-4.23.tar.xz 1354628 BLAKE2B 3a5179d5b468ae66f81e53ee8376eb82d4f5d9441d1488f3f761fcad9d68b739fa963f4985db7448e5049983b8cf26ae3fa6bdac32c8677f0384f059cd9db507 SHA512 342bd6e9ff952dd2408c9af6e79e0279cb5e7388a510dd461be84a82a5fbedb92fa35065d4b76fd88e392026f2eb4979160891ae468f421935fe5922f58a66ba diff --git a/x11-wm/i3/i3-4.23.ebuild b/x11-wm/i3/i3-4.23.ebuild new file mode 100644 index 000000000000..603faaeef0a4 --- /dev/null +++ b/x11-wm/i3/i3-4.23.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson optfeature virtualx + +DESCRIPTION="An improved dynamic tiling window manager" +HOMEPAGE="https://i3wm.org/" + +if [[ "${PV}" = *9999 ]]; then + EGIT_REPO_URI="https://github.com/i3/i3" + EGIT_BRANCH="next" + inherit git-r3 +else + SRC_URI="https://i3wm.org/downloads/${P}.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +fi + +LICENSE="BSD" +SLOT="0" +IUSE="doc test" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + dev-libs/libev + dev-libs/libpcre2 + dev-libs/yajl + x11-libs/cairo[X,xcb(+)] + x11-libs/libxcb:= + x11-libs/libxkbcommon[X] + x11-libs/pango[X] + x11-libs/startup-notification + x11-libs/xcb-util + x11-libs/xcb-util-cursor + x11-libs/xcb-util-keysyms + x11-libs/xcb-util-wm + x11-libs/xcb-util-xrm + x11-misc/xkeyboard-config +" +DEPEND=" + ${COMMON_DEPEND} + test? ( + dev-perl/AnyEvent + dev-perl/ExtUtils-PkgConfig + dev-perl/Inline + dev-perl/Inline-C + dev-perl/IPC-Run + dev-perl/local-lib + dev-perl/X11-XCB + virtual/perl-Test-Simple + x11-base/xorg-server[xephyr] + x11-misc/xvfb-run + ) + doc? ( + app-text/asciidoc + app-text/xmlto + dev-lang/perl + ) +" +RDEPEND=" + ${COMMON_DEPEND} + dev-lang/perl + dev-perl/AnyEvent-I3 + dev-perl/JSON-XS +" +BDEPEND="virtual/pkgconfig" + +src_prepare() { + default + + cat > "${T}"/i3wm <<- EOF || die + #!/bin/sh + exec /usr/bin/i3 + EOF +} + +src_configure() { + local emesonargs=( + -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} + $(meson_use doc docs) + $(meson_use doc mans) + ) + + meson_src_configure +} + +src_test() { + virtx meson_src_test +} + +src_install() { + meson_src_install + + exeinto /etc/X11/Sessions + doexe "${T}"/i3wm +} + +pkg_postinst() { + optfeature_header "There are several packages that may be useful with i3:" + optfeature "application launcher" x11-misc/dmenu + optfeature "simple screen locker" x11-misc/i3lock + optfeature "status bar generator" x11-misc/i3status +} diff --git a/x11-wm/icewm/Manifest b/x11-wm/icewm/Manifest index 6b9d9963a204..98ff78e5f4d9 100644 --- a/x11-wm/icewm/Manifest +++ b/x11-wm/icewm/Manifest @@ -1,3 +1,2 @@ -DIST icewm-2.9.6.tar.lz 1763654 BLAKE2B 6d002e8f1c10bc6a0867308ede058beb0d044ef57a91c66a557271a100dcafe21f1499a90a5d95924a2ff0c9d9456c64996de4cfbad29172b9c08dec15afb8ed SHA512 7deea4d4bc8cd856aa06d0578257cef557b0fdf4e03208ec7a890bfd22171dbda3b5d94b166fbefa2e72cabe9c23295b63963dfc6024181bc9632f0210e2b348 -DIST icewm-2.9.7.tar.lz 1764916 BLAKE2B b2b88f96bb71999c3580c7df6b3f8858aca2a49f02b64f8e94e3c223ddf2bb660c0121e6172cf690424ce4bb002b95fd78589329d97a5f1695b5890ceee9e9ae SHA512 1ec2a73536a08f252d2c16f21b8d8646f4179ce025d6e828c6b9ae2405febe048ed4ab5c7d079a4a83cb4a83a5e027ae6ef1262ee0438c68f4d6124da552114d DIST icewm-3.3.1.tar.lz 1875279 BLAKE2B c43e092676f456fe1e7df7c88ad264f154a1b1a90b2488dabb4edacde23b80feb6827fe0379a2aae334687374702afc3f0a37be59804590664af5f756cc65eda SHA512 f57eecc7ed7e03bfce7a41998eacb8d224ef5c0978846d9bc7f3d14c0b8ca557478eaad94b6fc6dbe5d84ae34a40b5e120dabe722e56c648c5ee1ea5a2ca9e4a +DIST icewm-3.4.1.tar.lz 1828032 BLAKE2B 7b0d75af789ad9910dd39b64a57c0efe11bb32cba463543f0f173e1b8034bef673d7205f6c62ea408eb95a6d968524213f25ca9f071841018a65f2206c0b2049 SHA512 33fcbb487d7f66b3ef6618b5a5996e201657589e465cf2ee2f3220443330451c871f105f61d876148c17aab7e9e1011ce0aff4775aa3c73085879c8feed24908 diff --git a/x11-wm/icewm/icewm-2.9.6.ebuild b/x11-wm/icewm/icewm-2.9.6.ebuild deleted file mode 100644 index 8abbaa37a6ab..000000000000 --- a/x11-wm/icewm/icewm-2.9.6.ebuild +++ /dev/null @@ -1,152 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools unpacker - -DESCRIPTION="Ice Window Manager with Themes" -HOMEPAGE="https://ice-wm.org/ https://github.com/ice-wm/icewm" -LICENSE="GPL-2" -SRC_URI="https://github.com/ice-wm/icewm/releases/download/${PV}/${P}.tar.lz" - -SLOT="0" -KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" -IUSE="+alsa ao bidi debug +gdk-pixbuf imlib nls truetype xinerama" - -# Tests broken in all versions, patches welcome, bug #323907, #389533 -RESTRICT="test" - -REQUIRED_USE="|| ( alsa ao )" -#?? ( gdk-pixbuf imlib ) - -#fix for icewm preversion package names -S="${WORKDIR}/${P/_}" - -# These are the core dependencies of icewm. -# Look into configure.ac and search for PKG_CHECK_MODULES([CORE] -CORE_DEPEND=" - media-libs/fontconfig - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrender -" - -RDEPEND=" - ${CORE_DEPEND} - dev-libs/glib:2 - x11-libs/libICE - x11-libs/libSM - x11-libs/libXft - x11-libs/libXpm - x11-libs/libXrandr - alsa? ( - media-libs/alsa-lib - media-libs/libsndfile[alsa] - ) - ao? ( - media-libs/libao - media-libs/libsndfile - ) - bidi? ( dev-libs/fribidi ) - gdk-pixbuf? ( - x11-libs/gdk-pixbuf-xlib - >=x11-libs/gdk-pixbuf-2.42.0:2 - ) - !gdk-pixbuf? ( - imlib? ( - gnome-base/librsvg:2 - media-libs/imlib2 - ) - !imlib? ( - media-libs/libpng:0= - virtual/jpeg - ) - ) - xinerama? ( x11-libs/libXinerama ) -" -DEPEND=" - ${RDEPEND} - x11-base/xorg-proto - gdk-pixbuf? ( gnome-base/librsvg:2 ) -" -BDEPEND=" - $(unpacker_src_uri_depends) - app-text/asciidoc - virtual/pkgconfig - nls? ( >=sys-devel/gettext-0.19.8 ) -" - -pkg_pretend() { - if use gdk-pixbuf && use imlib ; then - einfo 'Conflicting USE flags have been enabled:' - einfo '"gdk-pixbuf" and "imlib" exclude each other!' - einfo 'Using "gdk-pixbuf".' - fi -} - -src_prepare() { - default - eautoreconf -} - -src_configure() { - local icesound - if use alsa && use ao ; then - icesound="alsa,ao" - elif use alsa ; then - icesound="alsa" - elif use ao ; then - icesound="ao" - fi - - local myconf=( - --enable-logevents - --enable-xrandr - --with-cfgdir="${EPREFIX}"/etc/icewm - --with-docdir="${EPREFIX}"/usr/share/doc/${PF}/html - --with-icesound="${icesound}" - --with-libdir="${EPREFIX}"/usr/share/icewm - $(use_enable bidi fribidi) - $(use_enable debug) - $(use_enable debug logevents) - $(use_enable gdk-pixbuf) - $(use_enable imlib imlib2) - $(use_enable nls i18n) - $(use_enable nls) - $(use_enable xinerama) - ) - if use truetype ; then - myconf+=( - --enable-shape - ) - else - myconf+=( - --disable-xfreetype - --enable-corefonts - ) - fi - - econf "${myconf[@]}" - - sed \ - -e "s:/icewm-\$(VERSION)::" \ - -e "s:ungif:gif:" \ - -i src/Makefile || die -} - -src_install() { - local DOCS=( AUTHORS ChangeLog NEWS README.md TODO VERSION ) - - default - - docinto html - dodoc doc/icewm.html - dodoc man/*.html - - exeinto /etc/X11/Sessions - doexe "${FILESDIR}/icewm" -} diff --git a/x11-wm/icewm/icewm-2.9.7.ebuild b/x11-wm/icewm/icewm-3.4.1.ebuild index 24527671c135..f49af1cc6ffc 100644 --- a/x11-wm/icewm/icewm-2.9.7.ebuild +++ b/x11-wm/icewm/icewm-3.4.1.ebuild @@ -11,7 +11,7 @@ LICENSE="GPL-2" SRC_URI="https://github.com/ice-wm/icewm/releases/download/${PV}/${P}.tar.lz" SLOT="0" -KEYWORDS="amd64 ppc ~ppc64 sparc x86" +KEYWORDS="amd64 ~arm64 ppc ~ppc64 sparc x86" IUSE="+alsa ao bidi debug +gdk-pixbuf imlib nls truetype xinerama" # Tests broken in all versions, patches welcome, bug #323907, #389533 @@ -63,7 +63,7 @@ RDEPEND=" ) !imlib? ( media-libs/libpng:0= - virtual/jpeg + media-libs/libjpeg-turbo:= ) ) xinerama? ( x11-libs/libXinerama ) @@ -131,11 +131,6 @@ src_configure() { fi econf "${myconf[@]}" - - sed \ - -e "s:/icewm-\$(VERSION)::" \ - -e "s:ungif:gif:" \ - -i src/Makefile || die } src_install() { diff --git a/x11-wm/lumina/Manifest b/x11-wm/lumina/Manifest index d7fc9602f339..3d58bf974216 100644 --- a/x11-wm/lumina/Manifest +++ b/x11-wm/lumina/Manifest @@ -1,3 +1 @@ -DIST lumina-1.6.0.tar.gz 20662000 BLAKE2B c016f07fb86333e792d6a0a0ddaa9ea09f322d6de69d099abf9340d7db6cb9e23624b62882579ba6c13eec71fcf663f1688424fd940cd7e09e625f6fcc4b281f SHA512 e923961568ab9cc32206386066daef8cd1fd2db2d5c3e260e5c1da1dcda39a516576418f607cefbe5a1c47d8684591d0e595fb344e7d6aa2859fc3b326e73e30 -DIST lumina-1.6.1.tar.gz 20614263 BLAKE2B c0ad6a48d06ec9b2c0856a673319cb6a022416465e5f15fce47aac62d7e1817dc8b01acc7c55eaf3664217f2f27ef1b4d7a603a355cd9e22b707b481b322783a SHA512 ff4a77812e8d91478cbfd123ddc545e5a4aaabf3d9f96e6dedc769eb9490e4ac372c4243dca9444cdf986886c08e2eaa587470c9bc8a5a00bbe10ff80ad64c96 DIST lumina-1.6.2.tar.gz 20818383 BLAKE2B ecb2d4c1f3ce94f247cd86640bd6394807ed5d9a34b2256d333894e6528c0d3dac1ddcab8c790a63df67c2738ab7af8dd2ef0cae67c534e10c4b2edd8919ad8c SHA512 0bebdc89644af49232ad9a0b753dee501f3e99d6615ce926c71790932d228e3c6676ca4835aeaf6badf5455102278261e48bed0d3004fe9209aca68d620cae02 diff --git a/x11-wm/lumina/files/1.6.1-chmod.patch b/x11-wm/lumina/files/1.6.1-chmod.patch deleted file mode 100644 index ca6460eb2dda..000000000000 --- a/x11-wm/lumina/files/1.6.1-chmod.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -r -U3 lumina-1.6.1.orig/src-qt5/core/lumina-checkpass/lumina-checkpass.pro lumina-1.6.1/src-qt5/core/lumina-checkpass/lumina-checkpass.pro ---- lumina-1.6.1.orig/src-qt5/core/lumina-checkpass/lumina-checkpass.pro 2021-10-03 02:05:49.000000000 +0700 -+++ lumina-1.6.1/src-qt5/core/lumina-checkpass/lumina-checkpass.pro 2021-12-05 12:55:00.656682056 +0700 -@@ -12,7 +12,7 @@ - - SOURCES += main.c - --perms.path = $$DESTDIR$${PREFIX}/sbin --perms.extra = "chmod 4555 $$DESTDIR$${PREFIX}/sbin/lumina-checkpass" -+#perms.path = $$DESTDIR$${PREFIX}/sbin -+#perms.extra = "chmod 4555 $$DESTDIR$${PREFIX}/sbin/lumina-checkpass" - - INSTALLS += target perms diff --git a/x11-wm/lumina/lumina-1.6.0.ebuild b/x11-wm/lumina/lumina-1.6.0.ebuild deleted file mode 100644 index 21910c2a51d0..000000000000 --- a/x11-wm/lumina/lumina-1.6.0.ebuild +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PLOCALES="af ar az bg bn bs ca cs cy da de el en_AU en_GB en_ZA es et eu fa fi fr fr_CA fur gl he hi hr hu id is it ja ka ko lt lv mk mn ms mt nb ne nl pa pl pt pt_BR ro ru sa sk sl sr sv sw ta tg th tr uk ur uz vi zh_CN zh_HK zh_TW zu" -inherit plocale qmake-utils xdg-utils - -DESCRIPTION="Lumina desktop environment" -HOMEPAGE="https://lumina-desktop.org/" -SRC_URI="https://github.com/trueos/${PN}/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="desktop-utils" - -DEPEND=" - dev-qt/qtconcurrent:5 - dev-qt/qtcore:5 - dev-qt/qtdbus:5 - dev-qt/qtdeclarative:5 - dev-qt/qtgui:5 - dev-qt/qtmultimedia:5[widgets] - dev-qt/qtnetwork:5[ssl] - dev-qt/qtprintsupport:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - x11-libs/libxcb:0 - x11-libs/xcb-util - x11-libs/xcb-util-image - x11-libs/xcb-util-wm - desktop-utils? ( app-text/poppler[qt5] )" - -RDEPEND="${DEPEND} - app-admin/sysstat - media-sound/alsa-utils - sys-fs/inotify-tools - sys-power/acpi - || ( - x11-apps/xbacklight - sys-power/acpilight - ) - x11-misc/numlockx - x11-wm/fluxbox" - -BDEPEND=" - dev-qt/linguist-tools:5" - -S="${WORKDIR}/${P/_/-}" - -PATCHES=( - "${FILESDIR}/1.2.0-desktop-files.patch" -) - -DOCS=( README.md ) - -src_prepare() { - default - - if ! use desktop-utils ; then - rm -rf src-qt5/desktop-utils || die - sed -e "/desktop-utils/d" -i src-qt5/src-qt5.pro || die - fi - - plocale_find_changes "${S}/src-qt5/core/${PN}-desktop/i18n" "${PN}-desktop_" '.ts' -} - -src_configure() { - eqmake5 PREFIX="${EPREFIX}/usr" LIBPREFIX="${EPREFIX}/usr/$(get_libdir)" \ - CONFIG+=WITH_I18N QMAKE_CFLAGS_ISYSTEM= -} - -src_install() { - emake install INSTALL_ROOT="${D}" - einstalldocs - mkdir -p "${D}"/usr/share/icons/hicolor/64x64/apps || die "cannot create the icons dir" - mv "${D}"/usr/share/icons/hicolor/scalable/apps/*.png "${D}"/usr/share/icons/hicolor/64x64/apps || die "cannot mv png icons" - exeinto /etc/X11/Sessions - newexe "${FILESDIR}/lumina-session" lumina ||die - - remove_locale() { - rm -f "${ED}"/usr/share/${PN}-desktop/i18n/l*_${1}.qm - - } - plocale_for_each_disabled_locale remove_locale -} - -pkg_postinst() { - xdg_desktop_database_update - xdg_mimeinfo_database_update - xdg_icon_cache_update -} - -pkg_postrm() { - xdg_desktop_database_update - xdg_mimeinfo_database_update - xdg_icon_cache_update -} diff --git a/x11-wm/lumina/lumina-1.6.1.ebuild b/x11-wm/lumina/lumina-1.6.1.ebuild deleted file mode 100644 index 3992057d88a8..000000000000 --- a/x11-wm/lumina/lumina-1.6.1.ebuild +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PLOCALES="af ar az bg bn bs ca cs cy da de el en_AU en_GB en_ZA es et eu fa fi fr fr_CA fur gl he hi hr hu id is it ja ka ko lt lv mk mn ms mt nb ne nl pa pl pt pt_BR ro ru sa sk sl sr sv sw ta tg th tr uk ur uz vi zh_CN zh_HK zh_TW zu" -inherit plocale qmake-utils xdg - -DESCRIPTION="Lumina desktop environment" -HOMEPAGE="https://lumina-desktop.org/" -SRC_URI="https://github.com/trueos/${PN}/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="desktop-utils" - -DEPEND=" - dev-qt/qtconcurrent:5 - dev-qt/qtcore:5 - dev-qt/qtdbus:5 - dev-qt/qtdeclarative:5 - dev-qt/qtgui:5 - dev-qt/qtmultimedia:5[widgets] - dev-qt/qtnetwork:5[ssl] - dev-qt/qtprintsupport:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - x11-libs/libxcb:0 - x11-libs/xcb-util - x11-libs/xcb-util-image - x11-libs/xcb-util-wm - desktop-utils? ( app-text/poppler[qt5] )" - -RDEPEND="${DEPEND} - app-admin/sysstat - media-sound/alsa-utils - sys-fs/inotify-tools - sys-power/acpi - || ( - x11-apps/xbacklight - sys-power/acpilight - ) - x11-misc/numlockx - x11-wm/fluxbox" - -BDEPEND=" - dev-qt/linguist-tools:5" - -S="${WORKDIR}/${P/_/-}" - -PATCHES=( - "${FILESDIR}/1.6.1-desktop-files.patch" - "${FILESDIR}/1.6.1-chmod.patch" -) - -DOCS=( README.md ) - -src_prepare() { - default - - if ! use desktop-utils ; then - rm -rf src-qt5/desktop-utils || die - sed -e "/desktop-utils/d" -i src-qt5/src-qt5.pro || die - fi - - plocale_find_changes "${S}/src-qt5/core/${PN}-desktop/i18n" "${PN}-desktop_" '.ts' -} - -src_configure() { - eqmake5 PREFIX="${EPREFIX}/usr" LIBPREFIX="${EPREFIX}/usr/$(get_libdir)" \ - CONFIG+=WITH_I18N QMAKE_CFLAGS_ISYSTEM= -} - -src_install() { - emake install INSTALL_ROOT="${D}" - einstalldocs - chmod 4555 "${D}"/usr/sbin/lumina-checkpass - mkdir -p "${D}"/usr/share/icons/hicolor/64x64/apps || die "cannot create the icons dir" - mv "${D}"/usr/share/icons/hicolor/scalable/apps/*.png "${D}"/usr/share/icons/hicolor/64x64/apps || die "cannot mv png icons" - exeinto /etc/X11/Sessions - newexe "${FILESDIR}/lumina-session" lumina ||die - - remove_locale() { - rm -f "${ED}"/usr/share/${PN}-desktop/i18n/l*_${1}.qm - - } - plocale_for_each_disabled_locale remove_locale -} diff --git a/x11-wm/lumina/lumina-1.6.2.ebuild b/x11-wm/lumina/lumina-1.6.2.ebuild index c49afaa5aa0c..59b5abb352d1 100644 --- a/x11-wm/lumina/lumina-1.6.2.ebuild +++ b/x11-wm/lumina/lumina-1.6.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,7 +12,7 @@ SRC_URI="https://github.com/trueos/${PN}/archive/v${PV/_/-}.tar.gz -> ${P}.tar.g LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="desktop-utils" DEPEND=" diff --git a/x11-wm/marco/marco-1.26.1.ebuild b/x11-wm/marco/marco-1.26.1.ebuild index d58932776643..d1f0ac4df534 100644 --- a/x11-wm/marco/marco-1.26.1.ebuild +++ b/x11-wm/marco/marco-1.26.1.ebuild @@ -7,7 +7,7 @@ MATE2_LA_PUNT="yes" inherit mate -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86" DESCRIPTION="MATE default window manager" LICENSE="FDL-1.2+ GPL-2+ LGPL-2+ MIT" diff --git a/x11-wm/marco/marco-1.26.2-r1.ebuild b/x11-wm/marco/marco-1.26.2-r1.ebuild index 193ab754ff6e..d0d40b051f8e 100644 --- a/x11-wm/marco/marco-1.26.2-r1.ebuild +++ b/x11-wm/marco/marco-1.26.2-r1.ebuild @@ -7,7 +7,7 @@ MATE2_LA_PUNT="yes" inherit mate meson -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86" DESCRIPTION="MATE default window manager" LICENSE="FDL-1.2+ GPL-2+ LGPL-2+ MIT" diff --git a/x11-wm/marco/metadata.xml b/x11-wm/marco/metadata.xml index 43df0ae168ff..402768f3899e 100644 --- a/x11-wm/marco/metadata.xml +++ b/x11-wm/marco/metadata.xml @@ -1,10 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>mate@gentoo.org</email> - <name>Gentoo MATE Desktop</name> - </maintainer> + <!-- maintainer-needed --> <upstream> <remote-id type="github">mate-desktop/marco</remote-id> </upstream> diff --git a/x11-wm/matwm2/matwm2-0.1.2_pre3-r3.ebuild b/x11-wm/matwm2/matwm2-0.1.2_pre3-r3.ebuild new file mode 100644 index 000000000000..2ed16e0d950a --- /dev/null +++ b/x11-wm/matwm2/matwm2-0.1.2_pre3-r3.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo toolchain-funcs + +MY_PV="${PV//_/}" + +DESCRIPTION="Simple EWMH compatible window manager with titlebars and frames" +HOMEPAGE="https://github.com/segin/matwm2" +SRC_URI="https://github.com/segin/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${MY_PV}/${PN}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug xft xinerama" + +RDEPEND=" + x11-libs/libXext + x11-libs/libX11 + xft? ( x11-libs/libXft ) + xinerama? ( x11-libs/libXinerama )" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( "${FILESDIR}"/${P}-destdir-fix.patch ) + +src_prepare() { + default + + # Let the package manager handle stripping + sed -e 's/install -s/install/g' -i Makefile.in || die +} + +src_configure() { + # configure is not autotools based + local myconfigureargs=( + --prefix="${EPREFIX}/usr" + --mandir="${EPREFIX}/usr/share/man" + --cc="$(tc-getCC)" + $(usev debug --enable-debug) + $(usev !xft --disable-xft) + $(usev !xinerama --disable-xinerama) + ) + + edo ./configure "${myconfigureargs[@]}" +} + +src_install() { + default + + docompress -x /usr/share/doc/${PF}/default_matwmrc + dodoc default_matwmrc + + insinto /usr/share/xsessions + doins "${FILESDIR}"/${PN}.desktop + + exeinto /etc/X11/Sessions + newexe - ${PN} <<-EOF + #!/bin/sh + ${PN} + EOF +} diff --git a/x11-wm/metacity/Manifest b/x11-wm/metacity/Manifest index e9abc90fc9bc..29e6cccb32ad 100644 --- a/x11-wm/metacity/Manifest +++ b/x11-wm/metacity/Manifest @@ -1 +1,2 @@ DIST metacity-3.46.1.tar.xz 1959060 BLAKE2B 84dbe09dd8d6c7ce1894ed806cdc6cc5cc6c302ddf3aae5f7ef479f6c02ef6c2091bb1d815603f5d6e52d583192d43f47d835327e9e75cd626081becbf84bd8e SHA512 f0d8424868edf8209eb4cbd003de68ab892a5b515a1aca7b3626bf52eb8451cb0477ab35f702177c9654604e06adce46471897edcb54931d95e60b36bef92b20 +DIST metacity-3.50.0.tar.xz 1959172 BLAKE2B a697bb0d820211abdd212a250d0ea6a698962b37b9e200c54dab51ca11bb1c9a65708dd8f098211d3d451da83f484d549f5fc33c63f391f42744a8046849ccd7 SHA512 2fd66f96b0603dfea652ad21f9749c3dbd68c847cda884a0e16f23766c9b61fcdfa693dcb83beb33c909487a7d9f7f5eb796096cfc772cc44c4b267ef1b08699 diff --git a/x11-wm/metacity/metacity-3.50.0.ebuild b/x11-wm/metacity/metacity-3.50.0.ebuild new file mode 100644 index 000000000000..0076bb83bb0a --- /dev/null +++ b/x11-wm/metacity/metacity-3.50.0.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit gnome2 + +DESCRIPTION="GNOME Flashback window manager" +HOMEPAGE="https://gitlab.gnome.org/GNOME/metacity/" + +LICENSE="GPL-2+" +SLOT="0" +IUSE="+libcanberra vulkan xinerama" +KEYWORDS="~amd64 ~riscv" + +# TODO: libgtop could be optional, but no knob +RDEPEND=" + >=dev-libs/glib-2.67.3:2 + >=x11-libs/gtk+-3.24.6:3[X] + >=x11-libs/pango-1.2.0 + >=x11-libs/libXcomposite-0.3 + >=x11-libs/libXres-1.2 + >=gnome-base/gsettings-desktop-schemas-3.3.0 + x11-libs/libXfixes + x11-libs/libXrender + x11-libs/libXdamage + x11-libs/libXpresent + libcanberra? ( media-libs/libcanberra[gtk3] ) + >=x11-libs/startup-notification-0.7 + x11-libs/libXcursor + gnome-base/libgtop:2= + x11-libs/libX11 + xinerama? ( x11-libs/libXinerama ) + x11-libs/libXrandr + x11-libs/libXext + x11-libs/libICE + x11-libs/libSM + gnome-extra/zenity + vulkan? ( media-libs/vulkan-loader ) +" +DEPEND="${RDEPEND} + x11-base/xorg-proto +" +BDEPEND=" + vulkan? ( dev-util/vulkan-headers ) + dev-util/glib-utils + >=sys-devel/gettext-0.19.6 + virtual/pkgconfig +" # autoconf-archive for eautoreconf + +src_configure() { + gnome2_src_configure \ + --disable-static \ + $(use_enable libcanberra canberra) \ + $(use_enable xinerama) \ + $(use_enable vulkan) +} diff --git a/x11-wm/metacity/metadata.xml b/x11-wm/metacity/metadata.xml index e6d1a7d56ae1..fd3e818e1e88 100644 --- a/x11-wm/metacity/metadata.xml +++ b/x11-wm/metacity/metadata.xml @@ -5,6 +5,10 @@ <email>gnome@gentoo.org</email> <name>Gentoo GNOME Desktop</name> </maintainer> + <maintainer type="person"> + <email>flow@gentoo.org</email> + <name>Florian Schmaus</name> + </maintainer> <use> <flag name="libcanberra">Enable sound event support using <pkg>media-libs/libcanberra</pkg></flag> <flag name="vulkan">Enable Vulkan based compositor support via META_COMPOSITOR=vulkan environment variable</flag> diff --git a/x11-wm/muffin/Manifest b/x11-wm/muffin/Manifest index 462658443f65..b4dee226ba5c 100644 --- a/x11-wm/muffin/Manifest +++ b/x11-wm/muffin/Manifest @@ -1,2 +1,2 @@ -DIST muffin-5.6.2.tar.gz 4517162 BLAKE2B 95d4599f59838e1b281683ddcfb06eb152274482991ae2eea4e5c47056072df5714fc187967bdd58342ce660e3874c606de29f0e9f089d5b8511f116e703aca4 SHA512 14f71e15cedc7956f50a6b84d78ffcd1d20dba194206dd0df68147bcf60d2143eccaa1b23bf70675f4017cadd03698b6f79abedb754a04be20d73bbdbe724458 DIST muffin-5.6.4.tar.gz 4518694 BLAKE2B 25658e858939cd6046ccfeee6fefba3f62b96555703259eb4d4706eebee43466832b161a8be7b29e360fa3cc26fb0cdceb9f10f26f79177268e61eec11ab6857 SHA512 da779f12c2a3965d0e84324bcb0d96a787d95d6b441696b595f739dfa6fd0f1ecd4f700a1a4b1d6f6842594077544f145782ddddf5961132e313962f77a4150e +DIST muffin-5.8.1.tar.gz 4519174 BLAKE2B 29269c641e28117f9dd0900dc129aca21c8834058e6b3168b2d44e0ecafba0b177ba214c82337f3120512f4433d6117781685f422a57a244edbfa8748a5ae661 SHA512 bf8e5cdc789ac8a2d1f616a751bf321209b13e3936b483d46370017c58a4b9ebd10b42a71e8691a42f013a0c44250e4a84549d9c5cf120d3382f61aa6040710b diff --git a/x11-wm/muffin/muffin-5.6.2.ebuild b/x11-wm/muffin/muffin-5.8.1.ebuild index 2c87de1ff9b2..085378b182d5 100644 --- a/x11-wm/muffin/muffin-5.6.2.ebuild +++ b/x11-wm/muffin/muffin-5.8.1.ebuild @@ -3,7 +3,7 @@ EAPI=7 -inherit gnome2-utils meson xdg-utils virtualx +inherit gnome2-utils meson virtualx DESCRIPTION="Compositing window manager forked from Mutter for use with Cinnamon" HOMEPAGE="https://projects.linuxmint.com/cinnamon/ https://github.com/linuxmint/muffin" @@ -12,7 +12,7 @@ SRC_URI="https://github.com/linuxmint/muffin/archive/${PV}.tar.gz -> ${P}.tar.gz LICENSE="BSD GPL-2+ LGPL-2+ LGPL-2.1+ MIT SGI-B-2.0" SLOT="0" IUSE="input_devices_wacom +introspection screencast sysprof test udev" -KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86" +KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv x86" # Dependencies listed in meson order COMDEPEND=" @@ -21,11 +21,11 @@ COMDEPEND=" >=x11-libs/gtk+-3.19.8:3[X,introspection?] x11-libs/gdk-pixbuf:2[introspection?] >=x11-libs/pango-1.20.0[introspection?] - >=x11-libs/cairo-1.10.0:=[X] + >=x11-libs/cairo-1.10.0[X] >=dev-libs/fribidi-1.0.0 >=dev-libs/glib-2.61.1:2 >=dev-libs/json-glib-0.12.0[introspection?] - >=gnome-extra/cinnamon-desktop-5.6:0= + >=gnome-extra/cinnamon-desktop-5.8:0= >=x11-libs/libXcomposite-0.4 x11-libs/libXcursor x11-libs/libXdamage @@ -48,7 +48,8 @@ COMDEPEND=" media-libs/libglvnd[X] media-libs/mesa[X(+),egl(+)] x11-libs/libSM - >=x11-libs/startup-notification-0.7:= + >=x11-libs/startup-notification-0.7 + media-libs/fontconfig input_devices_wacom? ( >=dev-libs/libwacom-0.13:= ) introspection? ( >=dev-libs/gobject-introspection-1.41.3:= ) diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest index ac73be83a799..402dfc9bef0f 100644 --- a/x11-wm/mutter/Manifest +++ b/x11-wm/mutter/Manifest @@ -1,2 +1,4 @@ -DIST mutter-44.1.tar.xz 2843780 BLAKE2B f148b96ebeeb5db9cb620ca0870862cde579fc6d5ca9ddf87d6b6ad982baf67326b931b4a43cc9c4c9aa3b7752faa6fbbac2254c75924f0fa33fb34ae16db8fe SHA512 42cf748d83736e4a3ba595329d784829c278ea74c2db816bad770976000ee1f5070e0caf756ba123178819fdec6ae9380017f3c44f08bbff19c8bcaa46b6f33c -DIST mutter-44.2.tar.xz 2848696 BLAKE2B 2adbda457c215dfb1889c9b42eb1c58b0d012f79287414da6f4a18ff92b082d872df344abdb72b5f193f1830c6f1002495ff9152c51ad3824c779ccd81e11310 SHA512 5c58cac46a571bd9fabca8326cf973c79d9d47bd223b39476e143f30e435900859e5cef1858bc343261ad9c026166647b940c5becc6d788d99d947bd003e12da +DIST mutter-44.3.tar.xz 2848256 BLAKE2B 42c00d4673cab5d119361c6eb2b78c33894c637b36a34f9b74eb5a19ca621d3458208be020216f9a8949e8b0a9c9de697662c5aebb11f70bc83173ce33c7a1eb SHA512 d29bc6c7407ba81be0b5bfa2333bc77c09f7a084e09d6902cad8ca8e64ba75a22652b68a4e84b79b80481d9a7b6cb490128113dcd125ed5bcd5423d4ec88fb35 +DIST mutter-44.4.tar.xz 2847392 BLAKE2B 2ecdb0d447c0426a7e02f4d3b3cdf8936a6c7a5fecad163bdba9428f018e0ceb2047b241422bc9de5e9d0fb08e88a04d572d1b404b48d6df214a7263292309ba SHA512 3f7b37be5531e270c071fc9784a6a284a3d715dfd1dfc854779126197d6e53c660836412ba08e6233747c7b016926114a57be5adb36a11c8ec9c81e333ce668c +DIST mutter-45.0.tar.xz 2883164 BLAKE2B cb006cae08a8e4b1c6404ab99b970854a05d764361936d88d726ece6583e922b8e5bab4189ec240292d14cfb312fb1cadafa17e372d332dfc194bdc0041e4441 SHA512 bbf813a720a3d8545969d089790f6e4c19cd5c8eb3079ba028945e4728446c78aa7540061ea87e43151c2ef359ea986b0e7a45f56f0eb6a33ca2c3979955bb43 +DIST mutter-45.1.tar.xz 2881852 BLAKE2B 40fa8de01ecae346d2b9a352d55cb9215e3b9c88d7424c567fd63aa97dc7aa7cc202fdda298a4a8a9bc08330b6db3895d5860b8c99daaa4974dbd07f0ac8b86a SHA512 87a629e941eb231d05fc24dbb905acb12236c971a02dd000fdd6cc6e7686544b5796ce57d10b34e096dc956578a373d5a73e89760bcc6beb292e9a25ce2faaf4 diff --git a/x11-wm/mutter/files/mutter-44.1-frame-updates.patch b/x11-wm/mutter/files/mutter-44.1-frame-updates.patch deleted file mode 100644 index bc6f5411204b..000000000000 --- a/x11-wm/mutter/files/mutter-44.1-frame-updates.patch +++ /dev/null @@ -1,158 +0,0 @@ -From 82bd40dcbcc3601da755678778f033bd9a30286d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com> -Date: Thu, 4 May 2023 12:31:41 +0200 -Subject: [PATCH] screen-cast/src: Never dequeue pw_buffer's we refuse to - record to - -The DMA buffer paths vs MemFd paths differ slightly in when content is -recorded. This was in some places done by trying to record but bail if -the dequeued buffer had the wrong type. This is problematic for two -reasons: we'd update the timestamp even if we refused to record, making -the follow-up attempt fail, and we'd dequeue and queue buffers that -didn't get any content, meaning the receiving end would see empty -buffers potentially with only cursor updates. - -Fix this by keeping track if a stream is DMA buffer able or not, and -don't attempt to record at all in the places we would previously require -DMA buffers. This avoids both issues: we don't dequeue/queue pw_buffers -that we refuse to record to, and we won't update the recorded timestamp -when we didn't intend to record to begin with. - -Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2783 -Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2987> ---- - .../meta-screen-cast-monitor-stream-src.c | 25 ++++++++++++------- - src/backends/meta-screen-cast-stream-src.c | 22 ++++++++++------ - src/backends/meta-screen-cast-stream-src.h | 3 ++- - 3 files changed, 32 insertions(+), 18 deletions(-) - -diff --git a/src/backends/meta-screen-cast-monitor-stream-src.c b/src/backends/meta-screen-cast-monitor-stream-src.c -index efb458067e..073a4d101f 100644 ---- a/src/backends/meta-screen-cast-monitor-stream-src.c -+++ b/src/backends/meta-screen-cast-monitor-stream-src.c -@@ -158,8 +158,8 @@ stage_painted (MetaStage *stage, - MetaScreenCastMonitorStreamSrc *monitor_src = - META_SCREEN_CAST_MONITOR_STREAM_SRC (user_data); - MetaScreenCastStreamSrc *src = META_SCREEN_CAST_STREAM_SRC (monitor_src); -- MetaScreenCastRecordResult record_result; -- MetaScreenCastRecordFlag flags; -+ MetaScreenCastRecordResult record_result = -+ META_SCREEN_CAST_RECORD_RESULT_RECORDED_NOTHING; - int64_t presentation_time_us; - - if (monitor_src->maybe_record_idle_id) -@@ -168,12 +168,16 @@ stage_painted (MetaStage *stage, - if (!clutter_frame_get_target_presentation_time (frame, &presentation_time_us)) - presentation_time_us = g_get_monotonic_time (); - -- flags = META_SCREEN_CAST_RECORD_FLAG_DMABUF_ONLY; -- record_result = -- meta_screen_cast_stream_src_maybe_record_frame_with_timestamp (src, -- flags, -- NULL, -- presentation_time_us); -+ if (meta_screen_cast_stream_src_uses_dma_bufs (src)) -+ { -+ MetaScreenCastRecordFlag flags = META_SCREEN_CAST_RECORD_FLAG_NONE; -+ -+ record_result = -+ meta_screen_cast_stream_src_maybe_record_frame_with_timestamp (src, -+ flags, -+ NULL, -+ presentation_time_us); -+ } - - if (!(record_result & META_SCREEN_CAST_RECORD_RESULT_RECORDED_FRAME)) - { -@@ -200,13 +204,16 @@ before_stage_painted (MetaStage *stage, - if (monitor_src->maybe_record_idle_id) - return; - -+ if (!meta_screen_cast_stream_src_uses_dma_bufs (src)) -+ return; -+ - if (!clutter_stage_view_peek_scanout (view)) - return; - - if (!clutter_frame_get_target_presentation_time (frame, &presentation_time_us)) - presentation_time_us = g_get_monotonic_time (); - -- flags = META_SCREEN_CAST_RECORD_FLAG_DMABUF_ONLY; -+ flags = META_SCREEN_CAST_RECORD_FLAG_NONE; - meta_screen_cast_stream_src_maybe_record_frame_with_timestamp (src, - flags, - NULL, -diff --git a/src/backends/meta-screen-cast-stream-src.c b/src/backends/meta-screen-cast-stream-src.c -index 91a8afab47..94fc222e43 100644 ---- a/src/backends/meta-screen-cast-stream-src.c -+++ b/src/backends/meta-screen-cast-stream-src.c -@@ -107,6 +107,7 @@ typedef struct _MetaScreenCastStreamSrcPrivate - int64_t last_frame_timestamp_us; - guint follow_up_frame_source_id; - -+ gboolean uses_dma_bufs; - GHashTable *dmabuf_handles; - - cairo_region_t *redraw_clip; -@@ -513,15 +514,9 @@ do_record_frame (MetaScreenCastStreamSrc *src, - { - MetaScreenCastStreamSrcPrivate *priv = - meta_screen_cast_stream_src_get_instance_private (src); -- gboolean dmabuf_only; - -- dmabuf_only = flags & META_SCREEN_CAST_RECORD_FLAG_DMABUF_ONLY; -- if (dmabuf_only && spa_buffer->datas[0].type != SPA_DATA_DmaBuf) -- return FALSE; -- -- if (!dmabuf_only && -- (spa_buffer->datas[0].data || -- spa_buffer->datas[0].type == SPA_DATA_MemFd)) -+ if (spa_buffer->datas[0].data || -+ spa_buffer->datas[0].type == SPA_DATA_MemFd) - { - int width = priv->video_format.size.width; - int height = priv->video_format.size.height; -@@ -1058,6 +1053,8 @@ on_stream_add_buffer (void *data, - dmabuf_handle = NULL; - } - -+ priv->uses_dma_bufs = !!dmabuf_handle; -+ - if (dmabuf_handle) - { - meta_topic (META_DEBUG_SCREEN_CAST, -@@ -1595,3 +1592,12 @@ meta_screen_cast_stream_src_class_init (MetaScreenCastStreamSrcClass *klass) - NULL, NULL, NULL, - G_TYPE_NONE, 0); - } -+ -+gboolean -+meta_screen_cast_stream_src_uses_dma_bufs (MetaScreenCastStreamSrc *src) -+{ -+ MetaScreenCastStreamSrcPrivate *priv = -+ meta_screen_cast_stream_src_get_instance_private (src); -+ -+ return priv->uses_dma_bufs; -+} -diff --git a/src/backends/meta-screen-cast-stream-src.h b/src/backends/meta-screen-cast-stream-src.h -index 63058f2c35..a15ca54f15 100644 ---- a/src/backends/meta-screen-cast-stream-src.h -+++ b/src/backends/meta-screen-cast-stream-src.h -@@ -41,7 +41,6 @@ typedef enum _MetaScreenCastRecordFlag - { - META_SCREEN_CAST_RECORD_FLAG_NONE = 0, - META_SCREEN_CAST_RECORD_FLAG_CURSOR_ONLY = 1 << 0, -- META_SCREEN_CAST_RECORD_FLAG_DMABUF_ONLY = 1 << 1, - } MetaScreenCastRecordFlag; - - typedef enum _MetaScreenCastRecordResult -@@ -132,4 +131,6 @@ void meta_screen_cast_stream_src_set_cursor_sprite_metadata (MetaScreenCastStrea - float scale, - MetaMonitorTransform transform); - -+gboolean meta_screen_cast_stream_src_uses_dma_bufs (MetaScreenCastStreamSrc *src); -+ - #endif /* META_SCREEN_CAST_STREAM_SRC_H */ --- -GitLab - diff --git a/x11-wm/mutter/files/mutter-44.1-xdnd-frame-window.patch b/x11-wm/mutter/files/mutter-44.1-xdnd-frame-window.patch deleted file mode 100644 index 4067e31ef277..000000000000 --- a/x11-wm/mutter/files/mutter-44.1-xdnd-frame-window.patch +++ /dev/null @@ -1,50 +0,0 @@ -From f21cc690527010918d10638cfc7747df3eede496 Mon Sep 17 00:00:00 2001 -From: Sebastian Keller <skeller@gnome.org> -Date: Fri, 28 Apr 2023 12:20:11 +0200 -Subject: [PATCH] frames: Disable XDND support on the frame window - -All X11 surfaces created by gtk4 claim to support XDND via the XdndAware -property. This was leading some clients, e.g. Qt, to consider the frame -window as drop target instead of the client window. - -Avoid this issue by removing the XdndAware property again after gtk has -created the surface. - -Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2715 -Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2978> - - -(cherry picked from commit d643eb5c6fe50e7f1afffda0e8747a87f668a799) ---- - src/frames/meta-frame.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/src/frames/meta-frame.c b/src/frames/meta-frame.c -index be685c51fc..345751ad14 100644 ---- a/src/frames/meta-frame.c -+++ b/src/frames/meta-frame.c -@@ -504,6 +504,7 @@ frame_sync_wm_state (MetaFrame *frame, - GtkWidget * - meta_frame_new (Window window) - { -+ GdkDisplay *display; - GtkWidget *frame, *header, *content; - GdkSurface *surface; - int frame_height = 0; -@@ -549,6 +550,13 @@ meta_frame_new (Window window) - frame_sync_motif_wm_hints (GTK_WINDOW (frame), window); - frame_sync_wm_normal_hints (GTK_WINDOW (frame), window); - -+ /* Disable XDND support on the frame window, because it can cause some clients -+ * to try use it instead of the client window as drop target */ -+ display = gtk_widget_get_display (GTK_WIDGET (frame)); -+ XDeleteProperty (gdk_x11_display_get_xdisplay (display), -+ gdk_x11_surface_get_xid (surface), -+ gdk_x11_get_xatom_by_name_for_display (display, "XdndAware")); -+ - return frame; - } - --- -GitLab - diff --git a/x11-wm/mutter/mutter-44.2.ebuild b/x11-wm/mutter/mutter-44.3.ebuild index f69f6fff42ab..00c6855daa5c 100644 --- a/x11-wm/mutter/mutter-44.2.ebuild +++ b/x11-wm/mutter/mutter-44.3.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git" SRC_URI="" else - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86" fi LICENSE="GPL-2+" diff --git a/x11-wm/mutter/mutter-44.1.ebuild b/x11-wm/mutter/mutter-44.4.ebuild index de75de25b2ff..93a17bb515c8 100644 --- a/x11-wm/mutter/mutter-44.1.ebuild +++ b/x11-wm/mutter/mutter-44.4.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git" SRC_URI="" else - KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" fi LICENSE="GPL-2+" @@ -134,6 +134,7 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-43.0-Disable-anonymous-file-test.patch + ) python_check_deps() { diff --git a/x11-wm/mutter/mutter-44.1-r1.ebuild b/x11-wm/mutter/mutter-45.0.ebuild index 1b7505bdf977..a9f2fa638da5 100644 --- a/x11-wm/mutter/mutter-44.1-r1.ebuild +++ b/x11-wm/mutter/mutter-45.0.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit gnome.org gnome2-utils meson python-any-r1 udev xdg DESCRIPTION="GNOME compositing window manager based on Clutter" @@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git" SRC_URI="" else - KEYWORDS="~amd64 ~arm arm64 ~ppc64 ~riscv x86" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" fi LICENSE="GPL-2+" @@ -47,6 +47,7 @@ DEPEND=" >=x11-misc/colord-1.4.5:= >=media-libs/lcms-2.6:2 >=media-libs/harfbuzz-2.6.0:= + >=dev-libs/libei-1.0.901 gnome? ( gnome-base/gnome-desktop:4= ) @@ -55,7 +56,7 @@ DEPEND=" media-libs/libglvnd[X] wayland? ( - >=dev-libs/wayland-protocols-1.31 + >=dev-libs/wayland-protocols-1.32 >=dev-libs/wayland-1.21.0 x11-libs/libdrm @@ -134,12 +135,6 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-43.0-Disable-anonymous-file-test.patch - - # Fixes from 'master' - # Fix drag&drop in QT apps - "${FILESDIR}"/${P}-xdnd-frame-window.patch - # Fix frames dropping on screencast - "${FILESDIR}"/${P}-frame-updates.patch ) python_check_deps() { diff --git a/x11-wm/mutter/mutter-45.1.ebuild b/x11-wm/mutter/mutter-45.1.ebuild new file mode 100644 index 000000000000..47520c00fe82 --- /dev/null +++ b/x11-wm/mutter/mutter-45.1.ebuild @@ -0,0 +1,235 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{10..12} ) +inherit gnome.org gnome2-utils meson python-any-r1 udev xdg + +DESCRIPTION="GNOME compositing window manager based on Clutter" +HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/" +LICENSE="GPL-2+" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git" + SRC_URI="" + SLOT="0/13" # This can get easily out of date, but better than 9967 +else + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" + SLOT="0/$(($(ver_cut 1) - 32))" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot +fi + +IUSE="debug elogind gnome gtk-doc input_devices_wacom +introspection screencast sysprof systemd test udev wayland video_cards_nvidia" +# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider +REQUIRED_USE=" + gtk-doc? ( introspection ) + wayland? ( ^^ ( elogind systemd ) udev ) + test? ( wayland )" +RESTRICT="!test? ( test )" + +# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema +# USE=libei was first introduced in xwayland-23.2.1; we min dep on that to ensure the [libei(+)] works right, as missing USE flag with +# previous versions meant that it's not there, while the intention seems to be to make it always enabled without USE flag in the future; +# this ensures have_enable_ei_portal is always there in xwayland.pc, which affects how Xwayland is launched, thus if it were toggled off +# in Xwayland after mutter is installed, Xwayland would fail to be started by mutter. mutter already hard-depends on libei, so there's +# really no extra deps here (besides xdg-desktop-portal, but we want that too, anyhow). +# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order +DEPEND=" + >=media-libs/graphene-1.10.2[introspection?] + x11-libs/gdk-pixbuf:2 + >=x11-libs/pango-1.46[introspection?] + >=x11-libs/cairo-1.14[X] + >=dev-libs/fribidi-1.0.0 + >=gnome-base/gsettings-desktop-schemas-42.0[introspection?] + >=dev-libs/glib-2.75.1:2 + gnome-base/gnome-settings-daemon + >=dev-libs/json-glib-0.12.0[introspection?] + >=x11-libs/libxkbcommon-0.4.3 + x11-libs/libICE + >=app-accessibility/at-spi2-core-2.46:2[introspection?] + sys-apps/dbus + >=x11-misc/colord-1.4.5:= + >=media-libs/lcms-2.6:2 + >=media-libs/harfbuzz-2.6.0:= + >=dev-libs/libei-1.0.901 + + gnome? ( gnome-base/gnome-desktop:4= ) + + >=media-libs/libcanberra-0.26 + + media-libs/libglvnd[X] + + wayland? ( + >=dev-libs/wayland-protocols-1.32 + >=dev-libs/wayland-1.21.0 + + x11-libs/libdrm + media-libs/mesa[gbm(+)] + >=dev-libs/libinput-1.19.0:= + + elogind? ( sys-auth/elogind ) + >=x11-base/xwayland-23.2.1[libei(+)] + video_cards_nvidia? ( gui-libs/egl-wayland ) + ) + udev? ( + >=virtual/libudev-232-r1:= + >=dev-libs/libgudev-232 + ) + systemd? ( sys-apps/systemd ) + x11-libs/libSM + input_devices_wacom? ( >=dev-libs/libwacom-0.13:= ) + >=x11-libs/startup-notification-0.7 + screencast? ( >=media-video/pipewire-0.3.33:= ) + introspection? ( >=dev-libs/gobject-introspection-1.54:= ) + test? ( >=x11-libs/gtk+-3.19.8:3[X,introspection?] ) + sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 >=dev-util/sysprof-3.46.0 ) +" +# for now upstream has "have_x11 = true" in the meson.build, but sooner or later upstream is going to make X optional. +# X? ( +DEPEND+=" + >=gui-libs/gtk-4.0.0:4[X,introspection?] + >=x11-libs/libX11-1.7.0 + >=x11-libs/libXcomposite-0.4 + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + >=x11-libs/libXfixes-6 + >=x11-libs/libXi-1.7.4 + x11-libs/libXtst + x11-libs/libxkbfile + x11-misc/xkeyboard-config + >=x11-libs/libxkbcommon-0.4.3[X] + x11-libs/libXrender + >=x11-libs/libXrandr-1.5.0 + x11-libs/libxcb:= + x11-libs/libXinerama + x11-libs/libXau +" +# )" + +RDEPEND="${DEPEND} + gnome-extra/zenity + + !<gui-libs/gtk-4.6.4:4 +" +DEPEND="${DEPEND} + x11-base/xorg-proto + sysprof? ( >=dev-util/sysprof-common-3.38.0 ) +" +BDEPEND=" + dev-util/wayland-scanner + dev-util/gdbus-codegen + dev-util/glib-utils + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + gtk-doc? ( >=dev-util/gi-docgen-2021.1 ) + test? ( + ${PYTHON_DEPS} + $(python_gen_any_dep ' + >=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}] + ') + app-text/docbook-xml-dtd:4.5 + x11-misc/xvfb-run + ) + wayland? ( + >=sys-kernel/linux-headers-4.4 + x11-libs/libxcvt + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-43.0-Disable-anonymous-file-test.patch +) + +python_check_deps() { + if use test; then + python_has_version ">=dev-python/python-dbusmock-0.28[${PYTHON_USEDEP}]" + fi +} + +src_configure() { + local emesonargs=( + # Mutter X11 renderer only supports gles2 and GLX, thus do NOT pass + # + # -Dopengl_libname=libOpenGL.so.0 + # + # while we build the x11 renderer, as we currently enable gles2 only + # with USE=wayland and x11 renderer wouldn't find the needed GLX symbols + # in a configuration where wayland is disabled, as libOpenGL doesn't + # include them. + # + # See + # - https://bugs.gentoo.org/835786 + # - https://forums.gentoo.org/viewtopic-p-8695669.html + + --buildtype $(usex debug debug plain) + -Dopengl=true + $(meson_use wayland gles2) + #gles2_libname + -Degl=true + -Dglx=true + $(meson_use wayland) + $(meson_use wayland xwayland) + $(meson_use systemd) + $(meson_use wayland native_backend) + $(meson_use screencast remote_desktop) + $(meson_use gnome libgnome_desktop) + $(meson_use udev) + -Dudev_dir=$(get_udevdir) + $(meson_use input_devices_wacom libwacom) + -Dsound_player=true + -Dpango_ft2=true + -Dstartup_notification=true + -Dsm=true + $(meson_use introspection) + $(meson_use gtk-doc docs) + $(meson_use test cogl_tests) + $(meson_use wayland core_tests) # core tests require wayland; overall -Dtests option is honored on top, so no extra conditional needed + -Dnative_tests=false + $(meson_use test clutter_tests) + $(meson_use test tests) + -Dkvm_tests=false + -Dtty_tests=false + $(meson_use sysprof profiler) + -Dinstalled_tests=false + + #verbose # Let upstream choose default for verbose mode + #xwayland_path + # TODO: relies on default settings, but in Gentoo we might have some more packages we want to give Xgrab access (mostly virtual managers and remote desktops) + #xwayland_grab_default_access_rules + ) + + if use wayland && use video_cards_nvidia; then + emesonargs+=( + -Degl_device=true + -Dwayland_eglstream=true + ) + else + emesonargs+=( + -Degl_device=false + -Dwayland_eglstream=false + ) + fi + + meson_src_configure +} + +src_test() { + # Reset variables to avoid issues from /etc/profile.d/flatpak.sh file + gnome2_environment_reset + export XDG_DATA_DIRS="${EPREFIX}"/usr/share + glib-compile-schemas "${BUILD_DIR}"/data + GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test --setup=CI +} + +pkg_postinst() { + use udev && udev_reload + xdg_pkg_postinst + gnome2_schemas_update +} + +pkg_postrm() { + use udev && udev_reload + xdg_pkg_postrm + gnome2_schemas_update +} diff --git a/x11-wm/mutter/mutter-9999.ebuild b/x11-wm/mutter/mutter-9999.ebuild index 09a495a3b9e1..47520c00fe82 100644 --- a/x11-wm/mutter/mutter-9999.ebuild +++ b/x11-wm/mutter/mutter-9999.ebuild @@ -2,23 +2,23 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit gnome.org gnome2-utils meson python-any-r1 udev xdg DESCRIPTION="GNOME compositing window manager based on Clutter" HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/" +LICENSE="GPL-2+" if [[ ${PV} == 9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/mutter.git" SRC_URI="" + SLOT="0/13" # This can get easily out of date, but better than 9967 else - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" + SLOT="0/$(($(ver_cut 1) - 32))" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot fi -LICENSE="GPL-2+" -SLOT="0/$(($(ver_cut 1) - 32))" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot - IUSE="debug elogind gnome gtk-doc input_devices_wacom +introspection screencast sysprof systemd test udev wayland video_cards_nvidia" # native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider REQUIRED_USE=" @@ -28,7 +28,11 @@ REQUIRED_USE=" RESTRICT="!test? ( test )" # gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema -# xorg-server is needed at build and runtime with USE=wayland for Xwayland +# USE=libei was first introduced in xwayland-23.2.1; we min dep on that to ensure the [libei(+)] works right, as missing USE flag with +# previous versions meant that it's not there, while the intention seems to be to make it always enabled without USE flag in the future; +# this ensures have_enable_ei_portal is always there in xwayland.pc, which affects how Xwayland is launched, thus if it were toggled off +# in Xwayland after mutter is installed, Xwayland would fail to be started by mutter. mutter already hard-depends on libei, so there's +# really no extra deps here (besides xdg-desktop-portal, but we want that too, anyhow). # v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order DEPEND=" >=media-libs/graphene-1.10.2[introspection?] @@ -47,6 +51,7 @@ DEPEND=" >=x11-misc/colord-1.4.5:= >=media-libs/lcms-2.6:2 >=media-libs/harfbuzz-2.6.0:= + >=dev-libs/libei-1.0.901 gnome? ( gnome-base/gnome-desktop:4= ) @@ -55,15 +60,15 @@ DEPEND=" media-libs/libglvnd[X] wayland? ( - >=dev-libs/wayland-protocols-1.31 + >=dev-libs/wayland-protocols-1.32 >=dev-libs/wayland-1.21.0 x11-libs/libdrm media-libs/mesa[gbm(+)] - >=dev-libs/libinput-1.18.0:= + >=dev-libs/libinput-1.19.0:= elogind? ( sys-auth/elogind ) - x11-base/xwayland + >=x11-base/xwayland-23.2.1[libei(+)] video_cards_nvidia? ( gui-libs/egl-wayland ) ) udev? ( @@ -74,7 +79,7 @@ DEPEND=" x11-libs/libSM input_devices_wacom? ( >=dev-libs/libwacom-0.13:= ) >=x11-libs/startup-notification-0.7 - screencast? ( >=media-video/pipewire-0.3.21:= ) + screencast? ( >=media-video/pipewire-0.3.33:= ) introspection? ( >=dev-libs/gobject-introspection-1.54:= ) test? ( >=x11-libs/gtk+-3.19.8:3[X,introspection?] ) sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 >=dev-util/sysprof-3.46.0 ) @@ -88,7 +93,7 @@ DEPEND+=" x11-libs/libXcursor x11-libs/libXdamage x11-libs/libXext - >=x11-libs/libXfixes-3 + >=x11-libs/libXfixes-6 >=x11-libs/libXi-1.7.4 x11-libs/libXtst x11-libs/libxkbfile @@ -142,12 +147,6 @@ python_check_deps() { fi } -src_prepare() { - default - - sed -i -e "s:#!/usr/bin/bash:#!$(command -v bash):" src/tests/x11-test.sh || die -} - src_configure() { local emesonargs=( # Mutter X11 renderer only supports gles2 and GLX, thus do NOT pass @@ -216,7 +215,9 @@ src_configure() { } src_test() { - gnome2_environment_reset # Avoid dconf that looks at XDG_DATA_DIRS, which can sandbox fail if flatpak is installed + # Reset variables to avoid issues from /etc/profile.d/flatpak.sh file + gnome2_environment_reset + export XDG_DATA_DIRS="${EPREFIX}"/usr/share glib-compile-schemas "${BUILD_DIR}"/data GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test --setup=CI } diff --git a/x11-wm/openbox/openbox-3.6.1-r3.ebuild b/x11-wm/openbox/openbox-3.6.1-r3.ebuild deleted file mode 100644 index 2989a86a97e2..000000000000 --- a/x11-wm/openbox/openbox-3.6.1-r3.ebuild +++ /dev/null @@ -1,119 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11}) -inherit autotools python-single-r1 - -DESCRIPTION="Standards compliant, fast, light-weight, extensible window manager" -HOMEPAGE="http://openbox.org/wiki/Main_Page" - -if [[ ${PV} == *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="git://git.openbox.org/dana/openbox" -else - SRC_URI="http://openbox.org/dist/openbox/${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~x86-linux" -fi - -SRC_URI+=" branding? ( https://dev.gentoo.org/~hwoarang/distfiles/surreal-gentoo.tar.gz )" - -LICENSE="GPL-2" -SLOT="3" -IUSE="branding debug imlib nls session startup-notification svg xdg" -REQUIRED_USE="xdg? ( ${PYTHON_REQUIRED_USE} )" - -BDEPEND=" - sys-devel/gettext - virtual/pkgconfig -" -RDEPEND=" - dev-libs/glib:2 - >=dev-libs/libxml2-2.0 - >=media-libs/fontconfig-2 - x11-libs/cairo - x11-libs/libXau - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXft - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXt - >=x11-libs/pango-1.8[X] - imlib? ( media-libs/imlib2 ) - startup-notification? ( >=x11-libs/startup-notification-0.8 ) - svg? ( gnome-base/librsvg:2 ) - xdg? ( - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/pyxdg[${PYTHON_USEDEP}] - ') - ) -" -DEPEND="${RDEPEND} - x11-base/xorg-proto -" - -PATCHES=( - "${FILESDIR}/${PN}-3.5.2-gnome-session.patch" - # see https://github.com/danakj/openbox/pull/35 - "${FILESDIR}/${PN}-3.6.1-py3-xdg.patch" -) - -pkg_setup() { - use xdg && python-single-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} == *9999* ]]; then - git-r3_src_unpack - fi - - default -} - -src_prepare() { - default - sed -i \ - -e "s:-O0 -ggdb ::" \ - -e 's/-fno-strict-aliasing//' \ - m4/openbox.m4 || die - eautoreconf -} - -src_configure() { - local myeconfargs=( - --disable-static - --with-x - $(use_enable debug) - $(use_enable imlib imlib2) - $(use_enable nls) - $(use_enable session session-management) - $(use_enable startup-notification) - $(use_enable svg librsvg) - ) - econf "${myeconfargs[@]}" -} - -src_install() { - dodir /etc/X11/Sessions - echo "/usr/bin/openbox-session" > "${ED}/etc/X11/Sessions/${PN}" - fperms a+x /etc/X11/Sessions/${PN} - emake DESTDIR="${D}" install - if use branding; then - insinto /usr/share/themes - doins -r "${WORKDIR}"/Surreal_Gentoo - # make it the default theme - sed -i \ - -e "/<theme>/{n; s@<name>.*</name>@<name>Surreal_Gentoo</name>@}" \ - "${D}"/etc/xdg/openbox/rc.xml \ - || die "failed to set Surreal Gentoo as the default theme" - fi - find "${ED}" -name '*.la' -delete || die - if use xdg ; then - python_fix_shebang "${ED}"/usr/libexec/openbox-xdg-autostart - else - rm "${ED}"/usr/libexec/openbox-xdg-autostart || die - fi -} diff --git a/x11-wm/openbox/openbox-3.6.1-r4.ebuild b/x11-wm/openbox/openbox-3.6.1-r8.ebuild index d753cdef761b..ee0aaca94942 100644 --- a/x11-wm/openbox/openbox-3.6.1-r4.ebuild +++ b/x11-wm/openbox/openbox-3.6.1-r8.ebuild @@ -61,6 +61,8 @@ PATCHES=( "${FILESDIR}/${PN}-3.6.1-py3-xdg.patch" # https://bugs.gentoo.org/827227 "${FILESDIR}/${PN}-3.6.1-getgrent-to-getgroups.patch" + # https://bugs.gentoo.org/901777 + "${FILESDIR}/${PN}-3.6.1-glib-2.76.patch" ) pkg_setup() { @@ -99,9 +101,12 @@ src_configure() { } src_install() { - dodir /etc/X11/Sessions - echo "/usr/bin/openbox-session" > "${ED}/etc/X11/Sessions/${PN}" - fperms a+x /etc/X11/Sessions/${PN} + exeinto /etc/X11/Sessions + newexe - ${PN} <<-EOF + #!/bin/sh + openbox-session + EOF + emake DESTDIR="${D}" install if use branding; then insinto /usr/share/themes diff --git a/x11-wm/openbox/openbox-9999.ebuild b/x11-wm/openbox/openbox-9999.ebuild index d753cdef761b..ee0aaca94942 100644 --- a/x11-wm/openbox/openbox-9999.ebuild +++ b/x11-wm/openbox/openbox-9999.ebuild @@ -61,6 +61,8 @@ PATCHES=( "${FILESDIR}/${PN}-3.6.1-py3-xdg.patch" # https://bugs.gentoo.org/827227 "${FILESDIR}/${PN}-3.6.1-getgrent-to-getgroups.patch" + # https://bugs.gentoo.org/901777 + "${FILESDIR}/${PN}-3.6.1-glib-2.76.patch" ) pkg_setup() { @@ -99,9 +101,12 @@ src_configure() { } src_install() { - dodir /etc/X11/Sessions - echo "/usr/bin/openbox-session" > "${ED}/etc/X11/Sessions/${PN}" - fperms a+x /etc/X11/Sessions/${PN} + exeinto /etc/X11/Sessions + newexe - ${PN} <<-EOF + #!/bin/sh + openbox-session + EOF + emake DESTDIR="${D}" install if use branding; then insinto /usr/share/themes diff --git a/x11-wm/qtile/Manifest b/x11-wm/qtile/Manifest index ba5de5f4a39b..ffef237185f4 100644 --- a/x11-wm/qtile/Manifest +++ b/x11-wm/qtile/Manifest @@ -1 +1,2 @@ DIST qtile-0.22.1.tar.gz 488969 BLAKE2B 3b2fce587ae39570997b503cb386314160dbefa39b1ef65dc2ff5bc2f1167251224a0f298ef8e374d0d4c034d1e5012251f96b92ce5cb74d7fd93320e14ff8bf SHA512 944ec27b5d227154624fa2a15a0840b748307a1e79ab52ccf3384763111459b3c4d26b4677f8e2ea51634206dc6d1e32e057e057db917b3705ce583d83a8056d +DIST qtile-0.23.0.tar.gz 524536 BLAKE2B 9cf5b0cdffd7bc95ab7649827c221b20718f9dcc19b8ae2a50ceac5df3d71b117eef493a40523d81e60c8bc54b2103bc2a93775fcb20c025ec1dd84f9d809a19 SHA512 d6886df8efefacf90b1a5ec487c9a5a90414593900159213a218d638ef4f018b69284fe2cea707da12655a9736aad3df74a338a60344536e4d7eebcc9fc1090b diff --git a/x11-wm/qtile/files/qtile-0.23.0-keyring.patch b/x11-wm/qtile/files/qtile-0.23.0-keyring.patch new file mode 100644 index 000000000000..c4a44efd8791 --- /dev/null +++ b/x11-wm/qtile/files/qtile-0.23.0-keyring.patch @@ -0,0 +1,52 @@ +From 84eaf6b70f9569c88534dc8054e19f05fa3137e2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Sat, 2 Dec 2023 17:40:50 +0100 +Subject: [PATCH] imapwidget: Do not pass None as username to + keyring.get_password() + +Ensure not to pass `None` as the username to `keyring.get_password()`, +as the API requires it to always be a `str` and some backends +(particularly `keyrings-alt`) crash on `None`. + +Fixes #4609 +--- + libqtile/widget/imapwidget.py | 3 +++ + test/widgets/test_widget_init_configure.py | 1 + + 2 files changed, 4 insertions(+) + +diff --git a/libqtile/widget/imapwidget.py b/libqtile/widget/imapwidget.py +index 3f84d9e7..c8a6ec0e 100644 +--- a/libqtile/widget/imapwidget.py ++++ b/libqtile/widget/imapwidget.py +@@ -24,6 +24,7 @@ import re + + import keyring + ++from libqtile.confreader import ConfigError + from libqtile.log_utils import logger + from libqtile.widget import base + +@@ -75,6 +76,8 @@ class ImapWidget(base.ThreadPoolText): + def __init__(self, **config): + base.ThreadPoolText.__init__(self, "", **config) + self.add_defaults(ImapWidget.defaults) ++ if self.user is None: ++ raise ConfigError("You must set the 'user' parameter for the IMAP widget.") + password = keyring.get_password("imapwidget", self.user) + if password is not None: + self.password = password +diff --git a/test/widgets/test_widget_init_configure.py b/test/widgets/test_widget_init_configure.py +index 83a9cb9a..aa7a1f9b 100644 +--- a/test/widgets/test_widget_init_configure.py ++++ b/test/widgets/test_widget_init_configure.py +@@ -58,6 +58,7 @@ extras = [ + + # To skip a test entirely, list the widget class here + no_test = [widgets.Mirror, widgets.PulseVolume] # Mirror requires a reflection object ++no_test += [widgets.ImapWidget] # Requires a configured username + + # To test a widget only under one backend, list the widget class here + exclusive_backend = { +-- +2.43.0 + diff --git a/x11-wm/qtile/metadata.xml b/x11-wm/qtile/metadata.xml index 3bf0fe236bc4..c70476126223 100644 --- a/x11-wm/qtile/metadata.xml +++ b/x11-wm/qtile/metadata.xml @@ -1,13 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person" proxied="yes"> - <email>martynovegorOF@yandex.ru</email> - <name>Egor Martynov</name> - </maintainer> - <maintainer type="project" proxied="proxy"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> + <!-- fallback maintainer, replacement appreciated --> + <maintainer type="person"> + <email>mgorny@gentoo.org</email> + <name>Michał Górny</name> </maintainer> <upstream> <remote-id type="github">qtile/qtile</remote-id> diff --git a/x11-wm/qtile/qtile-0.22.1-r2.ebuild b/x11-wm/qtile/qtile-0.22.1-r3.ebuild index 4c48610f2886..62974989e46e 100644 --- a/x11-wm/qtile/qtile-0.22.1-r2.ebuild +++ b/x11-wm/qtile/qtile-0.22.1-r3.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..11} ) inherit distutils-r1 virtualx @@ -27,11 +27,10 @@ IUSE="pulseaudio wayland" # pywlroots-0.15 dep. # xcffib v1.4.0 breaks its ffi export (https://github.com/qtile/qtile/pull/4289) RDEPEND=" - >=dev-python/cairocffi-0.9.0[${PYTHON_USEDEP}] + <dev-python/cairocffi-1.6.0[${PYTHON_USEDEP}] >=dev-python/cffi-1.1.0[${PYTHON_USEDEP}] dev-python/dbus-next[${PYTHON_USEDEP}] dev-python/pygobject[${PYTHON_USEDEP}] - >=dev-python/six-1.4.1[${PYTHON_USEDEP}] <dev-python/xcffib-1.4.0[${PYTHON_USEDEP}] x11-libs/cairo[X,xcb(+)] x11-libs/libnotify[introspection] diff --git a/x11-wm/qtile/qtile-0.23.0-r1.ebuild b/x11-wm/qtile/qtile-0.23.0-r1.ebuild new file mode 100644 index 000000000000..14f94c0cf9de --- /dev/null +++ b/x11-wm/qtile/qtile-0.23.0-r1.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..11} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A full-featured, hackable tiling window manager written in Python" +HOMEPAGE=" + https://qtile.org/ + https://github.com/qtile/qtile/ + https://pypi.org/project/qtile/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~riscv ~x86" +IUSE="pulseaudio wayland" + +RDEPEND=" + >=dev-python/cairocffi-1.6.0[${PYTHON_USEDEP}] + >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}] + dev-python/dbus-next[${PYTHON_USEDEP}] + dev-python/pygobject[${PYTHON_USEDEP}] + >=dev-python/xcffib-1.4.0[${PYTHON_USEDEP}] + x11-libs/cairo[X,xcb(+)] + x11-libs/libnotify[introspection] + x11-libs/pango + pulseaudio? ( + dev-python/pulsectl-asyncio[${PYTHON_USEDEP}] + media-sound/pulseaudio + ) + wayland? ( + >=dev-python/pywlroots-0.16[${PYTHON_USEDEP}] + ) +" +BDEPEND=" + dev-python/cffi[${PYTHON_USEDEP}] + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + media-gfx/imagemagick[X] + x11-base/xorg-server[xephyr,xvfb] + ) + wayland? ( + >=dev-python/pywlroots-0.16[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_prepare_all() { + local PATCHES=( + # https://github.com/qtile/qtile/pull/4610 + "${FILESDIR}/${P}-keyring.patch" + ) + + sed -e "s/can_import(\"wlroots.ffi_build\")/$(usex wayland True False)/" \ + -i setup.py || die + + # some tests expect bin/qtile + mkdir bin || die + cat >> bin/qtile <<-EOF || die + #!/bin/sh + exec qtile "\${@}" + EOF + chmod +x bin/qtile || die + + distutils-r1_python_prepare_all +} + +src_compile() { + local -x CFFI_TMPDIR=${T} + distutils-r1_src_compile +} + +python_test() { + local EPYTEST_DESELECT=( + # mocking doesn't seem to work + test/widgets/test_mpd2widget.py + # checks fail with mypy errors + test/test_check.py + # migration tests require intact source tree + test/test_migrate.py + # no clue ("ExistingWMException") + test/test_restart.py::test_restart_hook_and_state + ) + + # force usage of built module + rm -rf libqtile || die + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + nonfatal epytest --backend=x11 $(usev wayland '--backend=wayland') || + die -n "Tests failed with ${EPYTHON}" +} + +python_install_all() { + local DOCS=( CHANGELOG README.rst ) + distutils-r1_python_install_all + + insinto /usr/share/xsessions + doins resources/qtile.desktop + + insinto /usr/share/wayland-sessions + doins resources/qtile-wayland.desktop + + exeinto /etc/X11/Sessions + newexe "${FILESDIR}"/${PN}-session-r1 ${PN} +} diff --git a/x11-wm/qtile/qtile-9999.ebuild b/x11-wm/qtile/qtile-9999.ebuild deleted file mode 100644 index 0cf5d4db8098..000000000000 --- a/x11-wm/qtile/qtile-9999.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{9..11} ) - -inherit distutils-r1 virtualx - -DESCRIPTION="A full-featured, hackable tiling window manager written in Python" -HOMEPAGE="http://www.qtile.org/" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/qtile/qtile.git" -else - inherit pypi - KEYWORDS="~amd64 ~riscv ~x86" -fi - -LICENSE="MIT" -SLOT="0" -IUSE="pulseaudio wayland" - -# See bug #895722 and https://github.com/qtile/qtile/pull/3985 regarding -# pywlroots-0.15 dep. -RDEPEND=" - >=dev-python/cairocffi-0.9.0[${PYTHON_USEDEP}] - >=dev-python/cffi-1.1.0[${PYTHON_USEDEP}] - dev-python/dbus-next[${PYTHON_USEDEP}] - dev-python/pygobject[${PYTHON_USEDEP}] - >=dev-python/six-1.4.1[${PYTHON_USEDEP}] - >=dev-python/xcffib-0.10.1[${PYTHON_USEDEP}] - x11-libs/cairo[X,xcb(+)] - x11-libs/libnotify[introspection] - x11-libs/pango - pulseaudio? ( media-libs/libpulse ) - wayland? ( =dev-python/pywlroots-0.15*[${PYTHON_USEDEP}] ) -" -BDEPEND=" - dev-python/setuptools-scm[${PYTHON_USEDEP}] - test? ( - media-gfx/imagemagick[X] - x11-base/xorg-server[xephyr] - ) -" - -EPYTEST_DESELECT=( - # Can't find built qtile like migrate - test/test_qtile_cmd.py::test_qtile_cmd - test/test_qtile_cmd.py::test_display_kb -) - -EPYTEST_IGNORE=( - # Tries to find binary and fails; not worth running anyway? - test/test_migrate.py -) - -distutils_enable_tests pytest - -python_prepare_all() { - # Avoid automagic dependency on libpulse - if ! use pulseaudio ; then - sed -i -e 's/call("libpulse", "--libs")/throw PkgConfigError/' setup.py || die - fi - - # Avoid automagic dependency on pywlroots - if ! use wayland ; then - sed -i -e 's/import wlroots.ffi_build/raise ImportError/' setup.py || die - fi - - distutils-r1_python_prepare_all -} - -src_test() { - virtx distutils-r1_src_test -} - -python_test() { - # Force usage of built module - rm -rf "${S}"/libqtile || die - - # TODO: remove "-p no:xdist" for next release when https://github.com/qtile/qtile/issues/1634 will be resolved. - epytest -p no:xdist --backend=x11 $(usev wayland '--backend=wayland') || die "Tests failed with ${EPYTHON}" -} - -python_compile() { - export CFFI_TMPDIR=${T} - distutils-r1_python_compile -} - -python_install_all() { - local DOCS=( CHANGELOG README.rst ) - distutils-r1_python_install_all - - insinto /usr/share/xsessions - doins resources/qtile.desktop - - insinto /usr/share/wayland-sessions - doins resources/qtile-wayland.desktop - - exeinto /etc/X11/Sessions - newexe "${FILESDIR}"/${PN}-session-r1 ${PN} -} diff --git a/x11-wm/spectrwm/Manifest b/x11-wm/spectrwm/Manifest index 8e034ff088f0..f5a58a895ac8 100644 --- a/x11-wm/spectrwm/Manifest +++ b/x11-wm/spectrwm/Manifest @@ -1,2 +1,3 @@ -DIST spectrwm-3.4.1_p20221224.tar.gz 166161 BLAKE2B 62dddfea9b80727d47bdfe61e4bf5ae5996e7bcdcaf76a37c29a3a448fcf4d19f6eeed75d7c13ca2c1e5c093c79503f00dfdde239d5022e700e27f75b7157e39 SHA512 424acf589ab137bdb8b7c010c757fde40a53b7bf70dc1c0ccf0df7e4a5ffce360cab02933f6eb7191e57ba594f4c8a6e732ac4bb8da0684d3889e9448e704edb +DIST spectrwm-3.5.0.tar.gz 194387 BLAKE2B f3a421466742dfce68d82408aec5d6db00502687d1ec6ce8aeae9ea21ef06ac79e5b682760a4e9bac0d5604ff7232b959d3ff67076447d713c9f4bbbd34c39b3 SHA512 a4cc86710b9367d8c39b8d22cd315db32a3e69bdcb9092620779fa17d660a8433aef3624708d6f348891eae08e07defa03eaa022ff4cce7a5f9f43cfe388af8e +DIST spectrwm-3.5.1.tar.gz 196431 BLAKE2B 4de0240353dd0b0066e68148b02aed68b037fda5b5d5fa2a979621ba6b3f029d3c341768929cd8cc7d7aebd1e44594bfb31617078cf83c0179c395a7212d50eb SHA512 9a5b9bee6debd395b6b5f706d12dbb80a848e4f5f02405a54cf9a47b2bcceb407bf14fce64a9cc4ff9205ed7e688adeefb0280289b73a0cf9927b44cfaec02fa DIST spectrwm-efc458efa5730680a5ff3805f6cf9d88dc88748b.tar.gz 172141 BLAKE2B 0ae0f85dd40d170d3f68c8ab6763f251f3a901172a1bb39b0dbf45915c1f59044abd24c25f92b966efa0cee5824de6d4694012f98161438579891d70ee72faec SHA512 4e74585da0bfa65e83cc91786bf28ac5f61ddf1cbfb293064af802bd63c55e9bf9b78127e51ffc9348ea2ae77fc24503a6319e80438d9f72346c38636dcfb01a diff --git a/x11-wm/spectrwm/files/spectrwm-3.5.0-fix-cflags-ldflags.patch b/x11-wm/spectrwm/files/spectrwm-3.5.0-fix-cflags-ldflags.patch new file mode 100644 index 000000000000..537e9f6d6e46 --- /dev/null +++ b/x11-wm/spectrwm/files/spectrwm-3.5.0-fix-cflags-ldflags.patch @@ -0,0 +1,26 @@ +diff --git a/linux/Makefile b/linux/Makefile +index e49cb2b..5e2a01b 100644 +--- a/linux/Makefile ++++ b/linux/Makefile +@@ -12,16 +12,16 @@ BUILDVERSION := $(shell sh $(CURDIR)/../buildver.sh) + LIBVERSION := $(shell . $(CURDIR)/../lib/shlib_version; echo $$major.$$minor) + LIBMAJORVERSION := $(shell . $(CURDIR)/../lib/shlib_version; echo $$major) + +-MAINT_CFLAGS := -std=c99 -Wmissing-prototypes -Wall -Wextra -Wshadow -g +-MAINT_LDFLAGS := -Wl,--as-needed ++MAINT_CFLAGS := -std=c99 -Wmissing-prototypes -Wall -Wextra -Wshadow ++MAINT_LDFLAGS := + MAINT_CPPFLAGS := -I. -D_GNU_SOURCE -DSWM_LIB=\"$(LIBDIR)/libswmhack.so.$(LIBVERSION)\" + + ifneq ("${BUILDVERSION}", "") + MAINT_CPPFLAGS += -DSPECTRWM_BUILDSTR=\"$(BUILDVERSION)\" + endif + +-BIN_CFLAGS := -fPIE +-BIN_LDFLAGS := -fPIE -pie ++BIN_CFLAGS := ++BIN_LDFLAGS := + BIN_CPPFLAGS := $(shell $(PKG_CONFIG) --cflags x11 x11-xcb xcb-icccm xcb-keysyms xcb-randr xcb-util xcb-xinput xcb-xtest xcursor fontconfig xft) + BIN_LDLIBS := $(shell $(PKG_CONFIG) --libs x11 x11-xcb xcb-icccm xcb-keysyms xcb-randr xcb-util xcb-xinput xcb-xtest xcursor fontconfig xft) + LIB_CFLAGS := -fPIC + diff --git a/x11-wm/spectrwm/spectrwm-3.4.1_p20230310.ebuild b/x11-wm/spectrwm/spectrwm-3.4.1_p20230310.ebuild index a82f49c2ccc7..d75cd3672297 100644 --- a/x11-wm/spectrwm/spectrwm-3.4.1_p20230310.ebuild +++ b/x11-wm/spectrwm/spectrwm-3.4.1_p20230310.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/conformal/spectrwm/archive/${COMMIT}.tar.gz -> ${PN} LICENSE="ISC" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" DEPEND=" elibc_musl? ( sys-libs/queue-standalone ) diff --git a/x11-wm/spectrwm/spectrwm-3.4.1_p20221224.ebuild b/x11-wm/spectrwm/spectrwm-3.5.0.ebuild index 65b77c4db159..721549a39ae1 100644 --- a/x11-wm/spectrwm/spectrwm-3.4.1_p20221224.ebuild +++ b/x11-wm/spectrwm/spectrwm-3.5.0.ebuild @@ -1,36 +1,38 @@ # Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 -COMMIT=67e16a136e505832bcd6322c02de28a8adc0af93 +EAPI=8 inherit toolchain-funcs DESCRIPTION="Small dynamic tiling window manager for X11" HOMEPAGE="https://github.com/conformal/spectrwm" -SRC_URI="https://github.com/conformal/spectrwm/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" +SRC_URI="https://github.com/conformal/spectrwm/archive/${PN^^}_${PV//./_}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${PN^^}_${PV//./_}" LICENSE="ISC" SLOT="0" -KEYWORDS="amd64 x86" +KEYWORDS="~amd64 ~x86" -RDEPEND=" - x11-misc/dmenu -" DEPEND=" elibc_musl? ( sys-libs/queue-standalone ) - virtual/pkgconfig + x11-libs/libxcb x11-libs/libX11 x11-libs/libXcursor + x11-libs/libXft x11-libs/libXrandr - x11-libs/libXt x11-libs/xcb-util x11-libs/xcb-util-keysyms x11-libs/xcb-util-wm " +RDEPEND=" + ${DEPEND} + x11-misc/dmenu +" +BDEPEND="virtual/pkgconfig" + PATCHES=( - "${FILESDIR}"/${P}-fix-cflags-ldflags.patch + "${FILESDIR}"/spectrwm-3.5.0-fix-cflags-ldflags.patch ) -S=${WORKDIR}/${PN}-${COMMIT} src_prepare() { sed -i -e '/LICENSE.md/d' linux/Makefile || die diff --git a/x11-wm/spectrwm/spectrwm-3.5.1.ebuild b/x11-wm/spectrwm/spectrwm-3.5.1.ebuild new file mode 100644 index 000000000000..721549a39ae1 --- /dev/null +++ b/x11-wm/spectrwm/spectrwm-3.5.1.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit toolchain-funcs + +DESCRIPTION="Small dynamic tiling window manager for X11" +HOMEPAGE="https://github.com/conformal/spectrwm" +SRC_URI="https://github.com/conformal/spectrwm/archive/${PN^^}_${PV//./_}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${PN^^}_${PV//./_}" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +DEPEND=" + elibc_musl? ( sys-libs/queue-standalone ) + x11-libs/libxcb + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXft + x11-libs/libXrandr + x11-libs/xcb-util + x11-libs/xcb-util-keysyms + x11-libs/xcb-util-wm +" +RDEPEND=" + ${DEPEND} + x11-misc/dmenu +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/spectrwm-3.5.0-fix-cflags-ldflags.patch +) + +src_prepare() { + sed -i -e '/LICENSE.md/d' linux/Makefile || die + default +} + +src_compile() { + tc-export CC PKG_CONFIG + emake -C linux PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" +} + +src_install() { + emake -C linux PREFIX="${EPREFIX}/usr" LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ + SYSCONFDIR="${EPREFIX}/etc" DOCDIR="${EPREFIX}/usr/share/doc/${P}" \ + DESTDIR="${D}" install + + dodoc README.md ${PN}_*.conf {initscreen,screenshot}.sh +} diff --git a/x11-wm/windowmaker/Manifest b/x11-wm/windowmaker/Manifest index 7a00227b114a..46c63484b909 100644 --- a/x11-wm/windowmaker/Manifest +++ b/x11-wm/windowmaker/Manifest @@ -1,2 +1,3 @@ DIST WindowMaker-0.95.9.tar.gz 3397167 BLAKE2B ec751fe0139b359933f4388f8dac3f2bf18db1f28fb4cb290d86db1ded9ffdab0cf51b451e28475bc51ee2735cb71c7fd2b01fa7472f5f0f4f1a1e00e1509339 SHA512 ca3ddc863f5b5b782e90f38c0019fe14d1109d6b11d0a3d5d6c728ddc1817747eea92e22e36933d445e72c70661e039ee56efa70f2654657c8980269fd5b4584 +DIST WindowMaker-0.96.0.tar.gz 3443048 BLAKE2B 75fd73cfcf7a57f68120bdc1ac50781bb460da54641b5f42e369008b9066b9183cb7ef60f436627edf8c241ea24ca5c44ef894c1ff0cae64f3a5b2d24df8db93 SHA512 cca1796722803922aa28ea20534f10566b594b7a69eba8c1da6bd1305654583f39ef67f10fd6a550730714e728d876f807aee50968e9392190bb9dc7ffe8409a DIST WindowMaker-extra-0.1.tar.gz 238018 BLAKE2B 865b12975d0cdefc1f05a76344b449fdcf8a2841d6a7adf1ab6435857d89cbc4fda22bb62432a1bbba921267380d00a0cded718bfbd344bbb5e6207e59b76096 SHA512 0fe9b3ffc093942db167d8a01e15c0f6741f3a40959d1434ea4f23e7b9d4a9c13935a61eabef9691e5fdfd4e407564caafce15c2d65d66499960a6764a874ab8 diff --git a/x11-wm/windowmaker/windowmaker-0.95.9-r4.ebuild b/x11-wm/windowmaker/windowmaker-0.95.9-r4.ebuild index 353932fac295..a3cb69c8675c 100644 --- a/x11-wm/windowmaker/windowmaker-0.95.9-r4.ebuild +++ b/x11-wm/windowmaker/windowmaker-0.95.9-r4.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit autotools desktop eutils +inherit autotools desktop DESCRIPTION="The fast and light GNUstep window manager" HOMEPAGE="https://www.windowmaker.org/" diff --git a/x11-wm/windowmaker/windowmaker-0.96.0.ebuild b/x11-wm/windowmaker/windowmaker-0.96.0.ebuild new file mode 100644 index 000000000000..22deff8a8194 --- /dev/null +++ b/x11-wm/windowmaker/windowmaker-0.96.0.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit desktop + +DESCRIPTION="The fast and light GNUstep window manager" +HOMEPAGE="https://www.windowmaker.org/" +SRC_URI=" +https://github.com/window-maker/wmaker/releases/download/wmaker-${PV}/${P/windowm/WindowM}.tar.gz + https://www.windowmaker.org/pub/source/release/WindowMaker-extra-0.1.tar.gz" + +SLOT="0" +LICENSE="GPL-2" +IUSE="gif imagemagick jpeg modelock nls png tiff webp xinerama +xpm xrandr" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris" + +DEPEND="media-libs/fontconfig + >=x11-libs/libXft-2.1.0 + x11-libs/libXmu + x11-libs/libXpm + x11-libs/libXt + x11-libs/libXv + gif? ( >=media-libs/giflib-4.1.0-r3 ) + imagemagick? ( >=media-gfx/imagemagick-7:0= ) + jpeg? ( media-libs/libjpeg-turbo:= ) + nls? ( virtual/libintl ) + png? ( media-libs/libpng:= ) + tiff? ( media-libs/tiff:= ) + webp? ( media-libs/libwebp:= ) + xinerama? ( x11-libs/libXinerama ) + xrandr? ( x11-libs/libXrandr )" +RDEPEND="${DEPEND}" +BDEPEND="nls? ( >=sys-devel/gettext-0.10.39 )" + +S=${WORKDIR}/${P/windowm/WindowM} + +DOCS=( AUTHORS BUGFORM BUGS ChangeLog INSTALL-WMAKER FAQ + NEWS README README.definable-cursor README.i18n TODO ) + +src_prepare() { + # Fix some paths + for file in WindowMaker/*menu* util/wmgenmenu.c; do + if [[ -r $file ]] ; then + sed -i -e "s|/usr/local/GNUstep/Applications/WPrefs.app|${EPREFIX}/usr/bin/|g;" "$file" || die + sed -i -e "s|/usr/local/share/WindowMaker|${EPREFIX}/usr/share/WindowMaker|g;" "$file" || die + sed -i -e "s|/opt/share/WindowMaker|${EPREFIX}/usr/share/WindowMaker|g;" "$file" || die + fi + done + + default +} + +src_configure() { + local -a myeconfargs=( + # image format types + $(use_enable gif) + $(use_enable imagemagick magick) + $(use_enable jpeg) + $(use_enable png) + $(use_enable tiff) + $(use_enable webp) + $(use_enable xpm) + + # optional X capabilities + $(use_enable modelock) + $(use_enable xinerama) + $(use_enable xrandr randr) + ) + + # NLS depends on whether LINGUAS is empty + if use nls; then + myeconfargs+=( LINGUAS="${LINGUAS:-$(cd po; x=(*.po); echo ${x[*]%.po})}" ) + else + myeconfargs+=( LINGUAS= ) + fi + + econf \ + --localedir="${EPREFIX}"/usr/share/locale \ + --sysconfdir="${EPREFIX}"/etc/X11 \ + --disable-static \ + --enable-usermenu \ + --with-{incs,libs}-from= \ + --with-pixmapdir="${EPREFIX}"/usr/share/pixmaps \ + --with-x \ + "${myeconfargs[@]}" + + pushd ../WindowMaker-extra-0.1 &>/dev/null || die + econf +} + +src_compile() { + emake + + # WindowMaker Extra Package (themes and icons) + emake -C ../WindowMaker-extra-0.1 +} + +src_install() { + default + + # WindowMaker Extra + emake -C ../WindowMaker-extra-0.1 DESTDIR="${D}" install + newdoc ../WindowMaker-extra-0.1/README README.extra + + # create wmaker session shell script + echo "#!/usr/bin/env bash" > wmaker + echo "${EPREFIX}/usr/bin/wmaker" >> wmaker + exeinto /etc/X11/Sessions/ + doexe wmaker + + insinto /usr/share/xsessions + doins "${FILESDIR}"/wmaker.desktop + make_desktop_entry /usr/bin/wmaker + + find "${ED}" -type f -name '*.la' -delete || die +} diff --git a/x11-wm/windowmaker/windowmaker-9999.ebuild b/x11-wm/windowmaker/windowmaker-9999.ebuild index e156f2ab7dfc..3dd602d649cc 100644 --- a/x11-wm/windowmaker/windowmaker-9999.ebuild +++ b/x11-wm/windowmaker/windowmaker-9999.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit autotools desktop git-r3 DESCRIPTION="The fast and light GNUstep window manager" diff --git a/x11-wm/wmii/wmii-3.9.2-r8.ebuild b/x11-wm/wmii/wmii-3.9.2-r8.ebuild new file mode 100644 index 000000000000..f800a69592fe --- /dev/null +++ b/x11-wm/wmii/wmii-3.9.2-r8.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +MY_P="wmii+ixp-${PV}" + +DESCRIPTION="A dynamic window manager for X11" +HOMEPAGE="https://github.com/0intro/wmii" +SRC_URI="https://dl.suckless.org/wmii/${MY_P}.tbz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86" + +DEPEND=" + media-libs/freetype + >=sys-libs/libixp-0.5_p20110208-r3 + x11-libs/libXext + x11-libs/libXft + x11-libs/libXinerama + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libX11" +RDEPEND="${DEPEND} + media-fonts/font-misc-misc + x11-apps/xmessage + x11-apps/xsetroot" +BDEPEND="virtual/pkgconfig" + +S="${WORKDIR}/${MY_P}" + +DOCS=( NEWS NOTES README TODO ) + +# Force dynamic linking, bug #273332 +MAKEOPTS="${MAKEOPTS} STATIC= -j1" + +PATCHES=( + "${FILESDIR}"/${PN}-3.9.2-libdir.patch +) + +src_prepare() { + default + + mywmiiconf=( + PREFIX=/usr + DOC=/usr/share/doc/${PF} + ETC=/etc + LIBDIR=/usr/$(get_libdir) + CC="$(tc-getCC) -c" + LD="$(tc-getCC)" + AR="$(tc-getAR) crs" + LIBIXP="${ESYSROOT}/usr/$(get_libdir)/libixp.so" + ) + + # Punt internal copy of sys-libs/libixp, bug #323037 + rm include/ixp{,_srvutil}.h || die + sed -i -e '/libixp/d' Makefile || die + + # bug #335083 + sed -i -e "/BINSH \!=/d" mk/hdr.mk || die + # bug #369115 + sed -i -e 's/-lXext/& -lXrender -lX11/' cmd/Makefile || die +} + +src_compile() { + append-flags -I"${ESYSROOT}"/usr/include/freetype2 + append-flags -fcommon + + emake "${mywmiiconf[@]}" +} + +src_install() { + emake "${mywmiiconf[@]}" DESTDIR="${D}" install + + exeinto /etc/X11/Sessions + newexe - ${PN} <<-EOF + #!/bin/sh + ${PN} + EOF + + insinto /usr/share/xsessions + doins "${FILESDIR}"/${PN}.desktop +} diff --git a/x11-wm/xmonad-contrib/Manifest b/x11-wm/xmonad-contrib/Manifest index 14142d7e3261..8b3baebdf739 100644 --- a/x11-wm/xmonad-contrib/Manifest +++ b/x11-wm/xmonad-contrib/Manifest @@ -1 +1,2 @@ DIST xmonad-contrib-0.17.0.tar.gz 615173 BLAKE2B d2e2724a3103502cafeddfdafe5b19cd3f2eb66fe26d49afe4b64c0c78bb3b18432e44fc8233aac951b20969013fa580f0af36d4da627f3c03145b647bff5a44 SHA512 357ef80565690a1e652f79c877964181134c7f02a5d325dbf3890246588ce8a545e91126041bcc2af3d9ebf5b3be28f4866ee9ede76ddbf0fc0387871319a900 +DIST xmonad-contrib-0.17.1.tar.gz 646843 BLAKE2B 0949a616f6c5aaac5d5ccb8eacaf743898b8da6d0c99605ce2f7a85f8ce7747f5442843b524470d51300539126f25066b50906a92952129a9e264f18f7aa9873 SHA512 07f989623f4d9affae564ba36a180721910c1a0acf3d23e0e548fc48bb4dcd9864987c521c28251f6443cdd5134ded8e8bb18c6f78d06cb00c386ff6ad59c97e diff --git a/x11-wm/xmonad-contrib/metadata.xml b/x11-wm/xmonad-contrib/metadata.xml index bb4b8043b4ab..d84502b753d3 100644 --- a/x11-wm/xmonad-contrib/metadata.xml +++ b/x11-wm/xmonad-contrib/metadata.xml @@ -8,4 +8,8 @@ <use> <flag name="xft">Use Xft to render text</flag> </use> + <upstream> + <remote-id type="hackage">xmonad-contrib</remote-id> + <remote-id type="github">xmonad/xmonad-contrib</remote-id> + </upstream> </pkgmetadata> diff --git a/x11-wm/xmonad-contrib/xmonad-contrib-0.17.1.ebuild b/x11-wm/xmonad-contrib/xmonad-contrib-0.17.1.ebuild new file mode 100644 index 000000000000..2ebdaef3628b --- /dev/null +++ b/x11-wm/xmonad-contrib/xmonad-contrib-0.17.1.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# ebuild generated by hackport 0.7.3.0 +#hackport: flags: -pedantic,use_xft:xft + +CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite" +inherit haskell-cabal + +DESCRIPTION="Community-maintained extensions for xmonad" +HOMEPAGE="https://xmonad.org/" + +LICENSE="BSD" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +IUSE="+xft" + +RDEPEND="dev-haskell/random:=[profile?] + dev-haskell/utf8-string:=[profile?] + >=dev-haskell/x11-1.10:=[profile?] <dev-haskell/x11-1.11:=[profile?] + >=dev-lang/ghc-8.4.3:= + >=x11-wm/xmonad-0.16.99999:=[profile?] <x11-wm/xmonad-0.18:=[profile?] + xft? ( >=dev-haskell/x11-xft-0.2:=[profile?] ) +" +DEPEND="${RDEPEND} + >=dev-haskell/cabal-2.2.0.1 + test? ( >=dev-haskell/hspec-2.4.0 <dev-haskell/hspec-3 + >=dev-haskell/quickcheck-2 ) +" + +src_configure() { + haskell-cabal_src_configure \ + --flag=-pedantic \ + $(cabal_flag xft use_xft) +} diff --git a/x11-wm/xmonad/Manifest b/x11-wm/xmonad/Manifest index ecf9a5947d34..057e65f36fc6 100644 --- a/x11-wm/xmonad/Manifest +++ b/x11-wm/xmonad/Manifest @@ -1 +1,2 @@ DIST xmonad-0.17.0.tar.gz 93489 BLAKE2B 6990bc408194c99378f949b28f2115b7096e6474b5305f935be2c8af1eba4bff3e3c05477af9f833d1b52422e4fb95f857398b05f7f1081e3a2cc5dd8c50fc3a SHA512 1ec46ee61f4bf1879ea638e9be83378273050670ed2ee0f00e7d43b188cc29a874aa5b40076162a1ef0038802cc43f675773951f9b7d1f26329f9d105c28b3f7 +DIST xmonad-0.17.2.tar.gz 94730 BLAKE2B 4e65472830694048d051394222ceb889b1997d1dec37b8d1773fecee9385292448acda3c5a9b7e99a7de1582e8a403d976ef357dc474531e6166905d1129c3a2 SHA512 8d02422f473499516acf3cfe920b15df1d24a1fbf47f8cded5eb465186427e82cd43d65a63936993016797680335e59380931e9bad82b2181ecdef6b63d9bfd9 diff --git a/x11-wm/xmonad/metadata.xml b/x11-wm/xmonad/metadata.xml index b0337e3fc024..e2d24eac2abe 100644 --- a/x11-wm/xmonad/metadata.xml +++ b/x11-wm/xmonad/metadata.xml @@ -8,4 +8,8 @@ <use> <flag name="no-autorepeat-keys">Allow ignoring of keyboard autorepeat.</flag> </use> + <upstream> + <remote-id type="hackage">xmonad</remote-id> + <remote-id type="github">xmonad/xmonad</remote-id> + </upstream> </pkgmetadata> diff --git a/x11-wm/xmonad/xmonad-0.17.2.ebuild b/x11-wm/xmonad/xmonad-0.17.2.ebuild new file mode 100644 index 000000000000..6b2df3bd3107 --- /dev/null +++ b/x11-wm/xmonad/xmonad-0.17.2.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# ebuild generated by hackport 0.7.3.0 +#hackport: flags: -pedantic,quickcheck-classes:test + +CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite" +inherit haskell-cabal ghc-package + +DESCRIPTION="A tiling window manager" +HOMEPAGE="https://xmonad.org" + +LICENSE="BSD" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +IUSE="no-autorepeat-keys" + +RDEPEND="dev-haskell/data-default-class:=[profile?] + dev-haskell/setlocale:=[profile?] + >=dev-haskell/x11-1.10:=[profile?] <dev-haskell/x11-1.11:=[profile?] + >=dev-lang/ghc-8.4.3:= +" +DEPEND="${RDEPEND} + >=dev-haskell/cabal-2.2.0.1 + test? ( >=dev-haskell/quickcheck-2 + >=dev-haskell/quickcheck-classes-0.4.3 ) +" + +DOCS=( README.md CHANGES.md ) +HTML_DOCS=( man/${PN}.1.html ) + +SAMPLE_CONFIG="${PN}.hs" + +src_prepare() { + default + use no-autorepeat-keys && eapply "${FILESDIR}"/${PN}-0.14-check-repeat.patch +} + +src_configure() { + haskell-cabal_src_configure \ + --flag=-pedantic \ + $(cabal_flag test quickcheck-classes) +} + +src_install() { + default + + cabal_src_install + + echo -e "#!/bin/sh\n/usr/bin/${PN}" > "${T}/${PN}" + exeinto /etc/X11/Sessions + doexe "${T}/${PN}" + + insinto /usr/share/xsessions + doins "${FILESDIR}/${PN}.desktop" + + insinto /usr/share/${PF}/ghc-$(ghc-version)/man + doins man/${SAMPLE_CONFIG} + + doman man/${PN}.1 +} + +pkg_postinst() { + haskell-cabal_pkg_postinst + + elog "A sample ${SAMPLE_CONFIG} configuration file can be found here:" + elog " /usr/share/${PF}/ghc-$(ghc-version)/man/${SAMPLE_CONFIG}" + elog "The parameters in this file are the defaults used by ${PN}." + elog "To customize ${PN}, copy this file to:" + elog " ~/.${PN}/${SAMPLE_CONFIG}" + elog "After editing, use 'mod-q' to dynamically restart ${PN} " + elog "(where the 'mod' key defaults to 'Alt')." + elog "" + elog "Read the README or man page for more information, and to see " + elog "other possible configurations go to:" + elog " http://haskell.org/haskellwiki/Xmonad/Config_archive" + elog "Please note that many of these configurations will require the " + elog "x11-wm/xmonad-contrib package to be installed." +} diff --git a/x11-wm/xpra/Manifest b/x11-wm/xpra/Manifest index 9e1c819b017b..b2881c697f2b 100644 --- a/x11-wm/xpra/Manifest +++ b/x11-wm/xpra/Manifest @@ -1,3 +1,2 @@ -DIST xpra-4.3.1-tests.patch 51444 BLAKE2B c645aa52bb06c3872f6c1c7aace099c10a6fd46dd4c386ec1a13f6326e3fc8860a71767510ce9b44375cc8b30cef563e4405b2834670a9d2c555d3359d16e99f SHA512 0c70c33e24980db31e904c91f987a73693bd2349958ea8392138987e1dc1852ea42a4ee7e3b238f01c92adc57dbe196e57f4c4accf27aade6c4ea55c1ff9b40c -DIST xpra-4.3.4.tar.gz 4184031 BLAKE2B e01e338398f86c80a1092ea3155126ed26eb959ca97790add4cfcdb0ec8a1c6391937ff101c889ec78bb00bbf38ac0c42c5b85d60e72804ffccbbe5f446aaa3e SHA512 93855ff248f135c70a2144a0afbc66e4830b8d214c9c2017dff1d3e3c7902dac15b1cb03670cde8018b40d5c404bd7c243625faeaba712130f5d0082f562c60c DIST xpra-4.4.5.tar.gz 4332287 BLAKE2B 64165a18d0f204247f984f616438252e82922447441376e6e46a15509486e67f699e852562cd632591fd2831a86592d5029c5905932fc9d267b16a7e6edd1b5a SHA512 6fb28328efc020969fff17bf747a1e0bf5b21869c9532a8c482e12f979d1dec7989e10e5bf3a9ae7dbfaa9e48c670255b196fdb819200a74dfbdec3ba5ae744f +DIST xpra-4.4.6.tar.gz 4334932 BLAKE2B 0518c6807be85777bb67b0a3283a610c06a97813671bff6edc701533aaa8f26b96e423e56ba56491ede120697277f6935ee26976b49550dfd2d52bbcd2daebd8 SHA512 273ee959647c1281f18c7b1b24d3a5179c4b6ce81515cc34618c698e55bdc2a8e94f0e236d7ab41c7bf29fa7fde0b1a2a1432445b8aaaa0a75cd5a90f4858419 diff --git a/x11-wm/xpra/files/xpra-3.0.2_ignore-gentoo-no-compile.patch b/x11-wm/xpra/files/xpra-3.0.2_ignore-gentoo-no-compile.patch deleted file mode 100644 index 5823ac8c167e..000000000000 --- a/x11-wm/xpra/files/xpra-3.0.2_ignore-gentoo-no-compile.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: xpra-3.0.2/setup.py -=================================================================== ---- xpra-3.0.2.orig/setup.py -+++ xpra-3.0.2/setup.py -@@ -516,7 +516,7 @@ def cython_add(extension, min_version="0 - #python2.7 setup.py build -b build-2.7 install --no-compile \ - # --root=/var/tmp/portage/x11-wm/xpra-0.7.0/temp/images/2.7 - if "--no-compile" in sys.argv and not ("build" in sys.argv and "install" in sys.argv): -- return -+ pass - assert cython_ENABLED, "cython compilation is disabled" - cython_version_check(min_version) - from Cython.Distutils import build_ext diff --git a/x11-wm/xpra/files/xpra-4.3-no-service.patch b/x11-wm/xpra/files/xpra-4.3-no-service.patch deleted file mode 100644 index b336db581953..000000000000 --- a/x11-wm/xpra/files/xpra-4.3-no-service.patch +++ /dev/null @@ -1,19 +0,0 @@ -Don't install the service files. Auto-detection is used to determine what files -to install, and where, which can be unpredictable on Gentoo. The init.d script -is also not suitable for Gentoo. - -diff --git a/setup.py b/setup.py -index fc67abb50..a11dc0d97 100755 ---- a/setup.py -+++ b/setup.py -@@ -145,8 +145,8 @@ from xpra.platform.features import LOCAL_SERVERS_SUPPORTED, SHADOW_SUPPORTED - shadow_ENABLED = SHADOW_SUPPORTED and DEFAULT - server_ENABLED = (LOCAL_SERVERS_SUPPORTED or shadow_ENABLED) and DEFAULT - rfb_ENABLED = DEFAULT --service_ENABLED = LINUX and server_ENABLED --sd_listen_ENABLED = POSIX and pkg_config_ok("--exists", "libsystemd") -+service_ENABLED = False -+sd_listen_ENABLED = False - proxy_ENABLED = DEFAULT - client_ENABLED = DEFAULT - scripts_ENABLED = not WIN32 diff --git a/x11-wm/xpra/files/xpra-4.4.6_minimal-features.patch b/x11-wm/xpra/files/xpra-4.4.6_minimal-features.patch new file mode 100644 index 000000000000..78a4cccb3684 --- /dev/null +++ b/x11-wm/xpra/files/xpra-4.4.6_minimal-features.patch @@ -0,0 +1,18 @@ +Xpra is a good piece of software except that some features are not +useful only to introduce unnecessary dependencies. + +Forwarded: no need. + +Index: xpra-4.4.6/xpra/scripts/main.py +=================================================================== +--- xpra-4.4.6.orig/xpra/scripts/main.py ++++ xpra-4.4.6/xpra/scripts/main.py +@@ -64,7 +64,7 @@ CLIPBOARD_CLASS = os.environ.get("XPRA_C + WAIT_SERVER_TIMEOUT = envint("WAIT_SERVER_TIMEOUT", 90) + CONNECT_TIMEOUT = envint("XPRA_CONNECT_TIMEOUT", 20) + OPENGL_PROBE_TIMEOUT = envint("XPRA_OPENGL_PROBE_TIMEOUT", 5) +-SYSTEMD_RUN = envbool("XPRA_SYSTEMD_RUN", True) ++SYSTEMD_RUN = False + VERIFY_X11_SOCKET_TIMEOUT = envint("XPRA_VERIFY_X11_SOCKET_TIMEOUT", 1) + LIST_REPROBE_TIMEOUT = envint("XPRA_LIST_REPROBE_TIMEOUT", 10) + diff --git a/x11-wm/xpra/files/xpra-9999-tests.patch b/x11-wm/xpra/files/xpra-9999-tests.patch deleted file mode 100644 index 746966577dcd..000000000000 --- a/x11-wm/xpra/files/xpra-9999-tests.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 79573c7f1241225922bee992f2caaf730cfbe3ac Mon Sep 17 00:00:00 2001 -From: totaam <antoine@xpra.org> -Date: Sun, 9 Oct 2022 21:37:39 +0700 -Subject: [PATCH 3/3] Revert "don't use GLib directly" - -This reverts commit bc8bf26c44d1b151d709232460483f5432f79f5b. ---- - xpra/server/mixins/child_command_server.py | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/xpra/server/mixins/child_command_server.py b/xpra/server/mixins/child_command_server.py -index 8dea3c1f7..1c2a60e27 100644 ---- a/xpra/server/mixins/child_command_server.py -+++ b/xpra/server/mixins/child_command_server.py -@@ -11,6 +11,8 @@ import os.path - from time import monotonic - from subprocess import Popen - -+from gi.repository import GLib -+ - from xpra.platform.features import COMMAND_SIGNALS - from xpra.child_reaper import getChildReaper, reaper_cleanup - from xpra.os_util import ( -@@ -72,7 +74,7 @@ class ChildCommandServer(StubServerMixin): - #even if __init__ is called multiple times: - if not getattr(self, "late_start_requested", False): - self.late_start_requested = True -- self.idle_add(self.late_start) -+ GLib.idle_add(self.late_start) - - def late_start(self): - def do_late_start(): --- -2.38.0 diff --git a/x11-wm/xpra/metadata.xml b/x11-wm/xpra/metadata.xml index 48743006848c..2f4961963d03 100644 --- a/x11-wm/xpra/metadata.xml +++ b/x11-wm/xpra/metadata.xml @@ -15,17 +15,16 @@ </maintainer> <upstream> <remote-id type="pypi">xpra</remote-id> + <remote-id type="github">Xpra-org/xpra</remote-id> <bugs-to>https://www.xpra.org/trac/report</bugs-to> </upstream> <use> - <flag name="brotli">Enable brotli compression support</flag> <flag name="client">Build client-side code</flag> <flag name="clipboard">Enable clipboard support</flag> <flag name="csc">Enable csc softscaler support</flag> <flag name="html">Install the HTML5 client</flag> <flag name="ibus">Use ibus input method via <pkg>app-i18n/ibus</pkg></flag> <flag name="oauth">Enable OAuth2 authentication in the server</flag> - <flag name="pillow">Enable pillow support</flag> <flag name="pinentry">Use <pkg>app-crypt/pinentry</pkg> for password entry</flag> <flag name="trayicon">Enable system tray icon</flag> <flag name="server">Build server-side code</flag> diff --git a/x11-wm/xpra/xpra-4.4.5-r1.ebuild b/x11-wm/xpra/xpra-4.4.5-r2.ebuild index 53d661a90a6b..64f6dfde2400 100644 --- a/x11-wm/xpra/xpra-4.4.5-r1.ebuild +++ b/x11-wm/xpra/xpra-4.4.5-r2.ebuild @@ -8,7 +8,7 @@ if [[ ${PV} = 9999* ]]; then inherit git-r3 else inherit pypi - KEYWORDS="~amd64 ~x86" + KEYWORDS="amd64 x86" fi PYTHON_COMPAT=( python3_{9..11} ) @@ -22,7 +22,7 @@ DESCRIPTION="X Persistent Remote Apps (xpra) and Partitioning WM (parti) based o HOMEPAGE="https://xpra.org/" LICENSE="GPL-2 BSD" SLOT="0" -IUSE="brotli +client +clipboard crypt csc cups dbus doc ffmpeg jpeg html ibus +lz4 lzo minimal oauth opengl pillow pinentry pulseaudio +server sound systemd test +trayicon udev vpx webcam webp xdg xinerama" +IUSE="brotli +client +clipboard crypt csc cups dbus doc ffmpeg jpeg html ibus +lz4 lzo minimal oauth opengl pinentry pulseaudio +server sound systemd test +trayicon udev vpx webcam webp xdg xinerama" REQUIRED_USE="${PYTHON_REQUIRED_USE} || ( client server ) @@ -68,7 +68,7 @@ DEPEND=" ffmpeg? ( >=media-video/ffmpeg-3.2.2:0=[x264] ) jpeg? ( media-libs/libjpeg-turbo ) pulseaudio? ( - media-sound/pulseaudio + media-libs/libpulse media-plugins/gst-plugins-pulse:1.0 ) sound? ( @@ -127,7 +127,7 @@ python_prepare_all() { # double-prefixes some files under /etc. Looks tricky to fix. :( #hprefixify $(find -type f \( -name "*.py" -o -name "*.conf" \)) - sed -r -e "/\bdoc_dir =/s:/${PN}\":/${PF}/html\":" \ + sed -r -e "/\bdoc_dir =/s:/${PN}/\":/${PF}/html\":" \ -i setup.py || die if use minimal; then @@ -195,11 +195,13 @@ python_test() { python_install_all() { distutils-r1_python_prepare_all - # Move udev dir to the right place. + # Move udev dir to the right place if necessary. if use udev; then local dir=$(get_udevdir) - dodir "${dir%/*}" - mv -vnT "${ED}"/usr/lib/udev "${ED}${dir}" || die + if [[ ! ${ED}/usr/lib/udev -ef ${ED}${dir} ]]; then + dodir "${dir%/*}" + mv -vnT "${ED}"/usr/lib/udev "${ED}${dir}" || die + fi else rm -vr "${ED}"/usr/lib/udev || die rm -v "${ED}"/usr/libexec/xpra/xpra_udev_product_version || die diff --git a/x11-wm/xpra/xpra-4.3.4-r1.ebuild b/x11-wm/xpra/xpra-4.4.6-r2.ebuild index af4ceff68269..b4c34890cee3 100644 --- a/x11-wm/xpra/xpra-4.3.4-r1.ebuild +++ b/x11-wm/xpra/xpra-4.4.6-r2.ebuild @@ -8,27 +8,26 @@ if [[ ${PV} = 9999* ]]; then inherit git-r3 else inherit pypi - SRC_URI+=" - https://dev.gentoo.org/~chewi/distfiles/${PN}-4.3.1-tests.patch - " - KEYWORDS="amd64 x86" + KEYWORDS="~amd64 ~x86" fi PYTHON_COMPAT=( python3_{9..11} ) +DISTUTILS_USE_PEP517=setuptools DISTUTILS_SINGLE_IMPL=yes -DISTUTILS_USE_SETUPTOOLS=no +DISTUTILS_EXT=1 -inherit xdg xdg-utils distutils-r1 tmpfiles udev +inherit xdg xdg-utils distutils-r1 multibuild prefix tmpfiles udev DESCRIPTION="X Persistent Remote Apps (xpra) and Partitioning WM (parti) based on wimpiggy" HOMEPAGE="https://xpra.org/" LICENSE="GPL-2 BSD" SLOT="0" -IUSE="brotli +client +clipboard crypt csc cups dbus doc ffmpeg jpeg html ibus +lz4 lzo minimal opengl pillow pinentry pulseaudio +server sound systemd test udev vpx webcam webp xdg xinerama" +IUSE="brotli +client +clipboard crypt csc cups dbus doc ffmpeg jpeg html ibus +lz4 lzo minimal oauth opengl pinentry pulseaudio +server sound systemd test +trayicon udev vpx webcam webp xdg xinerama" REQUIRED_USE="${PYTHON_REQUIRED_USE} || ( client server ) cups? ( dbus ) + oauth? ( server ) opengl? ( client ) test? ( client clipboard crypt dbus html server sound xdg xinerama ) " @@ -36,7 +35,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} TEST_DEPEND=" $(python_gen_cond_dep ' dev-python/netifaces[${PYTHON_USEDEP}] - dev-python/pillow[jpeg?,${PYTHON_USEDEP}] + dev-python/pillow[jpeg?,webp?,${PYTHON_USEDEP}] dev-python/rencode[${PYTHON_USEDEP}] dbus? ( dev-python/dbus-python[${PYTHON_USEDEP}] ) xdg? ( dev-python/pyxdg[${PYTHON_USEDEP}] ) @@ -69,7 +68,7 @@ DEPEND=" ffmpeg? ( >=media-video/ffmpeg-3.2.2:0=[x264] ) jpeg? ( media-libs/libjpeg-turbo ) pulseaudio? ( - media-sound/pulseaudio + media-libs/libpulse media-plugins/gst-plugins-pulse:1.0 ) sound? ( @@ -87,9 +86,8 @@ RDEPEND=" cups? ( dev-python/pycups[${PYTHON_USEDEP}] ) lz4? ( dev-python/lz4[${PYTHON_USEDEP}] ) lzo? ( >=dev-python/python-lzo-0.7.0[${PYTHON_USEDEP}] ) - opengl? ( - client? ( dev-python/pyopengl_accelerate[${PYTHON_USEDEP}] ) - ) + oauth? ( dev-python/oauthlib[${PYTHON_USEDEP}] ) + opengl? ( dev-python/pyopengl_accelerate[${PYTHON_USEDEP}] ) webcam? ( dev-python/numpy[${PYTHON_USEDEP}] dev-python/pyinotify[${PYTHON_USEDEP}] @@ -102,6 +100,7 @@ RDEPEND=" x11-apps/xmodmap ibus? ( app-i18n/ibus ) pinentry? ( app-crypt/pinentry ) + trayicon? ( dev-libs/libayatana-appindicator ) udev? ( virtual/udev ) " DEPEND+=" @@ -115,29 +114,28 @@ BDEPEND=" doc? ( virtual/pandoc ) " -RESTRICT="!test? ( test )" +# Broken by PEP517 migration, and some tests failed for a while before that for +# unknown reasons. +RESTRICT="test" PATCHES=( - "${FILESDIR}"/${PN}-3.0.2_ignore-gentoo-no-compile.patch - "${FILESDIR}"/${PN}-4.3-no-service.patch - "${DISTDIR}"/${PN}-4.3.1-tests.patch + "${FILESDIR}"/${PN}-4.4-xdummy.patch ) python_prepare_all() { - distutils-r1_python_prepare_all - - # FIXME: There are hardcoded paths all over the place but the following - # double-prefixes some files under /etc. Looks tricky to fix. :( - #hprefixify $(find -type f \( -name "*.py" -o -name "*.conf" \)) - - sed -r -e "/\bdoc_dir =/s:/${PN}\":/${PF}/html\":" \ - -i setup.py || die - if use minimal; then sed -r -e '/pam_ENABLED/s/DEFAULT/False/' \ -e 's/^(xdg_open)_ENABLED = .*/\1_ENABLED = False/' \ -i setup.py || die + PATCHES+=( "${FILESDIR}"/${PN}-4.4.6_xpra-4.4.6_minimal-features.patch ) fi + + distutils-r1_python_prepare_all + + hprefixify xpra/scripts/config.py + + sed -r -e "/\bdoc_dir =/s:/${PN}/\":/${PF}/html\":" \ + -i setup.py || die } python_configure_all() { @@ -165,6 +163,8 @@ python_configure_all() { $(use_with jpeg jpeg_encoder) $(use_with jpeg jpeg_decoder) --without-mdns + --without-sd_listen + --without-service $(use_with opengl) $(use_with server shadow) $(use_with server) @@ -196,14 +196,24 @@ python_test() { python_install_all() { distutils-r1_python_prepare_all - # Move udev dir to the right place. + # Switching to PEP517 gives /usr/etc. Previously, setup.py hardcodes + # if root_prefix.endswith("/usr"): + # root_prefix = root_prefix[:-4] + # But now setuptools uses data/* to represent out-of-sitedir files. + # The upstream hack no longer works. We are on our own. + + mv -v "${ED}"/usr/etc "${ED}"/ || die + + # Move udev dir to the right place if necessary. if use udev; then local dir=$(get_udevdir) - dodir "${dir%/*}" - mv -vnT "${ED}"/usr/lib/udev "${ED}${dir}" || die + if [[ ! ${ED}/usr/lib/udev -ef ${ED}${dir} ]]; then + dodir "${dir%/*}" + mv -vnT "${ED}"/usr/lib/udev "${ED}${dir}" || die + fi else rm -vr "${ED}"/usr/lib/udev || die - rm -v "${ED}"/usr/bin/xpra_udev_product_version || die + rm -v "${ED}"/usr/libexec/xpra/xpra_udev_product_version || die fi } diff --git a/x11-wm/xpra/xpra-9999.ebuild b/x11-wm/xpra/xpra-9999.ebuild index 93c9941bab1e..b2531fd6fa85 100644 --- a/x11-wm/xpra/xpra-9999.ebuild +++ b/x11-wm/xpra/xpra-9999.ebuild @@ -12,17 +12,17 @@ else fi PYTHON_COMPAT=( python3_{9..11} ) +DISTUTILS_USE_PEP517=setuptools DISTUTILS_SINGLE_IMPL=yes -DISTUTILS_USE_SETUPTOOLS=no DISTUTILS_EXT=1 -inherit xdg xdg-utils distutils-r1 tmpfiles udev +inherit xdg xdg-utils distutils-r1 multibuild prefix tmpfiles udev DESCRIPTION="X Persistent Remote Apps (xpra) and Partitioning WM (parti) based on wimpiggy" HOMEPAGE="https://xpra.org/" LICENSE="GPL-2 BSD" SLOT="0" -IUSE="brotli +client +clipboard crypt csc cups dbus doc ffmpeg jpeg html ibus +lz4 lzo minimal oauth opengl pillow pinentry pulseaudio +server sound systemd test +trayicon udev vpx webcam webp xdg xinerama" +IUSE="brotli +client +clipboard crypt csc cups dbus doc ffmpeg jpeg html ibus +lz4 lzo minimal oauth opengl pinentry pulseaudio +server sound systemd test +trayicon udev vpx webcam webp xdg xinerama" REQUIRED_USE="${PYTHON_REQUIRED_USE} || ( client server ) @@ -35,7 +35,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} TEST_DEPEND=" $(python_gen_cond_dep ' dev-python/netifaces[${PYTHON_USEDEP}] - dev-python/pillow[jpeg?,${PYTHON_USEDEP}] + dev-python/pillow[jpeg?,webp?,${PYTHON_USEDEP}] dev-python/rencode[${PYTHON_USEDEP}] dbus? ( dev-python/dbus-python[${PYTHON_USEDEP}] ) xdg? ( dev-python/pyxdg[${PYTHON_USEDEP}] ) @@ -68,7 +68,7 @@ DEPEND=" ffmpeg? ( >=media-video/ffmpeg-3.2.2:0=[x264] ) jpeg? ( media-libs/libjpeg-turbo ) pulseaudio? ( - media-sound/pulseaudio + media-libs/libpulse media-plugins/gst-plugins-pulse:1.0 ) sound? ( @@ -114,21 +114,20 @@ BDEPEND=" doc? ( virtual/pandoc ) " -RESTRICT="!test? ( test )" +# Broken by PEP517 migration and some tests failed for a while before that for +# unknown reasons. +RESTRICT="test" PATCHES=( "${FILESDIR}"/${PN}-9999-xdummy.patch - "${FILESDIR}"/${PN}-9999-tests.patch ) python_prepare_all() { distutils-r1_python_prepare_all - # FIXME: There are hardcoded paths all over the place but the following - # double-prefixes some files under /etc. Looks tricky to fix. :( - #hprefixify $(find -type f \( -name "*.py" -o -name "*.conf" \)) + hprefixify xpra/scripts/config.py - sed -r -e "/\bdoc_dir =/s:/${PN}\":/${PF}/html\":" \ + sed -r -e "/\bdoc_dir =/s:/${PN}/\":/${PF}/html\":" \ -i setup.py || die if use minimal; then @@ -196,11 +195,21 @@ python_test() { python_install_all() { distutils-r1_python_prepare_all - # Move udev dir to the right place. + # Switching to PEP517 gives /usr/etc. Previously, setup.py hardcodes + # if root_prefix.endswith("/usr"): + # root_prefix = root_prefix[:-4] + # But now setuptools uses data/* to represent out-of-sitedir files. + # The upstream hack no longer works. We are on our own. + + mv -v "${ED}"/usr/etc "${ED}"/ || die + + # Move udev dir to the right place if necessary. if use udev; then local dir=$(get_udevdir) - dodir "${dir%/*}" - mv -vnT "${ED}"/usr/lib/udev "${ED}${dir}" || die + if [[ ! ${ED}/usr/lib/udev -ef ${ED}${dir} ]]; then + dodir "${dir%/*}" + mv -vnT "${ED}"/usr/lib/udev "${ED}${dir}" || die + fi else rm -vr "${ED}"/usr/lib/udev || die rm -v "${ED}"/usr/libexec/xpra/xpra_udev_product_version || die |