summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/2bwm/metadata.xml2
-rw-r--r--x11-wm/aewm++/aewm++-1.1.5-r3.ebuild (renamed from x11-wm/aewm++/aewm++-1.1.5-r2.ebuild)13
-rw-r--r--x11-wm/aewm++/files/aewm++-1.1.5-gcc43.patch53
-rw-r--r--x11-wm/aewm++/files/aewm++-1.1.5-makefile.patch34
-rw-r--r--x11-wm/aewm++/metadata.xml2
-rw-r--r--x11-wm/aewm/metadata.xml4
-rw-r--r--x11-wm/amiwm/Manifest2
-rw-r--r--x11-wm/amiwm/amiwm-0.22.01_p20230916.ebuild (renamed from x11-wm/amiwm/amiwm-0.22.01_p20200826.ebuild)10
-rw-r--r--x11-wm/amiwm/metadata.xml7
-rw-r--r--x11-wm/awesome/awesome-4.3-r103.ebuild (renamed from x11-wm/awesome/awesome-4.3-r101.ebuild)8
-rw-r--r--x11-wm/awesome/awesome-9999.ebuild30
-rw-r--r--x11-wm/awesome/metadata.xml2
-rw-r--r--x11-wm/blackbox/Manifest2
-rw-r--r--x11-wm/blackbox/blackbox-0.76.ebuild52
-rw-r--r--x11-wm/blackbox/blackbox-0.77-r1.ebuild (renamed from x11-wm/blackbox/blackbox-0.76-r1.ebuild)19
-rw-r--r--x11-wm/blackbox/files/blackbox-0.77-gcc12-time.patch35
-rw-r--r--x11-wm/blackbox/metadata.xml2
-rw-r--r--x11-wm/bspwm/Manifest1
-rw-r--r--x11-wm/bspwm/bspwm-0.9.10.ebuild4
-rw-r--r--x11-wm/bspwm/bspwm-0.9.9.ebuild45
-rw-r--r--x11-wm/bspwm/metadata.xml12
-rw-r--r--x11-wm/ctwm/Manifest1
-rw-r--r--x11-wm/ctwm/ctwm-4.0.2.ebuild45
-rw-r--r--x11-wm/ctwm/ctwm-4.0.3.ebuild9
-rw-r--r--x11-wm/ctwm/metadata.xml3
-rw-r--r--x11-wm/cwm/Manifest3
-rw-r--r--x11-wm/cwm/cwm-6.7.ebuild4
-rw-r--r--x11-wm/cwm/cwm-7.1.ebuild (renamed from x11-wm/cwm/cwm-6.6.ebuild)28
-rw-r--r--x11-wm/cwm/cwm-7.4.ebuild40
-rw-r--r--x11-wm/cwm/cwm-9999.ebuild16
-rw-r--r--x11-wm/cwm/files/cwm-Makefile.patch21
-rw-r--r--x11-wm/cwm/metadata.xml8
-rw-r--r--x11-wm/dwm/Manifest3
-rw-r--r--x11-wm/dwm/dwm-6.4.ebuild (renamed from x11-wm/dwm/dwm-6.2.ebuild)23
-rw-r--r--x11-wm/dwm/dwm-6.5.ebuild68
-rw-r--r--x11-wm/dwm/dwm-9999.ebuild26
-rw-r--r--x11-wm/dwm/metadata.xml6
-rw-r--r--x11-wm/e16/Manifest3
-rw-r--r--x11-wm/e16/e16-1.0.21.ebuild130
-rw-r--r--x11-wm/e16/e16-1.0.25-r1.ebuild (renamed from x11-wm/e16/e16-1.0.22.ebuild)22
-rw-r--r--x11-wm/e16/files/e16-user-fonts.patch12
-rw-r--r--x11-wm/e16/metadata.xml13
-rw-r--r--x11-wm/echinus/echinus-0.4.9.ebuild5
-rw-r--r--x11-wm/echinus/files/echinus-0.4.9-gentoo.diff8
-rw-r--r--x11-wm/echinus/metadata.xml2
-rw-r--r--x11-wm/enlightenment/Manifest2
-rw-r--r--x11-wm/enlightenment/enlightenment-0.26.0.ebuild (renamed from x11-wm/enlightenment/enlightenment-0.24.2-r1.ebuild)32
-rw-r--r--x11-wm/enlightenment/metadata.xml2
-rw-r--r--x11-wm/evilwm/Manifest4
-rw-r--r--x11-wm/evilwm/evilwm-1.3.1.ebuild (renamed from x11-wm/evilwm/evilwm-1.1.1.ebuild)6
-rw-r--r--x11-wm/evilwm/evilwm-1.4.2.ebuild (renamed from x11-wm/evilwm/evilwm-1.0.1-r1.ebuild)21
-rw-r--r--x11-wm/evilwm/metadata.xml5
-rw-r--r--x11-wm/fluxbox/files/fluxbox-1.3.7-fbsetroot-Don-t-use-register-keyword.patch25
-rw-r--r--x11-wm/fluxbox/fluxbox-1.3.7-r5.ebuild (renamed from x11-wm/fluxbox/fluxbox-1.3.7-r4.ebuild)17
-rw-r--r--x11-wm/fluxbox/metadata.xml7
-rw-r--r--x11-wm/fvwm/Manifest1
-rw-r--r--x11-wm/fvwm/files/fvwm-2.7.0-c99.patch99
-rw-r--r--x11-wm/fvwm/files/fvwm-2.7.0-clang16.patch54
-rw-r--r--x11-wm/fvwm/fvwm-2.6.9.ebuild13
-rw-r--r--x11-wm/fvwm/fvwm-2.7.0-r1.ebuild171
-rw-r--r--x11-wm/fvwm/fvwm-2.7.0-r3.ebuild170
-rw-r--r--x11-wm/fvwm/fvwm-2.7.0.ebuild169
-rw-r--r--x11-wm/fvwm/metadata.xml6
-rw-r--r--x11-wm/fvwm3/Manifest4
-rw-r--r--x11-wm/fvwm3/files/fvwm3-1.1.0-fix-go-detection-v2.patch50
-rw-r--r--x11-wm/fvwm3/fvwm3-1.0.9-r1.ebuild202
-rw-r--r--x11-wm/fvwm3/fvwm3-1.1.0-r1.ebuild203
-rw-r--r--x11-wm/fvwm3/fvwm3-9999.ebuild200
-rw-r--r--x11-wm/fvwm3/metadata.xml23
-rw-r--r--x11-wm/goomwwm/files/goomwwm-1.0.0-makefile.patch29
-rw-r--r--x11-wm/goomwwm/goomwwm-1.0.0-r2.ebuild (renamed from x11-wm/goomwwm/goomwwm-1.0.0-r1.ebuild)28
-rw-r--r--x11-wm/goomwwm/goomwwm-9999.ebuild44
-rw-r--r--x11-wm/goomwwm/metadata.xml2
-rw-r--r--x11-wm/herbstluftwm/Manifest4
-rw-r--r--x11-wm/herbstluftwm/herbstluftwm-0.7.2-r1.ebuild72
-rw-r--r--x11-wm/herbstluftwm/herbstluftwm-0.9.1.ebuild59
-rw-r--r--x11-wm/herbstluftwm/herbstluftwm-0.9.2.ebuild93
-rw-r--r--x11-wm/herbstluftwm/herbstluftwm-0.9.5-r2.ebuild144
-rw-r--r--x11-wm/herbstluftwm/herbstluftwm-9999.ebuild123
-rw-r--r--x11-wm/herbstluftwm/metadata.xml13
-rw-r--r--x11-wm/i3-gaps/Manifest3
-rw-r--r--x11-wm/i3-gaps/files/i3-gaps-4.18-musl.patch74
-rw-r--r--x11-wm/i3-gaps/files/i3-gaps-4.18.2-drop-branch-test.patch11
-rw-r--r--x11-wm/i3-gaps/files/i3-gaps-4.19-fix-docdir.patch22
-rw-r--r--x11-wm/i3-gaps/i3-gaps-4.18.2.ebuild101
-rw-r--r--x11-wm/i3-gaps/i3-gaps-4.19.1.ebuild87
-rw-r--r--x11-wm/i3-gaps/i3-gaps-4.19.ebuild91
-rw-r--r--x11-wm/i3-gaps/metadata.xml15
-rw-r--r--x11-wm/i3/Manifest6
-rw-r--r--x11-wm/i3/files/i3-4.16-musl-GLOB_TILDE.patch86
-rw-r--r--x11-wm/i3/files/i3-gaps-4.19-fix-docdir.patch22
-rw-r--r--x11-wm/i3/i3-4.18.3.ebuild103
-rw-r--r--x11-wm/i3/i3-4.18.ebuild103
-rw-r--r--x11-wm/i3/i3-4.22.ebuild (renamed from x11-wm/i3/i3-4.19.1.ebuild)56
-rw-r--r--x11-wm/i3/i3-4.23.ebuild (renamed from x11-wm/i3/i3-4.19-r1.ebuild)57
-rw-r--r--x11-wm/i3/i3-9999.ebuild51
-rw-r--r--x11-wm/i3/metadata.xml15
-rw-r--r--x11-wm/icewm/Manifest5
-rw-r--r--x11-wm/icewm/icewm-2.3.1.ebuild153
-rw-r--r--x11-wm/icewm/icewm-3.3.1.ebuild (renamed from x11-wm/icewm/icewm-2.2.1.ebuild)18
-rw-r--r--x11-wm/icewm/icewm-3.4.1.ebuild (renamed from x11-wm/icewm/icewm-2.3.2.ebuild)20
-rw-r--r--x11-wm/icewm/metadata.xml7
-rw-r--r--x11-wm/jwm/Manifest3
-rw-r--r--x11-wm/jwm/jwm-2.3.2.ebuild61
-rw-r--r--x11-wm/jwm/jwm-2.4.2.ebuild (renamed from x11-wm/jwm/jwm-2.3.7.ebuild)23
-rw-r--r--x11-wm/jwm/metadata.xml12
-rw-r--r--x11-wm/larswm/larswm-7.5.3-r2.ebuild18
-rw-r--r--x11-wm/larswm/metadata.xml6
-rw-r--r--x11-wm/lumina/Manifest2
-rw-r--r--x11-wm/lumina/files/1.2.0-desktop-files.patch33
-rw-r--r--x11-wm/lumina/files/1.6.1-desktop-files.patch33
-rw-r--r--x11-wm/lumina/lumina-1.6.2-r1.ebuild87
-rw-r--r--x11-wm/lumina/lumina-1.6.2.ebuild (renamed from x11-wm/lumina/lumina-1.6.0.ebuild)26
-rw-r--r--x11-wm/lumina/lumina-9999.ebuild71
-rw-r--r--x11-wm/lumina/metadata.xml11
-rw-r--r--x11-wm/lwm/lwm-1.2.4.ebuild28
-rw-r--r--x11-wm/lwm/metadata.xml6
-rw-r--r--x11-wm/marco/Manifest4
-rw-r--r--x11-wm/marco/marco-1.24.1.ebuild75
-rw-r--r--x11-wm/marco/marco-1.26.2-r1.ebuild (renamed from x11-wm/marco/marco-1.24.1-r1.ebuild)38
-rw-r--r--x11-wm/marco/marco-1.28.1.ebuild (renamed from x11-wm/marco/marco-1.24.0-r2.ebuild)48
-rw-r--r--x11-wm/marco/metadata.xml14
-rw-r--r--x11-wm/matwm2/matwm2-0.1.2_pre3-r2.ebuild (renamed from x11-wm/matwm2/matwm2-0.1.2_pre3-r1.ebuild)35
-rw-r--r--x11-wm/matwm2/matwm2-0.1.2_pre3-r3.ebuild65
-rw-r--r--x11-wm/matwm2/metadata.xml2
-rw-r--r--x11-wm/metacity/Manifest3
-rw-r--r--x11-wm/metacity/metacity-3.46.1.ebuild (renamed from x11-wm/metacity/metacity-3.36.1.ebuild)18
-rw-r--r--x11-wm/metacity/metacity-3.50.0.ebuild56
-rw-r--r--x11-wm/metacity/metadata.xml25
-rw-r--r--x11-wm/metadata.xml2
-rw-r--r--x11-wm/muffin/Manifest4
-rw-r--r--x11-wm/muffin/files/muffin-4.8.1-slibtool.patch146
-rw-r--r--x11-wm/muffin/metadata.xml5
-rw-r--r--x11-wm/muffin/muffin-4.6.3.ebuild100
-rw-r--r--x11-wm/muffin/muffin-4.8.1.ebuild110
-rw-r--r--x11-wm/muffin/muffin-5.8.1.ebuild118
-rw-r--r--x11-wm/muffin/muffin-6.0.1.ebuild174
-rw-r--r--x11-wm/musca/files/musca-0.9.24-make.patch8
-rw-r--r--x11-wm/musca/metadata.xml2
-rw-r--r--x11-wm/musca/musca-0.9.24_p20100226-r4.ebuild7
-rw-r--r--x11-wm/mutter/Manifest8
-rw-r--r--x11-wm/mutter/files/3.34.6-tests-dontreq-gdkwayland.patch51
-rw-r--r--x11-wm/mutter/files/45.2-fix-X-only.patch48
-rw-r--r--x11-wm/mutter/files/mutter-40.0-Disable-anonymous-file-test.patch32
-rw-r--r--x11-wm/mutter/files/mutter-43.0-Disable-anonymous-file-test.patch27
-rw-r--r--x11-wm/mutter/metadata.xml22
-rw-r--r--x11-wm/mutter/mutter-3.36.7-r1.ebuild149
-rw-r--r--x11-wm/mutter/mutter-3.38.4.ebuild143
-rw-r--r--x11-wm/mutter/mutter-40.0.ebuild148
-rw-r--r--x11-wm/mutter/mutter-45.2-r1.ebuild240
-rw-r--r--x11-wm/mutter/mutter-45.4.ebuild236
-rw-r--r--x11-wm/mutter/mutter-45.5.ebuild237
-rw-r--r--x11-wm/mutter/mutter-9999.ebuild239
-rw-r--r--x11-wm/notion/Manifest2
-rw-r--r--x11-wm/notion/files/notion-3_p2015061300-pkg-config.patch76
-rw-r--r--x11-wm/notion/metadata.xml2
-rw-r--r--x11-wm/notion/notion-3_p2015061300-r100.ebuild101
-rw-r--r--x11-wm/notion/notion-4.0.2_p20220613.ebuild93
-rw-r--r--x11-wm/notion/notion-9999.ebuild90
-rw-r--r--x11-wm/openbox/files/openbox-3.6.1-getgrent-to-getgroups.patch67
-rw-r--r--x11-wm/openbox/files/openbox-3.6.1-glib-2.76.patch54
-rw-r--r--x11-wm/openbox/metadata.xml2
-rw-r--r--x11-wm/openbox/openbox-3.6.1-r5.ebuild (renamed from x11-wm/openbox/openbox-3.6.1-r3.ebuild)16
-rw-r--r--x11-wm/openbox/openbox-3.6.1-r8.ebuild126
-rw-r--r--x11-wm/openbox/openbox-9999.ebuild25
-rw-r--r--x11-wm/oroborus/metadata.xml6
-rw-r--r--x11-wm/oroborus/oroborus-2.0.20-r2.ebuild (renamed from x11-wm/oroborus/oroborus-2.0.20-r1.ebuild)4
-rw-r--r--x11-wm/page/Manifest3
-rw-r--r--x11-wm/page/metadata.xml6
-rw-r--r--x11-wm/page/page-1.9.10-r1.ebuild (renamed from x11-wm/page/page-1.9.9-r3.ebuild)28
-rw-r--r--x11-wm/page/page-1.9.10.ebuild (renamed from x11-wm/page/page-1.9.8.ebuild)22
-rw-r--r--x11-wm/pekwm/Manifest4
-rw-r--r--x11-wm/pekwm/metadata.xml15
-rw-r--r--x11-wm/pekwm/pekwm-0.1.18.ebuild (renamed from x11-wm/pekwm/pekwm-0.1.17-r2.ebuild)38
-rw-r--r--x11-wm/pekwm/pekwm-0.2.1.ebuild88
-rw-r--r--x11-wm/pekwm/pekwm-0.3.0.ebuild88
-rw-r--r--x11-wm/qtile/Manifest3
-rw-r--r--x11-wm/qtile/files/qtile-0.23.0-keyring.patch52
-rw-r--r--x11-wm/qtile/files/qtile-session-r1 (renamed from x11-wm/qtile/files/qtile-session)2
-rw-r--r--x11-wm/qtile/metadata.xml8
-rw-r--r--x11-wm/qtile/qtile-0.15.1.ebuild63
-rw-r--r--x11-wm/qtile/qtile-0.16.1.ebuild46
-rw-r--r--x11-wm/qtile/qtile-0.23.0-r1.ebuild112
-rw-r--r--x11-wm/ratpoison/metadata.xml2
-rw-r--r--x11-wm/ratpoison/ratpoison-1.4.9-r3.ebuild (renamed from x11-wm/ratpoison/ratpoison-1.4.9.ebuild)22
-rw-r--r--x11-wm/ratpoison/ratpoison-9999.ebuild19
-rw-r--r--x11-wm/sawfish/Manifest1
-rw-r--r--x11-wm/sawfish/files/50sawfish-gentoo.el7
-rw-r--r--x11-wm/sawfish/files/sawfish-1.12.0-desktop.patch19
-rw-r--r--x11-wm/sawfish/files/sawfish-1.12.0-fno-common.patch39
-rw-r--r--x11-wm/sawfish/metadata.xml14
-rw-r--r--x11-wm/sawfish/sawfish-1.12.90-r2.ebuild105
-rw-r--r--x11-wm/selectwm/files/selectwm-0.4.1-autotools.patch26
-rw-r--r--x11-wm/selectwm/files/selectwm-0.4.1-nostrip.patch15
-rw-r--r--x11-wm/selectwm/metadata.xml2
-rw-r--r--x11-wm/selectwm/selectwm-0.4.1-r2.ebuild (renamed from x11-wm/selectwm/selectwm-0.4.1-r1.ebuild)25
-rw-r--r--x11-wm/sithwm/metadata.xml2
-rw-r--r--x11-wm/spectrwm/Manifest4
-rw-r--r--x11-wm/spectrwm/files/spectrwm-3.4.0-gentoo.patch24
-rw-r--r--x11-wm/spectrwm/files/spectrwm-3.4.1-musl.patch9
-rw-r--r--x11-wm/spectrwm/files/spectrwm-3.4.1_p20221224-fix-cflags-ldflags.patch25
-rw-r--r--x11-wm/spectrwm/files/spectrwm-3.5.0-fix-cflags-ldflags.patch26
-rw-r--r--x11-wm/spectrwm/metadata.xml5
-rw-r--r--x11-wm/spectrwm/spectrwm-3.4.1_p20230310.ebuild54
-rw-r--r--x11-wm/spectrwm/spectrwm-3.5.0.ebuild (renamed from x11-wm/spectrwm/spectrwm-3.4.1.ebuild)28
-rw-r--r--x11-wm/spectrwm/spectrwm-3.5.1.ebuild53
-rw-r--r--x11-wm/stumpwm-contrib/metadata.xml2
-rw-r--r--x11-wm/stumpwm/Manifest2
-rw-r--r--x11-wm/stumpwm/metadata.xml3
-rw-r--r--x11-wm/stumpwm/stumpwm-22.05_p20220818.ebuild (renamed from x11-wm/stumpwm/stumpwm-18.05.ebuild)29
-rw-r--r--x11-wm/subtle/Manifest1
-rw-r--r--x11-wm/subtle/metadata.xml23
-rw-r--r--x11-wm/subtle/subtle-0.11.3244.ebuild89
-rw-r--r--x11-wm/subtle/subtle-9999.ebuild89
-rw-r--r--x11-wm/treewm/metadata.xml2
-rw-r--r--x11-wm/treewm/treewm-0.4.5-r2.ebuild4
-rw-r--r--x11-wm/twm/Manifest2
-rw-r--r--x11-wm/twm/metadata.xml13
-rw-r--r--x11-wm/twm/twm-1.0.12.ebuild (renamed from x11-wm/twm/twm-1.0.11.ebuild)6
-rw-r--r--x11-wm/vtwm/files/vtwm-5.4.7-clang16.patch7
-rw-r--r--x11-wm/vtwm/metadata.xml21
-rw-r--r--x11-wm/vtwm/vtwm-5.4.7-r2.ebuild72
-rw-r--r--x11-wm/vtwm/vtwm-5.4.7-r3.ebuild81
-rw-r--r--x11-wm/windowlab/files/windowlab-1.40-libdir.patch20
-rw-r--r--x11-wm/windowlab/metadata.xml11
-rw-r--r--x11-wm/windowlab/windowlab-1.40-r2.ebuild (renamed from x11-wm/windowlab/windowlab-1.40-r1.ebuild)22
-rw-r--r--x11-wm/windowmaker/Manifest1
-rw-r--r--x11-wm/windowmaker/metadata.xml5
-rw-r--r--x11-wm/windowmaker/windowmaker-0.95.9-r4.ebuild (renamed from x11-wm/windowmaker/windowmaker-0.95.9-r2.ebuild)14
-rw-r--r--x11-wm/windowmaker/windowmaker-0.96.0.ebuild117
-rw-r--r--x11-wm/windowmaker/windowmaker-9999.ebuild12
-rw-r--r--x11-wm/wm2/files/wm2-4-gentoo.patch45
-rw-r--r--x11-wm/wm2/metadata.xml2
-rw-r--r--x11-wm/wm2/wm2-4-r1.ebuild29
-rw-r--r--x11-wm/wmfs/metadata.xml2
-rw-r--r--x11-wm/wmfs/wmfs-20180520.ebuild8
-rw-r--r--x11-wm/wmfs/wmfs-99999999.ebuild6
-rw-r--r--x11-wm/wmii/files/wmii-3.9.2-libdir.patch12
-rw-r--r--x11-wm/wmii/metadata.xml9
-rw-r--r--x11-wm/wmii/wmii-3.9.2-r7.ebuild84
-rw-r--r--x11-wm/wmii/wmii-3.9.2-r8.ebuild86
-rw-r--r--x11-wm/xmonad-contrib/Manifest3
-rw-r--r--x11-wm/xmonad-contrib/metadata.xml25
-rw-r--r--x11-wm/xmonad-contrib/xmonad-contrib-0.16.ebuild41
-rw-r--r--x11-wm/xmonad-contrib/xmonad-contrib-0.17.0.ebuild39
-rw-r--r--x11-wm/xmonad-contrib/xmonad-contrib-0.17.1.ebuild37
-rw-r--r--x11-wm/xmonad/Manifest3
-rw-r--r--x11-wm/xmonad/metadata.xml17
-rw-r--r--x11-wm/xmonad/xmonad-0.17.0.ebuild (renamed from x11-wm/xmonad/xmonad-0.15.ebuild)32
-rw-r--r--x11-wm/xmonad/xmonad-0.17.2.ebuild81
-rw-r--r--x11-wm/xoat/metadata.xml8
-rw-r--r--x11-wm/xoat/xoat-9999.ebuild49
-rw-r--r--x11-wm/xpra/Manifest5
-rw-r--r--x11-wm/xpra/files/xpra-2.0-suid-warning.patch11
-rw-r--r--x11-wm/xpra/files/xpra-3.0.2-ldconfig.patch33
-rw-r--r--x11-wm/xpra/files/xpra-3.0.2_ignore-gentoo-no-compile.patch13
-rw-r--r--x11-wm/xpra/files/xpra-4.0.3-suid-warning.patch12
-rw-r--r--x11-wm/xpra/files/xpra-4.4-xdummy.patch24
-rw-r--r--x11-wm/xpra/files/xpra-4.4.6_minimal-features.patch18
-rw-r--r--x11-wm/xpra/files/xpra-9999-xdummy.patch14
-rw-r--r--x11-wm/xpra/metadata.xml16
-rw-r--r--x11-wm/xpra/xpra-3.0.5-r2.ebuild147
-rw-r--r--x11-wm/xpra/xpra-4.1.1.ebuild159
-rw-r--r--x11-wm/xpra/xpra-4.4.5-r2.ebuild (renamed from x11-wm/xpra/xpra-4.1.2.ebuild)144
-rw-r--r--x11-wm/xpra/xpra-4.4.6-r2.ebuild229
-rw-r--r--x11-wm/xpra/xpra-9999.ebuild228
266 files changed, 6379 insertions, 4808 deletions
diff --git a/x11-wm/2bwm/metadata.xml b/x11-wm/2bwm/metadata.xml
index 0e0b643d7fa1..5389fba89c65 100644
--- a/x11-wm/2bwm/metadata.xml
+++ b/x11-wm/2bwm/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>lillyjsm@gmail.com</email>
diff --git a/x11-wm/aewm++/aewm++-1.1.5-r2.ebuild b/x11-wm/aewm++/aewm++-1.1.5-r3.ebuild
index 47ceef425b86..1afc79dbe2dc 100644
--- a/x11-wm/aewm++/aewm++-1.1.5-r2.ebuild
+++ b/x11-wm/aewm++/aewm++-1.1.5-r3.ebuild
@@ -1,7 +1,8 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
+
inherit toolchain-funcs
DESCRIPTION="A window manager with more modern features than aewm"
@@ -11,9 +12,9 @@ SRC_URI="mirror://gentoo/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc x86"
-IUSE=""
-RDEPEND="x11-libs/libX11
+RDEPEND="
+ x11-libs/libX11
x11-libs/libXext"
DEPEND="${RDEPEND}
x11-base/xorg-proto"
@@ -23,6 +24,6 @@ PATCHES=(
"${FILESDIR}"/${P}-makefile.patch
)
-src_compile() {
- emake CXX="$(tc-getCXX)"
+src_configure() {
+ tc-export CXX
}
diff --git a/x11-wm/aewm++/files/aewm++-1.1.5-gcc43.patch b/x11-wm/aewm++/files/aewm++-1.1.5-gcc43.patch
index 23cacdc43a2b..1fab782112d2 100644
--- a/x11-wm/aewm++/files/aewm++-1.1.5-gcc43.patch
+++ b/x11-wm/aewm++/files/aewm++-1.1.5-gcc43.patch
@@ -1,6 +1,16 @@
-diff -ur aewm++-1.1.5.orig/client.cc aewm++-1.1.5/client.cc
---- aewm++-1.1.5.orig/client.cc 2005-05-23 06:06:01.000000000 +0300
-+++ aewm++-1.1.5/client.cc 2008-05-03 23:50:02.000000000 +0300
+--- a/aewm.hh
++++ b/aewm.hh
+@@ -87,7 +87,7 @@
+ #define BW (has_border ? wm->getOptBW() : 0)
+
+ // defined in main.cc
+-void forkExec(char *);
++void forkExec(const char *);
+ int handleXError(Display *, XErrorEvent *);
+
+ class Client;
+--- a/client.cc
++++ b/client.cc
@@ -6,6 +6,8 @@
*/
#include "aewm.hh"
@@ -10,21 +20,22 @@ diff -ur aewm++-1.1.5.orig/client.cc aewm++-1.1.5/client.cc
Client::Client(Display *d, Window new_client)
{
initialize(d);
-diff -ur aewm++-1.1.5.orig/main.cc aewm++-1.1.5/main.cc
---- aewm++-1.1.5.orig/main.cc 2005-02-12 05:38:32.000000000 +0200
-+++ aewm++-1.1.5/main.cc 2008-05-03 23:50:02.000000000 +0300
-@@ -6,6 +6,8 @@
+--- a/main.cc
++++ b/main.cc
+@@ -6,8 +6,10 @@
*/
#include "aewm.hh"
+#include <string.h>
+
// Dunno where I ripped this from. Kudos to the author whoever he is!
- void forkExec(char *cmd)
+-void forkExec(char *cmd)
++void forkExec(const char *cmd)
{
-diff -ur aewm++-1.1.5.orig/windowmanager.cc aewm++-1.1.5/windowmanager.cc
---- aewm++-1.1.5.orig/windowmanager.cc 2005-05-17 04:41:42.000000000 +0300
-+++ aewm++-1.1.5/windowmanager.cc 2008-05-03 23:50:02.000000000 +0300
+ if(! (strlen(cmd)>0)) return;
+
+--- a/windowmanager.cc
++++ b/windowmanager.cc
@@ -6,6 +6,8 @@
*/
#include "aewm.hh"
@@ -34,3 +45,23 @@ diff -ur aewm++-1.1.5.orig/windowmanager.cc aewm++-1.1.5/windowmanager.cc
WindowManager* wm;
#define AEWM_KEY_ALT_COUNT 4
+@@ -1020,7 +1022,7 @@
+ {
+ cleanup();
+
+- execl("/bin/sh", "sh", "-c", command_line.c_str(), 0);
++ execl("/bin/sh", "sh", "-c", command_line.c_str(), (const char*)NULL);
+ }
+
+ void WindowManager::quitNicely()
+--- a/windowmanager.hh
++++ b/windowmanager.hh
+@@ -46,7 +46,7 @@
+ string command_line;
+ int max_desktops;
+ int focus_model;
+- char *opt_display,
++ const char *opt_display,
+ *opt_fc,
+ *opt_fg,
+ *opt_fm,
diff --git a/x11-wm/aewm++/files/aewm++-1.1.5-makefile.patch b/x11-wm/aewm++/files/aewm++-1.1.5-makefile.patch
index 8b84a9963469..3066b0981a1f 100644
--- a/x11-wm/aewm++/files/aewm++-1.1.5-makefile.patch
+++ b/x11-wm/aewm++/files/aewm++-1.1.5-makefile.patch
@@ -1,29 +1,35 @@
-Respect CFLAGS, LDFLAGS, don't strip binaries
+* Respect CXX, CXXFLAGS, LDFLAGS, LIBS
+* Don't strip binaries
+https://bugs.gentoo.org/336099
-http://bugs.gentoo.org/show_bug.cgi?id=336099
-
---- aewm++-1.1.5/Makefile
-+++ aewm++-1.1.5/Makefile
-@@ -1,9 +1,6 @@
- CC = g++
+--- a/Makefile
++++ b/Makefile
+@@ -1,14 +1,9 @@
+-CC = g++
-ADDITIONAL_CFLAGS = -g -O2 -march=i686 -Wall
-
+-
prefix = /usr
-INCLUDES = -I$/usr/X11R6
-LDPATH = -L/usr/X11R6/lib
- LIBS = -lXext -lX11
+-LIBS = -lXext -lX11
++LIBS += -lXext -lX11
# SHAPE = Shape Extension
-@@ -28,14 +25,13 @@
+ # NEED_SETENV = Does your Unix not support the setenv function? Use this!
+-DEFINES = -DSHAPE #-DNEED_SETENV
++CPPFLAGS += -DSHAPE #-DNEED_SETENV
+ HEADERS = aewm.hh \
+ client.hh \
+ windowmanager.hh \
+@@ -28,14 +23,10 @@
all: aewm++
aewm++: $(OBJS)
- $(CC) $(OBJS) $(LDPATH) $(LIBS) -o $@
-+ $(CXX) $(LDFLAGS) $(OBJS) $(LDPATH) $(LIBS) -o $@
-
- $(OBJS): %.o: %.cc $(HEADERS)
+-
+-$(OBJS): %.o: %.cc $(HEADERS)
- $(CC) $(CFLAGS) $(ADDITIONAL_CFLAGS) $(DEFINES) $(INCLUDES) -c $< -o $@
-+ $(CXX) $(CXXFLAGS) $(DEFINES) $(INCLUDES) -c $< -o $@
++ $(CXX) $(LDFLAGS) $(CXXFLAGS) $(OBJS) $(LIBS) -o $@
install: all
- mkdir -p $(DESTDIR)$(prefix)/bin
diff --git a/x11-wm/aewm++/metadata.xml b/x11-wm/aewm++/metadata.xml
index 925e9916b160..1355af2b1b00 100644
--- a/x11-wm/aewm++/metadata.xml
+++ b/x11-wm/aewm++/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription>
diff --git a/x11-wm/aewm/metadata.xml b/x11-wm/aewm/metadata.xml
index 0d6c64592c12..a5786d92fecd 100644
--- a/x11-wm/aewm/metadata.xml
+++ b/x11-wm/aewm/metadata.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <!-- maintainer-needed -->
<longdescription>
aewm is a minimalist window manager for X11. It has no nifty features,
but is light on resources and extremely simple in appearance. It should
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 7e7eaed103a1..3395a726dd7b 100644
--- a/x11-wm/amiwm/amiwm-0.22.01_p20200826.ebuild
+++ b/x11-wm/amiwm/amiwm-0.22.01_p20230916.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2020 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"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS="~amd64 ~m68k ~ppc ~x86"
COMMON_DEPEND="
x11-libs/libX11
diff --git a/x11-wm/amiwm/metadata.xml b/x11-wm/amiwm/metadata.xml
index 06ced70e47f0..e2849ec8821c 100644
--- a/x11-wm/amiwm/metadata.xml
+++ b/x11-wm/amiwm/metadata.xml
@@ -1,13 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<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/awesome/awesome-4.3-r101.ebuild b/x11-wm/awesome/awesome-4.3-r103.ebuild
index d89688d5699b..90d138a59712 100644
--- a/x11-wm/awesome/awesome-4.3-r101.ebuild
+++ b/x11-wm/awesome/awesome-4.3-r103.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/awesomeWM/${PN}.git"
else
SRC_URI="https://github.com/awesomeWM/awesome-releases/raw/master/${P}.tar.xz"
- KEYWORDS="amd64 arm ppc ppc64 x86"
+ KEYWORDS="amd64 arm ppc ppc64 ~riscv x86"
fi
DESCRIPTION="A dynamic floating and tiling window manager"
@@ -31,8 +31,8 @@ RDEPEND="${LUA_DEPS}
dev-libs/libxdg-basedir
$(lua_gen_cond_dep 'dev-lua/lgi[${LUA_USEDEP}]')
x11-libs/cairo[X,xcb(+)]
- x11-libs/gdk-pixbuf:2
- x11-libs/libxcb[xkb]
+ x11-libs/gdk-pixbuf:2[introspection]
+ x11-libs/libxcb
x11-libs/pango[introspection]
x11-libs/startup-notification
x11-libs/xcb-util
diff --git a/x11-wm/awesome/awesome-9999.ebuild b/x11-wm/awesome/awesome-9999.ebuild
index e8a8a5130ca6..65e430dedbbb 100644
--- a/x11-wm/awesome/awesome-9999.ebuild
+++ b/x11-wm/awesome/awesome-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-LUA_COMPAT=( lua5-{1..3} luajit )
+LUA_COMPAT=( lua5-{1..4} luajit )
inherit cmake desktop lua-single pax-utils
@@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/awesomeWM/${PN}.git"
else
SRC_URI="https://github.com/awesomeWM/awesome-releases/raw/master/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+ KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~riscv ~x86"
fi
DESCRIPTION="A dynamic floating and tiling window manager"
@@ -24,15 +24,16 @@ IUSE="dbus doc gnome test"
REQUIRED_USE="${LUA_REQUIRED_USE}"
-RESTRICT="test" # https://bugs.gentoo.org/654084
+# Doesn't play nicely with the sandbox + requires an active D-BUS session
+RESTRICT="test"
RDEPEND="${LUA_DEPS}
dev-libs/glib:2
dev-libs/libxdg-basedir
$(lua_gen_cond_dep 'dev-lua/lgi[${LUA_USEDEP}]')
x11-libs/cairo[X,xcb(+)]
- x11-libs/gdk-pixbuf:2
- x11-libs/libxcb[xkb]
+ x11-libs/gdk-pixbuf:2[introspection]
+ x11-libs/libxcb
x11-libs/pango[introspection]
x11-libs/startup-notification
x11-libs/xcb-util
@@ -44,11 +45,6 @@ RDEPEND="${LUA_DEPS}
x11-libs/libxkbcommon[X]
x11-libs/libX11
dbus? ( sys-apps/dbus )"
-# ldoc is used by invoking its executable, hence no need for LUA_SINGLE_USEDEP.
-# On the other hand, it means that we should explicitly depend on a version
-# migrated to Lua eclasses so that during the upgrade from unslotted
-# to slotted dev-lang/lua, the package manager knows to emerge migrated
-# ldoc before migrated awesome.
DEPEND="${RDEPEND}
x11-base/xcb-proto
x11-base/xorg-proto
@@ -60,11 +56,19 @@ DEPEND="${RDEPEND}
')
)"
# graphicsmagick's 'convert -channel' has no Alpha support, bug #352282
+# ldoc is used by invoking its executable, hence no need for LUA_SINGLE_USEDEP.
+# On the other hand, it means that we should explicitly depend on a version
+# migrated to Lua eclasses so that during the upgrade from unslotted
+# to slotted dev-lang/lua, the package manager knows to emerge migrated
+# ldoc before migrated awesome.
BDEPEND="app-text/asciidoc
media-gfx/imagemagick[png]
virtual/pkgconfig
doc? ( >=dev-lua/ldoc-1.4.6-r100 )
- test? ( app-shells/zsh )"
+ test? (
+ app-shells/zsh
+ x11-apps/xeyes
+ )"
# Skip installation of README.md by einstalldocs, which leads to broken symlink
DOCS=()
diff --git a/x11-wm/awesome/metadata.xml b/x11-wm/awesome/metadata.xml
index 1774e95ac49c..61e3bf3450ed 100644
--- a/x11-wm/awesome/metadata.xml
+++ b/x11-wm/awesome/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>marecki@gentoo.org</email>
diff --git a/x11-wm/blackbox/Manifest b/x11-wm/blackbox/Manifest
index 952b6ae64abe..61cdef6e8e93 100644
--- a/x11-wm/blackbox/Manifest
+++ b/x11-wm/blackbox/Manifest
@@ -1 +1 @@
-DIST blackbox-0.76.tar.gz 394032 BLAKE2B ffefd24277c581ca59216f53c10d5ffacd7231b33c7fd8bfd799a1f93f0b4953ab91f6c8e7061f91ca80036a8a2b8d7b118383e97b8ab58b8f4cd039155760a1 SHA512 bc97ae699820f8291399ce6f2a87ef4486fabcaeda2dc33fbeb31fc6405c01d722a52c85d8dc65ef44bb031e3dda63c326b76aa1bfca3e544bfcab0fac9d1afa
+DIST blackbox-0.77.tar.gz 394176 BLAKE2B c52872fd02eba6857d2a3f5a8e122a6a8a0cdaa9c2d83f5b2510f9e770e650626d07f6d2b43b18bc3d77de4bfefc9bb9fb10321de0e72d4f82e5988f3c670d59 SHA512 d1f86707d9a2acb68db6a9af947e47acfd687752d06e3e2a60932550fbfa087730e6890b6ceb086f8aa8cf04e932ed7864f92266368fc43dc70b4b58140a792d
diff --git a/x11-wm/blackbox/blackbox-0.76.ebuild b/x11-wm/blackbox/blackbox-0.76.ebuild
deleted file mode 100644
index 14ccc52ea527..000000000000
--- a/x11-wm/blackbox/blackbox-0.76.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="A small, fast, full-featured window manager for X"
-HOMEPAGE="https://github.com/bbidulock/blackboxwm"
-SRC_URI="https://github.com/bbidulock/blackboxwm/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ppc64 sparc x86"
-IUSE="nls truetype debug"
-
-RDEPEND="x11-libs/libXft
- x11-libs/libXt
- nls? ( >=sys-devel/gettext-0.20 )
- truetype? ( media-libs/freetype )"
-DEPEND="${RDEPEND}
- x11-base/xorg-proto"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}"/blackboxwm-${PV}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --sysconfdir=/etc/X11/${PN} \
- $(use_enable debug) \
- $(use_enable nls) \
- $(use_enable truetype xft)
-}
-
-src_install() {
- dodir /etc/X11/Sessions
- echo "/usr/bin/blackbox" > "${D}/etc/X11/Sessions/${PN}"
- fperms a+x /etc/X11/Sessions/${PN}
-
- insinto /usr/share/xsessions
- doins "${FILESDIR}/${PN}.desktop"
-
- emake DESTDIR="${D}" install
- dodoc AUTHORS ChangeLog* COMPLIANCE README* TODO
-
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/x11-wm/blackbox/blackbox-0.76-r1.ebuild b/x11-wm/blackbox/blackbox-0.77-r1.ebuild
index f758db45f9e9..044a42fe4a6a 100644
--- a/x11-wm/blackbox/blackbox-0.76-r1.ebuild
+++ b/x11-wm/blackbox/blackbox-0.77-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 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 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="amd64 arm ppc ppc64 sparc x86"
IUSE="debug nls static-libs truetype"
RDEPEND="x11-libs/libXft
@@ -21,10 +21,15 @@ RDEPEND="x11-libs/libXft
truetype? ( media-libs/freetype )"
DEPEND="${RDEPEND}
x11-base/xorg-proto"
-BDEPEND="virtual/pkgconfig"
+BDEPEND=">=dev-build/autoconf-2.71
+ virtual/pkgconfig"
S="${WORKDIR}"/blackboxwm-${PV}
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.77-gcc12-time.patch
+)
+
src_prepare() {
sed -e '/AC_DISABLE_SHARED/d' -i configure.ac || die
default
@@ -40,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/blackbox/files/blackbox-0.77-gcc12-time.patch b/x11-wm/blackbox/files/blackbox-0.77-gcc12-time.patch
new file mode 100644
index 000000000000..196e3878253d
--- /dev/null
+++ b/x11-wm/blackbox/files/blackbox-0.77-gcc12-time.patch
@@ -0,0 +1,35 @@
+https://github.com/bbidulock/blackboxwm/pull/42
+
+From d3481ee7b7d104ef53ead4d35b9a9254c64bb87a Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 12 Jun 2022 20:49:09 +0100
+Subject: [PATCH] Fix build with GCC 12 (missing <time.h> include)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes build failure with GCC 12:
+```
+Toolbar.cc: In member function ‘void Toolbar::reconfigure()’:
+Toolbar.cc:260:17: error: ‘time’ was not declared in this scope; did you mean ‘Time’?
+ 260 | time_t ttmp = time(NULL);
+ | ^~~~
+ | Time
+Toolbar.cc:265:21: error: ‘localtime’ was not declared in this scope; did you mean ‘clock_timer’?
+ 265 | struct tm *tt = localtime(&ttmp);
+ | ^~~~~~~~~
+ | clock_timer
+```
+
+Bug: https://bugs.gentoo.org/851603
+--- a/src/Toolbar.cc
++++ b/src/Toolbar.cc
+@@ -38,6 +38,7 @@
+ #include <X11/Xutil.h>
+ #include <sys/time.h>
+ #include <assert.h>
++#include <time.h>
+
+
+ long nextTimeout(int resolution)
+
diff --git a/x11-wm/blackbox/metadata.xml b/x11-wm/blackbox/metadata.xml
index 4897d4fba49e..9410027222a2 100644
--- a/x11-wm/blackbox/metadata.xml
+++ b/x11-wm/blackbox/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>bkohler@gentoo.org</email>
diff --git a/x11-wm/bspwm/Manifest b/x11-wm/bspwm/Manifest
index c496f970407f..aedffc76e3e6 100644
--- a/x11-wm/bspwm/Manifest
+++ b/x11-wm/bspwm/Manifest
@@ -1,2 +1 @@
DIST bspwm-0.9.10.tar.gz 114099 BLAKE2B 0fd14d3605e05146435d408846844b7e5015290f97fdd00683eb5388b43678df42a76f1710660ee8036b7100d79a54400c13bf9450333d573a78846d2124516e SHA512 9ccb98c4e80635a781b3f889d8c3ae621c0926a79e9607268924b78bd11137caf70ee9a1edf5bc137d362d2acbe2984645f58ba31c586e6b017797758a66f9cf
-DIST bspwm-0.9.9.tar.gz 111119 BLAKE2B b4f80f090582c48ff5322bf6b03db5aee5bab1868b39ee3c4a3ca9f46f0f5d243a94bd869f2c91dcfbca22136c632b4fa0a2dee0e5fd2f27bd170b1f85c69545 SHA512 17f70e44667813fafcf0df144ed211df5a4479af6dfaf6e0a6bb7154a7380fa48d6135e8c440b6202d07012b76ac7372f73d4bf2f0c3a6716ed998d2ee4e59a2
diff --git a/x11-wm/bspwm/bspwm-0.9.10.ebuild b/x11-wm/bspwm/bspwm-0.9.10.ebuild
index b56b16b16c08..78c44c3c2ea1 100644
--- a/x11-wm/bspwm/bspwm-0.9.10.ebuild
+++ b/x11-wm/bspwm/bspwm-0.9.10.ebuild
@@ -10,7 +10,7 @@ SRC_URI="https://github.com/baskerville/bspwm/archive/${PV}.tar.gz -> ${P}.tar.g
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 ~x86"
+KEYWORDS="amd64 ~riscv ~x86"
IUSE="examples"
DEPEND="
@@ -27,7 +27,7 @@ src_compile() {
}
src_install() {
- emake DESTDIR="${D}" PREFIX=/usr DOCPREFIX="/usr/share/doc/${PF}" install
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" DOCPREFIX="${EPREFIX}/usr/share/doc/${PF}" install
exeinto /etc/X11/Sessions
newexe "${FILESDIR}"/${PN}-session ${PN}
diff --git a/x11-wm/bspwm/bspwm-0.9.9.ebuild b/x11-wm/bspwm/bspwm-0.9.9.ebuild
deleted file mode 100644
index 0a9a67c88299..000000000000
--- a/x11-wm/bspwm/bspwm-0.9.9.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit toolchain-funcs
-
-DESCRIPTION="Tiling window manager based on binary space partitioning"
-HOMEPAGE="https://github.com/baskerville/bspwm/"
-SRC_URI="https://github.com/baskerville/bspwm/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-IUSE="examples"
-
-DEPEND="
- x11-libs/libxcb
- x11-libs/xcb-util
- x11-libs/xcb-util-wm
-"
-RDEPEND="${DEPEND}
- x11-misc/sxhkd
-"
-
-src_compile() {
- emake PREFIX=/usr CC="$(tc-getCC)"
-}
-
-src_install() {
- emake DESTDIR="${D}" PREFIX=/usr DOCPREFIX="/usr/share/doc/${PF}" install
-
- exeinto /etc/X11/Sessions
- newexe "${FILESDIR}"/${PN}-session ${PN}
-
- insinto /usr/share/xsessions
- doins contrib/freedesktop/bspwm.desktop
-
- insinto /etc/xdg/sxhkd
- doins examples/sxhkdrc
-
- if use examples ; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/x11-wm/bspwm/metadata.xml b/x11-wm/bspwm/metadata.xml
index 42a282722804..f426ad7d85e5 100644
--- a/x11-wm/bspwm/metadata.xml
+++ b/x11-wm/bspwm/metadata.xml
@@ -1,9 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>johu@gentoo.org</email>
- <name>Johannes Huber</name>
+ <maintainer type="person" proxied="yes">
+ <email>etc404@protonmail.com</email>
+ <name>Dylan Wolf</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="github">baskerville/bspwm</remote-id>
diff --git a/x11-wm/ctwm/Manifest b/x11-wm/ctwm/Manifest
index 48b6713b0427..7f21353d7d22 100644
--- a/x11-wm/ctwm/Manifest
+++ b/x11-wm/ctwm/Manifest
@@ -1,2 +1 @@
-DIST ctwm-4.0.2.tar.xz 672608 BLAKE2B b4dc26b9d6ba5aba0a5f1f71363c25065aec0d4d4be7b9772f51117460062f5d7ea17d338e1ad9a89cf1213ca2125a1d203417bdc3f6c95a9b9969477b443a40 SHA512 445151f12084acd44bcf8a7d895e29363411a1a663b93e098fa9db5b96ae5cb43921eaf0695026aff2196117b810b96712a60570f57d6dabbee7fba34d5bd57f
DIST ctwm-4.0.3.tar.xz 683684 BLAKE2B d16a47a5cd91ab5305da3c02f874d5ad1c71e2c8a3664cd33d5fa0781f4fdc2613407f5b43b4da16bcf89e323eb34b0888c5dbd02598746195991e7870aba0ef SHA512 f9bb2f8f28a050cce0fc2f1f4e00e79acd7c54055016d8483e045d8f5fa9829f8f5d92bb53f0c1d9500f97d6f52cd827ddd15515c84451ea03551025a8ab831d
diff --git a/x11-wm/ctwm/ctwm-4.0.2.ebuild b/x11-wm/ctwm/ctwm-4.0.2.ebuild
deleted file mode 100644
index 47c1a4e0d2f3..000000000000
--- a/x11-wm/ctwm/ctwm-4.0.2.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit cmake-utils flag-o-matic toolchain-funcs
-
-DESCRIPTION="A clean, light window manager"
-HOMEPAGE="http://ctwm.org/"
-SRC_URI="http://ctwm.org/dist/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-
-RDEPEND="
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXmu
- x11-libs/libXpm
- x11-libs/libXt
-"
-DEPEND="
- ${RDEPEND}
- app-arch/xz-utils
- app-text/rman
- virtual/jpeg
- x11-base/xorg-proto
-"
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # implicit 'isspace'
- sed -i parse.c -e "/<stdio.h>/ a#include <ctype.h>" || die
-}
-
-src_install() {
- cmake-utils_src_install
-
- mv "${D}"/usr/share/doc/${PN} "${D}"/usr/share/doc/${PF} || die
- mv "${D}"/usr/share/examples/${PN} "${D}"/usr/share/doc/${PF}/examples || die
-}
diff --git a/x11-wm/ctwm/ctwm-4.0.3.ebuild b/x11-wm/ctwm/ctwm-4.0.3.ebuild
index 7c24c6682a8f..4dca58842bed 100644
--- a/x11-wm/ctwm/ctwm-4.0.3.ebuild
+++ b/x11-wm/ctwm/ctwm-4.0.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,8 +11,8 @@ SRC_URI="https://ctwm.org/dist/${P}.tar.xz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="jpeg rplay test xpm"
+KEYWORDS="amd64 ppc x86"
+IUSE="jpeg test xpm"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -23,7 +23,6 @@ RDEPEND="
x11-libs/libXmu
x11-libs/libXt
jpeg? ( virtual/jpeg )
- rplay? ( media-sound/rplay )
xpm? ( x11-libs/libXpm )
"
DEPEND="
@@ -45,9 +44,9 @@ src_prepare() {
src_configure() {
local mycmakeargs=(
-DNOMANCOMPRESS=yes
+ -DUSE_RPLAY=OFF
-DDOCDIR="${EPREFIX}"/usr/share/doc/${PF}
-DUSE_JPEG=$(usex jpeg ON OFF)
- -DUSE_RPLAY=$(usex rplay ON OFF)
-DUSE_XPM=$(usex xpm ON OFF)
)
diff --git a/x11-wm/ctwm/metadata.xml b/x11-wm/ctwm/metadata.xml
index ef70fcb22252..05c81c0cafd9 100644
--- a/x11-wm/ctwm/metadata.xml
+++ b/x11-wm/ctwm/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>lillyjsm@gmail.com</email>
@@ -15,7 +15,6 @@
</upstream>
<use>
<flag name="jpeg">Enable jpeg image support with <pkg>virtual/jpeg</pkg></flag>
- <flag name="rplay">Enable sound support from <pkg>media-sound/rplay</pkg></flag>
<flag name="test">Enable upstream test suite, build required binary</flag>
<flag name="xpm">Enable xpm icon support with <pkg>x11-libs/libXpm</pkg></flag>
</use>
diff --git a/x11-wm/cwm/Manifest b/x11-wm/cwm/Manifest
index b51173f2d84f..f7052c55cbf9 100644
--- a/x11-wm/cwm/Manifest
+++ b/x11-wm/cwm/Manifest
@@ -1,2 +1,3 @@
-DIST cwm-6.6.tar.gz 53062 BLAKE2B 3da762f0c1a48c83c773a1f355cc970c5e4f6100e7294a00f44c6b5b7e1ffe954fde0e3d106991b05cd1f8c898fe055b5305b0bd7bf533df5868d32adbae2c5f SHA512 ff94fd1b7d263f9de538e5b338db58a08e1bec3e4233b84ab0a3ac94c47a45e10b2c772f93b897e70baf9a3c04e1a6fa04604ac71655acb7ebd1d10edb381042
DIST cwm-6.7.tar.gz 53172 BLAKE2B 9e8c6503235ee71f3974a4e64cf45b80675b6ff33a68505b07f003c8d711a68a158f31147f463d5467bb4242c6321ebe0acaee63727689a136ca83c47e7592ea SHA512 5ad0fa56d9c96c36cc32e68128e58d4e3a7483f349bb26be1083c5b5c6d853ff05eec1a783b07ed928bd99a35a2e0b2d7053fc89b828aa9bdfe3589a318c4171
+DIST cwm-7.1.tar.gz 53667 BLAKE2B 6d0b64e95b78201113eb75c537d3ffdc8bd1b2a1d50f88bf9f7126dbdef372e80f36c5c1fd84b5bee29c7e9da7debc479264af34cf8c48abf1358d3d0c046919 SHA512 aa14bc7a43a522f4b83d3f9a3b8a8344c339b52aac4733f410e388df56a2dc4e86ee1ae9f05b53ff3139808f87f38a4b2da57bf0525482613d46651e8f08c718
+DIST cwm-7.4.tar.gz 53781 BLAKE2B 408d6eaebc71860fab86f0b2698e52f2d77ef29abfc47e8071f9621c73f718d824eb32adc029eecee7d1fe065f20c3a2efd75822420e7f386e06eb77786a2874 SHA512 dcc21c5ca46740adf6bdc139d4569513d099402c6bc46d6ab85aab27ddd04bd60e797073b0912fc3ebc824924d5cbcccf3c2ed99614ea703217f3a3b825f7ebc
diff --git a/x11-wm/cwm/cwm-6.7.ebuild b/x11-wm/cwm/cwm-6.7.ebuild
index 6d0daf817557..e072dd64c419 100644
--- a/x11-wm/cwm/cwm-6.7.ebuild
+++ b/x11-wm/cwm/cwm-6.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -27,7 +27,7 @@ DEPEND="x11-libs/libXft
"
RDEPEND="${DEPEND}"
BDEPEND="
- sys-devel/bison
+ app-alternatives/yacc
virtual/pkgconfig
"
diff --git a/x11-wm/cwm/cwm-6.6.ebuild b/x11-wm/cwm/cwm-7.1.ebuild
index 287fd7fcdde3..0848686f4bfd 100644
--- a/x11-wm/cwm/cwm-6.6.ebuild
+++ b/x11-wm/cwm/cwm-7.1.ebuild
@@ -1,38 +1,36 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit desktop toolchain-funcs
DESCRIPTION="OpenBSD fork of calmwm, a clean and lightweight window manager"
-HOMEPAGE="https://www.openbsd.org/cgi-bin/cvsweb/xenocara/app/cwm/
- https://github.com/chneukirchen/cwm"
+HOMEPAGE="https://github.com/leahneukirchen/cwm
+ https://www.openbsd.org/cgi-bin/cvsweb/xenocara/app/cwm/
+"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
- EGIT_REPO_URI="https://github.com/leahneukirchen/${PN}.git"
+ EGIT_REPO_URI="https://github.com/leahneukirchen/cwm.git"
else
- SRC_URI="https://github.com/leahneukirchen/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 arm ~arm64 x86"
+ SRC_URI="https://github.com/leahneukirchen/cwm/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm ~arm64 ~riscv x86"
fi
LICENSE="ISC"
SLOT="0"
-RDEPEND="x11-libs/libXft
- x11-libs/libXinerama
+DEPEND="x11-libs/libX11
+ x11-libs/libXft
x11-libs/libXrandr
"
-DEPEND="${RDEPEND}"
-BDEPEND="sys-devel/bison
+RDEPEND="${DEPEND}"
+BDEPEND="
+ app-alternatives/yacc
virtual/pkgconfig
"
-PATCHES=(
- "${FILESDIR}/${PN}-Makefile.patch"
-)
-
src_compile() {
emake CFLAGS="${CFLAGS} -D_GNU_SOURCE" CC="$(tc-getCC)" PKG_CONFIG="$(tc-getPKG_CONFIG)"
}
diff --git a/x11-wm/cwm/cwm-7.4.ebuild b/x11-wm/cwm/cwm-7.4.ebuild
new file mode 100644
index 000000000000..1b85c26ff5d7
--- /dev/null
+++ b/x11-wm/cwm/cwm-7.4.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop toolchain-funcs
+
+DESCRIPTION="OpenBSD fork of calmwm, a clean and lightweight window manager"
+HOMEPAGE="https://github.com/leahneukirchen/cwm"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/leahneukirchen/cwm.git"
+else
+ SRC_URI="https://github.com/leahneukirchen/cwm/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm ~arm64 ~riscv x86"
+fi
+
+LICENSE="ISC"
+SLOT="0"
+
+DEPEND="x11-libs/libX11
+ x11-libs/libXft
+ x11-libs/libXrandr
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ app-alternatives/yacc
+ virtual/pkgconfig
+"
+
+src_compile() {
+ emake CFLAGS="${CFLAGS} -D_GNU_SOURCE" CC="$(tc-getCC)" PKG_CONFIG="$(tc-getPKG_CONFIG)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX=/usr install
+ dodoc README
+ make_session_desktop ${PN} ${PN}
+}
diff --git a/x11-wm/cwm/cwm-9999.ebuild b/x11-wm/cwm/cwm-9999.ebuild
index c35cf81e9f80..43e81a32050f 100644
--- a/x11-wm/cwm/cwm-9999.ebuild
+++ b/x11-wm/cwm/cwm-9999.ebuild
@@ -1,33 +1,31 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit desktop toolchain-funcs
DESCRIPTION="OpenBSD fork of calmwm, a clean and lightweight window manager"
-HOMEPAGE="https://github.com/leahneukirchen/cwm
- https://www.openbsd.org/cgi-bin/cvsweb/xenocara/app/cwm/
-"
+HOMEPAGE="https://github.com/leahneukirchen/cwm"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/leahneukirchen/cwm.git"
else
SRC_URI="https://github.com/leahneukirchen/cwm/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
fi
LICENSE="ISC"
SLOT="0"
-DEPEND="x11-libs/libXft
- x11-libs/libXinerama
+DEPEND="x11-libs/libX11
+ x11-libs/libXft
x11-libs/libXrandr
"
RDEPEND="${DEPEND}"
BDEPEND="
- sys-devel/bison
+ app-alternatives/yacc
virtual/pkgconfig
"
diff --git a/x11-wm/cwm/files/cwm-Makefile.patch b/x11-wm/cwm/files/cwm-Makefile.patch
deleted file mode 100644
index 56755fe19067..000000000000
--- a/x11-wm/cwm/files/cwm-Makefile.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 74d0d0d..802cd33 100644
---- a/Makefile
-+++ b/Makefile
-@@ -13,12 +13,14 @@ OBJS= calmwm.o screen.o xmalloc.o client.o menu.o \
- search.o util.o xutil.o conf.o xevents.o group.o \
- kbfunc.o strlcpy.o strlcat.o y.tab.o \
- strtonum.o reallocarray.o
-+
-+PKG_CONFIG?= pkg-config
-
--CPPFLAGS+= `pkg-config --cflags x11 xft xrandr`
-+CPPFLAGS+= `${PKG_CONFIG} --cflags x11 xft xrandr`
-
- CFLAGS?= -Wall -O2 -g -D_GNU_SOURCE
-
--LDFLAGS+= `pkg-config --libs x11 xft xrandr`
-+LDFLAGS+= `${PKG_CONFIG} --libs x11 xft xrandr`
-
- MANPREFIX?= ${PREFIX}/share/man
-
diff --git a/x11-wm/cwm/metadata.xml b/x11-wm/cwm/metadata.xml
index 6586a263b155..6f43e07c261a 100644
--- a/x11-wm/cwm/metadata.xml
+++ b/x11-wm/cwm/metadata.xml
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>gentoo@aisha.cc</email>
- <name>Aisha Tammy</name>
+ <email>rndxelement@protonmail.com</email>
+ <name>Philipp Rösner</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
- <remote-id type="github">chneukirchen/cwm</remote-id>
+ <remote-id type="github">leahneukirchen/cwm</remote-id>
</upstream>
</pkgmetadata>
diff --git a/x11-wm/dwm/Manifest b/x11-wm/dwm/Manifest
index 2725cb600558..2a999e5cdfe3 100644
--- a/x11-wm/dwm/Manifest
+++ b/x11-wm/dwm/Manifest
@@ -1 +1,2 @@
-DIST dwm-6.2.tar.gz 25273 BLAKE2B 2bb9e5b900a1d73f3eb94cb8454580ec98930dbacbabec1f2bbd394eb96696873434b6ddea4ac95eb9d171de2c09c5d4ca0b30649836f7e25f4769f44d25a6eb SHA512 01abcab954e5b7c20d011e6fd9c28025271fea2e85610c928812f7c6a09f99d7f9e93d11ffc2d6a7aca894b3fa7e507c6c2fe5f26ff5ddcfc650a9bbaaa41e06
+DIST dwm-6.4.tar.gz 25321 BLAKE2B 23c8b0fbbdbf417a2ed79727b0001e812a2e022f8bc29b4ec7711711ae995a8d71283aad23f2d11454407ada29e545c302d66bf239d3598498d93335cd32775f SHA512 b13ac4390c7945cfb4e06bbec2cf69a9bf55867fe2babcba1a4945803a12bea88db31ad06dd06627445f8456950deb26f2d631f946c4207ae92e13f273051a51
+DIST dwm-6.5.tar.gz 25588 BLAKE2B 5f837e49026d3213cfa98411f301c134bccf0299b892d9cb0d54a77d1785c905a4d6bcea941f240bc713122a37d61061eeafc594c27b9f486ca7187558479394 SHA512 6cc3efd8d8a5e96517474fdcb1c1a6192fdf669c1bb02de6aea0a9f1a951360bf73c9576a5a0f06b00e2f839bacc304d60548d5ead0996bf46d82be4121ed248
diff --git a/x11-wm/dwm/dwm-6.2.ebuild b/x11-wm/dwm/dwm-6.4.ebuild
index 70a24ff487d9..56eb31afdeda 100644
--- a/x11-wm/dwm/dwm-6.2.ebuild
+++ b/x11-wm/dwm/dwm-6.4.ebuild
@@ -1,22 +1,29 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
inherit savedconfig toolchain-funcs
DESCRIPTION="a dynamic window manager for X11"
HOMEPAGE="https://dwm.suckless.org/"
-SRC_URI="https://dl.suckless.org/${PN}/${P}.tar.gz"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ 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"
+fi
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 x86"
IUSE="xinerama"
RDEPEND="
media-libs/fontconfig
x11-libs/libX11
- x11-libs/libXft
+ >=x11-libs/libXft-2.3.5
xinerama? ( x11-libs/libXinerama )
"
DEPEND="
@@ -30,6 +37,8 @@ src_prepare() {
sed -i \
-e "s/ -Os / /" \
-e "/^\(LDFLAGS\|CFLAGS\|CPPFLAGS\)/{s| = | += |g;s|-s ||g}" \
+ -e "/^X11LIB/{s:/usr/X11R6/lib:/usr/$(get_libdir)/X11:}" \
+ -e '/^X11INC/{s:/usr/X11R6/include:/usr/include/X11:}' \
config.mk || die
restore_config config.h
@@ -37,9 +46,9 @@ src_prepare() {
src_compile() {
if use xinerama; then
- emake CC=$(tc-getCC) dwm
+ emake CC="$(tc-getCC)" dwm
else
- emake CC=$(tc-getCC) XINERAMAFLAGS="" XINERAMALIBS="" dwm
+ emake CC="$(tc-getCC)" XINERAMAFLAGS="" XINERAMALIBS="" dwm
fi
}
diff --git a/x11-wm/dwm/dwm-6.5.ebuild b/x11-wm/dwm/dwm-6.5.ebuild
new file mode 100644
index 000000000000..5881e52a6091
--- /dev/null
+++ b/x11-wm/dwm/dwm-6.5.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit savedconfig toolchain-funcs
+
+DESCRIPTION="a dynamic window manager for X11"
+HOMEPAGE="https://dwm.suckless.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ 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"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="xinerama"
+
+RDEPEND="
+ media-libs/fontconfig
+ x11-libs/libX11
+ >=x11-libs/libXft-2.3.5
+ xinerama? ( x11-libs/libXinerama )
+"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto
+ xinerama? ( x11-base/xorg-proto )
+"
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "s/ -Os / /" \
+ -e "/^\(LDFLAGS\|CFLAGS\|CPPFLAGS\)/{s| = | += |g;s|-s ||g}" \
+ -e "/^X11LIB/{s:/usr/X11R6/lib:/usr/$(get_libdir)/X11:}" \
+ -e '/^X11INC/{s:/usr/X11R6/include:/usr/include/X11:}' \
+ config.mk || die
+
+ restore_config config.h
+}
+
+src_compile() {
+ if use xinerama; then
+ emake CC="$(tc-getCC)" dwm
+ else
+ emake CC="$(tc-getCC)" XINERAMAFLAGS="" XINERAMALIBS="" dwm
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
+
+ exeinto /etc/X11/Sessions
+ newexe "${FILESDIR}"/dwm-session2 dwm
+
+ insinto /usr/share/xsessions
+ doins "${FILESDIR}"/dwm.desktop
+
+ dodoc README
+
+ save_config config.h
+}
diff --git a/x11-wm/dwm/dwm-9999.ebuild b/x11-wm/dwm/dwm-9999.ebuild
index 4b464a12ac2f..5881e52a6091 100644
--- a/x11-wm/dwm/dwm-9999.ebuild
+++ b/x11-wm/dwm/dwm-9999.ebuild
@@ -1,26 +1,34 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-inherit git-r3 savedconfig toolchain-funcs
+EAPI=8
+
+inherit savedconfig toolchain-funcs
DESCRIPTION="a dynamic window manager for X11"
HOMEPAGE="https://dwm.suckless.org/"
-EGIT_REPO_URI="https://git.suckless.org/dwm"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ 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"
+fi
LICENSE="MIT"
SLOT="0"
-KEYWORDS=""
IUSE="xinerama"
RDEPEND="
media-libs/fontconfig
x11-libs/libX11
- x11-libs/libXft
+ >=x11-libs/libXft-2.3.5
xinerama? ( x11-libs/libXinerama )
"
DEPEND="
${RDEPEND}
+ x11-base/xorg-proto
xinerama? ( x11-base/xorg-proto )
"
@@ -30,6 +38,8 @@ src_prepare() {
sed -i \
-e "s/ -Os / /" \
-e "/^\(LDFLAGS\|CFLAGS\|CPPFLAGS\)/{s| = | += |g;s|-s ||g}" \
+ -e "/^X11LIB/{s:/usr/X11R6/lib:/usr/$(get_libdir)/X11:}" \
+ -e '/^X11INC/{s:/usr/X11R6/include:/usr/include/X11:}' \
config.mk || die
restore_config config.h
@@ -37,9 +47,9 @@ src_prepare() {
src_compile() {
if use xinerama; then
- emake CC=$(tc-getCC) dwm
+ emake CC="$(tc-getCC)" dwm
else
- emake CC=$(tc-getCC) XINERAMAFLAGS="" XINERAMALIBS="" dwm
+ emake CC="$(tc-getCC)" XINERAMAFLAGS="" XINERAMALIBS="" dwm
fi
}
diff --git a/x11-wm/dwm/metadata.xml b/x11-wm/dwm/metadata.xml
index 3ea00a40d519..5f0d66b2dfc5 100644
--- a/x11-wm/dwm/metadata.xml
+++ b/x11-wm/dwm/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
+ <email>arkamar@gentoo.org</email>
+ <name>Petr Vaněk</name>
</maintainer>
<longdescription>
dwm is a dynamic window manager for X. It manages windows in tiling and
diff --git a/x11-wm/e16/Manifest b/x11-wm/e16/Manifest
index 88a572a95948..5ccaefc97367 100644
--- a/x11-wm/e16/Manifest
+++ b/x11-wm/e16/Manifest
@@ -1,2 +1 @@
-DIST e16-1.0.21.tar.xz 1440484 BLAKE2B ea9521d4939400e292e9e2be6e73770a48d966702897c30babfe036a655ef3c5d9766eca3867e1a84b8fbd934a05c4a0487239a78d641c41a6e93a19feeb70a2 SHA512 0f5984d3c3594bf94338c9b53c681cd40f8cc165a18d7d9e0e6202fdf237ace52d9aac9c5ba04f052f94dfd463dcf558b8015044b4d457114c19a7a27ac23723
-DIST e16-1.0.22.tar.xz 1442288 BLAKE2B 7f102474f9054935ea15ed58c91f18613561eaad84c8398c410014a5dbfb2f7f5fd079399db4c6462096c9a351bd89e47fbd61d304ca99ec844806c26c97d6a9 SHA512 0ff40390a56f0dbd2219d9e4e665b1c1802801e552df3bd76fa71502ad2fb7466f2f175757b088b490fbc58e4196b362d6cf451ad43d5104849ac8ce2805299e
+DIST e16-1.0.25.tar.xz 1400004 BLAKE2B 34ef7be6896d04234b3a48675c185aa86d7a70e0e8b5db2cdf15bef4336a40575065713f9612b94dd29a490902f36f9eb08489a779160801e885a5635d896e56 SHA512 e5cc6b08ddad8eb3052dbafda2a0ab56134e90eb9cdf75da405ac853301eadf8348dc918218119117a1f96d08e562367ff60365deb790a14af5fbdaaf89684d3
diff --git a/x11-wm/e16/e16-1.0.21.ebuild b/x11-wm/e16/e16-1.0.21.ebuild
deleted file mode 100644
index 891c63f37815..000000000000
--- a/x11-wm/e16/e16-1.0.21.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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="audiofile container dbus debug +dialogs doc examples gnome
-libhack modules nls opengl +pango sndfile sound +themes xcomposite
-+xft xi2 xinerama xpresent +xrandr +xrender +xsm +xsync zoom"
-
-REQUIRED_USE="
- audiofile? ( sound )
- opengl? ( xcomposite )
- pango? ( xft )
- sndfile? ( sound )
- sound? ( ^^ ( 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? (
- || (
- media-sound/apulse[sdk]
- media-sound/pulseaudio
- )
- sndfile? ( media-libs/libsndfile )
- audiofile? ( media-libs/audiofile:= )
- )
- 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
-"
-
-PATCHES=( "${FILESDIR}/${PN}-user-fonts.patch" )
-
-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 sound sound pulseaudio)
- $(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 audiofile sndldr audiofile)
- $(use_with gnome gnome gnome3)
- $(use_with sndfile sndldr sndfile)
- --enable-mans
- --disable-docs
- --disable-esdtest
- --disable-gcc-cpp
- --disable-hints-gnome
- --disable-werror
- --disable-xscrnsaver
- )
-
- 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.22.ebuild b/x11-wm/e16/e16-1.0.25-r1.ebuild
index 8490c84fa233..b35cdeb40b44 100644
--- a/x11-wm/e16/e16-1.0.22.ebuild
+++ b/x11-wm/e16/e16-1.0.25-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DESCRIPTION="Enlightenment Window Manager (E16)"
HOMEPAGE="https://www.enlightenment.org https://sourceforge.net/projects/enlightenment/"
@@ -10,12 +10,13 @@ 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 player pulseaudio +sndfile
-sound +themes xcomposite +xft xi2 xinerama xpresent +xrandr
-+xrender +xsm +xsync zoom"
+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
+xinerama xpresent +xrandr +xrender +xsm +xsync zoom"
REQUIRED_USE="
+ ^^ ( poll select )
opengl? ( xcomposite )
pango? ( xft )
sound? (
@@ -49,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 )
@@ -81,11 +82,8 @@ DEPEND="${COMMON_DEPEND}
x11-base/xorg-proto
"
-PATCHES=( "${FILESDIR}/${PN}-user-fonts.patch" )
-
src_configure() {
local myconf=(
- $(use_enable container)
$(use_enable dbus)
$(use_enable debug libtrip)
$(use_enable dialogs)
@@ -93,6 +91,7 @@ src_configure() {
$(use_enable libhack)
$(use_enable modules)
$(use_enable nls)
+ $(use_enable no-container)
$(use_enable opengl glx)
$(use_enable pango)
$(use_enable xcomposite composite)
@@ -110,7 +109,6 @@ src_configure() {
--disable-docs
--disable-esdtest
--disable-gcc-cpp
- --disable-hints-gnome
--disable-werror
--disable-xscrnsaver
)
@@ -128,6 +126,8 @@ src_configure() {
else
myconf+=( --disable-sound --without-sndldr )
fi
+ use poll && myconf+=( --with-evhan=poll )
+ use select && myconf+=( --with-evhan=select )
econf "${myconf[@]}"
}
diff --git a/x11-wm/e16/files/e16-user-fonts.patch b/x11-wm/e16/files/e16-user-fonts.patch
deleted file mode 100644
index 6a54efe0df97..000000000000
--- a/x11-wm/e16/files/e16-user-fonts.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Allow users to provide custom fonts via ~/.e16/fonts/
---- a/src/ttfont.c 2018-04-26 19:19:44.000000000 +0300
-+++ b/src/ttfont.c 2019-03-06 06:04:33.489831326 +0300
-@@ -46,6 +46,8 @@
- imlib_add_path_to_font_path(s);
- Esnprintf(s, sizeof(s), "%s/fonts", EDirRoot());
- imlib_add_path_to_font_path(s);
-+ Esnprintf(s, sizeof(s), "%s/fonts", Mode.conf.dir);
-+ imlib_add_path_to_font_path(s);
- #endif
- }
-
diff --git a/x11-wm/e16/metadata.xml b/x11-wm/e16/metadata.xml
index 205741c579db..4779c48058fa 100644
--- a/x11-wm/e16/metadata.xml
+++ b/x11-wm/e16/metadata.xml
@@ -1,21 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>bircoph@gentoo.org</email>
- <name>Andrew Savchenko</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
- <flag name="container">Use container window (experimental)</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>
<flag name="modules">Enable support for loadable modules</flag>
+ <flag name="no-container">Do not use container window (experimental)</flag>
<flag name="pango">Enable pango font rendering using <pkg>x11-libs/pango</pkg></flag>
<flag name="player">Enable audio using aplay from <pkg>media-sound/alsa-utils</pkg></flag>
+ <flag name="poll">Use poll() event handler API (recommended)</flag>
+ <flag name="select">Use select() event handler API</flag>
<flag name="themes">Install the official E16 themes using <pkg>x11-themes/e16-themes</pkg></flag>
<flag name="xi2">Enable the experimental multipointer input XInput2. This incldues the MultiPointer X feature</flag>
- <flag name="xpresent">Enable support for the X Present extension via <pkg>x11-libs/libXpresent</pkg></flag>
+ <flag name="xpresent">Enable support for the X Present extension via <pkg>x11-libs/libXpresent</pkg> (experimental)</flag>
<flag name="xrandr">Enable support for the X RandR extension via <pkg>x11-libs/libXrandr</pkg></flag>
<flag name="xrender">Enable transparency support using the X Render extension via <pkg>x11-libs/libXrender</pkg></flag>
<flag name="xsm">Enable X Session Management support using <pkg>x11-libs/libSM</pkg></flag>
diff --git a/x11-wm/echinus/echinus-0.4.9.ebuild b/x11-wm/echinus/echinus-0.4.9.ebuild
index 214543732284..551dcde04be1 100644
--- a/x11-wm/echinus/echinus-0.4.9.ebuild
+++ b/x11-wm/echinus/echinus-0.4.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -27,7 +27,7 @@ src_configure() {
use xrandr && export MULTIHEAD=1
sed -i -e "s|/usr/lib|/usr/$(get_libdir)|g" config.mk || die
- tc-export CC
+ tc-export CC PKG_CONFIG
}
src_install() {
@@ -50,6 +50,7 @@ pkg_postinst() {
elog "to launch dmenu_run. Check echinus documentation for details."
elog ""
fi
+
elog "A standard config file with its pixmaps has been installed to:"
elog "${EROOT}/usr/share/${PN}/examples"
elog "Copy this folder to ~/.${PN}/ and modify the echinusrc as you wish."
diff --git a/x11-wm/echinus/files/echinus-0.4.9-gentoo.diff b/x11-wm/echinus/files/echinus-0.4.9-gentoo.diff
index 2bada877b17a..5c013c7166ff 100644
--- a/x11-wm/echinus/files/echinus-0.4.9-gentoo.diff
+++ b/x11-wm/echinus/files/echinus-0.4.9-gentoo.diff
@@ -21,8 +21,8 @@
-LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 `pkg-config --libs xft`
-
-DEFS = -DVERSION=\"${VERSION}\" -DSYSCONFPATH=\"${CONF}\"
-+CFLAGS += -I. -I/usr/include `pkg-config --cflags x11 xft`
-+LIBS += -L/usr/lib -lc `pkg-config --libs x11 xft`
++CFLAGS += -I. -I/usr/include `${PKG_CONFIG} --cflags x11 xft`
++LIBS += -L/usr/lib -lc `${PKG_CONFIG} --libs x11 xft`
+CPPFLAGS += -DVERSION=\"${VERSION}\" -DSYSCONFPATH=\"${CONF}\"
# flags
@@ -42,8 +42,8 @@
-
+ifdef MULTIHEAD
+CPPFLAGS += -DXRANDR=1
-+LIBS += `pkg-config --libs xrandr`
-+CCFLAGS += `pkg-config --libs xrandr`
++LIBS += `${PKG_CONFIG} --libs xrandr`
++CCFLAGS += `${PKG_CONFIG} --libs xrandr`
+endif
# Solaris
#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
diff --git a/x11-wm/echinus/metadata.xml b/x11-wm/echinus/metadata.xml
index 3c8ad78dda4e..3de1d08826ee 100644
--- a/x11-wm/echinus/metadata.xml
+++ b/x11-wm/echinus/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<use>
diff --git a/x11-wm/enlightenment/Manifest b/x11-wm/enlightenment/Manifest
index b507b5b08430..b61c009486e7 100644
--- a/x11-wm/enlightenment/Manifest
+++ b/x11-wm/enlightenment/Manifest
@@ -1 +1 @@
-DIST enlightenment-0.24.2.tar.xz 28716060 BLAKE2B 432722693beaece97eeb318a1120b6101bf76e1536347b824b00ba4378326c093f3333eefa634d7266a59c09dc4337c8bd1f9a4d89e0a4c9a223fdcacd924fa0 SHA512 5d96b17d89e822271048a0a6a8356658fd02680f54da2f15dde7c632752bbf0a396eaf23986164402e61f631e68937b3ba7c29d9dd787ddd470cff4a390abace
+DIST enlightenment-0.26.0.tar.xz 409678784 BLAKE2B e03cb4485fafd3b03a69ca20b5910fc5b0d7070b625a5f9f6c365d57b62b6be00f7c370f38e127e92f29e430045c3502e7868219cb246f84f044d418808a3ae1 SHA512 52a656b397348a4f6baa28b9da4b42c81160b06d28dba58c22bdf00bf749aed3a9b194e171a5ac349745a4c11afc8ae8c38f9bf8c31bacbc0d196cfb24b15a1e
diff --git a/x11-wm/enlightenment/enlightenment-0.24.2-r1.ebuild b/x11-wm/enlightenment/enlightenment-0.26.0.ebuild
index 1d2cd069eae8..9c218bcdccf0 100644
--- a/x11-wm/enlightenment/enlightenment-0.24.2-r1.ebuild
+++ b/x11-wm/enlightenment/enlightenment-0.26.0.ebuild
@@ -1,22 +1,26 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit meson optfeature xdg-utils
+inherit meson optfeature xdg
DESCRIPTION="Enlightenment window manager"
HOMEPAGE="https://www.enlightenment.org"
SRC_URI="https://download.enlightenment.org/rel/apps/${PN}/${P}.tar.xz"
LICENSE="BSD-2"
+
+# Historically enlightenment was slotted to separate e16 from e17. e16 is now
+# packaged as x11-wm/e16, but the slot is kept because it's more complicated to
+# reset it rather than just to keep it.
SLOT="0.17/${PV%%_*}"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
-IUSE="acpi bluetooth connman doc geolocation nls pam policykit systemd udisks wayland wifi xwayland"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
+IUSE="acpi bluetooth connman doc exif geolocation nls pam policykit systemd udisks wayland xwayland"
REQUIRED_USE="xwayland? ( wayland )"
-RDEPEND=">=dev-libs/efl-1.24.1[eet,fontconfig,X]
+RDEPEND=">=dev-libs/efl-1.27.0[eet,fontconfig,sound,X]
virtual/udev
x11-libs/libXext
x11-libs/libxcb
@@ -25,6 +29,7 @@ RDEPEND=">=dev-libs/efl-1.24.1[eet,fontconfig,X]
acpi? ( sys-power/acpid )
bluetooth? ( net-wireless/bluez )
connman? ( dev-libs/efl[connman] )
+ exif? ( media-libs/libexif )
geolocation? ( app-misc/geoclue:2.0 )
pam? ( sys-libs/pam )
policykit? ( sys-auth/polkit )
@@ -42,7 +47,7 @@ RDEPEND=">=dev-libs/efl-1.24.1[eet,fontconfig,X]
)
xwayland? (
dev-libs/efl[X,wayland]
- x11-base/xorg-server[wayland]
+ x11-base/xwayland
)"
BDEPEND="virtual/pkgconfig
nls? ( sys-devel/gettext )"
@@ -51,6 +56,7 @@ DEPEND="${RDEPEND}"
src_configure() {
local emesonargs=(
-D device-udev=true
+ -D elput=true
-D install-enlightenment-menu=true
-D install-sysactions=true
@@ -62,13 +68,13 @@ src_configure() {
$(meson_use udisks mount-udisks)
$(meson_use bluetooth bluez5)
$(meson_use connman)
+ $(meson_use exif libexif)
$(meson_use geolocation)
$(meson_use nls)
$(meson_use pam)
$(meson_use policykit polkit)
$(meson_use systemd)
$(meson_use wayland wl)
- $(meson_use wifi wireless)
$(meson_use xwayland)
)
@@ -99,19 +105,15 @@ pkg_postinst() {
optfeature_header "Additional programs to complement the full EFL suite:"
optfeature "efl-based pinentry interface" app-crypt/pinentry[efl]
+ optfeature "an efl-based text editor" app-editors/ecrire
optfeature "better monitor backlight and brightness controls" app-misc/ddcutil
optfeature "office file thumbnails" app-office/libreoffice app-office/libreoffice-bin
optfeature "an EFL-based IDE" dev-util/edi
+ optfeature "image viewer" media-gfx/entice
optfeature "image viewer" media-gfx/ephoto
+ optfeature "a media player" media-video/rage
optfeature "ConnMan user interface for Enlightenment" net-misc/econnman
optfeature "system and process monitor" sys-process/evisum
optfeature "feature rich terminal emulator" x11-terms/terminology
- optfeature "a modern flat enlightenment WM theme" x11-themes/e-flat-theme
optfeature "a matching GTK theme" x11-themes/e-gtk-theme
}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
-}
diff --git a/x11-wm/enlightenment/metadata.xml b/x11-wm/enlightenment/metadata.xml
index d377aee6304b..586c0777d1e8 100644
--- a/x11-wm/enlightenment/metadata.xml
+++ b/x11-wm/enlightenment/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>juippis@gentoo.org</email>
diff --git a/x11-wm/evilwm/Manifest b/x11-wm/evilwm/Manifest
index 7d111378df26..ed75b4ce8d74 100644
--- a/x11-wm/evilwm/Manifest
+++ b/x11-wm/evilwm/Manifest
@@ -1,2 +1,2 @@
-DIST evilwm-1.0.1.tar.gz 31468 BLAKE2B 64ee8c0e429c4eefd908a700e727845f2de1e7531cdfb51133014c05cb350eb0bed02476f8a81155b5f70b6b164279ce220aa82d2e9ec8d017b54076a7158f6e SHA512 f9a5abe13ce7ae9fa9a72962316dd7a847419f29a6ab7270315da5a71058c51bde620d34fa690f9de29838490e1da68efe72c6ef33745d69e3e026de98ed3938
-DIST evilwm-1.1.1.tar.gz 40150 BLAKE2B b595e9267fb7421bdcf1ce1c6f37559ab62e58beb11aa755bd21a141ad66387a7e95106231277caff84579bfd61183a554427319c7d85ec20716c69fc3cd0968 SHA512 a11af475f057bf18adef339f4772ff1291a25a19c86b7f18a4ce7821e70b039c256151232da6cca616ceea7d9242a60b055d654ce26e85384c6ba687ede7898d
+DIST evilwm-1.3.1.tar.gz 64824 BLAKE2B 1145662c1907d27c39e55a4eddbc37c51a7b8d92dfa39b98c98eefdf419ebbee1bfc8889725ac38158f2b15e78e0d1a5a202584bc248cb93797c2ba05fbae5c2 SHA512 551ed96884792a6e607b0abb582bed68e583e7790773960a9f5ef6d974a7695752b4f2286d1549c2ca2d8f99b6401deb4e6da11e56bf6ce1fcf828370b072d75
+DIST evilwm-1.4.2.tar.gz 73716 BLAKE2B dbdeb914efe1002a3d3e97942d9b8ee22a3506aec4232cc59d5cb7fe61ee2bcbf08eaa5cc1d55151acd2c41f5fe7128cf0238ac844e91d61fc6afcb9162792e1 SHA512 07f1d82a611b95606ef137bb76599f8eef4bc27bf90eae9f5aa15bc806808c3bc4e1d7e821cebe1651b134d03f2b129e336b95e9659f0509d9711faab9bd00ba
diff --git a/x11-wm/evilwm/evilwm-1.1.1.ebuild b/x11-wm/evilwm/evilwm-1.3.1.ebuild
index 3b606f61497f..a36b4f37779c 100644
--- a/x11-wm/evilwm/evilwm-1.1.1.ebuild
+++ b/x11-wm/evilwm/evilwm-1.3.1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit desktop toolchain-funcs
DESCRIPTION="A minimalist, no frills window manager for X"
@@ -10,7 +10,7 @@ SRC_URI="http://www.6809.org.uk/evilwm/${P}.tar.gz"
LICENSE="MIT 9wm"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc64-solaris"
+KEYWORDS="~alpha amd64 ppc ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE=""
RDEPEND="x11-libs/libXext
diff --git a/x11-wm/evilwm/evilwm-1.0.1-r1.ebuild b/x11-wm/evilwm/evilwm-1.4.2.ebuild
index 43bdc21161b8..bdb39a2c480f 100644
--- a/x11-wm/evilwm/evilwm-1.0.1-r1.ebuild
+++ b/x11-wm/evilwm/evilwm-1.4.2.ebuild
@@ -1,21 +1,22 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
+
inherit desktop toolchain-funcs
DESCRIPTION="A minimalist, no frills window manager for X"
-HOMEPAGE="http://www.6809.org.uk/evilwm/"
-SRC_URI="http://www.6809.org.uk/evilwm/${P}.tar.gz"
+HOMEPAGE="https://www.6809.org.uk/evilwm/"
+SRC_URI="https://www.6809.org.uk/evilwm/${P}.tar.gz"
LICENSE="MIT 9wm"
SLOT="0"
-KEYWORDS="~alpha amd64 ppc ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc64-solaris"
+KEYWORDS="~alpha amd64 ppc ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE=""
RDEPEND="x11-libs/libXext
- x11-libs/libXrandr"
-
+ x11-libs/libXrandr
+ x11-libs/libX11"
DEPEND="${RDEPEND}
x11-base/xorg-proto"
@@ -23,16 +24,14 @@ src_prepare() {
default
sed -e 's/^#define DEF_FONT.*/#define DEF_FONT "fixed"/' \
-i evilwm.h || die "sed font failed"
- sed -i -e '/^CFLAGS/s/ -Os/ /' \
- -e 's/install -s /install /' Makefile || die "sed opt failed"
}
src_compile() {
- emake CC="$(tc-getCC)" prefix="\$(DESTDIR)/${EPREFIX}/usr" XROOT="${EPREFIX}/usr" LDPATH="-L${EPREFIX}/usr/$(get_libdir)"
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
}
src_install() {
- emake DESTDIR="${D}" prefix="\$(DESTDIR)/${EPREFIX}/usr" install
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" INSTALL_STRIP="" install
einstalldocs
diff --git a/x11-wm/evilwm/metadata.xml b/x11-wm/evilwm/metadata.xml
index 34d9cefab659..5a6d0ebebff6 100644
--- a/x11-wm/evilwm/metadata.xml
+++ b/x11-wm/evilwm/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>jaco@uls.co.za</email>
@@ -14,7 +14,4 @@
real estate and provides good keyboard control. It is currently based on
aewm.
</longdescription>
- <upstream>
- <remote-id type="sourceforge">evilwm</remote-id>
- </upstream>
</pkgmetadata>
diff --git a/x11-wm/fluxbox/files/fluxbox-1.3.7-fbsetroot-Don-t-use-register-keyword.patch b/x11-wm/fluxbox/files/fluxbox-1.3.7-fbsetroot-Don-t-use-register-keyword.patch
new file mode 100644
index 000000000000..4906dfaa022d
--- /dev/null
+++ b/x11-wm/fluxbox/files/fluxbox-1.3.7-fbsetroot-Don-t-use-register-keyword.patch
@@ -0,0 +1,25 @@
+https://github.com/fluxbox/fluxbox/pull/78
+From: Brahmajit Das <brahmajit.xyz@gmail.com>
+Date: Tue, 16 May 2023 16:46:09 +0530
+Subject: [PATCH] util/fbsetroot: Don't use register keyword
+
+Register keyword has been deprecated since c++14 and completely removed
+since c++17.
+
+Encountered while building fluxbox with clang-16.
+
+Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com>
+--- a/util/fbsetroot.cc
++++ b/util/fbsetroot.cc
+@@ -224,7 +224,7 @@ void fbsetroot::modula(int x, int y) {
+ char data[32];
+ long pattern = 0;
+
+- register int i;
++ int i;
+
+ FbRootWindow root(screen);
+
+--
+2.40.1
+
diff --git a/x11-wm/fluxbox/fluxbox-1.3.7-r4.ebuild b/x11-wm/fluxbox/fluxbox-1.3.7-r5.ebuild
index 1acca6751070..c46d1f16478c 100644
--- a/x11-wm/fluxbox/fluxbox-1.3.7-r4.ebuild
+++ b/x11-wm/fluxbox/fluxbox-1.3.7-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,10 +11,11 @@ SRC_URI="mirror://sourceforge/fluxbox/${P}.tar.xz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="nls xinerama bidi +truetype +imlib +slit +systray +toolbar vim-syntax"
-
+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] )
@@ -36,6 +37,7 @@ DEPEND="${RDEPEND}
PATCHES=(
"${FILESDIR}"/${P}-c++17.patch
+ "${FILESDIR}"/${PN}-1.3.7-fbsetroot-Don-t-use-register-keyword.patch
)
src_prepare() {
@@ -72,9 +74,10 @@ src_configure() {
$(use_enable bidi fribidi ) \
$(use_enable imlib imlib2) \
$(use_enable nls) \
- $(use_enable slit ) \
- $(use_enable systray ) \
- $(use_enable toolbar ) \
+ $(use_enable slit) \
+ $(use_enable systray) \
+ $(use_enable test) \
+ $(use_enable toolbar) \
$(use_enable truetype xft) \
$(use_enable xinerama) \
--sysconfdir="${EPREFIX}"/etc/X11/${PN} \
diff --git a/x11-wm/fluxbox/metadata.xml b/x11-wm/fluxbox/metadata.xml
index 9666567c86b7..e78047e57ce8 100644
--- a/x11-wm/fluxbox/metadata.xml
+++ b/x11-wm/fluxbox/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>zlogene@gentoo.org</email>
- <name>Mikle Kolyada</name>
- </maintainer>
+<!-- maintainer-needed -->
<longdescription>
Fluxbox is yet another windowmanager for X. Originally based upon the
Blackbox 0.61.1 code, Fluxbox has been extended to include a new tabbed
diff --git a/x11-wm/fvwm/Manifest b/x11-wm/fvwm/Manifest
index 18a4810efc83..2127ffe67fa4 100644
--- a/x11-wm/fvwm/Manifest
+++ b/x11-wm/fvwm/Manifest
@@ -1 +1,2 @@
DIST fvwm-2.6.9.tar.gz 3942859 BLAKE2B 8faf2d420d96049ab0528a6c6a5dc6ed8ee9449f8e533b9ad9bb526faea86030684fc0aa8ed0d307cb64575457676611298adf582b1249c37a3db35a72b43bf1 SHA512 a9c2214ad19edd17da81446a6d4250284cc50b59b53c233212f2a9354c01143dbb870521392752f272f00af50bee2dd8f0b6bf6176b0d4b3075694d2a61a623e
+DIST fvwm-2.7.0.tar.gz 3933529 BLAKE2B b4be7083c2946cb2a0c48673271d490a49aba5aec8407169bedc5a35f55fe8cd2724a9f6570c5e7ea110652c04956570c874256f96fa5d920a2a1ede152c0c25 SHA512 fc9076c3f07f36b0b2c7c4d2bdf7bb1a711000e39316e327173548bc99dc2b8a29b591e3644e1492f87603b576cd4a3f58ecbdd84a4384d294417b3c56c81808
diff --git a/x11-wm/fvwm/files/fvwm-2.7.0-c99.patch b/x11-wm/fvwm/files/fvwm-2.7.0-c99.patch
new file mode 100644
index 000000000000..7bc137dc6cc2
--- /dev/null
+++ b/x11-wm/fvwm/files/fvwm-2.7.0-c99.patch
@@ -0,0 +1,99 @@
+https://github.com/fvwmorg/fvwm/pull/100
+
+From 0b4daddf6b88b696daf54714448b8d89a615abf2 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 24 Nov 2022 13:06:50 +0100
+Subject: [PATCH 1/3] configure: Do not require support for implicit ints
+
+Implicit ints have not been part of C since 1999, and future
+compilers will disable support for them by default. Fortunatenly,
+only one configure check needs adjusting.
+---
+ acinclude.m4 | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 8b74ff1e5..b66042f9f 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -30,7 +30,7 @@ if test "$ac_cv_func_select" = yes; then
+ #ifdef HAVE_SYS_SOCKET_H
+ #include <sys/socket.h>
+ #endif],
+-[extern select ($ac_cv_type_fd_set_size_t,
++[extern int select ($ac_cv_type_fd_set_size_t,
+ $ac_cv_type_fd_set *, $ac_cv_type_fd_set *, $ac_cv_type_fd_set *,
+ $ac_type_timeval *);],
+ [ac_found=yes ; break 3],ac_found=no)
+diff --git a/configure.ac b/configure.ac
+index 97ab9e7a1..c9fcede6a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -220,7 +220,7 @@ AC_MINIX
+
+ # catch -Werror and similar options when running configure
+ AC_TRY_COMPILE([#include <stdio.h>],
+-[int i; static j; int *p; char *c;
++[int i; int *p; char *c;
+ switch (*p = p = *c) { case 0: printf("%Q", c, p); }
+ *c = &i; c = p;
+ while (1 || (unsigned int)3 >= 0 || ((int)-1) == ((unsigned int)1));
+
+From 6b9d100ae4e784821b5189474dc58e646417bcf6 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 24 Nov 2022 13:07:56 +0100
+Subject: [PATCH 2/3] acinclude.m4: Add missing <unistd.h> to
+ AM_SAFETY_CHECK_MKSTEMP
+
+Otherwise, the check fails on a compiler which does not support
+implicit function declarations (a language feature removed in 1999).
+---
+ acinclude.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index b66042f9f..4dee2abeb 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -1154,6 +1154,9 @@ AC_DEFUN([AM_SAFETY_CHECK_MKSTEMP],[
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#ifdef HAVE_UNISTD_H
++#include <unistd.h>
++#endif
+ int main(void)
+ {
+ char template[128];
+
+From 33537b8ae5a302e4016dc1c6cfe5577fb3fa36c9 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Tue, 19 Dec 2023 13:24:50 +0100
+Subject: [PATCH 3/3] configure: Further defang the -Werror check
+
+Incompatible pointer types are actually errors (in the sense
+that they are invalid C). Compilers have merely tolerated them as
+warnings for backwards compatibility. This is changing with Clang 16
+and GCC 14, so relax the check a little.
+---
+ configure.ac | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c9fcede6a..2e9615b2b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -220,9 +220,8 @@ AC_MINIX
+
+ # catch -Werror and similar options when running configure
+ AC_TRY_COMPILE([#include <stdio.h>],
+-[int i; int *p; char *c;
+- switch (*p = p = *c) { case 0: printf("%Q", c, p); }
+- *c = &i; c = p;
++[int unused; int *p; char *c;
++ printf("%Q", c, p);
+ while (1 || (unsigned int)3 >= 0 || ((int)-1) == ((unsigned int)1));
+ ], , AC_MSG_ERROR("
+ configure is not able to compile programs with warnings. Please
+
diff --git a/x11-wm/fvwm/files/fvwm-2.7.0-clang16.patch b/x11-wm/fvwm/files/fvwm-2.7.0-clang16.patch
new file mode 100644
index 000000000000..025c6e6d10ec
--- /dev/null
+++ b/x11-wm/fvwm/files/fvwm-2.7.0-clang16.patch
@@ -0,0 +1,54 @@
+https://github.com/fvwmorg/fvwm/pull/100
+
+From 0b4daddf6b88b696daf54714448b8d89a615abf2 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 24 Nov 2022 13:06:50 +0100
+Subject: [PATCH 1/2] configure: Do not require support for implicit ints
+
+Implicit ints have not been part of C since 1999, and future
+compilers will disable support for them by default. Fortunatenly,
+only one configure check needs adjusting.
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -30,7 +30,7 @@ if test "$ac_cv_func_select" = yes; then
+ #ifdef HAVE_SYS_SOCKET_H
+ #include <sys/socket.h>
+ #endif],
+-[extern select ($ac_cv_type_fd_set_size_t,
++[extern int select ($ac_cv_type_fd_set_size_t,
+ $ac_cv_type_fd_set *, $ac_cv_type_fd_set *, $ac_cv_type_fd_set *,
+ $ac_type_timeval *);],
+ [ac_found=yes ; break 3],ac_found=no)
+--- a/configure.ac
++++ b/configure.ac
+@@ -220,7 +220,7 @@ AC_MINIX
+
+ # catch -Werror and similar options when running configure
+ AC_TRY_COMPILE([#include <stdio.h>],
+-[int i; static j; int *p; char *c;
++[int i; int *p; char *c;
+ switch (*p = p = *c) { case 0: printf("%Q", c, p); }
+ *c = &i; c = p;
+ while (1 || (unsigned int)3 >= 0 || ((int)-1) == ((unsigned int)1));
+
+From 6b9d100ae4e784821b5189474dc58e646417bcf6 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 24 Nov 2022 13:07:56 +0100
+Subject: [PATCH 2/2] acinclude.m4: Add missing <unistd.h> to
+ AM_SAFETY_CHECK_MKSTEMP
+
+Otherwise, the check fails on a compiler which does not support
+implicit function declarations (a language feature removed in 1999).
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -1154,6 +1154,9 @@ AC_DEFUN([AM_SAFETY_CHECK_MKSTEMP],[
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#ifdef HAVE_UNISTD_H
++#include <unistd.h>
++#endif
+ int main(void)
+ {
+ char template[128];
+
diff --git a/x11-wm/fvwm/fvwm-2.6.9.ebuild b/x11-wm/fvwm/fvwm-2.6.9.ebuild
index 6563867b6871..6f87f6d062cb 100644
--- a/x11-wm/fvwm/fvwm-2.6.9.ebuild
+++ b/x11-wm/fvwm/fvwm-2.6.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,8 +10,8 @@ SRC_URI="https://github.com/fvwmorg/fvwm/releases/download/${PV}/${P}.tar.gz"
LICENSE="GPL-2+ FVWM"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~ia64 ppc ~ppc64 ~sparc x86"
-IUSE="bidi debug doc netpbm nls perl png readline rplay stroke svg tk truetype +vanilla xinerama lock"
+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"
COMMON_DEPEND="
sys-libs/zlib
@@ -45,16 +45,15 @@ COMMON_DEPEND="
"
RDEPEND="${COMMON_DEPEND}
dev-lang/perl
+ sys-apps/debianutils
perl? ( tk? (
dev-lang/tk
dev-perl/Tk
>=dev-perl/X11-Protocol-0.56
)
)
- rplay? ( media-sound/rplay )
lock? ( x11-misc/xlockmore )
- userland_GNU? ( sys-apps/debianutils )
- !x86-fbsd? ( netpbm? ( media-libs/netpbm ) )
+ netpbm? ( media-libs/netpbm )
"
DEPEND="${COMMON_DEPEND}
virtual/pkgconfig
@@ -86,6 +85,7 @@ src_configure() {
--with-imagepath=/usr/include/X11/bitmaps:/usr/include/X11/pixmaps:/usr/share/icons/fvwm
--enable-iconv
--enable-package-subdirs
+ --without-rplay-library
$(use_enable bidi)
$(use_enable debug debug-msgs)
$(use_enable debug command-log)
@@ -94,7 +94,6 @@ src_configure() {
$(use_enable perl perllib)
$(use_enable png)
$(use_with readline readline-library)
- $(use_with rplay rplay-library)
$(use_with stroke stroke-library)
$(use_enable svg rsvg)
$(use_enable truetype xft)
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/fvwm/fvwm-2.7.0-r3.ebuild b/x11-wm/fvwm/fvwm-2.7.0-r3.ebuild
new file mode 100644
index 000000000000..db5ff1d5566a
--- /dev/null
+++ b/x11-wm/fvwm/fvwm-2.7.0-r3.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2024 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
+ 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-c99.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/fvwm/fvwm-2.7.0.ebuild b/x11-wm/fvwm/fvwm-2.7.0.ebuild
new file mode 100644
index 000000000000..b1f6bbd833aa
--- /dev/null
+++ b/x11-wm/fvwm/fvwm-2.7.0.ebuild
@@ -0,0 +1,169 @@
+# 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
+
+ dodir /etc/X11/Sessions
+ echo "/usr/bin/fvwm" > "${D}"/etc/X11/Sessions/${PN} || die
+ fperms a+x /etc/X11/Sessions/${PN}
+
+ 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/fvwm/metadata.xml b/x11-wm/fvwm/metadata.xml
index e9ad5b468010..30ba2eae7e1d 100644
--- a/x11-wm/fvwm/metadata.xml
+++ b/x11-wm/fvwm/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription lang="en">
@@ -11,7 +11,9 @@
<use>
<flag name="lock">Enable screen locking</flag>
<flag name="netpbm">Enable NetPBM support (used by FvwmScript-ScreenDump)</flag>
- <flag name="rplay">Enable rplay support</flag>
<flag name="stroke">Mouse Gesture support</flag>
</use>
+ <upstream>
+ <remote-id type="github">fvwmorg/fvwm</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/x11-wm/fvwm3/Manifest b/x11-wm/fvwm3/Manifest
new file mode 100644
index 000000000000..ef274f6d0468
--- /dev/null
+++ b/x11-wm/fvwm3/Manifest
@@ -0,0 +1,4 @@
+DIST fvwm3-1.0.9-docs.tar.xz 234884 BLAKE2B f52da9eb2486f7a212ead77ccc190c57076e1d3c73a3997c3a94edcf60dbc72ec5d410a8df1d621ff18b346741b1c94b3f87170db68c3067caa3295782a9bb61 SHA512 e6c33b09b7bac32bd61f1bd2c0216e2c99fef3f0b51b52b229093c25a437828e4bece382284d0c1f0bbbaf5b7459f2c391dfc1d2fa4ba80be22f09094e976b03
+DIST fvwm3-1.0.9.tar.gz 4525552 BLAKE2B cb58181adb42f5b8d491c6413277eb1f4a5d89637d9c6bb323223925c719d808e84ed0f72a1d0ffc822ddb8295ebf2bb89c2351ebd591916b50ebc69728e59fa SHA512 de71d74b76da8e0cf1560d51ef916857e3f825b272d786d9b6b93aef9a82c399f580b9b941a47aff1f327b097d12e1ce05860924e792206e4150ff19a5c39ee3
+DIST fvwm3-1.1.0-docs.tar.xz 230964 BLAKE2B f431011a63a8d190e01e34301e74fd40750deb51c947b055474888379b7364910351c923ac637968948a094b89f49d8be5758429a85cd66107b8696b526b0004 SHA512 629794d0aef9ef2d9ce9a8e1ff3bc63fe2ef30f9f593938e2892e4e04bd960f51d2a90aaf5c95328495bccea6b1dbfd6fdeb76f18bb9a8bc6eb2649359023df8
+DIST fvwm3-1.1.0.tar.gz 4527424 BLAKE2B ee9a3f190ae7fa1f1dd703e17b0e12f04da63212cade30facdbc8339ded7f598de143d18f17dde39d3af8e24ff2b34855ad3e5b2b6c5ffe466072a7353895cd8 SHA512 47eea05cbdecf4da3313b9183fa938544b451b9f133d7a68062feb222c3c1af3873402f80b60485d603afe8cd23a03f3e86a503fc1f2070e1ad2e6e64d012341
diff --git a/x11-wm/fvwm3/files/fvwm3-1.1.0-fix-go-detection-v2.patch b/x11-wm/fvwm3/files/fvwm3-1.1.0-fix-go-detection-v2.patch
new file mode 100644
index 000000000000..5c17193728cc
--- /dev/null
+++ b/x11-wm/fvwm3/files/fvwm3-1.1.0-fix-go-detection-v2.patch
@@ -0,0 +1,50 @@
+From 9be90a96c537b4a743774b0be9ffc8ca5c6498da Mon Sep 17 00:00:00 2001
+From: Matt Jolly <kangie@gentoo.org>
+Date: Tue, 2 Apr 2024 20:47:38 +1000
+Subject: [PATCH] Use AX_COMPARE_VERSION macro for golang version checks
+
+The previous approach fragile, required manual updates,
+and results in unexpected outcomes when the user has updated
+golang.
+
+Reported-by: Denny Rivetti <denny.rivetti.me@gmail.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -80,23 +80,13 @@ AC_ARG_ENABLE(golang,
+
+ if test ! x"$with_golang" = xno; then
+ AC_CHECK_PROGS(GO, go)
+- if test -n "$GO" ; then
+- GOVERSIONOPTION=version
+- go_version=$($GO $GOVERSIONOPTION | sed -e 's/go version go//' | \
+- sed -e 's/ .*$//')
+- AC_MSG_CHECKING([whether go version is >= 1.14.x ($go_version)])
+- case "$go_version" in
+- 1.14*|1.15*|1.16*|1.17*|1.18*|1.19*|1.20*|1.21*|1.22*|1.23*)
+- AC_MSG_RESULT([yes - version is: $go_version])
+- with_golang="yes"
+- GO=
+- ;;
+- *)
+- AC_MSG_RESULT([no - version is: $go_version])
+- with_golang="no"
+- problem_golang=": version of go ($go_version) <= 1.14.x"
+- ;;
+- esac
++ if test -n "$GO"; then
++ GOVERSIONOPTION=version
++ go_version=$($GO $GOVERSIONOPTION | sed -e 's/go version go//' | sed -e 's/ .*$//')
++ AX_COMPARE_VERSION([$go_version], [ge], ["1.14.0"],
++ [with_golang="yes"; GO=],
++ [with_golang="no";
++ AC_MSG_ERROR([Go version ($go_version) is lower than the minimum required version ($REQUIRED_GO_VERSION)])])
+ fi
+ fi
+ AM_CONDITIONAL([FVWM_BUILD_GOLANG], [test x"$with_golang" = xyes])
+@@ -1514,4 +1504,4 @@ Fvwm3 Configuration:
+ Build man pages? $with_mandoc$problem_mandoc
+ Build html man pages? $with_htmldoc$problem_htmldoc
+
+-"
+\ No newline at end of file
++"
diff --git a/x11-wm/fvwm3/fvwm3-1.0.9-r1.ebuild b/x11-wm/fvwm3/fvwm3-1.0.9-r1.ebuild
new file mode 100644
index 000000000000..104d32825e4e
--- /dev/null
+++ b/x11-wm/fvwm3/fvwm3-1.0.9-r1.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Doc generation requires pulls in asciidoc/ruby, we'll prebuild docs
+# for release ebuilds.
+# Scripting for this is in sam-gentoo-scripts.
+: ${FVWM3_DOCS_PREBUILT:=1}
+
+PYTHON_COMPAT=( python3_{10..12} )
+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="main"
+else
+ SRC_URI="https://github.com/fvwmorg/fvwm3/releases/download/${PV}/${P}.tar.gz"
+ if [[ ${FVWM3_DOCS_PREBUILT} == 1 ]]; then
+ SRC_URI+=" https://deps.gentoo.zip/x11-wm/fvwm3/${P}-docs.tar.xz"
+ fi
+ KEYWORDS="~amd64 ~riscv"
+fi
+
+LICENSE="GPL-2+ FVWM
+ go? ( Apache-2.0 BSD MIT )"
+SLOT="0"
+IUSE="bidi debug +go netpbm nls perl readline stroke svg tk 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
+ app-arch/unzip
+ go? ( >=dev-lang/go-1.14 )
+"
+
+if [[ ${FVWM3_DOCS_PREBUILT} == 0 ]]; then
+ BDEPEND+="
+ dev-libs/libxslt
+ dev-ruby/asciidoctor
+ "
+fi
+
+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-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"
+
+src_prepare() {
+ default
+ use go && ( sed -e 's/GOFLAGS=-ldflags="-s -w"/GOFLAGS=/' \
+ -i bin/FvwmPrompt/Makefile.am || die )
+
+ 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 go golang)
+ $(use_enable nls)
+ $(use_enable nls iconv)
+ $(use_enable perl perllib)
+ $(use_with readline readline-library)
+ $(use_enable svg rsvg)
+ --enable-png
+ )
+
+ if [[ ${FVWM3_DOCS_PREBUILT} == 0 ]]; then
+ myconf+=(
+ --enable-mandoc
+ --enable-htmldoc
+ )
+ else
+ # Probably not required, but let's be safe
+ myconf+=(
+ --disable-mandoc
+ --disable-htmldoc
+ )
+ fi
+
+ use readline && myconf+=( --without-termcap-library )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ PREFIX="${EPREFIX}/usr" emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ # Since we're manually handling docs installation, let's do that first
+ # and then install the rest of the files via emake
+ local HTML_DOCS
+ if [[ ${FVWM3_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${P}-docs/man/**/*.[0-8]
+ HTML_DOCS="${WORKDIR}"/${P}-docs/html/*
+ else
+ HTML_DOCS="${S}"/doc/*.html
+ doman "${S}"/doc/*.[0-8]
+ fi
+
+ einstalldocs
+
+ emake DESTDIR="${ED}" prefix="/usr" exec_prefix="/usr" datarootdir="/usr/share" install
+
+ 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"
+
+ 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."
+ 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\"."
+ 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.1.0-r1.ebuild b/x11-wm/fvwm3/fvwm3-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..9fe8d41f042d
--- /dev/null
+++ b/x11-wm/fvwm3/fvwm3-1.1.0-r1.ebuild
@@ -0,0 +1,203 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Doc generation requires pulls in asciidoc/ruby, we'll prebuild docs
+# for release ebuilds.
+# Scripting for this is in sam-gentoo-scripts.
+: ${FVWM3_DOCS_PREBUILT:=1}
+
+PYTHON_COMPAT=( python3_{10..12} )
+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="main"
+else
+ SRC_URI="https://github.com/fvwmorg/fvwm3/releases/download/${PV}/${P}.tar.gz"
+ if [[ ${FVWM3_DOCS_PREBUILT} == 1 ]]; then
+ SRC_URI+=" https://deps.gentoo.zip/x11-wm/fvwm3/${P}-docs.tar.xz"
+ fi
+ KEYWORDS="~amd64 ~riscv"
+fi
+
+LICENSE="GPL-2+ FVWM
+ go? ( Apache-2.0 BSD MIT )"
+SLOT="0"
+IUSE="bidi debug +go netpbm nls perl readline stroke svg tk 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
+ app-arch/unzip
+ go? ( >=dev-lang/go-1.14 )
+"
+
+if [[ ${FVWM3_DOCS_PREBUILT} == 0 ]]; then
+ BDEPEND+="
+ dev-libs/libxslt
+ dev-ruby/asciidoctor
+ "
+fi
+
+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-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}"/fvwm3-1.1.0-fix-go-detection-v2.patch
+)
+
+src_prepare() {
+ default
+ use go && ( sed -e 's/GOFLAGS=-ldflags="-s -w"/GOFLAGS=/' \
+ -i bin/FvwmPrompt/Makefile.am || die )
+
+ eautoreconf
+}
+
+src_configure() {
+ # 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 go golang)
+ $(use_enable nls)
+ $(use_enable nls iconv)
+ $(use_enable perl perllib)
+ $(use_with readline readline-library)
+ $(use_enable svg rsvg)
+ --enable-png
+ )
+
+ if [[ ${FVWM3_DOCS_PREBUILT} == 0 ]]; then
+ myconf+=(
+ --enable-mandoc
+ --enable-htmldoc
+ )
+ else
+ # Probably not required, but let's be safe
+ myconf+=(
+ --disable-mandoc
+ --disable-htmldoc
+ )
+ fi
+
+ use readline && myconf+=( --without-termcap-library )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ PREFIX="${EPREFIX}/usr" emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ # Since we're manually handling docs installation, let's do that first
+ # and then install the rest of the files via emake
+ local HTML_DOCS
+ if [[ ${FVWM3_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${P}-docs/man/**/*.[0-8]
+ HTML_DOCS="${WORKDIR}"/${P}-docs/html/*
+ else
+ HTML_DOCS="${S}"/doc/*.html
+ doman "${S}"/doc/*.[0-8]
+ fi
+
+ einstalldocs
+
+ emake DESTDIR="${ED}" prefix="/usr" exec_prefix="/usr" datarootdir="/usr/share" install
+
+ 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"
+
+ 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."
+ 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\"."
+ 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-9999.ebuild b/x11-wm/fvwm3/fvwm3-9999.ebuild
new file mode 100644
index 000000000000..9a9eba17220d
--- /dev/null
+++ b/x11-wm/fvwm3/fvwm3-9999.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Doc generation requires pulls in asciidoc/ruby, we'll prebuild docs
+# for release ebuilds.
+# Scripting for this is in sam-gentoo-scripts.
+: ${FVWM3_DOCS_PREBUILT:=1}
+
+PYTHON_COMPAT=( python3_{10..12} )
+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="main"
+ FVWM3_DOCS_PREBUILT=0
+else
+ SRC_URI="https://github.com/fvwmorg/fvwm3/releases/download/${PV}/${P}.tar.gz"
+ if [[ ${FVWM3_DOCS_PREBUILT} == 1 ]]; then
+ SRC_URI+=" https://deps.gentoo.zip/x11-wm/fvwm3/${P}-docs.tar.xz"
+ fi
+ KEYWORDS="~amd64 ~riscv"
+fi
+
+LICENSE="GPL-2+ FVWM
+ go? ( Apache-2.0 BSD MIT )"
+SLOT="0"
+IUSE="bidi debug +go netpbm nls perl readline stroke svg tk 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
+ app-arch/unzip
+ go? ( >=dev-lang/go-1.14 )
+"
+
+if [[ ${FVWM3_DOCS_PREBUILT} == 0 ]]; then
+ BDEPEND+="
+ dev-libs/libxslt
+ dev-ruby/asciidoctor
+ "
+fi
+
+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-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"
+
+src_prepare() {
+ default
+ use go && ( sed -e 's/GOFLAGS=-ldflags="-s -w"/GOFLAGS=/' \
+ -i bin/FvwmPrompt/Makefile.am || die )
+
+ eautoreconf
+}
+
+src_configure() {
+ # 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 go golang)
+ $(use_enable nls)
+ $(use_enable nls iconv)
+ $(use_enable perl perllib)
+ $(use_with readline readline-library)
+ $(use_enable svg rsvg)
+ --enable-png
+ )
+
+ if [[ ${FVWM3_DOCS_PREBUILT} == 0 ]]; then
+ myconf+=(
+ --enable-mandoc
+ --enable-htmldoc
+ )
+ else
+ # Probably not required, but let's be safe
+ myconf+=(
+ --disable-mandoc
+ --disable-htmldoc
+ )
+ fi
+
+ use readline && myconf+=( --without-termcap-library )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ PREFIX="${EPREFIX}/usr" emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ # Since we're manually handling docs installation, let's do that first
+ # and then install the rest of the files via emake
+ local HTML_DOCS
+ if [[ ${FVWM3_DOCS_PREBUILT} == 1 ]] ; then
+ doman "${WORKDIR}"/${P}-docs/man/**/*.[0-8]
+ HTML_DOCS="${WORKDIR}"/${P}-docs/html/*
+ else
+ HTML_DOCS="${S}"/doc/*.html
+ doman "${S}"/doc/*.[0-8]
+ fi
+
+ einstalldocs
+
+ emake DESTDIR="${ED}" prefix="/usr" exec_prefix="/usr" datarootdir="/usr/share" install
+
+ 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"
+
+ 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."
+ 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\"."
+ 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/metadata.xml b/x11-wm/fvwm3/metadata.xml
new file mode 100644
index 000000000000..278a0067ac68
--- /dev/null
+++ b/x11-wm/fvwm3/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <longdescription lang="en">
+ fvwm3 is a multiple large virtual desktop window manager.
+ The successor to fvwm-2.6, Fvwm3 is intended to be extremely customizable and extendible while consuming a relatively small amount of resources.
+ </longdescription>
+ <maintainer type="person">
+ <email>kangie@gentoo.org</email>
+ <name>Matt Jolly</name>
+ </maintainer>
+ <use>
+ <flag name="go">Enable building <pkg>dev-lang/go</pkg> code (FvwmPrompt)</flag>
+ <flag name="lock">Enable screen locking</flag>
+ <flag name="netpbm">Enable NetPBM support (used by FvwmScript-ScreenDump)</flag>
+ <flag name="stroke">Mouse Gesture support</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">fvwmorg/fvwm3</remote-id>
+ <bugs-to>https://github.com/fvwmorg/fvwm3/issues</bugs-to>
+ <changelog>https://raw.githubusercontent.com/fvwmorg/fvwm3/master/CHANGELOG.md</changelog>
+ </upstream>
+</pkgmetadata>
diff --git a/x11-wm/goomwwm/files/goomwwm-1.0.0-makefile.patch b/x11-wm/goomwwm/files/goomwwm-1.0.0-makefile.patch
new file mode 100644
index 000000000000..b5d7ddb873f5
--- /dev/null
+++ b/x11-wm/goomwwm/files/goomwwm-1.0.0-makefile.patch
@@ -0,0 +1,29 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,11 +1,9 @@
+-CFLAGS?=-Wall -O2
+-LDADD?=$(shell pkg-config --cflags --libs x11 xinerama x11 xft)
++CFLAGS += -Wall
++CPPFLAGS += $(shell $(PKG_CONFIG) --cflags x11 xinerama x11 xft)
++LDLIBS += $(shell $(PKG_CONFIG) --libs x11 xinerama x11 xft)
+
+-normal:
+- $(CC) -o goomwwm goomwwm.c $(CFLAGS) $(LDADD) $(LDFLAGS)
+-
+-debug:
+- $(CC) -o goomwwm-debug goomwwm.c $(CFLAGS) -g -DDEBUG $(LDADD)
++all: goomwwm
++goomwwm.c: proto
+
+ proto:
+ cat *.c | egrep '^(void|int|char|unsigned|client|Window|winlist|XWindow)' | sed -r 's/\)/);/' > proto.h
+@@ -13,7 +11,5 @@
+ docs:
+ pandoc -s -w man goomwwm.md -o goomwwm.1
+
+-all: proto normal debug docs
+-
+ clean:
+- rm -f goomwwm goomwwm-debug
+\ No newline at end of file
++ rm -f goomwwm goomwwm-debug
diff --git a/x11-wm/goomwwm/goomwwm-1.0.0-r1.ebuild b/x11-wm/goomwwm/goomwwm-1.0.0-r2.ebuild
index db6647764c2d..506169ced6bf 100644
--- a/x11-wm/goomwwm/goomwwm-1.0.0-r1.ebuild
+++ b/x11-wm/goomwwm/goomwwm-1.0.0-r2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit flag-o-matic toolchain-funcs
@@ -17,28 +17,20 @@ IUSE="debug"
RDEPEND="
x11-libs/libXft
x11-libs/libX11
- x11-libs/libXinerama
-"
+ x11-libs/libXinerama"
DEPEND="
${RDEPEND}
- virtual/pkgconfig
- x11-base/xorg-proto
-"
+ x11-base/xorg-proto"
+BDEPEND="virtual/pkgconfig"
-src_prepare() {
- default
- sed -i -e 's|$(LDADD) $(LDFLAGS)|$(LDFLAGS) $(LDADD)|g' Makefile || die
-}
+PATCHES=( "${FILESDIR}"/${P}-makefile.patch )
src_configure() {
- use debug && append-cflags -DDEBUG
-}
-
-src_compile() {
- emake CC=$(tc-getCC) proto normal
+ tc-export CC PKG_CONFIG
+ use debug && append-cppflags -DDEBUG
}
src_install() {
- dobin ${PN}
- doman ${PN}.1
+ dobin goomwwm
+ doman goomwwm.1
}
diff --git a/x11-wm/goomwwm/goomwwm-9999.ebuild b/x11-wm/goomwwm/goomwwm-9999.ebuild
deleted file mode 100644
index f1597d56c856..000000000000
--- a/x11-wm/goomwwm/goomwwm-9999.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic git-r3 toolchain-funcs
-
-DESCRIPTION="Get out of my way, Window Manager!"
-HOMEPAGE="https://github.com/seanpringle/goomwwm"
-EGIT_REPO_URI="https://github.com/seanpringle/goomwwm"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS=""
-IUSE="debug"
-
-RDEPEND="
- x11-libs/libXft
- x11-libs/libX11
- x11-libs/libXinerama
-"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
- x11-base/xorg-proto
-"
-
-src_prepare() {
- default
- sed -i -e 's|$(LDADD) $(LDFLAGS)|$(LDFLAGS) $(LDADD)|g' Makefile || die
-}
-
-src_configure() {
- use debug && append-cflags -DDEBUG
-}
-
-src_compile() {
- emake CC=$(tc-getCC) proto normal
-}
-
-src_install() {
- dobin ${PN}
- doman ${PN}.1
-}
diff --git a/x11-wm/goomwwm/metadata.xml b/x11-wm/goomwwm/metadata.xml
index ccf33057822c..2913e52fcfc1 100644
--- a/x11-wm/goomwwm/metadata.xml
+++ b/x11-wm/goomwwm/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/x11-wm/herbstluftwm/Manifest b/x11-wm/herbstluftwm/Manifest
index 91e0df75ff96..7f40a3fb76c1 100644
--- a/x11-wm/herbstluftwm/Manifest
+++ b/x11-wm/herbstluftwm/Manifest
@@ -1,3 +1 @@
-DIST herbstluftwm-0.7.2.tar.gz 245506 BLAKE2B 72d0bb2a77e519161d193ac7b2b9f1f878ccb6cfe4914b6c75d060e2daa0bec4203ee4ebf203b9fa1dfb844d71d50aa7c03257c78aa22e906bf42519d1e592af SHA512 abb49bbc3de9a0ef619ce7063c1cea0d0d25ab2195c53dc0d33e061ad24060da4bbe9b99b9b9126028cdf68b462d4fcc8d1534431e4892d571ff897a68d2113c
-DIST herbstluftwm-0.9.1.tar.gz 432926 BLAKE2B 38f8626f3f8957cae32d71202b03515c26a4e174ce550ed6b31e7e024c3a3095374ad68f5aecc55c608c0a8565063ff39f85596444884557f38ff39043bd1d7d SHA512 c69cc5a77e98e2e0a1c84938394fe97cd985bfedb8bb1e2dceddb0268f30597cdf9b30048aa3618c20ec549f2113b7a6bbbb94f2fbcc578b8f0117bdd8cac85d
-DIST herbstluftwm-0.9.2.tar.gz 448757 BLAKE2B f969e4a02aad11c5bd75ac261c7dd8c9448234a050f82f0cdd9bc29c998c4f6bb496f6e32d20016b06849218952c6a2f993f46aa94c29d011f4ff6865a2197bc SHA512 5426b4d1810f01cf043cf43644d4c65692a5aa207893be484c86eb0eeb96ca6259c86b843146a9eebdf4de988f2d2ed742674907be47262c6029d8aa7ab2265c
+DIST herbstluftwm-0.9.5.tar.gz 556773 BLAKE2B db851f02ce249be74f0104dd0b335fb1ed50b4a19e5f7de17cdc34b7eba99ac2f348c5a4a4e0afd2c68576f650029203c735ccb293a60d321769d56f746d6593 SHA512 a85fd1ab16b873f512d6965cc4a93524e3ed4a15079d0d4ee54012e217bd41db3b54729c1b30ee361c34b38799f95bc537099056ba7a5f791bf2be6724bc92c3
diff --git a/x11-wm/herbstluftwm/herbstluftwm-0.7.2-r1.ebuild b/x11-wm/herbstluftwm/herbstluftwm-0.7.2-r1.ebuild
deleted file mode 100644
index 74f4e1a1a6dc..000000000000
--- a/x11-wm/herbstluftwm/herbstluftwm-0.7.2-r1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit toolchain-funcs bash-completion-r1
-
-if [[ ${PV} == 9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/herbstluftwm/herbstluftwm"
- BDEPEND="app-text/asciidoc"
-else
- SRC_URI="https://herbstluftwm.org/tarballs/${P}.tar.gz"
- KEYWORDS="amd64 x86"
- BDEPEND=""
-fi
-
-DESCRIPTION="A manual tiling window manager for X"
-HOMEPAGE="https://herbstluftwm.org/"
-
-LICENSE="BSD-2"
-SLOT="0"
-IUSE="examples xinerama zsh-completion"
-
-DEPEND="
- >=dev-libs/glib-2.24:2
- x11-libs/libX11
- x11-libs/libXext
- xinerama? ( x11-libs/libXinerama )
-"
-RDEPEND="
- ${DEPEND}
- app-shells/bash
- zsh-completion? ( app-shells/zsh )
-"
-BDEPEND+="
- virtual/pkgconfig
-"
-
-src_compile() {
- tc-export CC CXX LD PKG_CONFIG
-
- emake LDXX="$(tc-getCXX)" COLOR=0 VERBOSE= \
- $(use xinerama || echo XINERAMAFLAGS= XINERAMALIBS= )
-}
-
-src_install() {
- dobin herbstluftwm herbstclient
- dodoc BUGS MIGRATION NEWS README.md
-
- doman doc/{herbstluftwm,herbstclient}.1
-
- exeinto /etc/xdg/herbstluftwm
- doexe share/{autostart,panel.sh,restartpanels.sh}
-
- insinto /usr/share/xsessions
- doins share/herbstluftwm.desktop
-
- newbashcomp share/herbstclient-completion herbstclient
-
- if use zsh-completion ; then
- insinto /usr/share/zsh/site-functions
- doins share/_herbstclient
- fi
-
- if use examples ; then
- exeinto /usr/share/doc/${PF}/examples
- doexe scripts/*.sh
- docinto examples
- dodoc scripts/README
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/x11-wm/herbstluftwm/herbstluftwm-0.9.1.ebuild b/x11-wm/herbstluftwm/herbstluftwm-0.9.1.ebuild
deleted file mode 100644
index cd6435359276..000000000000
--- a/x11-wm/herbstluftwm/herbstluftwm-0.9.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit cmake python-any-r1 toolchain-funcs
-
-DESCRIPTION="A manual tiling window manager for X"
-HOMEPAGE="https://herbstluftwm.org/"
-SRC_URI="https://herbstluftwm.org/tarballs/${P}.tar.gz"
-KEYWORDS="~amd64 ~x86"
-
-LICENSE="BSD-2"
-SLOT="0"
-IUSE="doc examples"
-
-DEPEND="
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXinerama
- x11-libs/libXrandr
-"
-RDEPEND="
- ${DEPEND}
- app-shells/bash
-"
-BDEPEND="
- ${PYTHON_DEPS}
- virtual/pkgconfig
- doc? ( app-text/asciidoc )
-"
-
-src_prepare() {
- sed -i \
- -e '/^install.*LICENSEDIR/d' \
- -e '/set(DOCDIR / s#.*#set(DOCDIR ${CMAKE_INSTALL_DOCDIR})#' \
- CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- # Ensure that 'python3' is in PATH. #765118
- python_setup
-
- mycmakeargs=(
- -DWITH_DOCUMENTATION=$(usex doc)
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
-
- if ! use examples; then
- rm -r "${ED}"/usr/share/doc/${PF}/examples || die
- fi
-}
diff --git a/x11-wm/herbstluftwm/herbstluftwm-0.9.2.ebuild b/x11-wm/herbstluftwm/herbstluftwm-0.9.2.ebuild
deleted file mode 100644
index 31f1710a7b3e..000000000000
--- a/x11-wm/herbstluftwm/herbstluftwm-0.9.2.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-DISTUTILS_OPTIONAL=1
-
-inherit cmake distutils-r1 toolchain-funcs
-
-DESCRIPTION="A manual tiling window manager for X"
-HOMEPAGE="https://herbstluftwm.org/"
-
-if [[ "${PV}" == "9999" ]] || [[ -n "${EGIT_COMMIT_ID}" ]]; then
- EGIT_REPO_URI="https://github.com/herbstluftwm/herbstluftwm"
- inherit git-r3
-else
- SRC_URI="https://herbstluftwm.org/tarballs/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="BSD-2"
-SLOT="0"
-IUSE="doc examples python"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-DEPEND="
- media-libs/freetype
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXft
- x11-libs/libXinerama
- x11-libs/libXrandr
-"
-RDEPEND="
- ${DEPEND}
- app-shells/bash
- python? ( ${PYTHON_DEPS} )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- virtual/pkgconfig
- doc? ( app-text/asciidoc )
-"
-
-src_prepare() {
- sed -i \
- -e '/^install.*LICENSEDIR/d' \
- -e '/set(DOCDIR / s#.*#set(DOCDIR ${CMAKE_INSTALL_DOCDIR})#' \
- CMakeLists.txt || die
- cmake_src_prepare
-
- if use python; then
- pushd "${S}"/python > /dev/null || die
- distutils-r1_src_prepare
- popd > /dev/null || die
- fi
-}
-
-src_configure() {
- # Ensure that 'python3' is in PATH. #765118
- python_setup
-
- mycmakeargs=(
- -DWITH_DOCUMENTATION=$(usex doc)
- )
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
-
- if use python; then
- pushd python > /dev/null || die
- distutils-r1_src_compile
- popd >/dev/null || die
- fi
-}
-
-src_install() {
- cmake_src_install
-
- if ! use examples; then
- rm -r "${ED}"/usr/share/doc/${PF}/examples || die
- fi
-
- if use python; then
- pushd python > /dev/null || die
- distutils-r1_src_install
- popd > /dev/null || die
- fi
-
-}
diff --git a/x11-wm/herbstluftwm/herbstluftwm-0.9.5-r2.ebuild b/x11-wm/herbstluftwm/herbstluftwm-0.9.5-r2.ebuild
new file mode 100644
index 000000000000..ceda002ab268
--- /dev/null
+++ b/x11-wm/herbstluftwm/herbstluftwm-0.9.5-r2.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_OPTIONAL=1
+
+inherit cmake desktop distutils-r1
+
+DESCRIPTION="A manual tiling window manager for X"
+HOMEPAGE="https://herbstluftwm.org/"
+
+if [[ "${PV}" == "9999" ]] || [[ -n "${EGIT_COMMIT_ID}" ]]; then
+ EGIT_REPO_URI="https://github.com/herbstluftwm/herbstluftwm"
+ inherit git-r3
+else
+ SRC_URI="https://herbstluftwm.org/tarballs/${P}.tar.gz"
+ KEYWORDS="amd64 x86"
+fi
+
+LICENSE="BSD-2"
+SLOT="0"
+IUSE="+doc python test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ test? ( python )
+"
+
+COMMON_DEPEND="
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXft
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libXrender
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ test? (
+ dev-python/ewmh
+ dev-python/python-xlib
+ x11-apps/xsetroot
+ x11-base/xorg-server[xephyr,xvfb]
+ x11-misc/xdotool
+ x11-terms/xterm
+ )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ app-shells/bash
+ python? ( ${PYTHON_DEPS} )
+"
+BDEPEND="
+ ${DISTUTILS_DEPS}
+ virtual/pkgconfig
+"
+
+if [[ -n "${EGIT_REPO_URI}" ]]; then
+ # Herbstluftwm tarballs ship with pre-compiled documentation, only
+ # if we build from git asciidoc is needed.
+ BDEPEND+=" doc? ( app-text/asciidoc )"
+fi
+
+src_prepare() {
+ # Do not install LICENSE and respect CMAKE_INSTALL_DOCDIR.
+ sed -i \
+ -e '/^install.*LICENSEDIR/d' \
+ -e '/set(DOCDIR / s#.*#set(DOCDIR ${CMAKE_INSTALL_DOCDIR})#' \
+ CMakeLists.txt || die
+ cmake_src_prepare
+
+ if use python; then
+ pushd "${S}"/python > /dev/null || die
+ distutils-r1_src_prepare
+ popd > /dev/null || die
+ fi
+}
+
+src_configure() {
+ # Ensure that 'python3' is in PATH. #765118
+ python_setup
+
+ local mycmakeargs=(
+ -DWITH_DOCUMENTATION=$(usex doc)
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use python; then
+ pushd python > /dev/null || die
+ distutils-r1_src_compile
+ popd >/dev/null || die
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ if ! use doc; then
+ rm -r "${ED}"/usr/share/doc/${PF}/examples || die
+ fi
+
+ if use python; then
+ pushd python > /dev/null || die
+ distutils-r1_src_install
+ popd > /dev/null || die
+ fi
+
+ # The man pages exists in src_install either in non-live ebuilds,
+ # since they are then shipped pre-compiled in herbstluftwm's
+ # release tarbal. Or they exist in live ebuilds if the 'doc' USE
+ # flag is enabled.
+ if [[ "${PV}" != 9999 ]] || use doc; then
+ local man_pages=(
+ herbstluftwm.1
+ herbstclient.1
+ herbstluftwm-tutorial.7
+ )
+ for man_page in "${man_pages[@]}"; do
+ doman "doc/${man_page}"
+ done
+ fi
+
+ # Do not only install the herbstluftwm.desktop file in xsessions/ but
+ # also in applications/. This allows herbstluftwm to be used as
+ # window manager of a Gnome flashback session.
+ domenu "${ED}"/usr/share/xsessions/herbstluftwm.desktop
+}
+
+distutils_enable_tests pytest
+
+src_test() {
+ ln -s "${BUILD_DIR}/herbstclient" || die "Could not symlink herbstclient"
+ ln -s "${BUILD_DIR}/herbstluftwm" || die "Could not symlink herbstluftwm"
+
+ distutils-r1_src_test
+}
diff --git a/x11-wm/herbstluftwm/herbstluftwm-9999.ebuild b/x11-wm/herbstluftwm/herbstluftwm-9999.ebuild
index 28d103f5405a..f9a7de769844 100644
--- a/x11-wm/herbstluftwm/herbstluftwm-9999.ebuild
+++ b/x11-wm/herbstluftwm/herbstluftwm-9999.ebuild
@@ -1,58 +1,157 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{9..12} )
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_OPTIONAL=1
-inherit cmake git-r3 python-any-r1 toolchain-funcs
+inherit cmake desktop distutils-r1
DESCRIPTION="A manual tiling window manager for X"
HOMEPAGE="https://herbstluftwm.org/"
-EGIT_REPO_URI="https://github.com/herbstluftwm/herbstluftwm"
+
+if [[ "${PV}" == "9999" ]] || [[ -n "${EGIT_COMMIT_ID}" ]]; then
+ EGIT_REPO_URI="https://github.com/herbstluftwm/herbstluftwm"
+ inherit git-r3
+else
+ SRC_URI="https://herbstluftwm.org/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
LICENSE="BSD-2"
SLOT="0"
-IUSE="doc examples"
+IUSE="+doc python test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ test? ( python )
+"
-DEPEND="
+COMMON_DEPEND="
x11-libs/libX11
x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXft
x11-libs/libXinerama
x11-libs/libXrandr
+ x11-libs/libXrender
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ test? (
+ dev-python/ewmh
+ dev-python/python-xlib
+ x11-apps/xsetroot
+ x11-base/xorg-server[xephyr,xvfb]
+ x11-misc/xdotool
+ x11-terms/xterm
+ )
"
RDEPEND="
- ${DEPEND}
+ ${COMMON_DEPEND}
app-shells/bash
+ python? ( ${PYTHON_DEPS} )
"
BDEPEND="
- ${PYTHON_DEPS}
+ ${DISTUTILS_DEPS}
virtual/pkgconfig
- doc? ( app-text/asciidoc )
"
+if [[ -n "${EGIT_REPO_URI}" ]]; then
+ # If hlwm is build from VCS, then hlwm-doc.json, which is used in
+ # the tests, needs to generated by the WITH_DOCUMENTATION option.
+ REQUIRED_USE+=" test? ( doc )"
+
+ # Herbstluftwm tarballs ship with pre-compiled documentation, only
+ # if we build from git asciidoc is needed.
+ BDEPEND+=" doc? ( app-text/asciidoc )"
+fi
+
src_prepare() {
+ # Do not install LICENSE and respect CMAKE_INSTALL_DOCDIR.
sed -i \
-e '/^install.*LICENSEDIR/d' \
-e '/set(DOCDIR / s#.*#set(DOCDIR ${CMAKE_INSTALL_DOCDIR})#' \
CMakeLists.txt || die
+
+ # Do not install MAN pages, we use doman in src_install() for that.
+ sed -i '/MANDIR/d' \
+ doc/CMakeLists.txt || die
+
cmake_src_prepare
+
+ if use python; then
+ pushd "${S}"/python > /dev/null || die
+ distutils-r1_src_prepare
+ popd > /dev/null || die
+ fi
}
src_configure() {
# Ensure that 'python3' is in PATH. #765118
python_setup
- mycmakeargs=(
+ local mycmakeargs=(
-DWITH_DOCUMENTATION=$(usex doc)
)
cmake_src_configure
}
+src_compile() {
+ cmake_src_compile
+
+ if use python; then
+ pushd python > /dev/null || die
+ distutils-r1_src_compile
+ popd >/dev/null || die
+ fi
+}
+
src_install() {
cmake_src_install
- if ! use examples; then
+ if ! use doc; then
rm -r "${ED}"/usr/share/doc/${PF}/examples || die
fi
+
+ if use python; then
+ pushd python > /dev/null || die
+ distutils-r1_src_install
+ popd > /dev/null || die
+ fi
+
+ # The man pages exists in src_install either in non-live ebuilds,
+ # since they are then shipped pre-compiled in herbstluftwm's
+ # release tarbal. Or they exist in live ebuilds if the 'doc' USE
+ # flag is enabled.
+ if [[ "${PV}" != 9999 ]] || use doc; then
+ local man_pages=(
+ herbstluftwm.1
+ herbstclient.1
+ herbstluftwm-tutorial.7
+ )
+ for man_page in "${man_pages[@]}"; do
+ doman "doc/${man_page}"
+ done
+ fi
+
+ # Do not only install the herbstluftwm.desktop file in xsessions/ but
+ # also in applications/. This allows herbstluftwm to be used as
+ # window manager of a Gnome flashback session.
+ domenu "${ED}"/usr/share/xsessions/herbstluftwm.desktop
+}
+
+distutils_enable_tests pytest
+
+src_test() {
+ if [[ -n "${EGIT_REPO_URI}" ]]; then
+ ln -s "${BUILD_DIR}/doc/hlwm-doc.json" "doc/hlwm-doc.json" || die "Could not symlink hlwm-doc.json"
+ fi
+
+ ln -s "${BUILD_DIR}/herbstclient" || die "Could not symlink herbstclient"
+ ln -s "${BUILD_DIR}/herbstluftwm" || die "Could not symlink herbstluftwm"
+
+ distutils-r1_src_test
}
diff --git a/x11-wm/herbstluftwm/metadata.xml b/x11-wm/herbstluftwm/metadata.xml
index 272d4aa6b4c7..aa699bc6190d 100644
--- a/x11-wm/herbstluftwm/metadata.xml
+++ b/x11-wm/herbstluftwm/metadata.xml
@@ -1,16 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>flo@geekplace.eu</email>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<maintainer type="person">
- <email>andrey_utkin@gentoo.org</email>
- <name>Andrey Utkin</name>
+ <email>flow@gentoo.org</email>
+ <name>Florian Schmaus</name>
</maintainer>
<upstream>
<remote-id type="github">herbstluftwm/herbstluftwm</remote-id>
diff --git a/x11-wm/i3-gaps/Manifest b/x11-wm/i3-gaps/Manifest
deleted file mode 100644
index 44c70ad83300..000000000000
--- a/x11-wm/i3-gaps/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST i3-gaps-4.18.2.tar.gz 3999555 BLAKE2B d825bb4acb76a7909569aa10c6cab517ff08ee4d4d29175c9a84686c83f225a8a090c26ad4bf4ef03e2062bf4d48c7e2e2bf70b49f7a67ecad386597fc1602bd SHA512 86c76340d1df40bbd7e804515ae9dda350458d22651bee508f9f141acd3f4ea4025c8f40ddf0cdfe1fc3c6b26cbf5c3900204545468776721857bb104200ee34
-DIST i3-gaps-4.19.1.tar.gz 4189285 BLAKE2B 91dcf3024cfdc01f52eefc53912d5d2264c51683ae1249761fa848593ffea94ee67d7638d07e078477074fa57158d099f668a27f88b7ad3c10e56efb464bb6d9 SHA512 200610a221655beee5c204dca1b2d8fe37c64d9054713605a403ba8973b30460bbc64f9172aa3b262f2f8b477584fca667137147ac076bb06745130f31750a9a
-DIST i3-gaps-4.19.tar.gz 4192134 BLAKE2B cc70e36fd01e777e1e4357d1799777eb42c21f1666759d8730c548773c87e4c2806ae5376703956761a8fc036c5e847a4734cddd695067f684038c1cc9a8905e SHA512 db09203256172cc4807189bbf16d793c9203c908d2e75cbb7d973d1f0338f6e3734afe68ffe1c43ef3e43e5b2c6dba1ab9135625e4d42d10a9ea6f44f673d384
diff --git a/x11-wm/i3-gaps/files/i3-gaps-4.18-musl.patch b/x11-wm/i3-gaps/files/i3-gaps-4.18-musl.patch
deleted file mode 100644
index bf59b32e3f70..000000000000
--- a/x11-wm/i3-gaps/files/i3-gaps-4.18-musl.patch
+++ /dev/null
@@ -1,74 +0,0 @@
---- a/i3bar/src/main.c
-+++ b/i3bar/src/main.c
-@@ -45,14 +45,20 @@ void debuglog(char *fmt, ...) {
- *
- */
- static char *expand_path(char *path) {
-- static glob_t globbuf;
-- if (glob(path, GLOB_NOCHECK | GLOB_TILDE, NULL, &globbuf) < 0) {
-- ELOG("glob() failed\n");
-- exit(EXIT_FAILURE);
-+ char *home, *expanded;
-+
-+ if (strncmp(path, "~/", 2) == 0) {
-+ home = getenv("HOME");
-+ if (home != NULL) {
-+ /* new length: sum - 1 (omit '~') + 1 (for '\0') */
-+ expanded = scalloc(strlen(home)+strlen(path), 1);
-+ strcpy(expanded, home);
-+ strcat(expanded, path+1);
-+ return expanded;
-+ }
- }
-- char *result = sstrdup(globbuf.gl_pathc > 0 ? globbuf.gl_pathv[0] : path);
-- globfree(&globbuf);
-- return result;
-+
-+ return sstrdup(path);
- }
-
- static void print_usage(char *elf_name) {
---- a/libi3/resolve_tilde.c
-+++ b/libi3/resolve_tilde.c
-@@ -19,28 +19,18 @@
- *
- */
- char *resolve_tilde(const char *path) {
-- static glob_t globbuf;
-- char *head, *tail, *result;
-+ char *home, *expanded;
-
-- tail = strchr(path, '/');
-- head = sstrndup(path, tail ? (size_t)(tail - path) : strlen(path));
--
-- int res = glob(head, GLOB_TILDE, NULL, &globbuf);
-- free(head);
-- /* no match, or many wildcard matches are bad */
-- if (res == GLOB_NOMATCH || globbuf.gl_pathc != 1)
-- result = sstrdup(path);
-- else if (res != 0) {
-- err(EXIT_FAILURE, "glob() failed");
-- } else {
-- head = globbuf.gl_pathv[0];
-- result = scalloc(strlen(head) + (tail ? strlen(tail) : 0) + 1, 1);
-- strcpy(result, head);
-- if (tail) {
-- strcat(result, tail);
-+ if (strncmp(path, "~/", 2) == 0) {
-+ home = getenv("HOME");
-+ if (home != NULL) {
-+ /* new length: sum - 1 (omit '~') + 1 (for '\0') */
-+ expanded = scalloc(strlen(home)+strlen(path), 1);
-+ strcpy(expanded, home);
-+ strcat(expanded, path+1);
-+ return expanded;
- }
- }
-- globfree(&globbuf);
-
-- return result;
-+ return sstrdup(path);
- }
---
-2.27.0
-
diff --git a/x11-wm/i3-gaps/files/i3-gaps-4.18.2-drop-branch-test.patch b/x11-wm/i3-gaps/files/i3-gaps-4.18.2-drop-branch-test.patch
deleted file mode 100644
index f6312fd0bf8f..000000000000
--- a/x11-wm/i3-gaps/files/i3-gaps-4.18.2-drop-branch-test.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/testcases/t/193-ipc-version.t b/testcases/t/193-ipc-version.t
-index d5f4badf..1f911a63 100644
---- a/testcases/t/193-ipc-version.t
-+++ b/testcases/t/193-ipc-version.t
-@@ -32,6 +32,4 @@ cmp_ok($version->{minor}, '>', 0, 'minor version > 0');
-
- is(int($version->{minor}), $version->{minor}, 'minor version is an integer');
- is(int($version->{patch}), $version->{patch}, 'patch version is an integer');
--like($version->{human_readable}, qr/branch/, 'human readable version contains branch name');
--
- done_testing;
diff --git a/x11-wm/i3-gaps/files/i3-gaps-4.19-fix-docdir.patch b/x11-wm/i3-gaps/files/i3-gaps-4.19-fix-docdir.patch
deleted file mode 100644
index 6917aa091dff..000000000000
--- a/x11-wm/i3-gaps/files/i3-gaps-4.19-fix-docdir.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/meson.build b/meson.build
-index 11541e21..a6f8974e 100644
---- a/meson.build
-+++ b/meson.build
-@@ -642,7 +642,7 @@ if get_option('docs')
- '@OUTPUT@',
- ],
- install: true,
-- install_dir: join_paths(get_option('datadir'), 'doc', 'i3'),
-+ install_dir: docdir,
- )
-
- custom_target(
-@@ -655,7 +655,7 @@ if get_option('docs')
- '@OUTPUT@',
- ],
- install: true,
-- install_dir: join_paths(get_option('datadir'), 'doc', 'i3'),
-+ install_dir: docdir,
- )
- endif
-
diff --git a/x11-wm/i3-gaps/i3-gaps-4.18.2.ebuild b/x11-wm/i3-gaps/i3-gaps-4.18.2.ebuild
deleted file mode 100644
index 61451b2c94d4..000000000000
--- a/x11-wm/i3-gaps/i3-gaps-4.18.2.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools out-of-source
-
-DESCRIPTION="i3 fork with gaps and some more features"
-HOMEPAGE="https://github.com/Airblader/i3"
-SRC_URI="https://github.com/Airblader/i3/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-CDEPEND="dev-libs/glib:2
- dev-libs/libev
- dev-libs/libpcre
- dev-libs/yajl
- x11-libs/cairo[X,xcb(+)]
- x11-libs/libxcb[xkb]
- 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
-"
-DEPEND="${CDEPEND}
- test? (
- dev-perl/ExtUtils-PkgConfig
- dev-perl/IPC-Run
- dev-perl/Inline
- dev-perl/Inline-C
- dev-perl/X11-XCB
- dev-perl/XS-Object-Magic
- x11-base/xorg-server[xephyr,xvfb]
- x11-misc/xvfb-run
- )
-"
-BDEPEND="
- app-text/asciidoc
- app-text/xmlto
- dev-lang/perl
- virtual/pkgconfig
-"
-RDEPEND="${CDEPEND}
- dev-lang/perl
- dev-perl/AnyEvent-I3
- dev-perl/JSON-XS
- !x11-wm/i3
-"
-
-S="${WORKDIR}/i3-${PV}"
-
-DOCS=( RELEASE-NOTES-$(ver_cut 1-3) )
-
-PATCHES=(
- "${FILESDIR}/${PN}-$(ver_cut 1-2)-musl.patch"
- "${FILESDIR}/${PN}-4.18.2-drop-branch-test.patch"
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-my_src_configure() {
- # disable sanitizer: otherwise injects -O0 -g
- local myeconfargs=(
- $(use_enable doc docs)
- --enable-debug=no
- --enable-mans
- --disable-sanitizers
- )
- econf "${myeconfargs[@]}"
-}
-
-my_src_install_all() {
- doman "${BUILD_DIR}"/man/*.1
- einstalldocs
-
- exeinto /etc/X11/Sessions
- newexe - i3wm <<- EOF
- #!/usr/bin/env sh
- exec /usr/bin/i3
- EOF
-}
-
-pkg_postinst() {
- einfo "There are several packages that you may find useful with ${PN} and"
- einfo "their usage is suggested by the upstream maintainers, namely:"
- einfo " x11-misc/dmenu"
- einfo " x11-misc/i3lock"
- einfo " x11-misc/i3status"
- einfo "Please refer to their description for additional info."
-}
diff --git a/x11-wm/i3-gaps/i3-gaps-4.19.1.ebuild b/x11-wm/i3-gaps/i3-gaps-4.19.1.ebuild
deleted file mode 100644
index 861470c91c03..000000000000
--- a/x11-wm/i3-gaps/i3-gaps-4.19.1.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson optfeature
-
-DESCRIPTION="i3 fork with gaps and some more features"
-HOMEPAGE="https://github.com/Airblader/i3"
-SRC_URI="https://github.com/Airblader/i3/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="dev-libs/glib:2
- dev-libs/libev
- dev-libs/libpcre
- dev-libs/yajl
- x11-libs/cairo[X,xcb(+)]
- x11-libs/libxcb[xkb]
- 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"
-DEPEND="${COMMON_DEPEND}
- test? (
- dev-perl/ExtUtils-PkgConfig
- dev-perl/IPC-Run
- dev-perl/Inline
- dev-perl/Inline-C
- dev-perl/X11-XCB
- dev-perl/XS-Object-Magic
- x11-apps/xhost
- x11-base/xorg-server[xephyr,xvfb]
- x11-misc/xvfb-run
- )"
-BDEPEND="app-text/asciidoc
- app-text/xmlto
- dev-lang/perl
- virtual/pkgconfig"
-RDEPEND="${COMMON_DEPEND}
- dev-lang/perl
- dev-perl/AnyEvent-I3
- dev-perl/JSON-XS
- !x11-wm/i3"
-
-S="${WORKDIR}/i3-${PV}"
-
-DOCS=( RELEASE-NOTES-$(ver_cut 1-3) )
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.18-musl.patch"
- "${FILESDIR}/${PN}-4.19-fix-docdir.patch"
-)
-
-src_configure() {
- local emesonargs=(
- -Ddocdir="/usr/share/doc/${PF}"
- -Ddocs=$(usex doc true false)
- -Dmans=true
- )
-
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- exeinto /etc/X11/Sessions
- newexe - i3wm <<- EOF
- #!/usr/bin/env sh
- exec /usr/bin/i3
- EOF
-}
-
-pkg_postinst() {
- 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/i3-gaps/i3-gaps-4.19.ebuild b/x11-wm/i3-gaps/i3-gaps-4.19.ebuild
deleted file mode 100644
index be6619cfd961..000000000000
--- a/x11-wm/i3-gaps/i3-gaps-4.19.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit meson optfeature
-
-DESCRIPTION="i3 fork with gaps and some more features"
-HOMEPAGE="https://github.com/Airblader/i3"
-SRC_URI="https://github.com/Airblader/i3/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
-IUSE="doc test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="dev-libs/glib:2
- dev-libs/libev
- dev-libs/libpcre
- dev-libs/yajl
- x11-libs/cairo[X,xcb(+)]
- x11-libs/libxcb[xkb]
- 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
-"
-DEPEND="${COMMON_DEPEND}
- test? (
- dev-perl/ExtUtils-PkgConfig
- dev-perl/IPC-Run
- dev-perl/Inline
- dev-perl/Inline-C
- dev-perl/X11-XCB
- dev-perl/XS-Object-Magic
- x11-apps/xhost
- x11-base/xorg-server[xephyr,xvfb]
- x11-misc/xvfb-run
- )
-"
-BDEPEND="app-text/asciidoc
- app-text/xmlto
- dev-lang/perl
- virtual/pkgconfig
-"
-RDEPEND="${COMMON_DEPEND}
- dev-lang/perl
- dev-perl/AnyEvent-I3
- dev-perl/JSON-XS
- !x11-wm/i3
-"
-
-S="${WORKDIR}/i3-${PV}"
-
-DOCS=( RELEASE-NOTES-$(ver_cut 1-3) )
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.18-musl.patch"
- "${FILESDIR}/${PN}-4.19-fix-docdir.patch"
-)
-
-src_configure() {
- local emesonargs=(
- -Ddocdir="/usr/share/doc/${PF}"
- -Ddocs=$(usex doc true false)
- -Dmans=true
- )
-
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- exeinto /etc/X11/Sessions
- newexe - i3wm <<- EOF
- #!/usr/bin/env sh
- exec /usr/bin/i3
- EOF
-}
-
-pkg_postinst() {
- 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/i3-gaps/metadata.xml b/x11-wm/i3-gaps/metadata.xml
deleted file mode 100644
index 2e166989d8d4..000000000000
--- a/x11-wm/i3-gaps/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>johu@gentoo.org</email>
- <name>Johannes Huber</name>
- </maintainer>
- <maintainer type="person">
- <email>ajak@gentoo.org</email>
- <name>John Helmert III</name>
- </maintainer>
- <upstream>
- <remote-id type="github">Airblader/i3</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/x11-wm/i3/Manifest b/x11-wm/i3/Manifest
index 5e39ca3558ea..197caa7623f3 100644
--- a/x11-wm/i3/Manifest
+++ b/x11-wm/i3/Manifest
@@ -1,4 +1,2 @@
-DIST i3-4.18.3.tar.bz2 1218766 BLAKE2B c394bbe9882dc893107f0c948632a3a79c52db75b75b2890f6f43fa60d80ce82d1c8a8c32a8793f59d9a6f929ab038765dbe3813c3c6bc1b79bebbbbde772451 SHA512 61599b79247ec546819bab22666a78fc8dc77eecbcf6055efb6b52720290fa7f72719ac6670396a6dfb54858781e438b5207c15fdf2cf9e2424a1b84ffeb749c
-DIST i3-4.18.tar.bz2 1218591 BLAKE2B 582b7ba3a54edf8dd2657add05eb54a64b7c004761a1a248d91dfcb061cb9df215ff35301c125b11aa69b571daeacd5732b498934c1fb17f69404a101fd16ec8 SHA512 0bbfda7f4b20a92a50ffb6abbfc3f6bfe6bb4c987ad4b5b1791192eb23b8c3389cc9949a699901797370c14de1ff8e12447a3b8ce330ab7d300fafdb60a432ec
-DIST i3-4.19.1.tar.xz 1277648 BLAKE2B a4d01d10c076da092faef2111ba0fadb481257c0011419cc911be0b63c0ff78053a39ff4a2887f6344794ea895190ebf1ac3585b598dbb90ff77d4de8fad7c53 SHA512 7a73d005e4ec438a7cf92ab719e17701948c5043cc431740b16e028e9771d1478fa539aebd1a8198fff6bec664f8bcecc17c3bd1ff35d53077d50d3ad1a8f7dc
-DIST i3-4.19.tar.xz 1278600 BLAKE2B 3af5eac9cb618bc3b3da0bca430e1882701802f49e092d1e6fa7a35ceb3f2c0287b66eceeb0123a7dfda9976df06227bec34d7d98873aedc2292a2ba94584d84 SHA512 e9e85dfa099751e95f05e8ed5048535bc669d73c51d3bd7e83740ee79d613f981a1130c35f54fb4725b31d18bed63d6bd5efacce8e086483e28d7c778407653a
+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/files/i3-4.16-musl-GLOB_TILDE.patch b/x11-wm/i3/files/i3-4.16-musl-GLOB_TILDE.patch
deleted file mode 100644
index 1e67ec2a3c4f..000000000000
--- a/x11-wm/i3/files/i3-4.16-musl-GLOB_TILDE.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From: Natanael Copa <ncopa@alpinelinux.org>
-Patch-Source: https://git.alpinelinux.org/cgit/aports/tree/community/i3wm/musl.patch
-Project-Bug-URL: https://github.com/i3/i3/issues/1859
-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=609306
-
-Musl doesn't implement GLOB_TILDE, which is used by i3 when expanding paths.
-
-This patch replaces usage of GLOB_TILDE in glob() by replacing tilde
-with the content of $HOME - if set - manually.
-
-As mentioned in the i3 bugtracker this is an issue that should be solved by musl.
-
-A patch has been sent to musl upstream, but it hasn't been merged yet:
-http://www.openwall.com/lists/musl/2017/01/17/1
----
---- a/i3bar/src/main.c
-+++ b/i3bar/src/main.c
-@@ -48,14 +48,20 @@ void debuglog(char *fmt, ...) {
- *
- */
- static char *expand_path(char *path) {
-- static glob_t globbuf;
-- if (glob(path, GLOB_NOCHECK | GLOB_TILDE, NULL, &globbuf) < 0) {
-- ELOG("glob() failed\n");
-- exit(EXIT_FAILURE);
-+ char *home, *expanded;
-+
-+ if (strncmp(path, "~/", 2) == 0) {
-+ home = getenv("HOME");
-+ if (home != NULL) {
-+ /* new length: sum - 1 (omit '~') + 1 (for '\0') */
-+ expanded = scalloc(strlen(home)+strlen(path), 1);
-+ strcpy(expanded, home);
-+ strcat(expanded, path+1);
-+ return expanded;
-+ }
- }
-- char *result = sstrdup(globbuf.gl_pathc > 0 ? globbuf.gl_pathv[0] : path);
-- globfree(&globbuf);
-- return result;
-+
-+ return sstrdup(path);
- }
-
- void print_usage(char *elf_name) {
---- a/libi3/resolve_tilde.c
-+++ b/libi3/resolve_tilde.c
-@@ -19,28 +19,18 @@
- *
- */
- char *resolve_tilde(const char *path) {
-- static glob_t globbuf;
-- char *head, *tail, *result;
-+ char *home, *expanded;
-
-- tail = strchr(path, '/');
-- head = sstrndup(path, tail ? (size_t)(tail - path) : strlen(path));
--
-- int res = glob(head, GLOB_TILDE, NULL, &globbuf);
-- free(head);
-- /* no match, or many wildcard matches are bad */
-- if (res == GLOB_NOMATCH || globbuf.gl_pathc != 1)
-- result = sstrdup(path);
-- else if (res != 0) {
-- err(EXIT_FAILURE, "glob() failed");
-- } else {
-- head = globbuf.gl_pathv[0];
-- result = scalloc(strlen(head) + (tail ? strlen(tail) : 0) + 1, 1);
-- strcpy(result, head);
-- if (tail) {
-- strcat(result, tail);
-+ if (strncmp(path, "~/", 2) == 0) {
-+ home = getenv("HOME");
-+ if (home != NULL) {
-+ /* new length: sum - 1 (omit '~') + 1 (for '\0') */
-+ expanded = scalloc(strlen(home)+strlen(path), 1);
-+ strcpy(expanded, home);
-+ strcat(expanded, path+1);
-+ return expanded;
- }
- }
-- globfree(&globbuf);
-
-- return result;
-+ return sstrdup(path);
- }
diff --git a/x11-wm/i3/files/i3-gaps-4.19-fix-docdir.patch b/x11-wm/i3/files/i3-gaps-4.19-fix-docdir.patch
deleted file mode 100644
index 6917aa091dff..000000000000
--- a/x11-wm/i3/files/i3-gaps-4.19-fix-docdir.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/meson.build b/meson.build
-index 11541e21..a6f8974e 100644
---- a/meson.build
-+++ b/meson.build
-@@ -642,7 +642,7 @@ if get_option('docs')
- '@OUTPUT@',
- ],
- install: true,
-- install_dir: join_paths(get_option('datadir'), 'doc', 'i3'),
-+ install_dir: docdir,
- )
-
- custom_target(
-@@ -655,7 +655,7 @@ if get_option('docs')
- '@OUTPUT@',
- ],
- install: true,
-- install_dir: join_paths(get_option('datadir'), 'doc', 'i3'),
-+ install_dir: docdir,
- )
- endif
-
diff --git a/x11-wm/i3/i3-4.18.3.ebuild b/x11-wm/i3/i3-4.18.3.ebuild
deleted file mode 100644
index 58a3f832182c..000000000000
--- a/x11-wm/i3/i3-4.18.3.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools out-of-source virtualx
-
-DESCRIPTION="An improved dynamic tiling window manager"
-HOMEPAGE="https://i3wm.org/"
-SRC_URI="https://i3wm.org/downloads/${P}.tar.bz2"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="doc debug test"
-
-CDEPEND="dev-libs/libev
- dev-libs/libpcre
- dev-libs/yajl
- x11-libs/libxcb[xkb]
- x11-libs/libxkbcommon[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
- x11-libs/cairo[X,xcb(+)]
- x11-libs/pango[X]"
-DEPEND="${CDEPEND}
- test? (
- dev-perl/AnyEvent
- dev-perl/X11-XCB
- dev-perl/Inline
- dev-perl/Inline-C
- dev-perl/IPC-Run
- dev-perl/ExtUtils-PkgConfig
- dev-perl/local-lib
- virtual/perl-Test-Simple
- x11-base/xorg-server[xephyr]
- x11-misc/xvfb-run
- )"
-RDEPEND="${CDEPEND}
- dev-lang/perl
- dev-perl/AnyEvent-I3
- dev-perl/JSON-XS"
-BDEPEND="virtual/pkgconfig"
-
-# Test without debug will apply optimization levels, which results
-# in type-punned pointers - which in turn causes test failures.
-REQUIRED_USE="test? ( debug )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.16-musl-GLOB_TILDE.patch"
-)
-
-# https://github.com/i3/i3/issues/3013
-RESTRICT="test"
-
-src_prepare() {
- default
-
- cat <<- EOF > "${T}"/i3wm
- #!/bin/sh
- exec /usr/bin/i3
- EOF
-
- eautoreconf
-}
-
-my_src_configure() {
- local myeconfargs=(
- $(use_enable debug)
- )
- econf "${myeconfargs[@]}"
-}
-
-my_src_test() {
- emake check
-}
-
-my_src_install_all() {
- doman man/*.1
-
- einstalldocs
- use doc && dodoc -r docs "RELEASE-NOTES-${PV}"
-
- exeinto /etc/X11/Sessions
- doexe "${T}/i3wm"
-}
-
-pkg_postinst() {
- # Only show the elog information on a new install
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- elog "There are several packages that you may find useful with ${PN} and"
- elog "their usage is suggested by the upstream maintainers, namely:"
- elog " x11-misc/dmenu"
- elog " x11-misc/i3status"
- elog " x11-misc/i3lock"
- elog "Please refer to their description for additional info."
- fi
-}
diff --git a/x11-wm/i3/i3-4.18.ebuild b/x11-wm/i3/i3-4.18.ebuild
deleted file mode 100644
index ca0d08cf24a6..000000000000
--- a/x11-wm/i3/i3-4.18.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools out-of-source virtualx
-
-DESCRIPTION="An improved dynamic tiling window manager"
-HOMEPAGE="https://i3wm.org/"
-SRC_URI="https://i3wm.org/downloads/${P}.tar.bz2"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="doc debug test"
-
-CDEPEND="dev-libs/libev
- dev-libs/libpcre
- dev-libs/yajl
- x11-libs/libxcb[xkb]
- x11-libs/libxkbcommon[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
- x11-libs/cairo[X,xcb(+)]
- x11-libs/pango[X]"
-DEPEND="${CDEPEND}
- test? (
- dev-perl/AnyEvent
- dev-perl/X11-XCB
- dev-perl/Inline
- dev-perl/Inline-C
- dev-perl/IPC-Run
- dev-perl/ExtUtils-PkgConfig
- dev-perl/local-lib
- virtual/perl-Test-Simple
- x11-base/xorg-server[xephyr]
- x11-misc/xvfb-run
- )"
-RDEPEND="${CDEPEND}
- dev-lang/perl
- dev-perl/AnyEvent-I3
- dev-perl/JSON-XS"
-BDEPEND="virtual/pkgconfig"
-
-# Test without debug will apply optimization levels, which results
-# in type-punned pointers - which in turn causes test failures.
-REQUIRED_USE="test? ( debug )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.16-musl-GLOB_TILDE.patch"
-)
-
-# https://github.com/i3/i3/issues/3013
-RESTRICT="test"
-
-src_prepare() {
- default
-
- cat <<- EOF > "${T}"/i3wm
- #!/bin/sh
- exec /usr/bin/i3
- EOF
-
- eautoreconf
-}
-
-my_src_configure() {
- local myeconfargs=(
- $(use_enable debug)
- )
- econf "${myeconfargs[@]}"
-}
-
-my_src_test() {
- emake check
-}
-
-my_src_install_all() {
- doman man/*.1
-
- einstalldocs
- use doc && dodoc -r docs "RELEASE-NOTES-${PV}"
-
- exeinto /etc/X11/Sessions
- doexe "${T}/i3wm"
-}
-
-pkg_postinst() {
- # Only show the elog information on a new install
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- elog "There are several packages that you may find useful with ${PN} and"
- elog "their usage is suggested by the upstream maintainers, namely:"
- elog " x11-misc/dmenu"
- elog " x11-misc/i3status"
- elog " x11-misc/i3lock"
- elog "Please refer to their description for additional info."
- fi
-}
diff --git a/x11-wm/i3/i3-4.19.1.ebuild b/x11-wm/i3/i3-4.22.ebuild
index 99bd3b7ad0b6..be04e81b8a7d 100644
--- a/x11-wm/i3/i3-4.19.1.ebuild
+++ b/x11-wm/i3/i3-4.22.ebuild
@@ -1,32 +1,35 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit meson optfeature virtualx
-if [[ "${PV}" = *9999 ]]; then
- inherit git-r3
-fi
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 ~x86"
+ KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
fi
LICENSE="BSD"
SLOT="0"
IUSE="doc test"
+RESTRICT="!test? ( test )"
-COMMON_DEPEND="dev-libs/libev
- dev-libs/libpcre
+COMMON_DEPEND="
+ dev-libs/libev
+ dev-libs/libpcre2
dev-libs/yajl
- x11-libs/libxcb[xkb]
+ 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
@@ -34,17 +37,17 @@ COMMON_DEPEND="dev-libs/libev
x11-libs/xcb-util-wm
x11-libs/xcb-util-xrm
x11-misc/xkeyboard-config
- x11-libs/cairo[X,xcb(+)]
- x11-libs/pango[X]"
-DEPEND="${COMMON_DEPEND}
+"
+DEPEND="
+ ${COMMON_DEPEND}
test? (
dev-perl/AnyEvent
- dev-perl/X11-XCB
+ dev-perl/ExtUtils-PkgConfig
dev-perl/Inline
dev-perl/Inline-C
dev-perl/IPC-Run
- dev-perl/ExtUtils-PkgConfig
dev-perl/local-lib
+ dev-perl/X11-XCB
virtual/perl-Test-Simple
x11-base/xorg-server[xephyr]
x11-misc/xvfb-run
@@ -53,21 +56,20 @@ DEPEND="${COMMON_DEPEND}
app-text/asciidoc
app-text/xmlto
dev-lang/perl
- )"
-RDEPEND="${COMMON_DEPEND}
+ )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
dev-lang/perl
dev-perl/AnyEvent-I3
- dev-perl/JSON-XS"
+ dev-perl/JSON-XS
+"
BDEPEND="virtual/pkgconfig"
-PATCHES=(
- "${FILESDIR}/${PN}-4.16-musl-GLOB_TILDE.patch"
-)
-
src_prepare() {
default
- cat <<- EOF > "${T}"/i3wm
+ cat > "${T}"/i3wm <<- EOF || die
#!/bin/sh
exec /usr/bin/i3
EOF
@@ -75,7 +77,7 @@ src_prepare() {
src_configure() {
local emesonargs=(
- -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+ -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
$(meson_use doc docs)
$(meson_use doc mans)
)
@@ -83,6 +85,10 @@ src_configure() {
meson_src_configure
}
+src_test() {
+ virtx meson_src_test
+}
+
src_install() {
meson_src_install
@@ -90,10 +96,6 @@ src_install() {
doexe "${T}"/i3wm
}
-src_test() {
- virtx meson_src_test
-}
-
pkg_postinst() {
optfeature_header "There are several packages that may be useful with i3:"
optfeature "application launcher" x11-misc/dmenu
diff --git a/x11-wm/i3/i3-4.19-r1.ebuild b/x11-wm/i3/i3-4.23.ebuild
index 3b3b04623bc8..f9e7d3d5321a 100644
--- a/x11-wm/i3/i3-4.19-r1.ebuild
+++ b/x11-wm/i3/i3-4.23.ebuild
@@ -1,32 +1,35 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit meson optfeature virtualx
-if [[ "${PV}" = *9999 ]]; then
- inherit git-r3
-fi
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 ~x86"
+ KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
fi
LICENSE="BSD"
SLOT="0"
IUSE="doc test"
+RESTRICT="!test? ( test )"
-COMMON_DEPEND="dev-libs/libev
- dev-libs/libpcre
+COMMON_DEPEND="
+ dev-libs/libev
+ dev-libs/libpcre2
dev-libs/yajl
- x11-libs/libxcb[xkb]
+ 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
@@ -34,17 +37,17 @@ COMMON_DEPEND="dev-libs/libev
x11-libs/xcb-util-wm
x11-libs/xcb-util-xrm
x11-misc/xkeyboard-config
- x11-libs/cairo[X,xcb(+)]
- x11-libs/pango[X]"
-DEPEND="${COMMON_DEPEND}
+"
+DEPEND="
+ ${COMMON_DEPEND}
test? (
dev-perl/AnyEvent
- dev-perl/X11-XCB
+ dev-perl/ExtUtils-PkgConfig
dev-perl/Inline
dev-perl/Inline-C
dev-perl/IPC-Run
- dev-perl/ExtUtils-PkgConfig
dev-perl/local-lib
+ dev-perl/X11-XCB
virtual/perl-Test-Simple
x11-base/xorg-server[xephyr]
x11-misc/xvfb-run
@@ -53,22 +56,20 @@ DEPEND="${COMMON_DEPEND}
app-text/asciidoc
app-text/xmlto
dev-lang/perl
- )"
-RDEPEND="${COMMON_DEPEND}
+ )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
dev-lang/perl
dev-perl/AnyEvent-I3
- dev-perl/JSON-XS"
+ dev-perl/JSON-XS
+"
BDEPEND="virtual/pkgconfig"
-PATCHES=(
- "${FILESDIR}/${PN}-4.16-musl-GLOB_TILDE.patch"
- "${FILESDIR}/i3-gaps-4.19-fix-docdir.patch"
-)
-
src_prepare() {
default
- cat <<- EOF > "${T}"/i3wm
+ cat > "${T}"/i3wm <<- EOF || die
#!/bin/sh
exec /usr/bin/i3
EOF
@@ -76,7 +77,7 @@ src_prepare() {
src_configure() {
local emesonargs=(
- -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+ -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
$(meson_use doc docs)
$(meson_use doc mans)
)
@@ -84,6 +85,10 @@ src_configure() {
meson_src_configure
}
+src_test() {
+ virtx meson_src_test
+}
+
src_install() {
meson_src_install
@@ -91,10 +96,6 @@ src_install() {
doexe "${T}"/i3wm
}
-src_test() {
- virtx meson_src_test
-}
-
pkg_postinst() {
optfeature_header "There are several packages that may be useful with i3:"
optfeature "application launcher" x11-misc/dmenu
diff --git a/x11-wm/i3/i3-9999.ebuild b/x11-wm/i3/i3-9999.ebuild
index 99bd3b7ad0b6..6d8b7839b4c5 100644
--- a/x11-wm/i3/i3-9999.ebuild
+++ b/x11-wm/i3/i3-9999.ebuild
@@ -1,18 +1,16 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit meson optfeature virtualx
-if [[ "${PV}" = *9999 ]]; then
- inherit git-r3
-fi
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 ~x86"
@@ -21,12 +19,16 @@ fi
LICENSE="BSD"
SLOT="0"
IUSE="doc test"
+RESTRICT="!test? ( test )"
-COMMON_DEPEND="dev-libs/libev
- dev-libs/libpcre
+COMMON_DEPEND="
+ dev-libs/libev
+ dev-libs/libpcre2
dev-libs/yajl
- x11-libs/libxcb[xkb]
+ 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
@@ -34,17 +36,17 @@ COMMON_DEPEND="dev-libs/libev
x11-libs/xcb-util-wm
x11-libs/xcb-util-xrm
x11-misc/xkeyboard-config
- x11-libs/cairo[X,xcb(+)]
- x11-libs/pango[X]"
-DEPEND="${COMMON_DEPEND}
+"
+DEPEND="
+ ${COMMON_DEPEND}
test? (
dev-perl/AnyEvent
- dev-perl/X11-XCB
+ dev-perl/ExtUtils-PkgConfig
dev-perl/Inline
dev-perl/Inline-C
dev-perl/IPC-Run
- dev-perl/ExtUtils-PkgConfig
dev-perl/local-lib
+ dev-perl/X11-XCB
virtual/perl-Test-Simple
x11-base/xorg-server[xephyr]
x11-misc/xvfb-run
@@ -53,21 +55,20 @@ DEPEND="${COMMON_DEPEND}
app-text/asciidoc
app-text/xmlto
dev-lang/perl
- )"
-RDEPEND="${COMMON_DEPEND}
+ )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
dev-lang/perl
dev-perl/AnyEvent-I3
- dev-perl/JSON-XS"
+ dev-perl/JSON-XS
+"
BDEPEND="virtual/pkgconfig"
-PATCHES=(
- "${FILESDIR}/${PN}-4.16-musl-GLOB_TILDE.patch"
-)
-
src_prepare() {
default
- cat <<- EOF > "${T}"/i3wm
+ cat > "${T}"/i3wm <<- EOF || die
#!/bin/sh
exec /usr/bin/i3
EOF
@@ -75,7 +76,7 @@ src_prepare() {
src_configure() {
local emesonargs=(
- -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+ -Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
$(meson_use doc docs)
$(meson_use doc mans)
)
@@ -83,6 +84,10 @@ src_configure() {
meson_src_configure
}
+src_test() {
+ virtx meson_src_test
+}
+
src_install() {
meson_src_install
@@ -90,10 +95,6 @@ src_install() {
doexe "${T}"/i3wm
}
-src_test() {
- virtx meson_src_test
-}
-
pkg_postinst() {
optfeature_header "There are several packages that may be useful with i3:"
optfeature "application launcher" x11-misc/dmenu
diff --git a/x11-wm/i3/metadata.xml b/x11-wm/i3/metadata.xml
index b9018b8fe410..7f98b6efd612 100644
--- a/x11-wm/i3/metadata.xml
+++ b/x11-wm/i3/metadata.xml
@@ -1,15 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>nelo@wallus.de</email>
- <name>Nelo-Thara Wallus</name>
+ <maintainer type="person">
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
</maintainer>
<maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
+ <email>ultrabug@gentoo.org</email>
+ <name>Alexys Jacob</name>
</maintainer>
<use>
<flag name="doc">Build and install the HTML documentation and regenerate the man pages</flag>
</use>
+ <upstream>
+ <remote-id type="github">i3/i3</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/x11-wm/icewm/Manifest b/x11-wm/icewm/Manifest
index eca3b7514751..98ff78e5f4d9 100644
--- a/x11-wm/icewm/Manifest
+++ b/x11-wm/icewm/Manifest
@@ -1,3 +1,2 @@
-DIST icewm-2.2.1.tar.lz 1697220 BLAKE2B a1c236c5aa3f2b958f3ad53c6d757abbce344da3c1c9c8f49bd4c986c68aef7421e799100dfabcb03e612d4c6a44af6a063080730b054e96ee054c85c21d5d1e SHA512 700122ace9a120300a06f17f334b76c12395154693583587527254903f53d12feb6e991754fc714960cc78b0d7809202879e43f2508f4d7ffa3fc7af84e628d6
-DIST icewm-2.3.1.tar.lz 1697840 BLAKE2B 8b51a9159e7b58989d7d63e8745e3cc8024211b81dc352bbd6753ba0b8cefbce7603ed11fe7874d91dc9ead37a19bca8e1541044d661f50098e9eb78a1c6739b SHA512 8194b375e6565f8d895a93e7315c9da0634c737a99ab91fe78ef50b298cef73c894688155635e79435f862fa30cfb988abe4b0374c22d65e4e496f2a8a0df6cb
-DIST icewm-2.3.2.tar.lz 1699944 BLAKE2B 4be59088ea1aaa4dce7a284efc766b082eb0a8f923a4a915de9d9d658a7eda4ccbaeb3c746918218058f062ba92ce29f715b8e9a42f6351e96cfb0df4261254f SHA512 1288f02aca7210051603a77f37126cda3750f8eeeef848ea3acf28ffbc82b1ea69b69a9b68df9750c58c067e5029093cb20f77c631521c568fb7f45a83dd320d
+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.3.1.ebuild b/x11-wm/icewm/icewm-2.3.1.ebuild
deleted file mode 100644
index 7b0d626e90a0..000000000000
--- a/x11-wm/icewm/icewm-2.3.1.ebuild
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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 uclibc 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}
- $(unpacker_src_uri_depends)
- x11-base/xorg-proto
- gdk-pixbuf? ( gnome-base/librsvg:2 )
-"
-
-BDEPEND="
- app-text/asciidoc
- virtual/pkgconfig
- nls? ( >=sys-devel/gettext-0.19.8 )
-"
-
-pkg_pretend() {
- if use gdk-pixbuf && use imlib ; then
- einfo 'Confilcting 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.2.1.ebuild b/x11-wm/icewm/icewm-3.3.1.ebuild
index 6215cdd777d4..5de5a9ec5452 100644
--- a/x11-wm/icewm/icewm-2.2.1.ebuild
+++ b/x11-wm/icewm/icewm-3.3.1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools unpacker
@@ -12,7 +12,7 @@ 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 uclibc xinerama"
+IUSE="+alsa ao bidi debug +gdk-pixbuf imlib nls truetype xinerama"
# Tests broken in all versions, patches welcome, bug #323907, #389533
RESTRICT="test"
@@ -63,19 +63,18 @@ RDEPEND="
)
!imlib? (
media-libs/libpng:0=
- virtual/jpeg
+ media-libs/libjpeg-turbo:=
)
)
xinerama? ( x11-libs/libXinerama )
"
DEPEND="
${RDEPEND}
- $(unpacker_src_uri_depends)
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 )
@@ -83,7 +82,7 @@ BDEPEND="
pkg_pretend() {
if use gdk-pixbuf && use imlib ; then
- einfo 'Confilcting USE flags have been enabled:'
+ einfo 'Conflicting USE flags have been enabled:'
einfo '"gdk-pixbuf" and "imlib" exclude each other!'
einfo 'Using "gdk-pixbuf".'
fi
@@ -132,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/icewm/icewm-2.3.2.ebuild b/x11-wm/icewm/icewm-3.4.1.ebuild
index 7b0d626e90a0..f49af1cc6ffc 100644
--- a/x11-wm/icewm/icewm-2.3.2.ebuild
+++ b/x11-wm/icewm/icewm-3.4.1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools unpacker
@@ -11,8 +11,8 @@ 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 uclibc xinerama"
+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
RESTRICT="test"
@@ -63,19 +63,18 @@ RDEPEND="
)
!imlib? (
media-libs/libpng:0=
- virtual/jpeg
+ media-libs/libjpeg-turbo:=
)
)
xinerama? ( x11-libs/libXinerama )
"
DEPEND="
${RDEPEND}
- $(unpacker_src_uri_depends)
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 )
@@ -83,7 +82,7 @@ BDEPEND="
pkg_pretend() {
if use gdk-pixbuf && use imlib ; then
- einfo 'Confilcting USE flags have been enabled:'
+ einfo 'Conflicting USE flags have been enabled:'
einfo '"gdk-pixbuf" and "imlib" exclude each other!'
einfo 'Using "gdk-pixbuf".'
fi
@@ -132,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/icewm/metadata.xml b/x11-wm/icewm/metadata.xml
index 7b0cfd7e0829..4945b86d191f 100644
--- a/x11-wm/icewm/metadata.xml
+++ b/x11-wm/icewm/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="gdk-pixbuf">Enable gdk-pixbuf rendering</flag>
</use>
diff --git a/x11-wm/jwm/Manifest b/x11-wm/jwm/Manifest
index 3543abbfb9cb..584cd4065993 100644
--- a/x11-wm/jwm/Manifest
+++ b/x11-wm/jwm/Manifest
@@ -1,2 +1 @@
-DIST jwm-2.3.2.tar.xz 325648 BLAKE2B 93654116b0dedff4ad03c7981a9978530a1989edf4766591f083c3b10fefb128acc85e93b888a7700cb59e0bd85e1e7f7e118a22327f79ddcc1d380887764028 SHA512 34b9d482815e8b269203e1f5bf02d3e13f3186153755c9e74094e4a8af376f35b8bef4553056e83c20ba0c532e6d2606633d71272e186fe45dfed9e4ea836a27
-DIST jwm-2.3.7.tar.xz 350332 BLAKE2B 479d853ae9b1dd2d1a39c9e823f39cd7671b477f6e9878bc6652072bce1ce364f8c392663dc1187a4a4970918c0f68cd506654f6dfe6c91cc5f1f2f275a2021b SHA512 dab0241518e52aa2e3e1ef3f67b6965ceb683bdb0224de7d3a653d76440606d70e86e35047eda40ea53a80aa227408be77739ad7c53d51f53026e3d113ab7efc
+DIST jwm-2.4.2.tar.xz 316000 BLAKE2B 7a0a1c5f60cb3554c999ce3d00d94af4d58ac4bdfcbaaa13a7b675273b4c5d0058c7c85bec950fa91d33a46a89f0b83faf2ab2cda0430a741884e2fdfd8116a7 SHA512 2669c3e2ab2d9a5539d02559108a2bc601bb2209de03dc15057a65c14b5e1268cc58009f4102c4d90302c0705ada5578997a3644c736a46a7e8cf13766cc92fe
diff --git a/x11-wm/jwm/jwm-2.3.2.ebuild b/x11-wm/jwm/jwm-2.3.2.ebuild
deleted file mode 100644
index f5523a67a314..000000000000
--- a/x11-wm/jwm/jwm-2.3.2.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit wrapper
-
-DESCRIPTION="Very fast and lightweight still powerful window manager for X"
-HOMEPAGE="http://joewing.net/projects/jwm/"
-SRC_URI="http://joewing.net/programs/jwm/releases/${P}.tar.xz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~hppa ppc x86"
-IUSE="bidi debug jpeg png truetype xinerama xpm"
-
-RDEPEND="xpm? ( x11-libs/libXpm )
- xinerama? ( x11-libs/libXinerama )
- x11-libs/libXext
- x11-libs/libXrender
- x11-libs/libXau
- x11-libs/libXdmcp
- truetype? ( x11-libs/libXft )
- png? ( media-libs/libpng:0= )
- jpeg? ( virtual/jpeg:0= )
- bidi? ( dev-libs/fribidi )
- dev-libs/expat"
-DEPEND="${RDEPEND}
- x11-base/xorg-proto"
-
-src_configure() {
- econf \
- $(use_enable debug) \
- $(use_enable jpeg) \
- $(use_enable png) \
- $(use_enable truetype xft) \
- $(use_enable xinerama) \
- $(use_enable xpm) \
- $(use_enable bidi fribidi) \
- --enable-shape \
- --enable-xrender
-}
-
-src_install() {
- dodir /etc
- dodir /usr/bin
- dodir /usr/share/man
-
- default
-
- make_wrapper "${PN}" "/usr/bin/${PN}" "" "" "/etc/X11/Sessions"
-
- dodoc README.md example.jwmrc ChangeLog
-}
-
-pkg_postinst() {
- einfo "JWM can be configured system-wide with ${EROOT}/etc/system.jwmrc"
- einfo "or per-user by creating a configuration file in ~/.jwmrc"
- einfo
- einfo "An example file can be found in ${EROOT}/usr/share/doc/${PF}/"
-}
diff --git a/x11-wm/jwm/jwm-2.3.7.ebuild b/x11-wm/jwm/jwm-2.4.2.ebuild
index de3b5aa2c7f5..0e9c3f44f9c4 100644
--- a/x11-wm/jwm/jwm-2.3.7.ebuild
+++ b/x11-wm/jwm/jwm-2.4.2.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit wrapper
DESCRIPTION="Very fast and lightweight still powerful window manager for X"
HOMEPAGE="http://joewing.net/projects/jwm/"
-SRC_URI="http://joewing.net/projects/${PN}/releases/${P}.tar.xz"
+SRC_URI="https://github.com/joewing/${PN}/releases/download/v${PV}/${P}.tar.xz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~hppa ~ppc x86"
-IUSE="bidi cairo debug iconv jpeg nls png truetype xinerama xpm"
+IUSE="svg debug iconv jpeg nls png pango truetype xinerama xpm"
RDEPEND="dev-libs/expat
x11-libs/libXau
@@ -20,31 +20,32 @@ RDEPEND="dev-libs/expat
x11-libs/libXext
x11-libs/libXmu
x11-libs/libXrender
- bidi? ( dev-libs/fribidi )
- cairo? (
+ svg? (
x11-libs/cairo
gnome-base/librsvg
)
iconv? ( virtual/libiconv )
- jpeg? ( virtual/jpeg:0= )
+ jpeg? ( media-libs/libjpeg-turbo )
nls? ( sys-devel/gettext
virtual/libintl )
+ pango? ( x11-libs/pango )
png? ( media-libs/libpng:0= )
truetype? ( x11-libs/libXft )
xinerama? ( x11-libs/libXinerama )
xpm? ( x11-libs/libXpm )"
DEPEND="${RDEPEND}
x11-base/xorg-proto"
+BDEPEND="virtual/pkgconfig"
src_configure() {
econf \
- $(use_enable bidi fribidi) \
- $(use_enable cairo) \
+ $(use_enable svg cairo) \
+ $(use_enable svg rsvg) \
$(use_enable debug) \
$(use_enable jpeg) \
$(use_enable nls) \
+ $(use_enable pango) \
$(use_enable png) \
- $(use_enable cairo rsvg) \
$(use_enable truetype xft) \
$(use_enable xinerama) \
$(use_enable xpm) \
@@ -67,7 +68,7 @@ src_install() {
insinto "/usr/share/xsessions"
doins "${FILESDIR}"/jwm.desktop
- dodoc README.md example.jwmrc ChangeLog
+ dodoc README.md README.upgrading example.jwmrc CONTRIBUTING.md
}
pkg_postinst() {
diff --git a/x11-wm/jwm/metadata.xml b/x11-wm/jwm/metadata.xml
index 1f5b8e82302b..7d709d102326 100644
--- a/x11-wm/jwm/metadata.xml
+++ b/x11-wm/jwm/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>wraeth@gentoo.org</email>
- <name>Sam Jorna</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">joewing/jwm</remote-id>
<changelog>http://joewing.net/projects/jwm/snapshots/ChangeLog</changelog>
@@ -19,4 +16,9 @@
such as Puppy Linux and Damn Small Linux, and it is available as a separate
package in many other distributions.
</longdescription>
+ <use>
+ <flag name="pango">
+ Bidirectional text layout support with pango using xft backend.
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/x11-wm/larswm/larswm-7.5.3-r2.ebuild b/x11-wm/larswm/larswm-7.5.3-r2.ebuild
index 6506e3b2921d..b19de912b91a 100644
--- a/x11-wm/larswm/larswm-7.5.3-r2.ebuild
+++ b/x11-wm/larswm/larswm-7.5.3-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit toolchain-funcs
+inherit flag-o-matic toolchain-funcs
DESCRIPTION="Tiling window manager for X11, based on 9wm by David Hogan"
HOMEPAGE="http://www.fnurt.net/larswm/"
@@ -17,16 +17,18 @@ RDEPEND="x11-libs/libX11
x11-libs/libXmu
x11-libs/libXt
x11-libs/libXext"
-DEPEND="${RDEPEND}"
-BDEPEND="
- x11-base/xorg-proto
- >=x11-misc/imake-1.0.8-r1
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
+BDEPEND="app-text/rman
+ sys-devel/gcc
x11-misc/gccmakedep
- app-text/rman"
+ >=x11-misc/imake-1.0.8-r1"
src_configure() {
+ append-cflags -std=gnu89 # old codebase, incompatible with c2x
+
CC="$(tc-getBUILD_CC)" LD="$(tc-getLD)" \
- IMAKECPP="${IMAKECPP:-$(tc-getCPP)}" xmkmf -a || die
+ IMAKECPP="${IMAKECPP:-${CHOST}-gcc -E}" xmkmf -a || die
}
src_compile() {
diff --git a/x11-wm/larswm/metadata.xml b/x11-wm/larswm/metadata.xml
index 1f3bd87d7879..7ff2a05c9ebe 100644
--- a/x11-wm/larswm/metadata.xml
+++ b/x11-wm/larswm/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription>
+ <!-- maintainer-needed -->
+ <longdescription>
larswm is a modified version of the 9wm window manager that adds virtual
desktops, automatic window tiling, and many other features designed to
make it a highly efficient user environment. One of the design goals is
diff --git a/x11-wm/lumina/Manifest b/x11-wm/lumina/Manifest
index 03c66fda5166..3d58bf974216 100644
--- a/x11-wm/lumina/Manifest
+++ b/x11-wm/lumina/Manifest
@@ -1 +1 @@
-DIST lumina-1.6.0.tar.gz 20662000 BLAKE2B c016f07fb86333e792d6a0a0ddaa9ea09f322d6de69d099abf9340d7db6cb9e23624b62882579ba6c13eec71fcf663f1688424fd940cd7e09e625f6fcc4b281f SHA512 e923961568ab9cc32206386066daef8cd1fd2db2d5c3e260e5c1da1dcda39a516576418f607cefbe5a1c47d8684591d0e595fb344e7d6aa2859fc3b326e73e30
+DIST lumina-1.6.2.tar.gz 20818383 BLAKE2B ecb2d4c1f3ce94f247cd86640bd6394807ed5d9a34b2256d333894e6528c0d3dac1ddcab8c790a63df67c2738ab7af8dd2ef0cae67c534e10c4b2edd8919ad8c SHA512 0bebdc89644af49232ad9a0b753dee501f3e99d6615ce926c71790932d228e3c6676ca4835aeaf6badf5455102278261e48bed0d3004fe9209aca68d620cae02
diff --git a/x11-wm/lumina/files/1.2.0-desktop-files.patch b/x11-wm/lumina/files/1.2.0-desktop-files.patch
deleted file mode 100644
index f86c1c49c38f..000000000000
--- a/x11-wm/lumina/files/1.2.0-desktop-files.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- ./src-qt5/core/lumina-info/lumina-support.desktop
-+++ ./src-qt5/core/lumina-info/lumina-support.desktop
-@@ -2,8 +2,7 @@
- Type=Link
- URL=https://webchat.freenode.net/?channels=%23lumina-desktop
- Icon=Lumina-DE
--Categories=System;
--OnlyShowIn=Lumina;
-+OnlyShowIn=X-Lumina;
- Name=Community Support
- GenericName=Get Desktop Help
- Comment=Ask for desktop support on the community IRC channel
-
---- ./src-qt5/core-utils/lumina-config/lumina-config.desktop
-+++ ./src-qt5/core-utils/lumina-config/lumina-config.desktop
-@@ -7,4 +7,4 @@
- Categories=Settings;
- Name=Desktop Configuration
- Comment=Modify the desktop
--OnlyShowIn=Lumina;
-+OnlyShowIn=X-Lumina;
-
---- ./src-qt5/core/lumina-info/lumina-info.desktop
-+++ ./src-qt5/core/lumina-info/lumina-info.desktop
-@@ -5,7 +5,7 @@
- Type=Application
- StartupNotify=true
- Categories=System;
--OnlyShowIn=Lumina;
-+OnlyShowIn=X-Lumina;
- Name=Desktop Information
- GenericName=Version and Legal Information
- Comment=View information about the Lumina Desktop Environment
diff --git a/x11-wm/lumina/files/1.6.1-desktop-files.patch b/x11-wm/lumina/files/1.6.1-desktop-files.patch
new file mode 100644
index 000000000000..33a7165b5901
--- /dev/null
+++ b/x11-wm/lumina/files/1.6.1-desktop-files.patch
@@ -0,0 +1,33 @@
+diff -r -U3 lumina-1.6.1.orig/src-qt5/core/lumina-info/lumina-info.desktop lumina-1.6.1/src-qt5/core/lumina-info/lumina-info.desktop
+--- lumina-1.6.1.orig/src-qt5/core/lumina-info/lumina-info.desktop 2021-10-03 02:05:49.000000000 +0700
++++ lumina-1.6.1/src-qt5/core/lumina-info/lumina-info.desktop 2021-12-05 11:42:18.142573885 +0700
+@@ -5,7 +5,7 @@
+ Type=Application
+ StartupNotify=true
+ Categories=System;
+-OnlyShowIn=Lumina;
++OnlyShowIn=X-Lumina;
+ Name=Desktop Information
+ Name[pt]=Informações do ambiente de trabalho
+ GenericName=Version and Legal Information
+diff -r -U3 lumina-1.6.1.orig/src-qt5/core/lumina-info/lumina-support.desktop lumina-1.6.1/src-qt5/core/lumina-info/lumina-support.desktop
+--- lumina-1.6.1.orig/src-qt5/core/lumina-info/lumina-support.desktop 2021-10-03 02:05:49.000000000 +0700
++++ lumina-1.6.1/src-qt5/core/lumina-info/lumina-support.desktop 2021-12-05 11:41:50.668573204 +0700
+@@ -3,7 +3,7 @@
+ URL=https://t.me/luminadesktop
+ Icon=Lumina-DE
+ Categories=System;
+-OnlyShowIn=Lumina;
++OnlyShowIn=X-Lumina;
+ Name=Community Support
+ Name[pt]=Suporte da comunidade
+ GenericName=Get Desktop Help
+diff -r -U3 lumina-1.6.1.orig/src-qt5/core-utils/lumina-config/lumina-config.desktop lumina-1.6.1/src-qt5/core-utils/lumina-config/lumina-config.desktop
+--- lumina-1.6.1.orig/src-qt5/core-utils/lumina-config/lumina-config.desktop 2021-10-03 02:05:49.000000000 +0700
++++ lumina-1.6.1/src-qt5/core-utils/lumina-config/lumina-config.desktop 2021-12-05 11:42:58.002574873 +0700
+@@ -9,4 +9,4 @@
+ Name[pt]=Configurar ambiente de trabalho
+ Comment=Modify the desktop
+ Comment[pt]=Modificar ambiente de trabalho
+-OnlyShowIn=Lumina;
++OnlyShowIn=X-Lumina;
diff --git a/x11-wm/lumina/lumina-1.6.2-r1.ebuild b/x11-wm/lumina/lumina-1.6.2-r1.ebuild
new file mode 100644
index 000000000000..872926704b7a
--- /dev/null
+++ b/x11-wm/lumina/lumina-1.6.2-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 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
+ x11-libs/libXdamage
+ 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"
+)
+
+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
+ 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.0.ebuild b/x11-wm/lumina/lumina-1.6.2.ebuild
index 1c86507bdd95..59b5abb352d1 100644
--- a/x11-wm/lumina/lumina-1.6.0.ebuild
+++ b/x11-wm/lumina/lumina-1.6.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+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 qmake-utils l10n xdg-utils
+inherit plocale qmake-utils xdg
DESCRIPTION="Lumina desktop environment"
HOMEPAGE="https://lumina-desktop.org/"
@@ -51,7 +51,7 @@ BDEPEND="
S="${WORKDIR}/${P/_/-}"
PATCHES=(
- "${FILESDIR}/1.2.0-desktop-files.patch"
+ "${FILESDIR}/1.6.1-desktop-files.patch"
)
DOCS=( README.md )
@@ -64,7 +64,7 @@ src_prepare() {
sed -e "/desktop-utils/d" -i src-qt5/src-qt5.pro || die
fi
- l10n_find_plocales_changes "${S}/src-qt5/core/${PN}-desktop/i18n" "${PN}-desktop_" '.ts'
+ plocale_find_changes "${S}/src-qt5/core/${PN}-desktop/i18n" "${PN}-desktop_" '.ts'
}
src_configure() {
@@ -75,8 +75,6 @@ src_configure() {
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
@@ -84,17 +82,5 @@ src_install() {
rm -f "${ED}"/usr/share/${PN}-desktop/i18n/l*_${1}.qm
}
- l10n_for_each_disabled_locale_do 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
+ plocale_for_each_disabled_locale remove_locale
}
diff --git a/x11-wm/lumina/lumina-9999.ebuild b/x11-wm/lumina/lumina-9999.ebuild
deleted file mode 100644
index 8e1fb965a9a2..000000000000
--- a/x11-wm/lumina/lumina-9999.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit git-r3 qmake-utils
-
-DESCRIPTION="Lumina desktop environment"
-HOMEPAGE="https://lumina-desktop.org/"
-EGIT_REPO_URI="https://github.com/trueos/lumina"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS=""
-IUSE="desktop-utils"
-
-DEPEND="
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtdeclarative:5
- dev-qt/qtgui:5
- dev-qt/qtmultimedia:5[widgets]
- dev-qt/qtnetwork: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"
-
-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"
-)
-
-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
-}
-
-src_configure() {
- eqmake5 PREFIX="${EPREFIX}/usr" LIBPREFIX="${EPREFIX}/usr/$(get_libdir)" \
- DESTDIR="${D}" CONFIG+=WITH_I18N QMAKE_CFLAGS_ISYSTEM=
-}
-
-src_install() {
- default
- mv "${ED}"/etc/luminaDesktop.conf{.dist,} || die
- rm "${ED}"/${PN}-* "${ED}"/start-${PN}-desktop || die
-}
diff --git a/x11-wm/lumina/metadata.xml b/x11-wm/lumina/metadata.xml
index 7e9a1bcd0d55..1242024669f2 100644
--- a/x11-wm/lumina/metadata.xml
+++ b/x11-wm/lumina/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>grozin@gentoo.org</email>
@@ -16,10 +16,11 @@
<bugs-to>https://github.com/pcbsd/lumina/issues</bugs-to>
<doc lang="en">http://lumina-desktop.org/handbook/</doc>
</upstream>
-<longdescription lang="en">The Lumina Desktop Environment is a lightweight system interface that is designed for use on any Unix-like operating system. It takes a plugin-based approach, allowing the entire interface to be assembled/arranged by each individual user as desired, with a system-wide default layout which was setup by the system administrator. This allows every system (or user session) to be designed to maximize the individual user's productivity.
+ <longdescription lang="en">
+ The Lumina Desktop Environment is a lightweight system interface that is designed for use on any Unix-like operating system. It takes a plugin-based approach, allowing the entire interface to be assembled/arranged by each individual user as desired, with a system-wide default layout which was setup by the system administrator. This allows every system (or user session) to be designed to maximize the individual user's productivity.
-The Lumina desktop developers understand that the point of a computer system is to run applications, so Lumina was designed to require as few system dependencies/requirements as possible. This allows it to be used to revitalize older systems or to allow the user to run applications that may need a higher percentage of the system resources than were previously available with other desktop environments.
+ The Lumina desktop developers understand that the point of a computer system is to run applications, so Lumina was designed to require as few system dependencies/requirements as possible. This allows it to be used to revitalize older systems or to allow the user to run applications that may need a higher percentage of the system resources than were previously available with other desktop environments.
-Lumina is created/distributed under the 3-clause BSD license, allowing it to be used by anyone, anywhere (including in proprietary distributions). It has been written from scratch in C++/Qt5 and is not based on any existing desktop's code-base. It also does not use any of the Linux-based desktop frameworks (ConsoleKit, PolicyKit, D-Bus, systemd, etc), instead using a simple built-in interface layer for communicating directly with the operating system.
-</longdescription>
+ Lumina is created/distributed under the 3-clause BSD license, allowing it to be used by anyone, anywhere (including in proprietary distributions). It has been written from scratch in C++/Qt5 and is not based on any existing desktop's code-base. It also does not use any of the Linux-based desktop frameworks (ConsoleKit, PolicyKit, D-Bus, systemd, etc), instead using a simple built-in interface layer for communicating directly with the operating system.
+ </longdescription>
</pkgmetadata>
diff --git a/x11-wm/lwm/lwm-1.2.4.ebuild b/x11-wm/lwm/lwm-1.2.4.ebuild
index c42e35e0988d..e1d55b18003d 100644
--- a/x11-wm/lwm/lwm-1.2.4.ebuild
+++ b/x11-wm/lwm/lwm-1.2.4.ebuild
@@ -1,41 +1,39 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit toolchain-funcs
DESCRIPTION="The ultimate lightweight window manager"
-SRC_URI="http://www.jfc.org.uk/files/lwm/${P}.tar.gz"
-HOMEPAGE="http://www.jfc.org.uk/software/lwm.html"
+HOMEPAGE="https://www.jfc.org.uk/software/lwm.html"
+SRC_URI="https://www.jfc.org.uk/files/lwm/${P}.tar.gz"
-KEYWORDS="amd64 ppc ~sparc x86"
-LICENSE="GPL-2"
+LICENSE="GPL-2+"
SLOT="0"
+KEYWORDS="amd64 ppc ~sparc x86"
RDEPEND="
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
- x11-libs/libXext
-"
-
+ x11-libs/libXext"
DEPEND="
${RDEPEND}
- x11-base/xorg-proto
- >=x11-misc/imake-1.0.8-r1
-"
-
-DOCS=( AUTHORS BUGS ChangeLog )
+ x11-base/xorg-proto"
+BDEPEND="
+ sys-devel/gcc
+ >=x11-misc/imake-1.0.8-r1"
src_prepare() {
default
+
sed -i -e "s#(SMLIB)#& -lICE#g" Imakefile || die #370127
}
src_configure() {
CC="$(tc-getBUILD_CC)" LD="$(tc-getLD)" \
- IMAKECPP="${IMAKECPP:-$(tc-getCPP)}" xmkmf || die
+ IMAKECPP="${IMAKECPP:-${CHOST}-gcc -E}" xmkmf || die
}
src_compile() {
diff --git a/x11-wm/lwm/metadata.xml b/x11-wm/lwm/metadata.xml
index 931ff07adf2d..4e86f8bec2a4 100644
--- a/x11-wm/lwm/metadata.xml
+++ b/x11-wm/lwm/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription>
+ <!-- maintainer-needed -->
+ <longdescription>
lwm is a window manager for X that tries to keep out of your face.
There are no icons, no button bars, no icon docks, no root menus,
no nothing.
diff --git a/x11-wm/marco/Manifest b/x11-wm/marco/Manifest
index b29156b51785..a2c7868d676d 100644
--- a/x11-wm/marco/Manifest
+++ b/x11-wm/marco/Manifest
@@ -1,2 +1,2 @@
-DIST marco-1.24.0.tar.xz 1827076 BLAKE2B e4bcf8584199cbe4f9f813c7512176dd9b84a39ed162cd051f1f174c428828d1d73d6ab64c19ca681f0aea966742e0474256935f2a7c0c490b77dda91147162c SHA512 b257994c097f174fe83f3f0f4d6b6991e8c0f402daffd99f8a9521d588b609c56953e73dd4d143be64f5c9a4caa8d890ff30a120e18a9d5b36c6f856a7190428
-DIST marco-1.24.1.tar.xz 1860008 BLAKE2B b147e6ce8aad9382b2e8d96eec2da0356cce91977f4387776359ffb1f26903d7f0b9d9a1d43a436d1a64033f545600e7f810a29e3ae6ecdfb0d73ef8073b782c SHA512 55607898b64f0da3a85dd8d7fd092d847c8f67cefa096a63dbe074c197157a3d661fcb3f2a495b4425340b583b600cda3d1c92ac08b7327904dbd4aab8e92c85
+DIST marco-1.26.2.tar.xz 1865248 BLAKE2B 86933230f11a9342009d79bd836ab09272a335cc7e0e8c84c4ac1c300fd4b604a97424c76d371450a46be0c2a588902c17791fe1ee752e06207046bbddc055a4 SHA512 326ed378be891806a9750021626863e00d80f29af8fe920eeb0910d9eb2ece534babf012e1aced6b071b6c0fdd8a77ea8c948d68a70f9280822b30231aa934b9
+DIST marco-1.28.1.tar.xz 1800320 BLAKE2B 6594095cb7b038c3107513229f81cfb8e71f437b1f716a108169ddb8c792c4ab06979f57cd2c3a11c3de65e07550f8fcd246911a7ccff2f1e89fe20de3836b59 SHA512 3642e3fab967baef35b0e02d3e4b63e3ef97e5e44d01dbde2a7557a5ced41e73f7f8a1e63860aa9bcebe1ea1c8e1f6fd8740d853bf3996c32977b65091364ac3
diff --git a/x11-wm/marco/marco-1.24.1.ebuild b/x11-wm/marco/marco-1.24.1.ebuild
deleted file mode 100644
index 02b3042b4bbc..000000000000
--- a/x11-wm/marco/marco-1.24.1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MATE2_LA_PUNT="yes"
-
-inherit mate
-
-if [[ ${PV} != 9999 ]]; then
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-fi
-
-DESCRIPTION="MATE default window manager"
-LICENSE="FDL-1.2+ GPL-2+ LGPL-2+ MIT"
-SLOT="0/2"
-
-IUSE="startup-notification test xinerama"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- dev-libs/atk
- >=dev-libs/glib-2.58:2
- >=gnome-base/libgtop-2:2=
- media-libs/libcanberra[gtk3]
- x11-libs/cairo
- >=x11-libs/pango-1.2[X]
- x11-libs/gdk-pixbuf:2
- >=x11-libs/gtk+-3.22:3
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libX11
- >=x11-libs/libXcomposite-0.3
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXpresent
- x11-libs/libXrandr
- x11-libs/libXrender
- >=x11-libs/startup-notification-0.7
- xinerama? ( x11-libs/libXinerama )
- !!x11-wm/mate-window-manager"
-
-RDEPEND="${COMMON_DEPEND}
- gnome-extra/zenity
- >=mate-base/mate-desktop-1.20.0
- virtual/libintl
-"
-
-DEPEND="${COMMON_DEPEND}
- app-text/yelp-tools
- >=sys-devel/gettext-0.19.8:*
- >=sys-devel/libtool-2.0.0
- virtual/pkgconfig:*
- x11-base/xorg-proto
- test? ( app-text/docbook-xml-dtd:4.5 )
- xinerama? ( x11-base/xorg-proto )"
-
-src_configure() {
- mate_src_configure \
- --disable-static \
- --enable-compositor \
- --enable-render \
- --enable-shape \
- --enable-sm \
- --enable-xsync \
- $(use_enable startup-notification) \
- $(use_enable xinerama)
-}
-
-src_install() {
- mate_src_install
- dodoc doc/*.txt
-}
diff --git a/x11-wm/marco/marco-1.24.1-r1.ebuild b/x11-wm/marco/marco-1.26.2-r1.ebuild
index cd92c1853eea..d0d40b051f8e 100644
--- a/x11-wm/marco/marco-1.24.1-r1.ebuild
+++ b/x11-wm/marco/marco-1.26.2-r1.ebuild
@@ -1,15 +1,13 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
MATE2_LA_PUNT="yes"
-inherit mate
+inherit mate meson
-if [[ ${PV} != 9999 ]]; then
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-fi
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
DESCRIPTION="MATE default window manager"
LICENSE="FDL-1.2+ GPL-2+ LGPL-2+ MIT"
@@ -19,7 +17,7 @@ IUSE="startup-notification test xinerama"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
- dev-libs/atk
+ >=app-accessibility/at-spi2-core-2.46.0:2
>=dev-libs/glib-2.58:2
>=gnome-base/libgtop-2:2=
media-libs/libcanberra[gtk3]
@@ -35,12 +33,13 @@ COMMON_DEPEND="
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
+ x11-libs/libXi
x11-libs/libXpresent
x11-libs/libXrandr
x11-libs/libXrender
+ x11-libs/libXres
>=x11-libs/startup-notification-0.7
xinerama? ( x11-libs/libXinerama )
- !!x11-wm/mate-window-manager
"
RDEPEND="${COMMON_DEPEND}
@@ -49,10 +48,9 @@ RDEPEND="${COMMON_DEPEND}
virtual/libintl
"
-DEPEND="${COMMON_DEPEND}
+BDEPEND="${COMMON_DEPEND}
app-text/yelp-tools
>=sys-devel/gettext-0.19.8
- >=sys-devel/libtool-2.0.0
virtual/pkgconfig
x11-base/xorg-proto
test? ( app-text/docbook-xml-dtd:4.5 )
@@ -60,17 +58,19 @@ DEPEND="${COMMON_DEPEND}
"
src_configure() {
- mate_src_configure \
- --enable-compositor \
- --enable-render \
- --enable-shape \
- --enable-sm \
- --enable-xsync \
- $(use_enable startup-notification) \
- $(use_enable xinerama)
+ local emesonargs=(
+ -Dcompositor=true
+ -Drender=true
+ -Dshape=true
+ -Dsm=true
+ -Dxsync=true
+ $(meson_use startup-notification)
+ $(meson_use xinerama)
+ )
+ meson_src_configure
}
src_install() {
- mate_src_install
+ meson_src_install
dodoc doc/*.txt
}
diff --git a/x11-wm/marco/marco-1.24.0-r2.ebuild b/x11-wm/marco/marco-1.28.1.ebuild
index 3a7cf634c890..b01a21857287 100644
--- a/x11-wm/marco/marco-1.24.0-r2.ebuild
+++ b/x11-wm/marco/marco-1.28.1.ebuild
@@ -1,14 +1,15 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
MATE2_LA_PUNT="yes"
-inherit mate
+inherit mate meson
-if [[ ${PV} != 9999 ]]; then
- KEYWORDS="amd64 ~arm ~arm64 x86"
+MINOR=$(($(ver_cut 2) % 2))
+if [[ ${MINOR} -eq 0 ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
fi
DESCRIPTION="MATE default window manager"
@@ -19,7 +20,7 @@ IUSE="startup-notification test xinerama"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
- dev-libs/atk
+ >=app-accessibility/at-spi2-core-2.46.0:2
>=dev-libs/glib-2.58:2
>=gnome-base/libgtop-2:2=
media-libs/libcanberra[gtk3]
@@ -35,12 +36,14 @@ COMMON_DEPEND="
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
+ x11-libs/libXi
x11-libs/libXpresent
x11-libs/libXrandr
x11-libs/libXrender
+ x11-libs/libXres
>=x11-libs/startup-notification-0.7
xinerama? ( x11-libs/libXinerama )
- !!x11-wm/mate-window-manager"
+"
RDEPEND="${COMMON_DEPEND}
gnome-extra/zenity
@@ -48,28 +51,29 @@ RDEPEND="${COMMON_DEPEND}
virtual/libintl
"
-DEPEND="${COMMON_DEPEND}
+BDEPEND="${COMMON_DEPEND}
app-text/yelp-tools
- >=sys-devel/gettext-0.19.8:*
- >=sys-devel/libtool-2.0.0
- virtual/pkgconfig:*
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
x11-base/xorg-proto
test? ( app-text/docbook-xml-dtd:4.5 )
- xinerama? ( x11-base/xorg-proto )"
+ xinerama? ( x11-base/xorg-proto )
+"
src_configure() {
- mate_src_configure \
- --disable-static \
- --enable-compositor \
- --enable-render \
- --enable-shape \
- --enable-sm \
- --enable-xsync \
- $(use_enable startup-notification) \
- $(use_enable xinerama)
+ local emesonargs=(
+ -Dcompositor=true
+ -Drender=true
+ -Dshape=true
+ -Dsm=true
+ -Dxsync=true
+ $(meson_use startup-notification)
+ $(meson_use xinerama)
+ )
+ meson_src_configure
}
src_install() {
- mate_src_install
+ meson_src_install
dodoc doc/*.txt
}
diff --git a/x11-wm/marco/metadata.xml b/x11-wm/marco/metadata.xml
index cfe84acaa324..419246a8f7d7 100644
--- a/x11-wm/marco/metadata.xml
+++ b/x11-wm/marco/metadata.xml
@@ -1,10 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 type="person" proxied="yes">
+ <email>immoloism@gmail.com</email>
+ <name>Ian Jordan</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<upstream>
<remote-id type="github">mate-desktop/marco</remote-id>
</upstream>
diff --git a/x11-wm/matwm2/matwm2-0.1.2_pre3-r1.ebuild b/x11-wm/matwm2/matwm2-0.1.2_pre3-r2.ebuild
index c6e017074c9d..468d8e602220 100644
--- a/x11-wm/matwm2/matwm2-0.1.2_pre3-r1.ebuild
+++ b/x11-wm/matwm2/matwm2-0.1.2_pre3-r2.ebuild
@@ -1,33 +1,31 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit toolchain-funcs
+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"
-S="${WORKDIR}/${PN}-${MY_PV}/${PN}"
RDEPEND="
x11-libs/libXext
x11-libs/libX11
xft? ( x11-libs/libXft )
- xinerama? ( x11-libs/libXinerama )
-"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
+ xinerama? ( x11-libs/libXinerama )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
-PATCHES=( "${FILESDIR}/${P}-destdir-fix.patch" )
+PATCHES=( "${FILESDIR}"/${P}-destdir-fix.patch )
src_prepare() {
default
@@ -42,24 +40,25 @@ src_configure() {
--prefix="${EPREFIX}/usr"
--mandir="${EPREFIX}/usr/share/man"
--cc="$(tc-getCC)"
- $(usex debug "--enable-debug" "")
- $(usex xft "" "--disable-xft")
- $(usex xinerama "" "--disable-xinerama")
+ $(usev debug --enable-debug)
+ $(usev !xft --disable-xft)
+ $(usev !xinerama --disable-xinerama)
)
- ./configure "${myconfigureargs[@]}" || die
+ edo ./configure "${myconfigureargs[@]}"
}
src_install() {
default
- docompress -x "${EPREFIX}/usr/share/doc/${PF}"/default_matwmrc
+ docompress -x /usr/share/doc/${PF}/default_matwmrc
dodoc default_matwmrc
insinto /usr/share/xsessions
doins "${FILESDIR}"/${PN}.desktop
- echo ${PN} > "${T}"/${PN} || die
exeinto /etc/X11/Sessions
- doexe "${T}"/${PN}
+ newexe - matwm2 <<- _EOF_
+ matwm2
+ _EOF_
}
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/matwm2/metadata.xml b/x11-wm/matwm2/metadata.xml
index 3971befff8e0..4fc56019ac2f 100644
--- a/x11-wm/matwm2/metadata.xml
+++ b/x11-wm/matwm2/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/x11-wm/metacity/Manifest b/x11-wm/metacity/Manifest
index 104d7a4c8d57..29e6cccb32ad 100644
--- a/x11-wm/metacity/Manifest
+++ b/x11-wm/metacity/Manifest
@@ -1 +1,2 @@
-DIST metacity-3.36.1.tar.xz 2063452 BLAKE2B 2dd7b1c63e0b5f87ce4518d7d42d472223717012a46dd826dfda3c88f7e647809e6bf2449a28bd38573342fd5fec94e2233db958658ea4320b22c5451390e451 SHA512 98e73036cca238b713a112194b2cd7a866bcf7d08ef29fb590054b69a1bd807699317a51f9b851f9c474ae2557e27dc9fc4a52d7c436d93ad4a02babef68feeb
+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.36.1.ebuild b/x11-wm/metacity/metacity-3.46.1.ebuild
index bc33e8f6558b..4c6c94dbe9e4 100644
--- a/x11-wm/metacity/metacity-3.36.1.ebuild
+++ b/x11-wm/metacity/metacity-3.46.1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit gnome2
DESCRIPTION="GNOME Flashback window manager"
@@ -10,18 +10,20 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/metacity/"
LICENSE="GPL-2+"
SLOT="0"
IUSE="+libcanberra vulkan xinerama"
-KEYWORDS="~amd64"
+KEYWORDS="amd64 ~riscv"
# TODO: libgtop could be optional, but no knob
RDEPEND="
- >=dev-libs/glib-2.44.0:2
- >=x11-libs/gtk+-3.22.0:3[X]
+ >=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
@@ -36,10 +38,12 @@ RDEPEND="
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.4
- x11-base/xorg-proto
+ >=sys-devel/gettext-0.19.6
virtual/pkgconfig
" # autoconf-archive for eautoreconf
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..60f7ad76a4f2
--- /dev/null
+++ b/x11-wm/metacity/metacity-3.50.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 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 0777242d8432..fd3e818e1e88 100644
--- a/x11-wm/metacity/metadata.xml
+++ b/x11-wm/metacity/metadata.xml
@@ -1,12 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</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>
-</use>
+ <maintainer type="project">
+ <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>
+ </use>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/metacity</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/x11-wm/metadata.xml b/x11-wm/metadata.xml
index 49957f81d826..59415d55ee19 100644
--- a/x11-wm/metadata.xml
+++ b/x11-wm/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<catmetadata>
<longdescription lang="en">
The x11-wm category contains X11 window managers.
diff --git a/x11-wm/muffin/Manifest b/x11-wm/muffin/Manifest
index 659b8441a10a..9936c2bd0dd7 100644
--- a/x11-wm/muffin/Manifest
+++ b/x11-wm/muffin/Manifest
@@ -1,2 +1,2 @@
-DIST muffin-4.6.3.tar.gz 5196072 BLAKE2B 1b8c0eeab13c35fc0b66898328f378331cb2bfc78b27a48a8f9e22c842df1a223613f27f5b29fe28c1edaaeb59972262024ed656dfabafa6c9454c4c4c0a74b9 SHA512 c07d83656d3a9164ad488b500f98acb88e0c8e2374af858776ff27dbe90880db4310405505d79539222ba3b4ddedb22934ef3e0f1f6198dc7b36986b784b48f5
-DIST muffin-4.8.1.tar.gz 5195618 BLAKE2B 33dbbf7231b8f8d5c7df23d6cf8ddb29a86caca7b8c3b4af1231c98e114ee797d1c6bc866574348fcabaa65a93ff95c80366329bd5a41a46a74ba53ba81ce545 SHA512 61b621c7a4e25fc8ac69f2f5182e2caf52dfcfd456154f3b91ebb8b126319e704acd927ab5abe9e19ff057f38002a3b7e322e8d411db21e0fee7ec19d7928d31
+DIST muffin-5.8.1.tar.gz 4519174 BLAKE2B 29269c641e28117f9dd0900dc129aca21c8834058e6b3168b2d44e0ecafba0b177ba214c82337f3120512f4433d6117781685f422a57a244edbfa8748a5ae661 SHA512 bf8e5cdc789ac8a2d1f616a751bf321209b13e3936b483d46370017c58a4b9ebd10b42a71e8691a42f013a0c44250e4a84549d9c5cf120d3382f61aa6040710b
+DIST muffin-6.0.1.tar.gz 4521556 BLAKE2B e3f28dea9f66b30805f9b98bc79f2e4a08e9e5eb6501f455f0e3c42c5d9ed14c48be75b07a97da7b671156d14ed61f3b882d8ede4f9b83dac5496fac5a0f0348 SHA512 94aa767db3677116094cb0d9a63d1a446b6ec426b4b38576fcdb17259ef92d81f1a14c0e93dadd2bc4dfaca522531ed177bb0af895b3df7abf20d0e9a77d71af
diff --git a/x11-wm/muffin/files/muffin-4.8.1-slibtool.patch b/x11-wm/muffin/files/muffin-4.8.1-slibtool.patch
deleted file mode 100644
index 4d0d5827a62a..000000000000
--- a/x11-wm/muffin/files/muffin-4.8.1-slibtool.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-https://github.com/linuxmint/muffin/pull/577
-https://bugs.gentoo.org/767139
-
-From c10ab2d741cf4bbeff8f40f6859c9381606dbf26 Mon Sep 17 00:00:00 2001
-From: orbea <orbea@riseup.net>
-Date: Mon, 25 Jan 2021 22:30:35 -0800
-Subject: [PATCH 1/2] build: Add missing libtool dependencies.
-
-This fixes the build with slibtool.
----
- clutter/clutter/Makefile.am | 18 +++++++++++++++---
- src/Makefile.am | 9 +++++++--
- 2 files changed, 22 insertions(+), 5 deletions(-)
-
-diff --git a/clutter/clutter/Makefile.am b/clutter/clutter/Makefile.am
-index a6366f4f2..ecfa568b7 100644
---- a/clutter/clutter/Makefile.am
-+++ b/clutter/clutter/Makefile.am
-@@ -666,7 +666,11 @@ Clutter-@MUFFIN_PLUGIN_API_VERSION@.gir: libmuffin-clutter-@MUFFIN_PLUGIN_API_VE
-
- Clutter_@MUFFIN_PLUGIN_API_VERSION@_gir_NAMESPACE = Clutter
- Clutter_@MUFFIN_PLUGIN_API_VERSION@_gir_VERSION = @MUFFIN_PLUGIN_API_VERSION@
--Clutter_@MUFFIN_PLUGIN_API_VERSION@_gir_LIBS = libmuffin-clutter-@MUFFIN_PLUGIN_API_VERSION@.la
-+Clutter_@MUFFIN_PLUGIN_API_VERSION@_gir_LIBS = \
-+ libmuffin-clutter-@MUFFIN_PLUGIN_API_VERSION@.la \
-+ $(top_builddir)/../cogl/cogl/libmuffin-cogl-@MUFFIN_PLUGIN_API_VERSION@.la \
-+ $(top_builddir)/../cogl/cogl-pango/libmuffin-cogl-pango-@MUFFIN_PLUGIN_API_VERSION@.la \
-+ $(top_builddir)/../cogl/cogl-path/libmuffin-cogl-path-@MUFFIN_PLUGIN_API_VERSION@.la
- Clutter_@MUFFIN_PLUGIN_API_VERSION@_gir_FILES = \
- $(clutter_include_HEADERS) \
- $(clutter_deprecated_HEADERS) \
-@@ -687,7 +691,11 @@ Cally-@MUFFIN_PLUGIN_API_VERSION@.gir: Makefile Clutter-@MUFFIN_PLUGIN_API_VERSI
-
- Cally_@MUFFIN_PLUGIN_API_VERSION@_gir_NAMESPACE = Cally
- Cally_@MUFFIN_PLUGIN_API_VERSION@_gir_VERSION = @MUFFIN_PLUGIN_API_VERSION@
--Cally_@MUFFIN_PLUGIN_API_VERSION@_gir_LIBS = libmuffin-clutter-@MUFFIN_PLUGIN_API_VERSION@.la
-+Cally_@MUFFIN_PLUGIN_API_VERSION@_gir_LIBS = \
-+ libmuffin-clutter-@MUFFIN_PLUGIN_API_VERSION@.la \
-+ $(top_builddir)/../cogl/cogl/libmuffin-cogl-@MUFFIN_PLUGIN_API_VERSION@.la \
-+ $(top_builddir)/../cogl/cogl-pango/libmuffin-cogl-pango-@MUFFIN_PLUGIN_API_VERSION@.la \
-+ $(top_builddir)/../cogl/cogl-path/libmuffin-cogl-path-@MUFFIN_PLUGIN_API_VERSION@.la
- Cally_@MUFFIN_PLUGIN_API_VERSION@_gir_FILES = $(cally_sources_h) $(cally_sources_c)
- Cally_@MUFFIN_PLUGIN_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) $(CLUTTER_CFLAGS)
- Cally_@MUFFIN_PLUGIN_API_VERSION@_gir_SCANNERFLAGS = \
-@@ -702,7 +710,11 @@ ClutterX11-@MUFFIN_PLUGIN_API_VERSION@.gir: Makefile Clutter-@MUFFIN_PLUGIN_API_
-
- ClutterX11_@MUFFIN_PLUGIN_API_VERSION@_gir_NAMESPACE = ClutterX11
- ClutterX11_@MUFFIN_PLUGIN_API_VERSION@_gir_INCLUDES = xlib-2.0
--ClutterX11_@MUFFIN_PLUGIN_API_VERSION@_gir_LIBS = libmuffin-clutter-@MUFFIN_PLUGIN_API_VERSION@.la
-+ClutterX11_@MUFFIN_PLUGIN_API_VERSION@_gir_LIBS = \
-+ libmuffin-clutter-@MUFFIN_PLUGIN_API_VERSION@.la \
-+ $(top_builddir)/../cogl/cogl/libmuffin-cogl-@MUFFIN_PLUGIN_API_VERSION@.la \
-+ $(top_builddir)/../cogl/cogl-pango/libmuffin-cogl-pango-@MUFFIN_PLUGIN_API_VERSION@.la \
-+ $(top_builddir)/../cogl/cogl-path/libmuffin-cogl-path-@MUFFIN_PLUGIN_API_VERSION@.la
- ClutterX11_@MUFFIN_PLUGIN_API_VERSION@_gir_FILES = $(x11_introspection)
- ClutterX11_@MUFFIN_PLUGIN_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) $(CLUTTER_CFLAGS)
- ClutterX11_@MUFFIN_PLUGIN_API_VERSION@_gir_SCANNERFLAGS = \
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 9cb3af14e..37274a4bd 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -277,7 +277,12 @@ Meta-$(api_version).gir: libmuffin.la
- @META_GIR@_INCLUDES = GObject-2.0 CDesktopEnums-3.0 Gdk-3.0 Gtk-3.0 Cogl-$(MUFFIN_PLUGIN_API_VERSION) Clutter-$(MUFFIN_PLUGIN_API_VERSION) xlib-2.0 xfixes-4.0
- @META_GIR@_PACKAGES = gtk+-3.0
- @META_GIR@_CFLAGS = $(AM_CPPFLAGS)
--@META_GIR@_LIBS = libmuffin.la
-+@META_GIR@_LIBS = \
-+ libmuffin.la \
-+ $(top_builddir)/clutter/clutter/libmuffin-clutter-@MUFFIN_PLUGIN_API_VERSION@.la \
-+ $(top_builddir)/cogl/cogl/libmuffin-cogl-@MUFFIN_PLUGIN_API_VERSION@.la \
-+ $(top_builddir)/cogl/cogl-pango/libmuffin-cogl-pango-@MUFFIN_PLUGIN_API_VERSION@.la \
-+ $(top_builddir)/cogl/cogl-path/libmuffin-cogl-path-@MUFFIN_PLUGIN_API_VERSION@.la
- @META_GIR@_FILES = \
- muffin-enum-types.h \
- $(libmuffininclude_base_headers) \
-@@ -383,4 +388,4 @@ install-exec-local:
- { rm -f libmuffin-$$lib-0.so && ln -s muffin/libmuffin-$$lib-0.so libmuffin-$$lib-0.so; }; \
- } \
- ) ; \
-- done
-\ No newline at end of file
-+ done
-
-From 0762515b658b6331c076603340ce572c002f9458 Mon Sep 17 00:00:00 2001
-From: orbea <orbea@riseup.net>
-Date: Mon, 25 Jan 2021 22:30:44 -0800
-Subject: [PATCH 2/2] build: Fix undefined references with slibtool.
-
----
- Makefile.am | 2 +-
- src/Makefile.am | 2 +-
- src/compositor/plugins/Makefile.am | 9 ++++++---
- 3 files changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index cf8382b67..c5d589ff7 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,5 +1,5 @@
-
--SUBDIRS=cogl clutter src po doc data
-+SUBDIRS=cogl clutter src src/compositor/plugins po doc data
-
- EXTRA_DIST = HACKING MAINTAINERS rationales.txt
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 37274a4bd..b75b1879f 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -3,7 +3,7 @@
-
- lib_LTLIBRARIES = libmuffin.la
-
--SUBDIRS=wm-tester tools compositor/plugins
-+SUBDIRS=wm-tester tools
-
- NULL =
-
-diff --git a/src/compositor/plugins/Makefile.am b/src/compositor/plugins/Makefile.am
-index 09ab325a5..241b514c3 100644
---- a/src/compositor/plugins/Makefile.am
-+++ b/src/compositor/plugins/Makefile.am
-@@ -2,9 +2,9 @@
- pkglibdir=@MUFFIN_PLUGIN_DIR@
-
- AM_CPPFLAGS= \
-- $(WARN_CFLAGS) \
-+ $(WARN_CFLAGS) \
- $(MUFFIN_CFLAGS) \
-- -I$(top_builddir)/src \
-+ -I$(top_builddir)/src \
- -I$(top_srcdir)/src \
- -I$(top_srcdir)/cogl \
- -I$(top_builddir)/cogl \
-@@ -27,7 +27,10 @@ AM_CPPFLAGS= \
- default_la_CFLAGS = $(WARN_CFLAGS) -fPIC
- default_la_SOURCES = default.c
- default_la_LDFLAGS = $(WARN_LDFLAGS) -module -avoid-version -no-undefined
--default_la_LIBADD = $(CLUTTER_LIBS)
-+default_la_LIBADD = \
-+ $(CLUTTER_LIBS) \
-+ $(top_builddir)/src/libmuffin.la \
-+ $(top_builddir)/clutter/clutter/libmuffin-clutter-@MUFFIN_PLUGIN_API_VERSION@.la
-
- pkglib_LTLIBRARIES = default.la
-
diff --git a/x11-wm/muffin/metadata.xml b/x11-wm/muffin/metadata.xml
index 8c9ad1344809..1d464bc6bfa2 100644
--- a/x11-wm/muffin/metadata.xml
+++ b/x11-wm/muffin/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>sparky@bluefang-logic.com</email>
@@ -12,4 +12,7 @@
<upstream>
<remote-id type="github">linuxmint/muffin</remote-id>
</upstream>
+ <use>
+ <flag name="sysprof">Enable profiling data capture support using <pkg>dev-util/sysprof-capture</pkg></flag>
+ </use>
</pkgmetadata>
diff --git a/x11-wm/muffin/muffin-4.6.3.ebuild b/x11-wm/muffin/muffin-4.6.3.ebuild
deleted file mode 100644
index 33f724dea90a..000000000000
--- a/x11-wm/muffin/muffin-4.6.3.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
-
-inherit autotools gnome2-utils xdg-utils
-
-DESCRIPTION="Compositing window manager forked from Mutter for use with Cinnamon"
-HOMEPAGE="https://projects.linuxmint.com/cinnamon/"
-SRC_URI="https://github.com/linuxmint/muffin/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-IUSE="+introspection test xinerama"
-KEYWORDS="amd64 ~arm64 x86"
-RESTRICT="test"
-
-RDEPEND="
- >=x11-libs/pango-1.2[X,introspection?]
- >=x11-libs/cairo-1.14:=[X]
- x11-libs/gdk-pixbuf:2[introspection?]
- >=x11-libs/gtk+-3.9.12:3[X,introspection?]
- >=dev-libs/glib-2.37.3:2[dbus]
- >=dev-libs/json-glib-1.0
- >=gnome-extra/cinnamon-desktop-4.4:0=
- >=media-libs/libcanberra-0.26[gtk3]
- >=x11-libs/libXcomposite-0.3
- >=x11-libs/startup-notification-0.7:=
-
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libxkbcommon
- virtual/opengl
-
- gnome-extra/zenity
-
- introspection? ( >=dev-libs/gobject-introspection-0.9.5:= )
- xinerama? ( x11-libs/libXinerama )
-"
-DEPEND="${RDEPEND}
- x11-base/xorg-proto
- test? ( app-text/docbook-xml-dtd:4.5 )
-"
-# needs gtk-doc, not just -am, for gtk-doc.make
-BDEPEND="
- dev-util/glib-utils
- sys-devel/gettext
- dev-util/gtk-doc
- dev-util/gtk-doc-am
- >=dev-util/intltool-0.35
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
- eautoreconf
- gnome2_disable_deprecation_warning
-}
-
-# Wayland is not supported upstream.
-src_configure() {
- econf \
- --disable-gtk-doc \
- --disable-maintainer-mode \
- --disable-schemas-compile \
- --enable-compile-warnings=minimum \
- --disable-static \
- --enable-shape \
- --enable-sm \
- --enable-startup-notification \
- --enable-xsync \
- --enable-verbose-mode \
- --with-libcanberra \
- $(use_enable introspection) \
- $(use_enable xinerama)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
- dodoc HACKING MAINTAINERS *.txt doc/*.txt
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- gnome2_schemas_update
-}
diff --git a/x11-wm/muffin/muffin-4.8.1.ebuild b/x11-wm/muffin/muffin-4.8.1.ebuild
deleted file mode 100644
index 2e14e5cfece0..000000000000
--- a/x11-wm/muffin/muffin-4.8.1.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools gnome2-utils xdg-utils virtualx
-
-DESCRIPTION="Compositing window manager forked from Mutter for use with Cinnamon"
-HOMEPAGE="https://projects.linuxmint.com/cinnamon/ https://github.com/linuxmint/muffin"
-SRC_URI="https://github.com/linuxmint/muffin/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-IUSE="+introspection test xinerama"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-libs/glib-2.37.3:2[dbus]
- >=dev-libs/json-glib-1.0
- >=gnome-extra/cinnamon-desktop-4.8:0=
- gnome-extra/zenity
- >=media-libs/libcanberra-0.26[gtk3]
- virtual/opengl
- >=x11-libs/cairo-1.14:=[X]
- x11-libs/gdk-pixbuf:2[introspection?]
- >=x11-libs/gtk+-3.9.12:3[X,introspection?]
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libX11
- x11-libs/libxcb
- >=x11-libs/libXcomposite-0.3
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXext
- x11-libs/libXfixes
- >=x11-libs/libXi-1.6.0
- >=x11-libs/libxkbcommon-0.4.3
- x11-libs/libxkbfile
- x11-libs/libXrandr
- x11-libs/libXrender
- >=x11-libs/pango-1.14.0[X,introspection?]
- >=x11-libs/startup-notification-0.7:=
- x11-misc/xkeyboard-config
-
- introspection? ( >=dev-libs/gobject-introspection-0.9.12:= )
- xinerama? ( x11-libs/libXinerama )
-"
-DEPEND="
- ${RDEPEND}
- x11-base/xorg-proto
-
- test? ( app-text/docbook-xml-dtd:4.5 )
-"
-# needs gtk-doc, not just -am, for gtk-doc.make
-BDEPEND="
- dev-util/glib-utils
- dev-util/gtk-doc
- dev-util/gtk-doc-am
- >=dev-util/intltool-0.35
- sys-devel/gettext
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.8.1-slibtool.patch
-)
-
-src_prepare() {
- default
- eautoreconf
- gnome2_disable_deprecation_warning
-}
-
-# Wayland is not supported upstream.
-src_configure() {
- econf \
- --disable-gtk-doc \
- --disable-maintainer-mode \
- --disable-schemas-compile \
- --enable-compile-warnings=minimum \
- --disable-static \
- --enable-shape \
- --enable-sm \
- --enable-startup-notification \
- --enable-xsync \
- --enable-verbose-mode \
- --with-libcanberra \
- $(use_enable introspection) \
- $(use_enable xinerama)
-}
-
-src_install() {
- default
- find "${D}" -name '*.la' -delete || die
- dodoc HACKING MAINTAINERS *.txt doc/*.txt
-}
-
-src_test() {
- virtx default
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- gnome2_schemas_update
-}
diff --git a/x11-wm/muffin/muffin-5.8.1.ebuild b/x11-wm/muffin/muffin-5.8.1.ebuild
new file mode 100644
index 000000000000..085378b182d5
--- /dev/null
+++ b/x11-wm/muffin/muffin-5.8.1.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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"
+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 ~loong ~ppc64 ~riscv x86"
+
+# Dependencies listed in meson order
+COMDEPEND="
+ x11-libs/libX11
+ >=media-libs/graphene-1.9.3[introspection?]
+ >=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]
+ >=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.8:0=
+ >=x11-libs/libXcomposite-0.4
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ >=x11-libs/libXfixes-3
+ >=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
+ x11-libs/libICE
+ >=app-accessibility/at-spi2-core-2.46.0:2[introspection?]
+ >=media-libs/libcanberra-0.26
+ sys-apps/dbus
+ media-libs/libglvnd[X]
+ media-libs/mesa[X(+),egl(+)]
+ x11-libs/libSM
+ >=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:= )
+ screencast? ( >=media-video/pipewire-0.3.0:= )
+ sysprof? ( >=dev-util/sysprof-capture-3.35.2:3 )
+ udev? ( >=virtual/libudev-228:=
+ >=dev-libs/libgudev-232 )
+"
+RDEPEND="${COMDEPEND}
+ gnome-extra/zenity
+"
+DEPEND="${COMDEPEND}
+ x11-base/xorg-proto
+
+ sysprof? ( dev-util/sysprof-common )
+"
+BDEPEND="
+ dev-util/gdbus-codegen
+ dev-util/glib-utils
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+# Wayland is not supported upstream.
+src_configure() {
+ local emesonargs=(
+ -Dopengl=true
+ #opengl_libname
+ #gles2_libname
+ -Dgles2=false # wayland
+ -Degl=true
+ -Dglx=true
+ $(meson_use screencast remote_desktop)
+ $(meson_use udev)
+ $(meson_use input_devices_wacom libwacom)
+ -Dpango_ft2=true
+ -Dstartup_notification=true
+ -Dsm=true
+ $(meson_use introspection)
+ $(meson_use test cogl_tests)
+ $(meson_use test clutter_tests)
+ -Dcore_tests=false # wayland
+ $(meson_use test tests)
+ $(meson_use sysprof profiler)
+ -Dinstalled_tests=false
+ #verbose
+ )
+
+ meson_src_configure
+}
+
+src_test() {
+ gnome2_environment_reset # Avoid dconf that looks at XDG_DATA_DIRS, which can sandbox fail if flatpak is installed
+ glib-compile-schemas "${BUILD_DIR}"/data
+ GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data virtx meson_src_test --no-suite flaky
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ gnome2_schemas_update
+}
diff --git a/x11-wm/muffin/muffin-6.0.1.ebuild b/x11-wm/muffin/muffin-6.0.1.ebuild
new file mode 100644
index 000000000000..868e40c46497
--- /dev/null
+++ b/x11-wm/muffin/muffin-6.0.1.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit gnome2-utils meson python-any-r1 virtualx
+
+DESCRIPTION="Compositing window manager forked from Mutter for use with Cinnamon"
+HOMEPAGE="https://projects.linuxmint.com/cinnamon/ https://github.com/linuxmint/muffin"
+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 systemd test udev wayland video_cards_nvidia"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+REQUIRED_USE="wayland? ( udev )"
+
+# Dependencies listed in meson order
+COMDEPEND="
+ x11-libs/libX11
+ >=media-libs/graphene-1.9.3[introspection?]
+ >=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]
+ >=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.8:0=
+ >=x11-libs/libXcomposite-0.4
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ >=x11-libs/libXfixes-3
+ >=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
+ x11-libs/libICE
+ >=app-accessibility/at-spi2-core-2.46.0:2[introspection?]
+ >=media-libs/libcanberra-0.26
+ sys-apps/dbus
+ media-libs/libglvnd[X]
+ media-libs/mesa[X(+),egl(+)]
+ x11-libs/libSM
+ >=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:=
+ )
+ screencast? (
+ >=media-video/pipewire-0.3.0:=
+ )
+ sysprof? (
+ >=dev-util/sysprof-capture-3.35.2:3
+ )
+ udev? (
+ >=virtual/libudev-228:=
+ >=dev-libs/libgudev-232
+ )
+ wayland? (
+ >=dev-libs/libinput-1.7:=
+ >=dev-libs/wayland-1.13.0
+ >=dev-libs/wayland-protocols-1.19
+ media-libs/mesa[gbm(+),gles2]
+ x11-base/xwayland
+ x11-libs/libdrm
+
+ systemd? (
+ sys-apps/systemd
+ )
+ !systemd? (
+ sys-auth/elogind
+ )
+ video_cards_nvidia? (
+ gui-libs/egl-wayland
+ )
+ )
+"
+RDEPEND="${COMDEPEND}
+ gnome-extra/zenity
+"
+DEPEND="${COMDEPEND}
+ x11-base/xorg-proto
+
+ sysprof? (
+ dev-util/sysprof-common
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-util/gdbus-codegen
+ dev-util/glib-utils
+ sys-devel/gettext
+ virtual/pkgconfig
+
+ wayland? (
+ dev-util/wayland-scanner
+ >=sys-kernel/linux-headers-4.4
+ x11-libs/libxcvt
+ )
+"
+
+src_prepare() {
+ default
+ python_fix_shebang src/backends/native/gen-default-modes.py
+}
+
+# Wayland is not supported upstream.
+src_configure() {
+ local emesonargs=(
+ -Dopengl=true
+ #opengl_libname
+ #gles2_libname
+ $(meson_use wayland gles2)
+ -Degl=true
+ -Dglx=true
+ $(meson_use wayland)
+ $(meson_use wayland native_backend)
+ $(meson_use screencast remote_desktop)
+ $(meson_use udev)
+ $(meson_use input_devices_wacom libwacom)
+ -Dpango_ft2=true
+ -Dstartup_notification=true
+ -Dsm=true
+ $(meson_use introspection)
+ $(meson_use test cogl_tests)
+ $(meson_use test clutter_tests)
+ # Wayland/Core tests cause issues. They attempt to access video hardware
+ # and leave /tmp/.X#-lock files behind.
+ -Dcore_tests=false # wayland
+ $(meson_use test tests)
+ $(meson_use sysprof profiler)
+ -Dinstalled_tests=false
+ #verbose
+ )
+
+ if use wayland; then
+ emesonargs+=(
+ $(meson_use video_cards_nvidia egl_device)
+ $(meson_use video_cards_nvidia wayland_eglstream)
+ )
+ fi
+
+ meson_src_configure
+}
+
+src_test() {
+ gnome2_environment_reset # Avoid dconf that looks at XDG_DATA_DIRS, which can sandbox fail if flatpak is installed
+ glib-compile-schemas "${BUILD_DIR}"/data
+ GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data virtx meson_src_test --no-suite flaky
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ gnome2_schemas_update
+}
diff --git a/x11-wm/musca/files/musca-0.9.24-make.patch b/x11-wm/musca/files/musca-0.9.24-make.patch
index 0f28c5653c7b..d6677b9929b7 100644
--- a/x11-wm/musca/files/musca-0.9.24-make.patch
+++ b/x11-wm/musca/files/musca-0.9.24-make.patch
@@ -1,10 +1,10 @@
---- a/Makefile 2009-11-03 03:20:21.000000000 +0100
-+++ b/Makefile 2009-12-27 19:12:02.461539607 +0100
+--- a/Makefile
++++ b/Makefile
@@ -1,9 +1,12 @@
-CFLAGS?=-Wall -g
+CFLAGS ?= -Wall -g
-+INCLUDES = $(shell pkg-config --cflags x11)
-+LIBS = $(shell pkg-config --libs x11) -lm
++INCLUDES = $(shell ${PKG_CONFIG} --cflags x11)
++LIBS = $(shell ${PKG_CONFIG} --libs x11) -lm
+BIN_DIST = musca apis xlisten
-all:
diff --git a/x11-wm/musca/metadata.xml b/x11-wm/musca/metadata.xml
index e2841a52568a..505948791fb4 100644
--- a/x11-wm/musca/metadata.xml
+++ b/x11-wm/musca/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<use>
diff --git a/x11-wm/musca/musca-0.9.24_p20100226-r4.ebuild b/x11-wm/musca/musca-0.9.24_p20100226-r4.ebuild
index 3b59bc329b78..59b442b1ea7f 100644
--- a/x11-wm/musca/musca-0.9.24_p20100226-r4.ebuild
+++ b/x11-wm/musca/musca-0.9.24_p20100226-r4.ebuild
@@ -1,7 +1,8 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+
inherit savedconfig toolchain-funcs
DESCRIPTION="A simple dynamic window manager, with features nicked from ratpoison and dwm"
@@ -21,6 +22,8 @@ RDEPEND="
>=x11-misc/dmenu-4.4
apis? ( x11-misc/xbindkeys )
"
+BDEPEND="virtual/pkgconfig"
+
PATCHES=(
"${FILESDIR}"/${PN}-0.9.24-make.patch
"${FILESDIR}"/${PN}-0.9.24_p20100226-dmenu-4.4.patch
@@ -46,7 +49,7 @@ src_prepare() {
fi
done
- tc-export CC
+ tc-export CC PKG_CONFIG
}
src_install() {
diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest
index 8e1daa042116..76126015fe2f 100644
--- a/x11-wm/mutter/Manifest
+++ b/x11-wm/mutter/Manifest
@@ -1,4 +1,4 @@
-DIST mutter-3.36.7-patchset.tar.xz 14232 BLAKE2B 90a289f7012e28607d487fd635b73683e657bfd8792dbf662f8822ac7f096d21add6fcd3b7092e4e82f2130226f5b1ff9afd1e026fec8333680c9b4e4712dea2 SHA512 74e3951358a02c552a45b590360b9a038283e983ff78daf433fea1589ca3e7824f21af3b786a06ba84fb400581dfc4f97f29d259afdaca2ae3e1456a49a96243
-DIST mutter-3.36.7.tar.xz 2689176 BLAKE2B a3849b254dbe2029736ef760fe4225e63bf1d87bf2856a87682574904bd047822916485a3e00d2760118132466414b68764731ea4af9add5d734fd7ce3eac730 SHA512 6061cc8a3bdefe57049f9da757b9a33321b28ff7bc9543bc1db3abd75c7261bf233180fb1e8a2f76145dd67ebda91c48981f6e844a866ef6cbb66203af4b7ef7
-DIST mutter-3.38.4.tar.xz 2623788 BLAKE2B 27ca701459b3b70c790c8fec02b5e34eebecf5b4bd11a706a25eea19af0ee5be278835d6f789c4f77df6ec2ab23ae58bb491a0591d1ff51c9dae4690b9dde73f SHA512 a80728a5bd99e727717cb49f0fbfa0db0bb02b64d7e287b4b7e5e848774ea2191db57f8c70d4b1852db201384ac413daa7108472610e8f8986d13744d800fe11
-DIST mutter-40.0.tar.xz 2678364 BLAKE2B 3016216c396e5362a3c92dae44911ab67be6ad38b551ffef772f840fc1202ccd59a6800fe76526bab7ba1adf645a243bc000301ff6b331c949f660380143bcff SHA512 af4fd21e5ea7e2cf1004d6912771279cebb2fc60f51f5c7371fd5f6fefbfbd7e36841de98757b8f116b0d2006c1151ccf74ed03ee62836cf59d2a86eaf48084d
+DIST mutter-45.2-r1-patchset.tar.xz 21864 BLAKE2B c09566f75a816f6599ac4bf99879cc0e3bb78220c56cc4bd64edabf00e533a5feb4decdaa75ef5ae7ade911ec266ba6dd4641f1cbcd2c3145c10d5a8d327d653 SHA512 dd953afb97c4cdd9e24b2eab6636472e526042eb768c23e0d5bd49cd3ceb3a5cebd3ff396d014bdf168de81f810cef754efbb1739350fc09f6d196461de41ea4
+DIST mutter-45.2.tar.xz 2884940 BLAKE2B c4107840b8bd0f75a9c76300f324bfff6aac3195f526ab88102c831df693cb8dfa5b55bb1590a54e68f41eab392e69bb833221480578a2fba4b1e4bdc5ed030d SHA512 2111ad0645d2da58dedb30d94e99b52045f38b31a9de7314a5d8b41a5525612d88d2fbaafd3658eb6f734c143ad12176367c26533237199d9a5c1ad3dea743c7
+DIST mutter-45.4.tar.xz 2886300 BLAKE2B 62fe0c08e92f8cab0bcf64a52a9d1bdf16754deae5fb00018f29c596ab2e26a5b75eee46f1c0206ae1773fe5b7ed48abc755b6070d35dc22536dcb11e8955e95 SHA512 3fdd44dfcb504a84d402065987fb8bdec84d639260c66c0cb2e88ef2deb56fadf2ae91bdeae782793728e54803a455ab38943b68693124d728b0c52ba8698e3c
+DIST mutter-45.5.tar.xz 2886412 BLAKE2B b5534943d41500a165de5242f73b9da145dd52a4b5168e863843ca5b08a6d726be9b7a94b94763e6b4c10b48355ed845accd9ae63704aefaf3f8e2bb361855b8 SHA512 15fb5589e2b971ac94b3d8f549643f2998375943c419114907c317761c8250089751dea65c35be44435350e6bb02bb238fcf2eef17bf7d6a5b41053a64ffba05
diff --git a/x11-wm/mutter/files/3.34.6-tests-dontreq-gdkwayland.patch b/x11-wm/mutter/files/3.34.6-tests-dontreq-gdkwayland.patch
deleted file mode 100644
index 810801977af8..000000000000
--- a/x11-wm/mutter/files/3.34.6-tests-dontreq-gdkwayland.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From fd10425c598f7b3db16521c2709032fd2ea5a396 Mon Sep 17 00:00:00 2001
-From: Mart Raudsepp <leio@gentoo.org>
-Date: Sun, 28 Jun 2020 09:26:33 +0300
-Subject: [PATCH] test-client: Fix compilation without GDK_WINDOWING_WAYLAND
-
----
- src/tests/test-client.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/src/tests/test-client.c b/src/tests/test-client.c
-index 83a5ce485..80c239310 100644
---- a/src/tests/test-client.c
-+++ b/src/tests/test-client.c
-@@ -22,7 +22,9 @@
- #include <gio/gunixinputstream.h>
- #include <gtk/gtk.h>
- #include <gdk/gdkx.h>
-+#ifdef GDK_WINDOWING_WAYLAND
- #include <gdk/gdkwayland.h>
-+#endif
- #include <stdarg.h>
- #include <stdlib.h>
- #include <string.h>
-@@ -46,8 +48,10 @@ window_export_handle_cb (GdkWindow *window,
- {
- GdkWindow *gdk_window = gtk_widget_get_window (GTK_WIDGET (user_data));
-
-+#ifdef GDK_WINDOWING_WAYLAND
- if (!gdk_wayland_window_set_transient_for_exported (gdk_window,
- (gchar *) handle_str))
-+#endif
- g_print ("Fail to set transient_for exported window handle %s", handle_str);
- gdk_window_set_modal_hint (gdk_window, TRUE);
- }
-@@ -377,11 +381,13 @@ process_line (const char *line)
- goto out;
- }
-
-+#ifdef GDK_WINDOWING_WAYLAND
- GdkWindow *parent_gdk_window = gtk_widget_get_window (parent_window);
- if (!gdk_wayland_window_export_handle (parent_gdk_window,
- window_export_handle_cb,
- window,
- NULL))
-+#endif
- g_print ("Fail to export handle for window id %s", argv[2]);
- }
- else if (strcmp (argv[0], "accept_focus") == 0)
---
-2.20.1
-
diff --git a/x11-wm/mutter/files/45.2-fix-X-only.patch b/x11-wm/mutter/files/45.2-fix-X-only.patch
new file mode 100644
index 000000000000..2e76277e2607
--- /dev/null
+++ b/x11-wm/mutter/files/45.2-fix-X-only.patch
@@ -0,0 +1,48 @@
+From e2ef4e1504a40d62b45167d7cacfea0322a78134 Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Mon, 25 Dec 2023 14:51:46 +0200
+Subject: [PATCH] build: Fix building without wayland headers
+
+Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3046
+---
+ src/backends/x11/nested/meta-backend-x11-nested.c | 2 ++
+ src/core/meta-context-main.c | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/backends/x11/nested/meta-backend-x11-nested.c b/src/backends/x11/nested/meta-backend-x11-nested.c
+index 17e6f7e47..0d99078ea 100644
+--- a/src/backends/x11/nested/meta-backend-x11-nested.c
++++ b/src/backends/x11/nested/meta-backend-x11-nested.c
+@@ -25,7 +25,9 @@
+ #include "backends/x11/nested/meta-cursor-renderer-x11-nested.h"
+ #include "backends/x11/nested/meta-renderer-x11-nested.h"
+
++#ifdef HAVE_WAYLAND
+ #include "wayland/meta-wayland.h"
++#endif
+
+ typedef struct _MetaBackendX11NestedPrivate
+ {
+diff --git a/src/core/meta-context-main.c b/src/core/meta-context-main.c
+index 9c94183b5..a0ac7c823 100644
+--- a/src/core/meta-context-main.c
++++ b/src/core/meta-context-main.c
+@@ -33,7 +33,6 @@
+ #include "backends/meta-virtual-monitor.h"
+ #include "backends/x11/cm/meta-backend-x11-cm.h"
+ #include "meta/meta-backend.h"
+-#include "wayland/meta-wayland.h"
+ #include "x11/session.h"
+
+ #ifdef HAVE_NATIVE_BACKEND
+@@ -42,6 +41,7 @@
+
+ #ifdef HAVE_WAYLAND
+ #include "backends/x11/nested/meta-backend-x11-nested.h"
++#include "wayland/meta-wayland.h"
+ #endif
+
+ typedef struct _MetaContextMainOptions
+--
+2.43.0
+
diff --git a/x11-wm/mutter/files/mutter-40.0-Disable-anonymous-file-test.patch b/x11-wm/mutter/files/mutter-40.0-Disable-anonymous-file-test.patch
deleted file mode 100644
index 484c62c5a0c4..000000000000
--- a/x11-wm/mutter/files/mutter-40.0-Disable-anonymous-file-test.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 7353efd2f326b3f855db52ba8643ac4e793d5ffc Mon Sep 17 00:00:00 2001
-From: Matt Turner <mattst88@gmail.com>
-Date: Sun, 21 Mar 2021 18:31:22 -0400
-Subject: [PATCH] Disable anonymous-file test
-
-It attempts to open /proc/self/fd/* (an fd created by memfd_create),
-which sandbox disallows.
----
- src/tests/meson.build | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/src/tests/meson.build b/src/tests/meson.build
-index 8ee409e20..50c930c2a 100644
---- a/src/tests/meson.build
-+++ b/src/tests/meson.build
-@@ -285,13 +285,6 @@ test('stage-view', stage_view_tests,
- timeout: 60,
- )
-
--test('anonymous-file', anonymous_file_test,
-- suite: ['core', 'mutter/unit'],
-- env: test_env,
-- is_parallel: false,
-- timeout: 60,
--)
--
- if have_native_tests
- test('native-headless', native_headless_tests,
- suite: ['core', 'mutter/native/headless'],
---
-2.26.2
-
diff --git a/x11-wm/mutter/files/mutter-43.0-Disable-anonymous-file-test.patch b/x11-wm/mutter/files/mutter-43.0-Disable-anonymous-file-test.patch
new file mode 100644
index 000000000000..98fcc4c87d10
--- /dev/null
+++ b/x11-wm/mutter/files/mutter-43.0-Disable-anonymous-file-test.patch
@@ -0,0 +1,27 @@
+From 8cb699dc59c64dc9f58873b3bbe2d17c3a08d2f9 Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Fri, 18 Mar 2022 17:40:52 -0700
+Subject: [PATCH] Disable anonymous-file test
+
+It attempts to open /proc/self/fd/* (an fd created by memfd_create),
+which sandbox disallows.
+---
+ src/tests/meson.build | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/src/tests/meson.build b/src/tests/meson.build
+index a19703288..50027d1f8 100644
+--- a/src/tests/meson.build
++++ b/src/tests/meson.build
+@@ -224,11 +224,6 @@ test_cases += [
+ 'suite': 'compositor',
+ 'sources': [ 'stage-view-tests.c', ],
+ },
+- {
+- 'name': 'anonymous-file',
+- 'suite': 'unit',
+- 'sources': [ 'anonymous-file.c', ],
+- },
+ {
+ 'name': 'edid',
+ 'suite': 'unit',
diff --git a/x11-wm/mutter/metadata.xml b/x11-wm/mutter/metadata.xml
index 10c80726fde4..ce29c97748be 100644
--- a/x11-wm/mutter/metadata.xml
+++ b/x11-wm/mutter/metadata.xml
@@ -1,13 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
- <use>
- <flag name="elogind">Rely on <pkg>sys-auth/elogind</pkg> as logind provider for Wayland sessions</flag>
- <flag name="screencast">Enable support for remote desktop and screen cast using <pkg>media-video/pipewire</pkg></flag>
- <flag name="sysprof">Enable profiling data capture support using <pkg>dev-util/sysprof-capture</pkg></flag>
- </use>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <use>
+ <flag name="elogind">Rely on <pkg>sys-auth/elogind</pkg> as logind provider for Wayland sessions</flag>
+ <flag name="sysprof">Enable profiling data capture support using <pkg>dev-util/sysprof-capture</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/mutter</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/x11-wm/mutter/mutter-3.36.7-r1.ebuild b/x11-wm/mutter/mutter-3.36.7-r1.ebuild
deleted file mode 100644
index 8a921682cea2..000000000000
--- a/x11-wm/mutter/mutter-3.36.7-r1.ebuild
+++ /dev/null
@@ -1,149 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit gnome.org gnome2-utils meson virtualx xdg
-
-DESCRIPTION="GNOME 3 compositing window manager based on Clutter"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
-SRC_URI+=" https://dev.gentoo.org/~leio/distfiles/${P}-patchset.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0/6" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
-
-IUSE="elogind input_devices_wacom +introspection screencast +sysprof systemd test udev wayland"
-# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
-REQUIRED_USE="
- wayland? ( ^^ ( elogind systemd ) udev )
- test? ( wayland )"
-RESTRICT="!test? ( test )"
-
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
-
-# 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
-# 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="
- x11-libs/libX11
- >=media-libs/graphene-1.9.3[introspection?]
- >=x11-libs/gtk+-3.19.8:3[X,introspection?]
- x11-libs/gdk-pixbuf:2
- >=x11-libs/pango-1.30[introspection?]
- >=dev-libs/fribidi-1.0.0
- >=x11-libs/cairo-1.14[X]
- >=gnome-base/gsettings-desktop-schemas-3.33.0[introspection?]
- >=dev-libs/glib-2.61.1:2
- gnome-base/gnome-settings-daemon
- >=dev-libs/json-glib-0.12.0[introspection?]
- gnome-base/gnome-desktop:3=
- >=x11-libs/libXcomposite-0.4
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXext
- >=x11-libs/libXfixes-3
- >=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
- x11-libs/libICE
- >=dev-libs/atk-2.5.3[introspection?]
- >=media-libs/libcanberra-0.26
- sys-apps/dbus
- media-libs/mesa[X(+),egl]
- sysprof? ( >=dev-util/sysprof-capture-3.35.2:3 )
- wayland? (
- >=dev-libs/wayland-protocols-1.19
- >=dev-libs/wayland-1.13.0
- x11-libs/libdrm:=
- >=media-libs/mesa-10.3[egl,gbm,wayland,gles2]
- >=dev-libs/libinput-1.7
- systemd? ( sys-apps/systemd )
- elogind? ( sys-auth/elogind )
- x11-base/xorg-server[wayland]
- )
- udev? ( >=dev-libs/libgudev-232:=
- >=virtual/libudev-232-r1:= )
- x11-libs/libSM
- input_devices_wacom? ( >=dev-libs/libwacom-0.13 )
- >=x11-libs/startup-notification-0.7
- screencast? ( >=media-video/pipewire-0.3.0:0/0.3 )
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
-"
-RDEPEND="${DEPEND}
- gnome-extra/zenity
-"
-DEPEND="${DEPEND}
- x11-base/xorg-proto
- sysprof? ( >=dev-util/sysprof-common-3.35.2 )
-"
-# wayland bdepend for wayland-scanner, xorg-server for cvt utility
-BDEPEND="
- dev-libs/wayland
- >=dev-util/meson-0.50.0
- dev-util/gdbus-codegen
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- test? ( app-text/docbook-xml-dtd:4.5 )
- wayland? ( >=sys-kernel/linux-headers-4.4
- x11-base/xorg-server )
-"
-
-PATCHES=(
- "${FILESDIR}"/3.34.6-tests-dontreq-gdkwayland.patch
-)
-
-src_configure() {
- # TODO: Replicate debug vs release meson build type behaviour under our buildtype=plain
- local emesonargs=(
- -Dopengl=true
- #opengl_libname
- #gles2_libname
- $(meson_use wayland gles2)
- -Degl=true
- -Dglx=true
- $(meson_use wayland)
- $(meson_use wayland native_backend)
- $(meson_use screencast remote_desktop)
- -Degl_device=false # This should be dependent on wayland,video_drivers_nvidia, once eglstream support is there
- -Dwayland_eglstream=false # requires packages egl-wayland for wayland-eglstream-protocols.pc
- $(meson_use udev)
- $(meson_use input_devices_wacom libwacom)
- -Dpango_ft2=true
- -Dstartup_notification=true
- -Dsm=true
- $(meson_use introspection)
- $(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
- $(meson_use test clutter_tests)
- $(meson_use test tests)
- $(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
- )
- meson_src_configure
-}
-
-src_test() {
- glib-compile-schemas "${BUILD_DIR}"/data
- GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data virtx meson_src_test
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/x11-wm/mutter/mutter-3.38.4.ebuild b/x11-wm/mutter/mutter-3.38.4.ebuild
deleted file mode 100644
index 745df2da3847..000000000000
--- a/x11-wm/mutter/mutter-3.38.4.ebuild
+++ /dev/null
@@ -1,143 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit gnome.org gnome2-utils meson virtualx xdg
-
-DESCRIPTION="GNOME 3 compositing window manager based on Clutter"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
-
-LICENSE="GPL-2+"
-SLOT="0/7" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
-
-IUSE="elogind input_devices_wacom +introspection screencast sysprof systemd test udev wayland"
-# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
-REQUIRED_USE="
- wayland? ( ^^ ( elogind systemd ) udev )
- test? ( wayland )"
-RESTRICT="!test? ( test )"
-
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
-
-# 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
-# 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="
- x11-libs/libX11
- >=media-libs/graphene-1.9.3[introspection?]
- >=x11-libs/gtk+-3.19.8:3[X,introspection?]
- x11-libs/gdk-pixbuf:2
- >=x11-libs/pango-1.30[introspection?]
- >=dev-libs/fribidi-1.0.0
- >=x11-libs/cairo-1.14[X]
- >=gnome-base/gsettings-desktop-schemas-3.37.2[introspection?]
- >=dev-libs/glib-2.61.1:2
- gnome-base/gnome-settings-daemon
- >=dev-libs/json-glib-0.12.0[introspection?]
- gnome-base/gnome-desktop:3=
- >=x11-libs/libXcomposite-0.4
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXext
- >=x11-libs/libXfixes-3
- >=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
- x11-libs/libICE
- >=dev-libs/atk-2.5.3[introspection?]
- >=media-libs/libcanberra-0.26
- sys-apps/dbus
- media-libs/mesa[X(+),egl]
- sysprof? ( >=dev-util/sysprof-capture-3.38.0:4 )
- wayland? (
- >=dev-libs/wayland-protocols-1.19
- >=dev-libs/wayland-1.18.0
- x11-libs/libdrm:=
- >=media-libs/mesa-17.3[egl,gbm,wayland,gles2]
- >=dev-libs/libinput-1.7
- systemd? ( sys-apps/systemd )
- elogind? ( sys-auth/elogind )
- x11-base/xorg-server[wayland]
- )
- udev? ( >=dev-libs/libgudev-232:=
- >=virtual/libudev-232-r1:= )
- x11-libs/libSM
- input_devices_wacom? ( >=dev-libs/libwacom-0.13 )
- >=x11-libs/startup-notification-0.7
- screencast? ( >=media-video/pipewire-0.3.0:0/0.3 )
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
-"
-RDEPEND="${DEPEND}
- gnome-extra/zenity
-"
-DEPEND="${DEPEND}
- x11-base/xorg-proto
- sysprof? ( >=dev-util/sysprof-common-3.38.0 )
-"
-# wayland bdepend for wayland-scanner, xorg-server for cvt utility
-BDEPEND="
- dev-libs/wayland
- dev-util/gdbus-codegen
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- test? ( app-text/docbook-xml-dtd:4.5 )
- wayland? ( >=sys-kernel/linux-headers-4.4
- x11-base/xorg-server )
-"
-
-src_configure() {
- # TODO: Replicate debug vs release meson build type behaviour under our buildtype=plain
- local emesonargs=(
- -Dopengl=true
- #opengl_libname
- #gles2_libname
- $(meson_use wayland gles2)
- -Degl=true
- -Dglx=true
- $(meson_use wayland)
- $(meson_use wayland native_backend)
- $(meson_use screencast remote_desktop)
- -Degl_device=false # This should be dependent on wayland,video_drivers_nvidia, once eglstream support is there
- -Dwayland_eglstream=false # requires packages egl-wayland for wayland-eglstream-protocols.pc
- $(meson_use udev)
- $(meson_use input_devices_wacom libwacom)
- -Dpango_ft2=true
- -Dstartup_notification=true
- -Dsm=true
- $(meson_use introspection)
- $(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
- $(meson_use test clutter_tests)
- $(meson_use test tests)
- $(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
- )
- meson_src_configure
-}
-
-src_test() {
- glib-compile-schemas "${BUILD_DIR}"/data
- GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data virtx meson_src_test
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/x11-wm/mutter/mutter-40.0.ebuild b/x11-wm/mutter/mutter-40.0.ebuild
deleted file mode 100644
index 19f0ff738085..000000000000
--- a/x11-wm/mutter/mutter-40.0.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit gnome.org gnome2-utils meson virtualx xdg
-
-DESCRIPTION="GNOME 3 compositing window manager based on Clutter"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/"
-
-LICENSE="GPL-2+"
-SLOT="0/8" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot
-
-IUSE="elogind input_devices_wacom +introspection screencast sysprof systemd test udev wayland"
-# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider
-REQUIRED_USE="
- wayland? ( ^^ ( elogind systemd ) udev )
- test? ( wayland )"
-RESTRICT="!test? ( test )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-
-# 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
-# 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="
- x11-libs/libX11
- >=media-libs/graphene-1.10.2[introspection?]
- >=x11-libs/gtk+-3.19.8:3[X,introspection?]
- x11-libs/gdk-pixbuf:2
- >=x11-libs/pango-1.46[introspection?]
- >=dev-libs/fribidi-1.0.0
- >=x11-libs/cairo-1.14[X]
- >=gnome-base/gsettings-desktop-schemas-40.0[introspection?]
- >=dev-libs/glib-2.67.3:2
- gnome-base/gnome-settings-daemon
- >=dev-libs/json-glib-0.12.0[introspection?]
- gnome-base/gnome-desktop:3=
- >=x11-libs/libXcomposite-0.4
- x11-libs/libXcursor
- x11-libs/libXdamage
- x11-libs/libXext
- >=x11-libs/libXfixes-3
- >=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
- x11-libs/libICE
- >=dev-libs/atk-2.5.3[introspection?]
- >=media-libs/libcanberra-0.26
- sys-apps/dbus
- media-libs/mesa[X(+),egl]
- sysprof? ( >=dev-util/sysprof-capture-3.38.0:4 )
- wayland? (
- >=dev-libs/wayland-protocols-1.19
- >=dev-libs/wayland-1.18.0
- x11-libs/libdrm:=
- >=media-libs/mesa-17.3[egl,gbm,wayland,gles2]
- >=dev-libs/libinput-1.15.0
- systemd? ( sys-apps/systemd )
- elogind? ( sys-auth/elogind )
- x11-base/xorg-server[wayland]
- )
- udev? ( >=dev-libs/libgudev-232:=
- >=virtual/libudev-232-r1:= )
- x11-libs/libSM
- input_devices_wacom? ( >=dev-libs/libwacom-0.13 )
- >=x11-libs/startup-notification-0.7
- screencast? ( >=media-video/pipewire-0.3.21:0/0.3 )
- introspection? ( >=dev-libs/gobject-introspection-1.54:= )
-"
-RDEPEND="${DEPEND}
- gnome-extra/zenity
-"
-DEPEND="${DEPEND}
- x11-base/xorg-proto
- sysprof? ( >=dev-util/sysprof-common-3.38.0 )
-"
-# wayland bdepend for wayland-scanner, xorg-server for cvt utility
-BDEPEND="
- dev-libs/wayland
- dev-util/gdbus-codegen
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- test? ( app-text/docbook-xml-dtd:4.5 )
- wayland? ( >=sys-kernel/linux-headers-4.4
- x11-base/xorg-server )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-Disable-anonymous-file-test.patch
-)
-
-src_configure() {
- # TODO: Replicate debug vs release meson build type behaviour under our buildtype=plain
- local emesonargs=(
- -Dopengl=true
- #opengl_libname
- #gles2_libname
- $(meson_use wayland gles2)
- -Degl=true
- -Dglx=true
- $(meson_use wayland)
- $(meson_use wayland native_backend)
- $(meson_use screencast remote_desktop)
- -Degl_device=false # This should be dependent on wayland,video_drivers_nvidia, once eglstream support is there
- -Dwayland_eglstream=false # requires packages egl-wayland for wayland-eglstream-protocols.pc
- $(meson_use udev)
- $(meson_use input_devices_wacom libwacom)
- -Dpango_ft2=true
- -Dstartup_notification=true
- -Dsm=true
- $(meson_use introspection)
- $(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)
- $(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
- )
- meson_src_configure
-}
-
-src_test() {
- glib-compile-schemas "${BUILD_DIR}"/data
- GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data virtx meson_src_test
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/x11-wm/mutter/mutter-45.2-r1.ebuild b/x11-wm/mutter/mutter-45.2-r1.ebuild
new file mode 100644
index 000000000000..fa99dc7a1251
--- /dev/null
+++ b/x11-wm/mutter/mutter-45.2-r1.ebuild
@@ -0,0 +1,240 @@
+# Copyright 1999-2024 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/"
+SRC_URI+=" https://dev.gentoo.org/~leio/distfiles/${PF}-patchset.tar.xz"
+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 ~ppc64 ~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:= )
+ 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}
+ !<gui-libs/gtk-4.6.4:4
+"
+DEPEND="${DEPEND}
+ x11-base/xorg-proto
+ sysprof? ( >=dev-util/sysprof-common-3.38.0 )
+ test? (
+ >=x11-libs/gtk+-3.19.8:3[X,introspection?,wayland]
+ gnome-extra/zenity
+ )
+"
+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=(
+ "${WORKDIR}"/patches # Upstream branch up to commit 5f777c90b79a
+ "${FILESDIR}"/${PV}-fix-X-only.patch #914571, upstream #3046, !3471
+ "${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() {
+ use debug && EMESON_BUILDTYPE=debug
+
+ 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
+
+ -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-45.4.ebuild b/x11-wm/mutter/mutter-45.4.ebuild
new file mode 100644
index 000000000000..aeed10b04dac
--- /dev/null
+++ b/x11-wm/mutter/mutter-45.4.ebuild
@@ -0,0 +1,236 @@
+# Copyright 1999-2024 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 ~ppc64 ~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:= )
+ 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}
+ !<gui-libs/gtk-4.6.4:4
+"
+DEPEND="${DEPEND}
+ x11-base/xorg-proto
+ sysprof? ( >=dev-util/sysprof-common-3.38.0 )
+ test? (
+ >=x11-libs/gtk+-3.19.8:3[X,introspection?,wayland]
+ gnome-extra/zenity
+ )
+"
+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
+
+ -Dbuildtype=$(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-45.5.ebuild b/x11-wm/mutter/mutter-45.5.ebuild
new file mode 100644
index 000000000000..15c1c0068cc8
--- /dev/null
+++ b/x11-wm/mutter/mutter-45.5.ebuild
@@ -0,0 +1,237 @@
+# Copyright 1999-2024 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 ~ppc64 ~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:= )
+ 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}
+ !<gui-libs/gtk-4.6.4:4
+ sys-auth/rtkit
+"
+DEPEND="${DEPEND}
+ x11-base/xorg-proto
+ sysprof? ( >=dev-util/sysprof-common-3.38.0 )
+ test? (
+ >=x11-libs/gtk+-3.19.8:3[X,introspection?,wayland]
+ gnome-extra/zenity
+ )
+"
+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
+
+ -Dbuildtype=$(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
new file mode 100644
index 000000000000..43f515815af1
--- /dev/null
+++ b/x11-wm/mutter/mutter-9999.ebuild
@@ -0,0 +1,239 @@
+# Copyright 1999-2024 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 ~ppc64 ~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]
+ >=x11-libs/pixman-0.42
+ >=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
+ >=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
+ media-libs/libdisplay-info
+
+ gnome? ( gnome-base/gnome-desktop:4= )
+
+ >=media-libs/libcanberra-0.26
+
+ media-libs/libglvnd[X]
+
+ wayland? (
+ >=dev-libs/wayland-protocols-1.33
+ >=dev-libs/wayland-1.22
+
+ >=x11-libs/libdrm-2.4.95
+ 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:= )
+ 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}
+ !<gui-libs/gtk-4.6.4:4
+"
+DEPEND="${DEPEND}
+ x11-base/xorg-proto
+ sysprof? ( >=dev-util/sysprof-common-3.38.0 )
+ test? (
+ >=x11-libs/gtk+-3.19.8:3[X,introspection?,wayland]
+ gnome-extra/zenity
+ )
+"
+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() {
+ use debug && EMESON_BUILDTYPE=debug
+
+ 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
+
+ -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
+ -Dlibdisplay_info=enabled
+
+ #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/notion/Manifest b/x11-wm/notion/Manifest
index a52bb27879bf..acfb810ec6d1 100644
--- a/x11-wm/notion/Manifest
+++ b/x11-wm/notion/Manifest
@@ -1 +1 @@
-DIST notion-3_p2015061300.tar.gz 797057 BLAKE2B 55258bb1d47a1c2506e9cb6654e5d68d69494a749174eaace2a53416ae40cac908b0398400a5a377dbb07618aa800529cbdfc0c7ef946d285681e1dfccfd9c48 SHA512 254be12a8ece555d9f6253d99891bb51214379d0c04b6bf9595b7e5bf9493cb5d2fada37438f89621e7157f9e3647e446b5e173847498ee3608081f006b86679
+DIST notion-4.0.2_p20220613.tar.gz 791823 BLAKE2B 2aa50eb4f710bf289dd6edb6f4696662e8d2588b337f038845efdf79aa2e2b28a725734c829de5184def6fd5d32c51f511025dadf4ad6a689c0dc4e0b0d8e3eb SHA512 7c187571a00bdf5736032c0ff0b57a0afdb20a7b4f6e66877c84bf112922ec8f5b853165d419ecc7c18fc84a873b278c3cbdad5e7399e0312066141de1dc6673
diff --git a/x11-wm/notion/files/notion-3_p2015061300-pkg-config.patch b/x11-wm/notion/files/notion-3_p2015061300-pkg-config.patch
deleted file mode 100644
index fb718caa3158..000000000000
--- a/x11-wm/notion/files/notion-3_p2015061300-pkg-config.patch
+++ /dev/null
@@ -1,76 +0,0 @@
---- notion-3-2015061300/system-autodetect.mk
-+++ notion-3-2015061300/system-autodetect.mk
-@@ -84,8 +84,8 @@
- # SunOS/Solaris
- #X11_PREFIX ?= /usr/openwin
-
--X11_LIBS=-L$(X11_PREFIX)/lib -lX11 -lXext
--X11_INCLUDES=-I$(X11_PREFIX)/include
-+X11_LIBS=$(shell $(PKG_CONFIG) --libs x11 xext)
-+X11_INCLUDES=$(shell $(PKG_CONFIG) --cflags-only-I x11 xext)
-
- # XFree86 libraries up to 4.3.0 have a bug that can cause a segfault.
- # The following setting should work around that situation.
---- notion-3-2015061300/mod_xinerama/Makefile
-+++ notion-3-2015061300/mod_xinerama/Makefile
-@@ -9,14 +9,14 @@
-
- ######################################
-
--INCLUDES += $(LIBTU_INCLUDES) $(LIBEXTL_INCLUDES) $(X11_INCLUDES) -I$(TOPDIR)
--CFLAGS += $(XOPEN_SOURCE) $(C99_SOURCE)
-+INCLUDES += $(LIBTU_INCLUDES) $(LIBEXTL_INCLUDES) $(X11_INCLUDES) -I$(TOPDIR) $(shell $(PKG_CONFIG) --cflags-only-I xinerama)
-+CFLAGS += $(XOPEN_SOURCE) $(C99_SOURCE) $(shell $(PKG_CONFIG) --cflags-only-other xinerama)
- DOCS=LICENSE README
-
- SOURCES=mod_xinerama.c
-
- MAKE_EXPORTS=mod_xinerama
--LIBS = -L/usr/lib/x86_64-linux-gnu $(X11_LIBS) -lXinerama
-+LIBS = $(X11_LIBS) $(shell $(PKG_CONFIG) --libs xinerama)
- MODULE=mod_xinerama
- MODULE_STUB=mod_xinerama.lua
-
-@@ -44,7 +44,7 @@
-
- .PHONY: test
- test: $(SOURCES)
-- lua test_xinerama.lua
-+ $(LUA) test_xinerama.lua
-
- ######################################
-
-@@ -57,4 +57,4 @@
- ################ ls_xinerama utility ###############
-
- ls_xinerama: ls_xinerama.c
-- $(CC) ls_xinerama.c -o ls_xinerama -Wl,--as-needed -lX11 -lXinerama
-+ $(CC) $(CFLAGS) ls_xinerama.c -o ls_xinerama $(LDFLAGS) $(LIBS)
---- notion-3-2015061300/mod_xrandr/Makefile
-+++ notion-3-2015061300/mod_xrandr/Makefile
-@@ -9,13 +9,13 @@
-
- ######################################
-
--INCLUDES += $(LIBTU_INCLUDES) $(LIBEXTL_INCLUDES) $(X11_INCLUDES) -I$(TOPDIR)
--CFLAGS += $(XOPEN_SOURCE) $(C99_SOURCE)
-+INCLUDES += $(LIBTU_INCLUDES) $(LIBEXTL_INCLUDES) $(X11_INCLUDES) -I$(TOPDIR) $(shell pkg-config --cflags-only-I xrandr)
-+CFLAGS += $(XOPEN_SOURCE) $(C99_SOURCE) $(shell $(PKG_CONFIG) --cflags-only-other xrandr)
-
- SOURCES=mod_xrandr.c
-
- MAKE_EXPORTS=mod_xrandr
--LIBS = $(X11_LIBS) -lXrandr
-+LIBS = $(X11_LIBS) $(shell $(PKG_CONFIG) --libs xrandr)
- MODULE=mod_xrandr
- MODULE_STUB=mod_xrandr.lua
- ETC=cfg_xrandr.lua
-@@ -45,7 +45,7 @@
-
- .PHONY: test
- test: $(SOURCES)
-- for i in test_xrandr*.lua ; do echo 'Testing' $$i ; lua $$i ; done
-+ for i in test_xrandr*.lua ; do echo 'Testing' $$i ; $(LUA) $$i ; done
-
- ######################################
-
diff --git a/x11-wm/notion/metadata.xml b/x11-wm/notion/metadata.xml
index 4b07ef3bd581..3f744d39c34f 100644
--- a/x11-wm/notion/metadata.xml
+++ b/x11-wm/notion/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>soap@gentoo.org</email>
diff --git a/x11-wm/notion/notion-3_p2015061300-r100.ebuild b/x11-wm/notion/notion-3_p2015061300-r100.ebuild
deleted file mode 100644
index 2aee50148789..000000000000
--- a/x11-wm/notion/notion-3_p2015061300-r100.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-{1..2} )
-
-inherit lua-single toolchain-funcs readme.gentoo-r1
-
-DESCRIPTION="Notion is a tiling, tabbed window manager for the X window system"
-HOMEPAGE="https://notionwm.net/"
-SRC_URI="https://github.com/raboof/${PN}/archive/${PV/_p/-}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="nls xinerama +xrandr"
-
-RDEPEND="${LUA_DEPS}
- x11-libs/libSM
- x11-libs/libX11
- x11-libs/libXext
- nls? ( sys-devel/gettext )
- xinerama? ( x11-libs/libXinerama )
- xrandr? ( x11-libs/libXrandr )"
-DEPEND="${RDEPEND}"
-# luac is called at build time
-BDEPEND="${LUA_DEPS}
- virtual/pkgconfig"
-
-# mod_xrandr references mod_xinerama
-REQUIRED_USE="${LUA_REQUIRED_USE}
- xrandr? ( xinerama )"
-
-# needs slingshot,... not in tree
-RESTRICT=test
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3_p2015061300-pkg-config.patch
-)
-
-S=${WORKDIR}/${P/_p/-}
-
-src_prepare() {
- default
-
- sed -e "/^CFLAGS/{s: =: +=: ; s:-Os:: ; s:-g::}" \
- -e "/^LDFLAGS/{s: =: +=: ; s:-Wl,--as-needed::}" \
- -i system-autodetect.mk || die
- echo > build/lua-detect.mk
-}
-
-src_configure() {
- { echo "CFLAGS += -D_DEFAULT_SOURCE"
- echo "PREFIX=${EROOT}/usr"
- echo "DOCDIR=\$(PREFIX)/share/doc/${PF}"
- echo "ETCDIR=${EROOT}/etc/${PN}"
- echo "LIBDIR=\$(PREFIX)/$(get_libdir)"
- echo "VARDIR=${EROOT}/var/cache/${PN}"
- echo "X11_PREFIX=${EROOT}/usr"
- echo "STRIPPROG=true"
- echo "CC=$(tc-getCC)"
- echo "AR=$(tc-getAR)"
- echo "RANLIB=$(tc-getRANLIB)"
- echo "LUA_MANUAL=1"
- echo "LUA=${LUA}"
- echo "LUAC=/usr/bin/luac5.1"
- echo "LUA_LIBS=$(lua_get_LIBS)"
- echo "LUA_INCLUDES=$(lua_get_CFLAGS)"
- use nls || echo "DEFINES+=-DCF_NO_LOCALE -DCF_NO_GETTEXT"
- } > system-local.mk
-
- if ! use xinerama ; then
- sed -e 's/mod_xinerama//g' -i modulelist.mk || die
- fi
-
- if ! use xrandr ; then
- sed -e 's/mod_xrandr//g' -i modulelist.mk || die
- sed -e '/mod_xrandr/d' \
- -i etc/cfg_defaults.lua || die
- fi
-}
-
-src_install() {
- default
-
- exeinto /etc/X11/Sessions
- doexe "${FILESDIR}"/notion
-
- insinto /usr/share/xsessions
- doins "${FILESDIR}"/notion.desktop
-
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-}
-
-DOC_CONTENTS="If you want notion to have an ability to view a file based on its
-guessed MIME type you should emerge app-misc/run-mailcap."
diff --git a/x11-wm/notion/notion-4.0.2_p20220613.ebuild b/x11-wm/notion/notion-4.0.2_p20220613.ebuild
new file mode 100644
index 000000000000..6ba63e41d144
--- /dev/null
+++ b/x11-wm/notion/notion-4.0.2_p20220613.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-4 )
+
+inherit lua-single toolchain-funcs readme.gentoo-r1
+
+DESCRIPTION="Notion is a tiling, tabbed window manager for the X window system"
+HOMEPAGE="https://notionwm.net/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/raboof/${PN}.git"
+else
+ inherit vcs-snapshot
+ COMMIT="f161c1b4dbba1ac81d8e9c3d7e5e353058a4d7d1"
+ SRC_URI="https://github.com/raboof/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="nls xinerama +xrandr"
+# needs slingshot,... not in tree
+RESTRICT="test"
+# mod_xrandr references mod_xinerama
+REQUIRED_USE="
+ ${LUA_REQUIRED_USE}
+ xrandr? ( xinerama )"
+
+RDEPEND="
+ ${LUA_DEPS}
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ nls? ( sys-devel/gettext )
+ xinerama? ( x11-libs/libXinerama )
+ xrandr? ( x11-libs/libXrandr )"
+DEPEND="${RDEPEND}"
+# luac is called at build time
+BDEPEND="
+ ${LUA_DEPS}
+ virtual/pkgconfig"
+
+src_configure() {
+ tc-export AR CC PKG_CONFIG
+ export INSTALL_STRIP=""
+
+ cat > system-local.mk <<- _EOF_ || die
+ PREFIX=${EPREFIX}/usr
+ DOCDIR=\$(PREFIX)/share/doc/${PF}
+ ETCDIR=${EPREFIX}/etc/${PN}
+ LIBDIR=\$(PREFIX)/$(get_libdir)
+ VARDIR=${EPREFIX}/var/cache/${PN}
+ LUA_MANUAL=1
+ LUA=${LUA}
+ LUAC=${BROOT}/usr/bin/${ELUA/lua/luac}
+ LUA_LIBS=$(lua_get_LIBS)
+ LUA_INCLUDES=$(lua_get_CFLAGS)
+ $(usev !nls "DEFINES+=-DCF_NO_LOCALE -DCF_NO_GETTEXT")
+ _EOF_
+
+ if ! use xinerama ; then
+ sed -e 's/mod_xinerama//g' -i modulelist.mk || die
+ fi
+
+ if ! use xrandr ; then
+ sed -e 's/mod_xrandr//g' -i modulelist.mk || die
+ sed -e '/mod_xrandr/d' -i etc/cfg_defaults.lua || die
+ fi
+}
+
+src_install() {
+ default
+
+ exeinto /etc/X11/Sessions
+ doexe "${FILESDIR}"/notion
+
+ insinto /usr/share/xsessions
+ doins "${FILESDIR}"/notion.desktop
+
+ local DOC_CONTENTS="
+ If you want notion to have an ability to view a file based on its
+ guessed MIME type you should emerge app-misc/run-mailcap."
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/x11-wm/notion/notion-9999.ebuild b/x11-wm/notion/notion-9999.ebuild
index 56c03dbb134d..3bc5247a3ad3 100644
--- a/x11-wm/notion/notion-9999.ebuild
+++ b/x11-wm/notion/notion-9999.ebuild
@@ -1,22 +1,36 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-LUA_COMPAT=( lua5-{1..2} )
+LUA_COMPAT=( lua5-4 )
-inherit git-r3 lua-single toolchain-funcs readme.gentoo-r1
+inherit lua-single toolchain-funcs readme.gentoo-r1
DESCRIPTION="Notion is a tiling, tabbed window manager for the X window system"
HOMEPAGE="https://notionwm.net/"
-EGIT_REPO_URI="https://github.com/raboof/${PN}.git"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/raboof/${PN}.git"
+else
+ SRC_URI="https://github.com/raboof/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS=""
IUSE="nls xinerama +xrandr"
+# needs slingshot,... not in tree
+RESTRICT="test"
+# mod_xrandr references mod_xinerama
+REQUIRED_USE="
+ ${LUA_REQUIRED_USE}
+ xrandr? ( xinerama )"
-RDEPEND="${LUA_DEPS}
+RDEPEND="
+ ${LUA_DEPS}
x11-libs/libSM
x11-libs/libX11
x11-libs/libXext
@@ -25,44 +39,27 @@ RDEPEND="${LUA_DEPS}
xrandr? ( x11-libs/libXrandr )"
DEPEND="${RDEPEND}"
# luac is called at build time
-BDEPEND="${LUA_DEPS}
+BDEPEND="
+ ${LUA_DEPS}
virtual/pkgconfig"
-# mod_xrandr references mod_xinerama
-REQUIRED_USE="${LUA_REQUIRED_USE}
- xrandr? ( xinerama )"
-
-# needs slingshot,... not in tree
-RESTRICT=test
-
-src_prepare() {
- default
-
- sed -e "/^CFLAGS/{s: =: +=: ; s:-Os:: ; s:-g::}" \
- -e "/^LDFLAGS/{s: =: +=: ; s:-Wl,--as-needed::}" \
- -i system-autodetect.mk || die
- echo > build/lua-detect.mk
-}
-
src_configure() {
- { echo "CFLAGS += -D_DEFAULT_SOURCE"
- echo "PREFIX=${EROOT}/usr"
- echo "DOCDIR=\$(PREFIX)/share/doc/${PF}"
- echo "ETCDIR=${EROOT}/etc/${PN}"
- echo "LIBDIR=\$(PREFIX)/$(get_libdir)"
- echo "VARDIR=${EROOT}/var/cache/${PN}"
- echo "X11_PREFIX=${EROOT}/usr"
- echo "STRIPPROG=true"
- echo "CC=$(tc-getCC)"
- echo "AR=$(tc-getAR)"
- echo "RANLIB=$(tc-getRANLIB)"
- echo "LUA_MANUAL=1"
- echo "LUA=${LUA}"
- echo "LUAC=luac"
- echo "LUA_LIBS=$(lua_get_LIBS)"
- echo "LUA_INCLUDES=$(lua_get_CFLAGS)"
- use nls || echo "DEFINES+=-DCF_NO_LOCALE -DCF_NO_GETTEXT"
- } > system-local.mk
+ tc-export AR CC PKG_CONFIG
+ export INSTALL_STRIP=""
+
+ cat > system-local.mk <<- _EOF_ || die
+ PREFIX=${EPREFIX}/usr
+ DOCDIR=\$(PREFIX)/share/doc/${PF}
+ ETCDIR=${EPREFIX}/etc/${PN}
+ LIBDIR=\$(PREFIX)/$(get_libdir)
+ VARDIR=${EPREFIX}/var/cache/${PN}
+ LUA_MANUAL=1
+ LUA=${LUA}
+ LUAC=${BROOT}/usr/bin/${ELUA/lua/luac}
+ LUA_LIBS=$(lua_get_LIBS)
+ LUA_INCLUDES=$(lua_get_CFLAGS)
+ $(usev !nls "DEFINES+=-DCF_NO_LOCALE -DCF_NO_GETTEXT")
+ _EOF_
if ! use xinerama ; then
sed -e 's/mod_xinerama//g' -i modulelist.mk || die
@@ -70,8 +67,7 @@ src_configure() {
if ! use xrandr ; then
sed -e 's/mod_xrandr//g' -i modulelist.mk || die
- sed -e '/mod_xrandr/d' \
- -i etc/cfg_defaults.lua || die
+ sed -e '/mod_xrandr/d' -i etc/cfg_defaults.lua || die
fi
}
@@ -84,12 +80,12 @@ src_install() {
insinto /usr/share/xsessions
doins "${FILESDIR}"/notion.desktop
+ local DOC_CONTENTS="
+ If you want notion to have an ability to view a file based on its
+ guessed MIME type you should emerge app-misc/run-mailcap."
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}
-
-DOC_CONTENTS="If you want notion to have an ability to view a file based on its
-guessed MIME type you should emerge app-misc/run-mailcap."
diff --git a/x11-wm/openbox/files/openbox-3.6.1-getgrent-to-getgroups.patch b/x11-wm/openbox/files/openbox-3.6.1-getgrent-to-getgroups.patch
new file mode 100644
index 000000000000..4634b5a03028
--- /dev/null
+++ b/x11-wm/openbox/files/openbox-3.6.1-getgrent-to-getgroups.patch
@@ -0,0 +1,67 @@
+Gentoo: https://bugs.gentoo.org/827227
+Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=808138
+Upstream: https://bugzilla.icculus.org/show_bug.cgi?id=5978
+
+>From e0cb404f53c9b21a521ea2f14c8cd66fdfb68ea7 Mon Sep 17 00:00:00 2001
+From: Simon <simondobbss@gmail.com>
+Date: Tue, 15 Dec 2015 15:46:18 +0100
+Subject: [PATCH] Replace getgrent with getgroups. Fixes #5978.
+
+---
+ obt/paths.c | 34 +++++++++++++++++++++-------------
+ 1 file changed, 21 insertions(+), 13 deletions(-)
+
+diff --git a/obt/paths.c b/obt/paths.c
+index 25cb6b0..d526936 100644
+--- a/obt/paths.c
++++ b/obt/paths.c
+@@ -108,25 +108,33 @@ static void find_uid_gid(uid_t *u, gid_t **g, guint *n)
+ const gchar *name;
+ struct group *gr;
+
++ gid_t gmain;
++ unsigned int maininc;
++ int i;
++
+ *u = getuid();
+ pw = getpwuid(*u);
+ name = pw->pw_name;
+
+- *g = g_new(gid_t, *n=1);
+- (*g)[0] = getgid();
+-
+- while ((gr = getgrent())) {
+- if (gr->gr_gid != (*g)[0]) { /* skip the main group */
+- gchar **c;
+- for (c = gr->gr_mem; *c; ++c)
+- if (strcmp(*c, name) == 0) {
+- *g = g_renew(gid_t, *g, ++(*n)); /* save the group */
+- (*g)[*n-1] = gr->gr_gid;
+- break;
+- }
++ gmain = getgid();
++
++ *n = getgroups(0, *g);
++ *g = g_new(gid_t, *n);
++ *n = getgroups(*n, *g);
++
++ /* Check if the effective group ID of the calling process is already
++ included in the returned list. Add it otherwise. */
++ maininc = 0;
++ for (i = 0; i < *n; i++) {
++ if ( (*g)[i] == gmain ) {
++ maininc = 1;
++ break;
+ }
+ }
+- endgrent();
++ if (!maininc) {
++ *g = g_renew(gid_t, *g, ++(*n));
++ (*g)[*n-1] = gmain;
++ }
+
+ qsort(*g, *n, sizeof(gid_t), gid_cmp);
+ }
+--
+2.1.4
+
diff --git a/x11-wm/openbox/files/openbox-3.6.1-glib-2.76.patch b/x11-wm/openbox/files/openbox-3.6.1-glib-2.76.patch
new file mode 100644
index 000000000000..65d0dba17300
--- /dev/null
+++ b/x11-wm/openbox/files/openbox-3.6.1-glib-2.76.patch
@@ -0,0 +1,54 @@
+Gentoo Bug: https://bugs.gentoo.org/901777
+Upstream Bug: https://bugzilla.icculus.org/show_bug.cgi?id=6669
+Upstream Commit: https://github.com/Mikachu/openbox/commit/9ed6fdd71890c5cc43747f105382d5677e5d37e7
+
+From 9ed6fdd71890c5cc43747f105382d5677e5d37e7 Mon Sep 17 00:00:00 2001
+From: pldubouilh <pldubouilh@gmail.com>
+Date: Fri, 17 Mar 2023 18:23:47 +0100
+Subject: [PATCH] Fix list traversal issue in client_calc_layer
+
+The calls to client_calc_layer_internal can modify stacking_list, which
+can cause us to follow dangling ->next pointers (either by the pointer
+itself already being freed, or it pointing to a freed area). Avoid this
+by copying the list first, the goal is to visit every client in the list
+once so this should be fine.
+---
+ openbox/client.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/openbox/client.c b/openbox/client.c
+index 7168b2407..b8264587c 100644
+--- a/openbox/client.c
++++ b/openbox/client.c
+@@ -2742,9 +2742,12 @@ static void client_calc_layer_internal(ObClient *self)
+ void client_calc_layer(ObClient *self)
+ {
+ GList *it;
++ /* the client_calc_layer_internal calls below modify stacking_list,
++ so we have to make a copy to iterate over */
++ GList *list = g_list_copy(stacking_list);
+
+ /* skip over stuff above fullscreen layer */
+- for (it = stacking_list; it; it = g_list_next(it))
++ for (it = list; it; it = g_list_next(it))
+ if (window_layer(it->data) <= OB_STACKING_LAYER_FULLSCREEN) break;
+
+ /* find the windows in the fullscreen layer, and mark them not-visited */
+@@ -2757,7 +2760,7 @@ void client_calc_layer(ObClient *self)
+ client_calc_layer_internal(self);
+
+ /* skip over stuff above fullscreen layer */
+- for (it = stacking_list; it; it = g_list_next(it))
++ for (it = list; it; it = g_list_next(it))
+ if (window_layer(it->data) <= OB_STACKING_LAYER_FULLSCREEN) break;
+
+ /* now recalc any windows in the fullscreen layer which have not
+@@ -2768,6 +2771,8 @@ void client_calc_layer(ObClient *self)
+ !WINDOW_AS_CLIENT(it->data)->visited)
+ client_calc_layer_internal(it->data);
+ }
++
++ g_list_free(it);
+ }
+
+ gboolean client_should_show(ObClient *self)
diff --git a/x11-wm/openbox/metadata.xml b/x11-wm/openbox/metadata.xml
index 716db565e9a5..64a73c5ce74f 100644
--- a/x11-wm/openbox/metadata.xml
+++ b/x11-wm/openbox/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>lxqt@gentoo.org</email>
diff --git a/x11-wm/openbox/openbox-3.6.1-r3.ebuild b/x11-wm/openbox/openbox-3.6.1-r5.ebuild
index 5a00c19811e0..2805aebf7192 100644
--- a/x11-wm/openbox/openbox-3.6.1-r3.ebuild
+++ b/x11-wm/openbox/openbox-3.6.1-r5.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{9..11})
inherit autotools python-single-r1
DESCRIPTION="Standards compliant, fast, light-weight, extensible window manager"
@@ -11,10 +11,10 @@ HOMEPAGE="http://openbox.org/wiki/Main_Page"
if [[ ${PV} == *9999* ]]; then
inherit git-r3
- EGIT_REPO_URI="git://git.openbox.org/dana/openbox"
+ EGIT_REPO_URI="https://github.com/Mikachu/openbox.git"
else
SRC_URI="http://openbox.org/dist/openbox/${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 sparc x86 ~x86-linux"
+ 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 )"
@@ -47,7 +47,7 @@ RDEPEND="
xdg? (
${PYTHON_DEPS}
$(python_gen_cond_dep '
- dev-python/pyxdg[${PYTHON_MULTI_USEDEP}]
+ dev-python/pyxdg[${PYTHON_USEDEP}]
')
)
"
@@ -59,6 +59,10 @@ 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"
+ # 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() {
diff --git a/x11-wm/openbox/openbox-3.6.1-r8.ebuild b/x11-wm/openbox/openbox-3.6.1-r8.ebuild
new file mode 100644
index 000000000000..96e08a0e031c
--- /dev/null
+++ b/x11-wm/openbox/openbox-3.6.1-r8.ebuild
@@ -0,0 +1,126 @@
+# 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="https://github.com/Mikachu/openbox.git"
+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"
+ # 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() {
+ 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() {
+ exeinto /etc/X11/Sessions
+ newexe - ${PN} <<-EOF
+ #!/bin/sh
+ openbox-session
+ EOF
+
+ 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-9999.ebuild b/x11-wm/openbox/openbox-9999.ebuild
index f608dddb2d71..ee0aaca94942 100644
--- a/x11-wm/openbox/openbox-9999.ebuild
+++ b/x11-wm/openbox/openbox-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{9..11})
inherit autotools python-single-r1
DESCRIPTION="Standards compliant, fast, light-weight, extensible window manager"
@@ -11,10 +11,10 @@ HOMEPAGE="http://openbox.org/wiki/Main_Page"
if [[ ${PV} == *9999* ]]; then
inherit git-r3
- EGIT_REPO_URI="git://git.openbox.org/dana/openbox"
+ EGIT_REPO_URI="https://github.com/Mikachu/openbox.git"
else
SRC_URI="http://openbox.org/dist/openbox/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-linux"
+ 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 )"
@@ -47,7 +47,7 @@ RDEPEND="
xdg? (
${PYTHON_DEPS}
$(python_gen_cond_dep '
- dev-python/pyxdg[${PYTHON_MULTI_USEDEP}]
+ dev-python/pyxdg[${PYTHON_USEDEP}]
')
)
"
@@ -59,6 +59,10 @@ 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"
+ # 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() {
@@ -97,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/oroborus/metadata.xml b/x11-wm/oroborus/metadata.xml
index 5ec5a71660ce..191494d6555a 100644
--- a/x11-wm/oroborus/metadata.xml
+++ b/x11-wm/oroborus/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription>
+ <!-- maintainer-needed -->
+ <longdescription>
Oroborus is a small and simple but configurable and themeable window
manager. There is no fancy dock, clip, wharf, or root menu - these
utilities can be provided by other programs. It has support for GNOME
diff --git a/x11-wm/oroborus/oroborus-2.0.20-r1.ebuild b/x11-wm/oroborus/oroborus-2.0.20-r2.ebuild
index 1c0dec3cece9..45d223b8d592 100644
--- a/x11-wm/oroborus/oroborus-2.0.20-r1.ebuild
+++ b/x11-wm/oroborus/oroborus-2.0.20-r2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
DESCRIPTION="Small and fast window manager"
HOMEPAGE="https://www.oroborus.org"
diff --git a/x11-wm/page/Manifest b/x11-wm/page/Manifest
index 78488740ed59..b7a8d7444191 100644
--- a/x11-wm/page/Manifest
+++ b/x11-wm/page/Manifest
@@ -1,2 +1 @@
-DIST page-1.9.8.tar.gz 162352 BLAKE2B acde0feb62d58f66708ec09545137978540fb8c5fab651961b6e87d7c9d7be3170b8e2171c80ec553a9059ae2c23869759f37953da783be3a8fb3ea471e8b15b SHA512 758b1efbecb6d0a3d6ea0f7261b1c55db0927aa46d871f1a30b77e5aa7b9819ae74ca6fb821692656f2150da758793ba5653bdd94ab92ba2b79b39e0d4a4882e
-DIST page-1.9.9-r1.tar.gz 1009216 BLAKE2B 8248705f9e5eceaeea37889a9859249d9eb236f215da804f5edad3c36007179f63f132c161c1e4a6a97df6240f87799242140c97877775ae00f2e86dd7eed69d SHA512 9e7594590b1fdeadcf59d715d30727bee9f640903a34cadd8c0d92b3e94059c183d931a7d8e96763adb74f59a94acb03f7bfbbd4f1f8b57371fe886e6a227012
+DIST page-1.9.10.tar.gz 550021 BLAKE2B e42ce482b9f7da70f69fa08557e7327d51a8a02a6e4d76adb9a50787ae20fe0bfe22e25bc9413156c0812f6708fe7e0e1c2e59e6bd9d7a16be8f52caf6a3ab34 SHA512 243d59d66d4a57a2141ebc953a271b9dd0202fd495a5aabb4245cb7d9979b97438a16a5f19c1eecea3596252ee68dd96a1a6fd052e4b706ab2c62678a5d3a9f0
diff --git a/x11-wm/page/metadata.xml b/x11-wm/page/metadata.xml
index 18f0e72c5a6c..4afab3dd1cc5 100644
--- a/x11-wm/page/metadata.xml
+++ b/x11-wm/page/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>gschwind@gnu-log.net</email>
@@ -9,8 +9,4 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
- <maintainer type="person">
- <email>monsieurp@gentoo.org</email>
- <name>Patrice Clement</name>
- </maintainer>
</pkgmetadata>
diff --git a/x11-wm/page/page-1.9.9-r3.ebuild b/x11-wm/page/page-1.9.10-r1.ebuild
index d69704305042..9dcfac0380fd 100644
--- a/x11-wm/page/page-1.9.9-r3.ebuild
+++ b/x11-wm/page/page-1.9.10-r1.ebuild
@@ -1,20 +1,18 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-
-inherit autotools
+EAPI=8
DESCRIPTION="A mouse friendly tiling window manager"
-HOMEPAGE="https://www.hzog.net/index.php/Main_Page"
-SRC_URI="http://www.hzog.net/pub/${PN}-1.9.9-r1.tar.gz"
+HOMEPAGE="https://github.com/gschwind/page"
+SRC_URI="https://github.com/gschwind/page/releases/download/${PV}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~riscv ~x86"
RDEPEND="
- >=x11-libs/libxcb-1.11[xkb]
+ >=x11-libs/libxcb-1.11
>=x11-libs/xcb-util-0.4.0
>=x11-libs/libXfixes-5.0.3
>=x11-libs/libXdamage-1.1.4-r1
@@ -22,27 +20,21 @@ RDEPEND="
>=x11-libs/libXcomposite-0.4.4-r1
>=x11-libs/libXrender-0.9.10
>=x11-libs/libXext-1.3.3
- >=x11-libs/cairo-1.14.6[X,xcb(+)]
+ >=x11-libs/cairo-1.14.6[X]
>=x11-libs/pango-1.40.5
>=dev-libs/glib-2.50.3-r1:2"
-
DEPEND="${RDEPEND}
>=x11-base/xcb-proto-1.12-r2
x11-base/xorg-proto"
-src_prepare() {
- default
- eautoreconf
-}
-
src_install() {
default
# Solves file collision with dev-tcltk/tcllib, bug #574074
ebegin "Changing references from 'page' to 'pagewm'"
- mv "${D}"usr/bin/page "${D}"usr/bin/pagewm || die "Could not rename binary!"
- sed -i -e "s:/usr/bin/page:/usr/bin/pagewm:" "${D}"usr/share/applications/page.desktop || die "Could not change .desktop file!"
- eend
+ mv "${ED}"/usr/bin/page "${ED}"/usr/bin/pagewm || die "Could not rename binary!"
+ sed -i -e "s:/usr/bin/page:/usr/bin/pagewm:" "${ED}"/usr/share/applications/page.desktop || die "Could not change .desktop file!"
+ eend $?
}
pkg_postinst() {
diff --git a/x11-wm/page/page-1.9.8.ebuild b/x11-wm/page/page-1.9.10.ebuild
index 8fcd55186a3b..698301c6a483 100644
--- a/x11-wm/page/page-1.9.8.ebuild
+++ b/x11-wm/page/page-1.9.10.ebuild
@@ -1,17 +1,15 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-
-inherit autotools
+EAPI=8
DESCRIPTION="A mouse friendly tiling window manager"
HOMEPAGE="https://github.com/gschwind/page"
-SRC_URI="https://github.com/gschwind/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/gschwind/page/releases/download/${PV}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~riscv ~x86"
RDEPEND="
>=x11-libs/libxcb-1.11[xkb]
@@ -25,24 +23,18 @@ RDEPEND="
>=x11-libs/cairo-1.14.6[X,xcb(+)]
>=x11-libs/pango-1.40.5
>=dev-libs/glib-2.50.3-r1:2"
-
DEPEND="${RDEPEND}
>=x11-base/xcb-proto-1.12-r2
x11-base/xorg-proto"
-src_prepare() {
- default
- eautoreconf
-}
-
src_install() {
default
# Solves file collision with dev-tcltk/tcllib, bug #574074
ebegin "Changing references from 'page' to 'pagewm'"
- mv "${D}"usr/bin/page "${D}"usr/bin/pagewm || die "Could not rename binary!"
- sed -i -e "s:/usr/bin/page:/usr/bin/pagewm:" "${D}"usr/share/applications/page.desktop || die "Could not change .desktop file!"
- eend
+ mv "${ED}"/usr/bin/page "${ED}"/usr/bin/pagewm || die "Could not rename binary!"
+ sed -i -e "s:/usr/bin/page:/usr/bin/pagewm:" "${ED}"/usr/share/applications/page.desktop || die "Could not change .desktop file!"
+ eend $?
}
pkg_postinst() {
diff --git a/x11-wm/pekwm/Manifest b/x11-wm/pekwm/Manifest
index 7ced27df08e8..4738666797b2 100644
--- a/x11-wm/pekwm/Manifest
+++ b/x11-wm/pekwm/Manifest
@@ -1,2 +1,4 @@
-DIST pekwm-0.1.17.tar.gz 429100 BLAKE2B 2b467539ef47f4404411f25146f9f945f9a63b7e4c85c997ed2cd0bf76ea713758e3a09dc9648064c02ab29818399623d12d78394f250c79f8f667a6e057281c SHA512 1950888402f11c5cd72c9d82de976c472d4a0443da206629a039d19a1729660fd7cd09535d35984d554dcdb366918d9e29536b1272521f36f7e54499df0c14af
+DIST pekwm-0.1.18.tar.gz 441810 BLAKE2B 8c3e98490681eed68e0f127c38c1653f8d643ceca2ddf8388f6b434d16daeb376fc9337de71786a658e9d9e7a080de922207173edb624b78732bc14da5d42eeb SHA512 31fe291b245b6e13fdfe27878162fd405fd60a766e9a7e762e817391179e7f82c41b664fba568af91e009582729e4633d23f76db95302f6f702cb74c2571db15
+DIST pekwm-0.2.1.tar.gz 943072 BLAKE2B 61a278a42517de4b2924c6e0cffdd0b112c3a1a52b70e24d6ed852a8e5005f76b4eb9a342af073481404fae68265452b140ea19539723733ec860f7cbd615598 SHA512 cefb5abb43f88cff874f12586f0f2c0b88d30fd0ce22c6e18731b11055abea389819a08a4e85a9290021ffe30708ea210c66a0f3f8c263717c05abd798fdf297
+DIST pekwm-0.3.0.tar.gz 1210295 BLAKE2B 2882d8f9103fbfdad12d3dc519b3468a3d85e622e1f4352ccf7849a02f9f7d2f6a1c039d0e9df75ffd58a063f866fe8998eb10bc7e1c2a1766a9056328b136de SHA512 7b59f6883cc449a4a4e11fa1d2629c76b26bac0ad12f7c7e02da2b79292dd5515915152e9955875d3335deca4cf590d7078645bcf59bdad7ce0f65929b315b43
DIST pekwm-themes.tar.bz2 138599 BLAKE2B b0c103d7ade6f9bb1ed19b7e12cfcf00fb48be7e1ed141a4b52aee404ebf9c7af5d29af166ff7265a720ca8d122ad7eddb6eaf42a0a8e18b6c1ff3af7b5e12d0 SHA512 c95bc980b5aeeb4f4832cb2dbbf82adf72e4a784fcd46432fd6e6a6577ef02823ec1c4b861d07747c066050fc5040aca975e2cdc78342abab99a3d486888a25d
diff --git a/x11-wm/pekwm/metadata.xml b/x11-wm/pekwm/metadata.xml
index aa4415c0c533..2a9cfd89dd02 100644
--- a/x11-wm/pekwm/metadata.xml
+++ b/x11-wm/pekwm/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>linbug+gbz@posteo.org</email>
- <name>Andreas Schlick</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription>
Pekwm is a window manager based on aewm++, but it no longer resembles
it. It is highly configurable, rather fast, and aimed towards being
@@ -19,6 +12,10 @@
</longdescription>
<use>
<flag name="contrib">Install optional extras in the documentation directory</flag>
+ <flag name="pango">Pango font support</flag>
<flag name="themes">Install additional themes</flag>
</use>
+ <upstream>
+ <remote-id type="github">pekwm/pekwm</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/x11-wm/pekwm/pekwm-0.1.17-r2.ebuild b/x11-wm/pekwm/pekwm-0.1.18.ebuild
index c733ff0ee361..3b59911447b0 100644
--- a/x11-wm/pekwm/pekwm-0.1.17-r2.ebuild
+++ b/x11-wm/pekwm/pekwm-0.1.18.ebuild
@@ -1,45 +1,43 @@
-# Copyright 1999-2020 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
DESCRIPTION="A lightweight window manager initially based on aewm++"
HOMEPAGE="
- https://www.pekwm.org/
- https://github.com/pekdon/pekwm
+ https://www.pekwm.se/
+ https://github.com/pekwm/pekwm
"
SRC_URI="
- https://github.com/pekdon/${PN}/archive/release-${PV}.tar.gz -> ${P}.tar.gz
- themes? ( https://dev.gentoo.org/~jer/${PN}-themes.tar.bz2 )
+ https://github.com/pekwm/${PN}/archive/release-${PV}.tar.gz -> ${P}.tar.gz
+ themes? ( https://dev.gentoo.org/~jsmolic/distfiles/${PN}-themes.tar.bz2 )
"
+S="${WORKDIR}"/${PN}-release-${PV}
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~mips ppc x86"
IUSE="contrib debug themes truetype xinerama"
-RDEPEND="
- media-libs/libpng:0=
+RDEPEND="media-libs/libpng:0=
virtual/jpeg:0
x11-libs/libXpm
x11-libs/libXrandr
x11-libs/libXrender
truetype? ( x11-libs/libXft )
- xinerama? ( x11-libs/libXinerama )
-"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-S=${WORKDIR}/${PN}-release-${PV}
+ xinerama? ( x11-libs/libXinerama )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
src_prepare() {
+ default
+
if use themes; then
rm "${WORKDIR}"/themes/Ace/.theme.swp || die
fi
- default
eautoreconf
}
@@ -59,8 +57,8 @@ src_install() {
default
# Install contributor scripts into doc folder
- if use contrib ; then
- docinto /usr/share/doc/${PF}/contrib
+ if use contrib; then
+ docinto contrib
dodoc contrib/lobo/{check.png,pekwm_autoprop.pl,pekwm_menu_config.pl} \
contrib/lobo/{pekwm_menu_config.pl.vars,README,uncheck.png}
fi
@@ -81,7 +79,7 @@ src_install() {
pkg_postinst() {
if use contrib ; then
- elog " User contributed scripts have been installed into:"
- elog " /usr/share/doc/${PF}/contrib"
+ elog "User contributed scripts have been installed into:"
+ elog "${EROOT}/usr/share/doc/${PF}/contrib"
fi
}
diff --git a/x11-wm/pekwm/pekwm-0.2.1.ebuild b/x11-wm/pekwm/pekwm-0.2.1.ebuild
new file mode 100644
index 000000000000..9171b886da0a
--- /dev/null
+++ b/x11-wm/pekwm/pekwm-0.2.1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake desktop optfeature
+
+DESCRIPTION="A lightweight window manager initially based on aewm++"
+HOMEPAGE="
+ https://www.pekwm.se/
+ https://github.com/pekwm/pekwm
+"
+SRC_URI="
+ https://github.com/pekwm/${PN}/releases/download/release-${PV}/pekwm-${PV}.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~mips ~ppc x86"
+IUSE="debug +jpeg +png truetype xinerama +xpm"
+
+RDEPEND="
+ x11-libs/libX11
+ x11-libs/libXext
+ jpeg? ( virtual/jpeg:0 )
+ png? ( media-libs/libpng:0 )
+ truetype? ( x11-libs/libXft )
+ xinerama? ( x11-libs/libXinerama )
+ xpm? ( x11-libs/libXpm )"
+
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_IMAGE_JPEG=$(usex jpeg)
+ -DENABLE_IMAGE_PNG=$(usex png)
+ -DENABLE_IMAGE_XPM=$(usex xpm)
+ -DENABLE_XINERAMA=$(usex xinerama)
+ -DENABLE_XFT=$(usex truetype)
+ )
+
+ CMAKE_BUILD_TYPE=$(usex debug Debug)
+
+ cmake_src_configure
+}
+
+src_install() {
+
+ cmake_src_install
+
+ # Install contributor scripts into doc folder
+ docinto contrib
+ dodoc "${S}"/contrib/lobo/*.{pl,vars,png} "${S}"/contrib/lobo/README
+
+ # Insert an Xsession
+ exeinto /etc/X11/Sessions
+ newexe - pekwm <<- _EOF_
+ #!/bin/sh
+ /usr/bin/pekwm
+ _EOF_
+
+ # Insert a GDM/KDM xsession file
+ make_session_desktop ${PN} ${PN}
+}
+
+pkg_postinst() {
+
+ elog "Since pekwm 0.2.0 themes can be installed and maintained using "
+ elog "pekwm_theme [install|uninstall|show|search|new|update]."
+ elog "Check https://www.pekwm.se/themes/ for details."
+
+ elog
+
+ optfeature "themes management (pekwm_theme) support" dev-vcs/git
+
+ elog
+
+ elog "User contributed scripts have been installed into:"
+ elog "${EROOT}/usr/share/doc/${PF}/contrib"
+
+ elog "If updated from previous versions remove '&' from the "
+ elog "'Exec ... &' in the menu configuration. Quote: "
+ elog "\"Exec no longer use sh -c to run commands which will cause "
+ elog "incompatabilites depending on /bin/sh configuration, if shell "
+ elog "variables have been used or the command ends with &. ShellExec has "
+ elog "been added implementing the legacy behaviour.\""
+}
diff --git a/x11-wm/pekwm/pekwm-0.3.0.ebuild b/x11-wm/pekwm/pekwm-0.3.0.ebuild
new file mode 100644
index 000000000000..d6f39d90586f
--- /dev/null
+++ b/x11-wm/pekwm/pekwm-0.3.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake desktop optfeature
+
+DESCRIPTION="A lightweight window manager initially based on aewm++"
+HOMEPAGE="
+ https://www.pekwm.se/
+ https://github.com/pekwm/pekwm
+"
+SRC_URI="
+ https://github.com/pekwm/${PN}/releases/download/release-${PV}/pekwm-${PV}.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~mips ppc x86"
+IUSE="debug +jpeg pango +png truetype xinerama +xpm"
+
+RDEPEND="
+ x11-libs/libX11
+ x11-libs/libXext
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ pango? ( x11-libs/pango x11-libs/cairo[X] )
+ png? ( media-libs/libpng:0= )
+ truetype? ( x11-libs/libXft )
+ xinerama? ( x11-libs/libXinerama )
+ xpm? ( x11-libs/libXpm )"
+
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_IMAGE_JPEG=$(usex jpeg)
+ -DENABLE_IMAGE_PNG=$(usex png)
+ -DENABLE_XINERAMA=$(usex xinerama)
+ -DENABLE_XFT=$(usex truetype)
+ -DENABLE_IMAGE_XPM=$(usex xpm)
+ -DENABLE_PANGO=$(usex pango)
+ )
+
+ CMAKE_BUILD_TYPE=$(usex debug Debug)
+
+ cmake_src_configure
+}
+
+src_install() {
+
+ cmake_src_install
+
+ # Install contributor scripts into doc folder
+ docinto contrib
+ dodoc "${S}"/contrib/lobo/*.{pl,vars,png} "${S}"/contrib/lobo/README
+
+ # Insert an Xsession
+ exeinto /etc/X11/Sessions
+ newexe - pekwm <<- _EOF_
+ #!/bin/sh
+ /usr/bin/pekwm
+ _EOF_
+
+ # Insert a GDM/KDM xsession file
+ make_session_desktop ${PN} ${PN}
+}
+
+pkg_postinst() {
+
+ elog "Since pekwm 0.2.0 themes can be installed and maintained using "
+ elog "pekwm_theme [install|uninstall|show|search|new|update]."
+ elog "Check https://www.pekwm.se/themes/ for details."
+
+ elog
+
+ optfeature "themes management (pekwm_theme) support" dev-vcs/git
+
+ elog
+
+ elog "User contributed scripts have been installed into:"
+ elog "${EROOT}/usr/share/doc/${PF}/contrib"
+
+ elog
+
+ elog "Pekwm supports Pango fonts since 0.3.0."
+}
diff --git a/x11-wm/qtile/Manifest b/x11-wm/qtile/Manifest
index 8bf377ae60bc..5908b4193b7e 100644
--- a/x11-wm/qtile/Manifest
+++ b/x11-wm/qtile/Manifest
@@ -1,2 +1 @@
-DIST qtile-0.15.1.tar.gz 522233 BLAKE2B cb5c35ab6b2e22d36c2ef69a3d6367033440a25a1c06dad5c4d455b67aa1ddf2c639451e051abcd40b5a76e93250a54271408bbe09008b44a5ebf0a520b3eb2e SHA512 57dfeeea212346c14b922303b5d2fd950292383a1da3be6bf5ca0880bedaa3adb7ffc121df617cf763fcd1208c44e34a7ba128a1f2a6e8d3042dd6906ece7e20
-DIST qtile-0.16.1.tar.gz 324668 BLAKE2B 1f75f5dbcab6180dcf778e28108e70b6dd01105fa275aadf4a53d96ab84f3b759cb8553bcf3de2011b0990d61adc9269663afa32b83d1aa9c052b00ef9e89358 SHA512 aea42f7f6799a88b586167a57f5b5ab6f1c5bb663dec352d15eb47ce0d37fb23c31d1631cab8178c71be5ae714ec12c35a350377383dba1749a98cd45c22515b
+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/files/qtile-session b/x11-wm/qtile/files/qtile-session-r1
index 56a96ddd79ea..f16591c87044 100644
--- a/x11-wm/qtile/files/qtile-session
+++ b/x11-wm/qtile/files/qtile-session-r1
@@ -86,4 +86,4 @@ if [ -d /etc/X11/xinit/xinitrc.d ]; then
done
fi
-exec /usr/bin/qtile
+exec /usr/bin/qtile start
diff --git a/x11-wm/qtile/metadata.xml b/x11-wm/qtile/metadata.xml
index 4421807a65e7..c70476126223 100644
--- a/x11-wm/qtile/metadata.xml
+++ b/x11-wm/qtile/metadata.xml
@@ -1,11 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <!-- fallback maintainer, replacement appreciated -->
<maintainer type="person">
- <email>zlogene@gentoo.org</email>
- <name>Mikle Kolyada</name>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
</maintainer>
<upstream>
<remote-id type="github">qtile/qtile</remote-id>
+ <remote-id type="pypi">qtile</remote-id>
</upstream>
</pkgmetadata>
diff --git a/x11-wm/qtile/qtile-0.15.1.ebuild b/x11-wm/qtile/qtile-0.15.1.ebuild
deleted file mode 100644
index afcf3b32b6e2..000000000000
--- a/x11-wm/qtile/qtile-0.15.1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7,8} )
-
-inherit distutils-r1 virtualx
-
-if [[ ${PV} == 9999* ]] ; then
- EGIT_REPO_URI="https://github.com/qtile/qtile.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/qtile/qtile/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~x86"
-fi
-
-DESCRIPTION="A full-featured, hackable tiling window manager written in Python"
-HOMEPAGE="http://qtile.org/"
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="test"
-# docs require sphinxcontrib-blockdiag and sphinxcontrib-seqdiag
-
-RDEPEND="
- x11-libs/cairo[X,xcb(+)]
- x11-libs/pango
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/cairocffi-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/cffi-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/xcffib-0.8.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/xvfbwrapper[${PYTHON_USEDEP}]
- x11-base/xorg-server[xephyr]
- x11-apps/xeyes
- x11-apps/xcalc
- x11-apps/xclock
- )
-"
-
-# display retry backoff slowness and failures
-RESTRICT="test"
-
-python_test() {
- # force usage of built module
- rm -rf "${S}"/libqtile || die
- PYTHONPATH="${BUILD_DIR}/lib" py.test -v "${S}"/test || die "tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGELOG README.rst )
- distutils-r1_python_install_all
-
- insinto /usr/share/xsessions
- doins resources/qtile.desktop
-
- exeinto /etc/X11/Sessions
- newexe "${FILESDIR}"/${PN}-session ${PN}
-}
diff --git a/x11-wm/qtile/qtile-0.16.1.ebuild b/x11-wm/qtile/qtile-0.16.1.ebuild
deleted file mode 100644
index 87156d77f39d..000000000000
--- a/x11-wm/qtile/qtile-0.16.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_SETUPTOOLS=rdepend
-
-PYTHON_COMPAT=( python3_{7,8} )
-
-inherit distutils-r1
-
-DESCRIPTION="A full-featured, hackable tiling window manager written in Python"
-HOMEPAGE="http://qtile.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RESTRICT="test"
-
-# requires internet and specific
-# pulseaudio settings
-
-RDEPEND="
- x11-libs/cairo[X,xcb(+)]
- x11-libs/pango
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- >=dev-python/cairocffi-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/cffi-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/xcffib-0.8.1[${PYTHON_USEDEP}]
- media-sound/pulseaudio
-"
-
-python_install_all() {
- local DOCS=( CHANGELOG README.rst )
- distutils-r1_python_install_all
-
- insinto /usr/share/xsessions
- doins resources/qtile.desktop
-
- exeinto /etc/X11/Sessions
- newexe "${FILESDIR}"/${PN}-session ${PN}
-}
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..3c59d06e2004
--- /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/ratpoison/metadata.xml b/x11-wm/ratpoison/metadata.xml
index c1ffdeb3c898..24cfa2b9e294 100644
--- a/x11-wm/ratpoison/metadata.xml
+++ b/x11-wm/ratpoison/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription>
diff --git a/x11-wm/ratpoison/ratpoison-1.4.9.ebuild b/x11-wm/ratpoison/ratpoison-1.4.9-r3.ebuild
index 2b0a855b17c6..5a548bdf096a 100644
--- a/x11-wm/ratpoison/ratpoison-1.4.9.ebuild
+++ b/x11-wm/ratpoison/ratpoison-1.4.9-r3.ebuild
@@ -1,14 +1,15 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit elisp-common eutils toolchain-funcs
+EAPI=8
+
+inherit elisp-common toolchain-funcs
DESCRIPTION="window manager without mouse dependency"
-HOMEPAGE="http://www.nongnu.org/ratpoison/"
-SRC_URI="http://download.savannah.gnu.org/releases/${PN}/${P}.tar.xz"
+HOMEPAGE="https://www.nongnu.org/ratpoison/"
+SRC_URI="https://download.savannah.gnu.org/releases/${PN}/${P}.tar.xz"
-LICENSE="GPL-2"
+LICENSE="GPL-2+ || ( GPL-2+ FDL-1.2+ )"
SLOT="0"
KEYWORDS="amd64 ~hppa ppc x86 ~amd64-linux ~x86-linux"
IUSE="debug emacs +history sloppy +xft +xrandr"
@@ -18,14 +19,15 @@ RDEPEND="
history? ( sys-libs/readline:= )
xft? ( x11-libs/libXft )
xrandr? ( x11-libs/libXrandr )
- virtual/perl-Pod-Parser
+ dev-perl/Pod-Parser
+ x11-libs/libX11
x11-libs/libXtst
"
DEPEND="
${RDEPEND}
- virtual/pkgconfig
x11-base/xorg-proto
"
+BDEPEND="virtual/pkgconfig"
SITEFILE=50ratpoison-gentoo.el
DOCS=(
@@ -52,7 +54,7 @@ src_configure() {
src_compile() {
emake CFLAGS="${CFLAGS}"
if use emacs; then
- elisp-compile contrib/ratpoison.el || die
+ elisp-compile contrib/ratpoison.el
fi
if use sloppy; then
@@ -81,7 +83,7 @@ src_install() {
dodoc contrib/{genrpbindings,split.sh} \
doc/{ipaq.ratpoisonrc,sample.ratpoisonrc}
- rm -rf "${ED}/usr/share/"{doc/ratpoison,ratpoison}
+ rm -rf "${ED}/usr/share/"{doc/ratpoison,ratpoison} || die
if use emacs; then
elisp-install ${PN} contrib/ratpoison.*
diff --git a/x11-wm/ratpoison/ratpoison-9999.ebuild b/x11-wm/ratpoison/ratpoison-9999.ebuild
index 6b3032fb05c2..20380c32fc12 100644
--- a/x11-wm/ratpoison/ratpoison-9999.ebuild
+++ b/x11-wm/ratpoison/ratpoison-9999.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
inherit autotools elisp-common git-r3 toolchain-funcs
DESCRIPTION="window manager without mouse dependency"
HOMEPAGE="https://www.nongnu.org/ratpoison/"
EGIT_REPO_URI="https://git.savannah.gnu.org/git/ratpoison.git"
-LICENSE="GPL-2"
+LICENSE="GPL-2+ || ( GPL-2+ FDL-1.2+ )"
SLOT="0"
-KEYWORDS=""
IUSE="debug emacs +history sloppy +xft +xrandr"
RDEPEND="
@@ -18,14 +18,15 @@ RDEPEND="
history? ( sys-libs/readline:= )
xft? ( x11-libs/libXft )
xrandr? ( x11-libs/libXrandr )
- virtual/perl-Pod-Parser
+ dev-perl/Pod-Parser
+ x11-libs/libX11
x11-libs/libXtst
"
DEPEND="
${RDEPEND}
- virtual/pkgconfig
x11-base/xorg-proto
"
+BDEPEND="virtual/pkgconfig"
SITEFILE=50ratpoison-gentoo.el
DOCS=(
@@ -35,13 +36,13 @@ DOCS=(
README
TODO
)
+
PATCHES=(
"${FILESDIR}"/ratpoison.el-gentoo.patch
)
src_prepare() {
default
-
eautoreconf
}
@@ -57,7 +58,7 @@ src_configure() {
src_compile() {
emake CFLAGS="${CFLAGS}"
if use emacs; then
- elisp-compile contrib/ratpoison.el || die
+ elisp-compile contrib/ratpoison.el
fi
if use sloppy; then
@@ -86,7 +87,7 @@ src_install() {
dodoc contrib/{genrpbindings,split.sh} \
doc/{ipaq.ratpoisonrc,sample.ratpoisonrc}
- rm -rf "${ED}/usr/share/"{doc/ratpoison,ratpoison}
+ rm -rf "${ED}/usr/share/"{doc/ratpoison,ratpoison} || die
if use emacs; then
elisp-install ${PN} contrib/ratpoison.*
diff --git a/x11-wm/sawfish/Manifest b/x11-wm/sawfish/Manifest
deleted file mode 100644
index 13782a10b441..000000000000
--- a/x11-wm/sawfish/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sawfish_1.12.90.tar.xz 2602372 BLAKE2B 180d3ed1081fffa0fe6c60c15b96a4b530be1349e162d0b6e7553e753e0462aea89caf7bfe379b1993f883e544e27bb553d259d0348fcceb53619dc54536cc47 SHA512 444cdc21b368d9ffb89e1ccd0377d9ce9d9b42f9bd93aa85ca29763781f90cb393a0c9c8da47ff0a161bf5e3881e6d6895a7c5749761ccc7b4b5a1ed8438c93d
diff --git a/x11-wm/sawfish/files/50sawfish-gentoo.el b/x11-wm/sawfish/files/50sawfish-gentoo.el
deleted file mode 100644
index d1b6006e6307..000000000000
--- a/x11-wm/sawfish/files/50sawfish-gentoo.el
+++ /dev/null
@@ -1,7 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
-(autoload 'sawfish-mode "sawfish" nil t)
-(autoload 'sawfish-interaction "sawfish" nil t)
-(autoload 'sawfish-console "sawfish" nil t)
-(add-to-list 'auto-mode-alist '("\\.sawfishrc\\'" . sawfish-mode))
-(add-to-list 'auto-mode-alist '("\\.jl\\'" . sawfish-mode))
-(add-to-list 'auto-mode-alist '("\\.sawfish/rc\\'" . sawfish-mode))
diff --git a/x11-wm/sawfish/files/sawfish-1.12.0-desktop.patch b/x11-wm/sawfish/files/sawfish-1.12.0-desktop.patch
deleted file mode 100644
index 305155418c6b..000000000000
--- a/x11-wm/sawfish/files/sawfish-1.12.0-desktop.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -ur sawfish_1.12.0.orig/data/sawfish-config.desktop sawfish_1.12.0/data/sawfish-config.desktop
---- sawfish_1.12.0.orig/data/sawfish-config.desktop 2016-08-13 11:26:23.000000000 +0300
-+++ sawfish_1.12.0/data/sawfish-config.desktop 2016-08-13 12:02:33.283152716 +0300
-@@ -3,4 +3,4 @@
- Name=Sawfish Config
- Exec=sawfish-config
- GenericName=Sawfish Config
--Categories=Utility;Applet;
-+Categories=Settings;DesktopSettings;
-diff -ur sawfish_1.12.0.orig/data/sawfish.desktop sawfish_1.12.0/data/sawfish.desktop
---- sawfish_1.12.0.orig/data/sawfish.desktop 2016-08-13 11:26:23.000000000 +0300
-+++ sawfish_1.12.0/data/sawfish.desktop 2016-08-13 12:02:31.790154154 +0300
-@@ -4,5 +4,5 @@
- Name[el]=Πριονόψαρο (Sawfish)
- Exec=sawfish
- GenericName=Sawfish
--Categories=Utility;DesktopUtility;
-+Categories=System;
- Keywords=Window Manager
diff --git a/x11-wm/sawfish/files/sawfish-1.12.0-fno-common.patch b/x11-wm/sawfish/files/sawfish-1.12.0-fno-common.patch
deleted file mode 100644
index 73f58be99eea..000000000000
--- a/x11-wm/sawfish/files/sawfish-1.12.0-fno-common.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/src/functions.c
-+++ b/src/functions.c
-@@ -65,7 +65,7 @@
- # endif
- #endif
-
--DEFSYM(root, "root");
-+extern DEFSYM(root, "root");
- DEFSYM(after_restacking_hook, "after-restacking-hook");
- DEFSYM(position, "position");
- DEFSYM(spacing, "spacing");
---- a/src/flippers.c
-+++ b/src/flippers.c
-@@ -22,10 +22,10 @@
-
- static Window edge_left, edge_right, edge_top, edge_bottom;
-
--DEFSYM(left, "left");
--DEFSYM(right, "right");
--DEFSYM(top, "top");
--DEFSYM(bottom, "bottom");
-+extern DEFSYM(left, "left");
-+extern DEFSYM(right, "right");
-+extern DEFSYM(top, "top");
-+extern DEFSYM(bottom, "bottom");
- DEFSYM(enter_flipper_hook, "enter-flipper-hook");
- DEFSYM(leave_flipper_hook, "leave-flipper-hook");
-
---- a/src/windows.c
-+++ b/src/windows.c
-@@ -75,7 +75,7 @@
- DEFSYM(north, "north");
- DEFSYM(north_east, "north-east");
- DEFSYM(west, "west");
--DEFSYM(center, "center");
-+extern DEFSYM(center, "center");
- DEFSYM(east, "east");
- DEFSYM(south_west, "south-west");
- DEFSYM(south, "south");
diff --git a/x11-wm/sawfish/metadata.xml b/x11-wm/sawfish/metadata.xml
deleted file mode 100644
index 8b8f008e788f..000000000000
--- a/x11-wm/sawfish/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-<!-- uncomment the following block when there is a new primary maintainer
-<maintainer type="project">
- <email>gnu-emacs@gentoo.org</email>
- <description>
- Components installed with USE=emacs.
- Do not assign for anything else.
- </description>
-</maintainer>
--->
-</pkgmetadata>
diff --git a/x11-wm/sawfish/sawfish-1.12.90-r2.ebuild b/x11-wm/sawfish/sawfish-1.12.90-r2.ebuild
deleted file mode 100644
index bf4276d85148..000000000000
--- a/x11-wm/sawfish/sawfish-1.12.90-r2.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_P="${P/-/_}"
-inherit autotools elisp-common l10n xdg-utils
-
-DESCRIPTION="Extensible window manager using a Lisp-based scripting language"
-HOMEPAGE="https://sawfish.fandom.com/wiki/Main_Page"
-SRC_URI="https://download.tuxfamily.org/sawfish/${MY_P}.tar.xz"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="GPL-2 Artistic-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~ia64 ppc ~ppc64 sparc x86"
-IUSE="emacs kde nls xinerama"
-
-RDEPEND="
- >=dev-libs/librep-0.92.1
- >=x11-libs/rep-gtk-0.90.7
- x11-libs/gdk-pixbuf-xlib
- >=x11-libs/gdk-pixbuf-2.42.0:2
- >=x11-libs/gtk+-2.24.0:2
- x11-libs/libICE
- x11-libs/libXext
- x11-libs/libXft
- x11-libs/libXrender
- x11-libs/libXtst
- x11-libs/pango[X]
- emacs? ( >=app-editors/emacs-23.1:* )
- kde? ( kde-frameworks/kdelibs4support )
- nls? ( sys-devel/gettext )
- xinerama? ( x11-libs/libXinerama )
-"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-
-PATCHES=(
- # From Fedora
- "${FILESDIR}"/${PN}-1.12.0-desktop.patch
- "${FILESDIR}"/${PN}-1.12.0-fno-common.patch
-)
-DOCS=(
- AUTHORS ChangeLog CONTRIBUTING doc/AUTOSTART doc/KEYBINDINGS doc/OPTIONS
- doc/XSettings MAINTAINERS NEWS README README.IMPORTANT TODO
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- set -- \
- $(use_with kde kde5session) \
- $(use_with xinerama) \
- --with-gdk-pixbuf \
- --without-kde4session \
- --disable-static
-
- if ! use nls; then
- # Use a space because configure script reads --enable-linguas=""
- # as "install everything". Don't use --disable-linguas, because
- # that means --enable-linguas="no", which means "install
- # Norwegian translations".
- set -- "$@" --enable-linguas=" "
- elif [[ "${LINGUAS+set}" == "set" ]]; then
- strip-linguas -i po
- set -- "$@" --enable-linguas=" ${LINGUAS} "
- else
- set -- "$@" --enable-linguas=""
- fi
-
- econf "$@"
-}
-
-src_compile() {
- default
- use emacs && elisp-compile sawfish.el
-}
-
-src_install() {
- default
-
- find "${ED}" -name '*.la' -delete || die
- find "${ED}/usr/share/man" -name '*.gz' -exec gunzip {} \; || die
-
- if use emacs; then
- elisp-install ${PN} sawfish.{el,elc}
- elisp-site-file-install "${FILESDIR}"/50${PN}-gentoo.el
- fi
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
- xdg_icon_cache_update
-}
diff --git a/x11-wm/selectwm/files/selectwm-0.4.1-autotools.patch b/x11-wm/selectwm/files/selectwm-0.4.1-autotools.patch
new file mode 100644
index 000000000000..11dbcd3b94f0
--- /dev/null
+++ b/x11-wm/selectwm/files/selectwm-0.4.1-autotools.patch
@@ -0,0 +1,26 @@
+* Respect CFLAGS, don't strip binaries
+* Don't check for configure.in (EAPI 8)
+
+http://bugs.gentoo.org/252124
+
+--- a/configure.in
++++ b/configure.in
+@@ -1,6 +1,6 @@
+ dnl Process this file with autoconf to produce a configure script.
+
+-AC_INIT(configure.in)
++AC_INIT
+ AM_INIT_AUTOMAKE(selectwm, 0.4.1)
+ AM_CONFIG_HEADER(config.h)
+ AM_MAINTAINER_MODE
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -10,5 +10,6 @@
+ modify.c modify.h \
+ misc.h define.h
+
+-LIBS = @GTK_LIBS@
+-AM_CFLAGS = -s -O2 -Wall @GTK_CFLAGS@ -DLOCALEDIR=\"$(datadir)/locale\"
++selectwm_LDADD = @GTK_LIBS@
++selectwm_CFLAGS = @GTK_CFLAGS@
++selectwm_CPPFLAGS = -DLOCALEDIR=\"$(datadir)/locale\"
diff --git a/x11-wm/selectwm/files/selectwm-0.4.1-nostrip.patch b/x11-wm/selectwm/files/selectwm-0.4.1-nostrip.patch
deleted file mode 100644
index 4287ca2d2cbb..000000000000
--- a/x11-wm/selectwm/files/selectwm-0.4.1-nostrip.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Respect CFLAGS, don't strip binaries
-
-http://bugs.gentoo.org/show_bug.cgi?id=252124
-
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -10,5 +10,6 @@
- modify.c modify.h \
- misc.h define.h
-
--LIBS = @GTK_LIBS@
--AM_CFLAGS = -s -O2 -Wall @GTK_CFLAGS@ -DLOCALEDIR=\"$(datadir)/locale\"
-+selectwm_LDADD = @GTK_LIBS@
-+selectwm_CFLAGS = @GTK_CFLAGS@
-+selectwm_CPPFLAGS = -DLOCALEDIR=\"$(datadir)/locale\"
diff --git a/x11-wm/selectwm/metadata.xml b/x11-wm/selectwm/metadata.xml
index 6f49eba8f496..85e4ed814fa2 100644
--- a/x11-wm/selectwm/metadata.xml
+++ b/x11-wm/selectwm/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/x11-wm/selectwm/selectwm-0.4.1-r1.ebuild b/x11-wm/selectwm/selectwm-0.4.1-r2.ebuild
index e06d7d38dc00..43301bdf930c 100644
--- a/x11-wm/selectwm/selectwm-0.4.1-r1.ebuild
+++ b/x11-wm/selectwm/selectwm-0.4.1-r2.ebuild
@@ -1,7 +1,8 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
+
inherit autotools
DESCRIPTION="window manager selector tool"
@@ -13,17 +14,16 @@ SLOT="2"
KEYWORDS="amd64 ppc sparc x86"
IUSE="nls"
-DOCS=( AUTHORS README sample.xinitrc )
-
-RDEPEND="x11-libs/gtk+:2
+RDEPEND="
+ x11-libs/gtk+:2
dev-libs/glib:2"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
PATCHES=(
- "${FILESDIR}/${P}-enable-deprecated-gtk.patch"
- "${FILESDIR}/${P}-glibc-2.10.patch"
- "${FILESDIR}/${P}-nostrip.patch"
+ "${FILESDIR}"/${P}-enable-deprecated-gtk.patch
+ "${FILESDIR}"/${P}-glibc-2.10.patch
+ "${FILESDIR}"/${P}-autotools.patch
)
src_prepare() {
@@ -36,3 +36,8 @@ src_configure() {
--program-suffix=2 \
$(use_enable nls)
}
+
+src_install() {
+ default
+ dodoc sample.xinitrc
+}
diff --git a/x11-wm/sithwm/metadata.xml b/x11-wm/sithwm/metadata.xml
index a177aaf005a8..06b97dc4a4ad 100644
--- a/x11-wm/sithwm/metadata.xml
+++ b/x11-wm/sithwm/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/x11-wm/spectrwm/Manifest b/x11-wm/spectrwm/Manifest
index c07c07df991f..f5a58a895ac8 100644
--- a/x11-wm/spectrwm/Manifest
+++ b/x11-wm/spectrwm/Manifest
@@ -1 +1,3 @@
-DIST spectrwm-3.4.1.tar.gz 164507 BLAKE2B 8047e639be3d4a07616f7ef3911765c5d6dd7dbd56c684453db90283faee08aac2cb9e3e20ae42f839582b67b778a4490a04fa21fc90fe489f798c40c517351e SHA512 94d468833124b51fa12b29b173126f10f27dd551d599459e4bea589721b3df6f1f0af0ea67326ed3ad462e1203d3bbcb82032ff83abfa0943ec45afd29dedaa6
+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.4.0-gentoo.patch b/x11-wm/spectrwm/files/spectrwm-3.4.0-gentoo.patch
deleted file mode 100644
index 3b923b6a1256..000000000000
--- a/x11-wm/spectrwm/files/spectrwm-3.4.0-gentoo.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -ur a/linux/Makefile b/linux/Makefile
---- a/linux/Makefile 2020-06-20 07:31:46.794877103 -0500
-+++ b/linux/Makefile 2020-06-20 07:33:10.283526519 -0500
-@@ -12,16 +12,16 @@
- 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 -Wno-uninitialized -g
--MAINT_LDFLAGS = -Wl,--as-needed
-+MAINT_CFLAGS = -std=c99 -Wmissing-prototypes -Wall -Wextra -Wshadow -Wno-uninitialized
-+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 xft)
- BIN_LDLIBS = $(shell $(PKG_CONFIG) --libs x11 x11-xcb xcb-icccm xcb-keysyms xcb-randr xcb-util xcb-xinput xcb-xtest xcursor xft)
- LIB_CFLAGS = -fPIC
diff --git a/x11-wm/spectrwm/files/spectrwm-3.4.1-musl.patch b/x11-wm/spectrwm/files/spectrwm-3.4.1-musl.patch
deleted file mode 100644
index 79c05c8e78a4..000000000000
--- a/x11-wm/spectrwm/files/spectrwm-3.4.1-musl.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff -ur a/linux/linux.c b/linux/linux.c
---- a/linux/linux.c 2020-09-03 07:25:24.937163198 -0500
-+++ b/linux/linux.c 2020-09-03 07:25:35.470882700 -0500
-@@ -1,5 +1,4 @@
- #include <sys/types.h>
--#include <sys/cdefs.h>
-
- #include <errno.h>
- #include <errno.h>
diff --git a/x11-wm/spectrwm/files/spectrwm-3.4.1_p20221224-fix-cflags-ldflags.patch b/x11-wm/spectrwm/files/spectrwm-3.4.1_p20221224-fix-cflags-ldflags.patch
new file mode 100644
index 000000000000..5b880b772440
--- /dev/null
+++ b/x11-wm/spectrwm/files/spectrwm-3.4.1_p20221224-fix-cflags-ldflags.patch
@@ -0,0 +1,25 @@
+diff --git a/linux/Makefile b/linux/Makefile
+index 8466651..a7a5ebd 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 xft)
+ BIN_LDLIBS := $(shell $(PKG_CONFIG) --libs x11 x11-xcb xcb-icccm xcb-keysyms xcb-randr xcb-util xcb-xinput xcb-xtest xcursor xft)
+ LIB_CFLAGS := -fPIC
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/metadata.xml b/x11-wm/spectrwm/metadata.xml
index c67d4dcaca5b..6cdfb9c8435b 100644
--- a/x11-wm/spectrwm/metadata.xml
+++ b/x11-wm/spectrwm/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>bkohler@gentoo.org</email>
<name>Ben Kohler</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">conformal/spectrwm</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/x11-wm/spectrwm/spectrwm-3.4.1_p20230310.ebuild b/x11-wm/spectrwm/spectrwm-3.4.1_p20230310.ebuild
new file mode 100644
index 000000000000..d75cd3672297
--- /dev/null
+++ b/x11-wm/spectrwm/spectrwm-3.4.1_p20230310.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+COMMIT=efc458efa5730680a5ff3805f6cf9d88dc88748b
+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 -> ${PN}-${COMMIT}.tar.gz"
+
+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.4.1_p20221224-fix-cflags-ldflags.patch
+)
+S=${WORKDIR}/${PN}-${COMMIT}
+
+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/spectrwm/spectrwm-3.4.1.ebuild b/x11-wm/spectrwm/spectrwm-3.5.0.ebuild
index 3836663ba0ba..721549a39ae1 100644
--- a/x11-wm/spectrwm/spectrwm-3.4.1.ebuild
+++ b/x11-wm/spectrwm/spectrwm-3.5.0.ebuild
@@ -1,34 +1,38 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-inherit desktop multilib toolchain-funcs
+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"
+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}"/${PN}-3.4.0-gentoo.patch
- "${FILESDIR}"/${PN}-3.4.1-musl.patch
+ "${FILESDIR}"/spectrwm-3.5.0-fix-cflags-ldflags.patch
)
-S=${WORKDIR}/${PN}-${PN^^}_${PV//./_}
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/stumpwm-contrib/metadata.xml b/x11-wm/stumpwm-contrib/metadata.xml
index 9ce8e89e4dd8..7384f42d8e57 100644
--- a/x11-wm/stumpwm-contrib/metadata.xml
+++ b/x11-wm/stumpwm-contrib/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/x11-wm/stumpwm/Manifest b/x11-wm/stumpwm/Manifest
index 2daac8ab8df2..1db2551b1ee8 100644
--- a/x11-wm/stumpwm/Manifest
+++ b/x11-wm/stumpwm/Manifest
@@ -1 +1 @@
-DIST stumpwm-18.05.tar.gz 199467 BLAKE2B d532a531b7ceec7a80be66563dc2f36a6f1957d1e0f014ccf61cac1edf23073370dbe7cf3d7004f6dab144a88a4b54360e82ce7b13bdbc40cba59adfcb8e8af1 SHA512 a28c0af3a82670c0f31a5839227301672cc0706c47fb353355f90f791944556fb6125f3fa4d8547e6fbcf4817cdac5b0fe47de2dbae3a304d631a895af6ddb35
+DIST stumpwm-740e945d742d85aef36e0ed9467de9bbbf5eafd2.tar.gz 273172 BLAKE2B 00756081aed915af18af4534414659e29856bc1a98df2cd35b48bb5bf4f06fe2dc76c4016cbc39e296ff19d51b3e959ef84dbc57972da0a634bc6cb3ca0b881e SHA512 313f430da8ecb7919940b37f2353969c8bf3a3be6a1d380e1655a7a6aebb83a3890cbd99a292a414f71f934adcae1350c24650fe5d5d35cf30788ff392feaac0
diff --git a/x11-wm/stumpwm/metadata.xml b/x11-wm/stumpwm/metadata.xml
index a03de960eba8..dc14e4b896ea 100644
--- a/x11-wm/stumpwm/metadata.xml
+++ b/x11-wm/stumpwm/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription lang="en">
@@ -45,7 +45,6 @@
reevalúe y CONTINÚE!
</longdescription>
<use>
- <flag name="contrib">Install contrib modules</flag>
<flag name="doc">Include documentation</flag>
</use>
<upstream>
diff --git a/x11-wm/stumpwm/stumpwm-18.05.ebuild b/x11-wm/stumpwm/stumpwm-22.05_p20220818.ebuild
index 5f820c4dd92a..ec421ca8a134 100644
--- a/x11-wm/stumpwm/stumpwm-18.05.ebuild
+++ b/x11-wm/stumpwm/stumpwm-22.05_p20220818.ebuild
@@ -1,32 +1,34 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit common-lisp-3 autotools desktop elisp-common xdg-utils
+inherit common-lisp-3 autotools desktop elisp-common optfeature xdg-utils
-DESCRIPTION="Stumpwm is a Window Manager written entirely in Common Lisp."
+MY_COMMIT="740e945d742d85aef36e0ed9467de9bbbf5eafd2"
+
+DESCRIPTION="A Window Manager written entirely in Common Lisp"
HOMEPAGE="https://stumpwm.github.io/"
-SRC_URI="https://github.com/stumpwm/stumpwm/archive/${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/stumpwm/stumpwm/archive/${MY_COMMIT}.tar.gz -> ${PN}-${MY_COMMIT}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="contrib doc emacs"
+IUSE="doc emacs"
+
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
-RESTRICT="strip mirror"
+RESTRICT="strip"
RDEPEND="dev-lisp/alexandria
dev-lisp/cl-ppcre
dev-lisp/clx
>=dev-lisp/sbcl-1.3.0
- emacs? ( >=app-editors/emacs-23.1:* app-emacs/slime )"
-DEPEND="${RDEPEND}
- sys-apps/texinfo
+ emacs? ( >=app-editors/emacs-23.1:* )"
+DEPEND="${RDEPEND}"
+BDEPEND="sys-apps/texinfo
doc? ( virtual/texi2dvi )"
-PDEPEND="contrib? ( x11-wm/stumpwm-contrib )"
-
SITEFILE=70${PN}-gentoo.el
CLPKGDIR="${CLSOURCEROOT}/${CLPACKAGE}"
@@ -52,7 +54,7 @@ src_configure() {
}
src_compile() {
- emake
+ emake -j1
}
src_install() {
@@ -69,6 +71,7 @@ src_install() {
pkg_postinst() {
use emacs && elisp-site-regen
+ optfeature "extension modules" x11-wm/stumpwm-contrib
}
pkg_postrm() {
diff --git a/x11-wm/subtle/Manifest b/x11-wm/subtle/Manifest
deleted file mode 100644
index b7b2d1fa0695..000000000000
--- a/x11-wm/subtle/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST subtle-0.11.3244.tar.gz 190549 BLAKE2B bb4b78165741ef30c1e9e145d4f26c8903d597dfa210688246210bb6f04ffb8b62b9295ffdfd0829f1c36019287ff82677253daf87878562b7ba55a517fb00ce SHA512 3d6edd5cb1b5dcd058caeddf3ead024c7cce39684baca8bac9709683ce3130a5c8433cbe046d28dc7420637dd855a2b6775638097f78a5e701bb85e505e8167c
diff --git a/x11-wm/subtle/metadata.xml b/x11-wm/subtle/metadata.xml
deleted file mode 100644
index 58b7a8b3fd20..000000000000
--- a/x11-wm/subtle/metadata.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription lang="en">
- subtle is a manual tiling window manager with a rather uncommon approach
- of tiling: Instead of relying on predefined layouts, subtle divides the
- screen into a grid with customizeable slots (called gravities). For
- better understanding, the default config uses a 3x3 grid and maps each
- gravity to one key of the numpad. With those keys, windows can be moved
- directly to the desired gravity - the same can be done with tagging
- rules in the config.
-
- Another unique concept is the strict tagging: Unlike other tiling window
- managers, subtle doesn't allow weak tagging and always maps windows to
- virtual desktops (called views) with matching tags, regardless of the
- current active view.
- </longdescription>
- <use>
- <flag name="xrandr">Enable support for the X RandR extension</flag>
- <flag name="xtest">Enable support for the XTest extension</flag>
- </use>
-</pkgmetadata>
diff --git a/x11-wm/subtle/subtle-0.11.3244.ebuild b/x11-wm/subtle/subtle-0.11.3244.ebuild
deleted file mode 100644
index ef71c3fce45f..000000000000
--- a/x11-wm/subtle/subtle-0.11.3244.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-USE_RUBY="ruby24 ruby25 ruby26"
-
-inherit ruby-ng toolchain-funcs
-
-if [[ ${PV} == "9999" ]]; then
- EHG_REPO_URI="https://hg.subforge.org/subtle"
- EHG_CHECKOUT_DIR=${S}/all
- inherit mercurial
-else
- SRC_URI="https://dev.gentoo.org/~radhermit/dist/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-DESCRIPTION="A manual tiling window manager"
-HOMEPAGE="https://subforge.org/projects/subtle/wiki"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="debug doc +xft xinerama xpm +xrandr +xtest"
-RESTRICT="!test? ( test )"
-
-RDEPEND="x11-libs/libX11
- xft? ( x11-libs/libXft )
- xinerama? ( x11-libs/libXinerama )
- xpm? ( x11-libs/libXpm )
- xtest? ( x11-libs/libXtst )
- xrandr? ( x11-libs/libXrandr )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-ruby_add_rdepend "dev-ruby/archive-tar-minitar"
-ruby_add_bdepend "dev-ruby/rake doc? ( dev-ruby/rdoc )"
-
-all_ruby_unpack() {
- if [[ ${PV} == "9999" ]]; then
- mercurial_src_unpack
- else
- default
- fi
-}
-
-each_ruby_configure() {
- local myconf
- use debug && myconf+=" debug=yes" || myconf+=" debug=no"
- use xft && myconf+=" xft=yes" || myconf+=" xft=no"
- use xinerama && myconf+=" xinerama=yes" || myconf+=" xinerama=no"
- use xpm && myconf+=" xpm=yes" || myconf+=" xpm=no"
- use xtest && myconf+=" xtest=yes" || myconf+=" xtest=no"
- use xrandr && myconf+=" xrandr=yes" || myconf+=" xrandr=no"
-
- ${RUBY} -S rake -v CC="$(tc-getCC)" destdir="${D}" ${myconf} config || die
-}
-
-each_ruby_compile() {
- ${RUBY} -S rake -v build || die
-}
-
-all_ruby_compile() {
- use doc && { rake rdoc || die ; }
-}
-
-each_ruby_install() {
- ${RUBY} -S rake -v install || die
-}
-
-all_ruby_install() {
- dodir /etc/X11/Sessions
- cat <<-EOF > "${D}/etc/X11/Sessions/${PN}"
- #!/bin/sh
- exec /usr/bin/subtle
- EOF
- fperms a+x /etc/X11/Sessions/${PN}
-
- insinto /usr/share/xsessions
- doins data/${PN}.desktop
-
- dodoc AUTHORS NEWS
-
- use doc && dodoc -r html
-}
-
-pkg_postinst() {
- elog "Note that surserver will currently not work since dev-ruby/datamapper"
- elog "is not in the tree."
-}
diff --git a/x11-wm/subtle/subtle-9999.ebuild b/x11-wm/subtle/subtle-9999.ebuild
deleted file mode 100644
index ef71c3fce45f..000000000000
--- a/x11-wm/subtle/subtle-9999.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-USE_RUBY="ruby24 ruby25 ruby26"
-
-inherit ruby-ng toolchain-funcs
-
-if [[ ${PV} == "9999" ]]; then
- EHG_REPO_URI="https://hg.subforge.org/subtle"
- EHG_CHECKOUT_DIR=${S}/all
- inherit mercurial
-else
- SRC_URI="https://dev.gentoo.org/~radhermit/dist/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-DESCRIPTION="A manual tiling window manager"
-HOMEPAGE="https://subforge.org/projects/subtle/wiki"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="debug doc +xft xinerama xpm +xrandr +xtest"
-RESTRICT="!test? ( test )"
-
-RDEPEND="x11-libs/libX11
- xft? ( x11-libs/libXft )
- xinerama? ( x11-libs/libXinerama )
- xpm? ( x11-libs/libXpm )
- xtest? ( x11-libs/libXtst )
- xrandr? ( x11-libs/libXrandr )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-ruby_add_rdepend "dev-ruby/archive-tar-minitar"
-ruby_add_bdepend "dev-ruby/rake doc? ( dev-ruby/rdoc )"
-
-all_ruby_unpack() {
- if [[ ${PV} == "9999" ]]; then
- mercurial_src_unpack
- else
- default
- fi
-}
-
-each_ruby_configure() {
- local myconf
- use debug && myconf+=" debug=yes" || myconf+=" debug=no"
- use xft && myconf+=" xft=yes" || myconf+=" xft=no"
- use xinerama && myconf+=" xinerama=yes" || myconf+=" xinerama=no"
- use xpm && myconf+=" xpm=yes" || myconf+=" xpm=no"
- use xtest && myconf+=" xtest=yes" || myconf+=" xtest=no"
- use xrandr && myconf+=" xrandr=yes" || myconf+=" xrandr=no"
-
- ${RUBY} -S rake -v CC="$(tc-getCC)" destdir="${D}" ${myconf} config || die
-}
-
-each_ruby_compile() {
- ${RUBY} -S rake -v build || die
-}
-
-all_ruby_compile() {
- use doc && { rake rdoc || die ; }
-}
-
-each_ruby_install() {
- ${RUBY} -S rake -v install || die
-}
-
-all_ruby_install() {
- dodir /etc/X11/Sessions
- cat <<-EOF > "${D}/etc/X11/Sessions/${PN}"
- #!/bin/sh
- exec /usr/bin/subtle
- EOF
- fperms a+x /etc/X11/Sessions/${PN}
-
- insinto /usr/share/xsessions
- doins data/${PN}.desktop
-
- dodoc AUTHORS NEWS
-
- use doc && dodoc -r html
-}
-
-pkg_postinst() {
- elog "Note that surserver will currently not work since dev-ruby/datamapper"
- elog "is not in the tree."
-}
diff --git a/x11-wm/treewm/metadata.xml b/x11-wm/treewm/metadata.xml
index 9a9cd0e9e7f0..d15923c75fc2 100644
--- a/x11-wm/treewm/metadata.xml
+++ b/x11-wm/treewm/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lordvan@gentoo.org</email>
diff --git a/x11-wm/treewm/treewm-0.4.5-r2.ebuild b/x11-wm/treewm/treewm-0.4.5-r2.ebuild
index a94abe2ab166..e2f992385164 100644
--- a/x11-wm/treewm/treewm-0.4.5-r2.ebuild
+++ b/x11-wm/treewm/treewm-0.4.5-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -35,7 +35,7 @@ src_prepare() {
src_compile() {
# only compile treewm, not (x11-apps/){xprop,xkill}
emake treewm \
- CXX=$(tc-getCXX) \
+ CXX="$(tc-getCXX)" \
CCOPTIONS="${CFLAGS}" \
EXTRA_LDOPTIONS="${LDFLAGS}" \
PREFIX="/usr" ROOT="${D}"
diff --git a/x11-wm/twm/Manifest b/x11-wm/twm/Manifest
index 40a5185f8010..b70f942eb683 100644
--- a/x11-wm/twm/Manifest
+++ b/x11-wm/twm/Manifest
@@ -1 +1 @@
-DIST twm-1.0.11.tar.xz 261176 BLAKE2B 775ee483f34b1f45e737e0f1a907c07398883bd7bb2c17f729b38a2562af1a85f27b4dfa76b5fa1f88768e01c17c8cb364baaf39d80307aee3732183c5964653 SHA512 948034bba23e6b6c4412fcd2e46bb11a9980297601218a54a5055165ab0229a44dde0d50f338b24e82d76f390597e2fa09d11ff7f3fe1b1d736b10083c7da20d
+DIST twm-1.0.12.tar.xz 262624 BLAKE2B 4bca3572dc51af6d1724aefc42f85f04cf0dcbf5514d098628b7950b59a05bd1f1f6fe51aed492777fad5b169a0d97d0c1f0567aca3e7f33c7de0037c7dbe49f SHA512 f3d68df7e06516f6b74f19181efcfd9db2479c8ea0c72c3a6ed0dc1b222405b40d81a2dea17b662955e0c1783e87d0d3eb067c3b6e7c6eed8c0d38d03d362260
diff --git a/x11-wm/twm/metadata.xml b/x11-wm/twm/metadata.xml
index e943b72b8a48..51374d24beb3 100644
--- a/x11-wm/twm/metadata.xml
+++ b/x11-wm/twm/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>x11@gentoo.org</email>
- <name>X11</name>
-</maintainer>
+ <maintainer type="project">
+ <email>x11@gentoo.org</email>
+ <name>X11</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="freedesktop-gitlab">xorg/app/twm</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/x11-wm/twm/twm-1.0.11.ebuild b/x11-wm/twm/twm-1.0.12.ebuild
index 16a3075a4b48..f891b052eeaa 100644
--- a/x11-wm/twm/twm-1.0.11.ebuild
+++ b/x11-wm/twm/twm-1.0.12.ebuild
@@ -1,14 +1,14 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
XORG_TARBALL_SUFFIX="xz"
inherit xorg-3
DESCRIPTION="X.Org Tab Window Manager"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE=""
COMMON_DEPEND="
diff --git a/x11-wm/vtwm/files/vtwm-5.4.7-clang16.patch b/x11-wm/vtwm/files/vtwm-5.4.7-clang16.patch
new file mode 100644
index 000000000000..b74908a61f68
--- /dev/null
+++ b/x11-wm/vtwm/files/vtwm-5.4.7-clang16.patch
@@ -0,0 +1,7 @@
+https://bugs.gentoo.org/874468
+--- a/gram.y
++++ b/gram.y
+@@ -86,2 +86,3 @@
+ static void yyerror();
++static int yylex();
+ static name_list **list;
diff --git a/x11-wm/vtwm/metadata.xml b/x11-wm/vtwm/metadata.xml
index e73c1f81740f..363a5204f0c2 100644
--- a/x11-wm/vtwm/metadata.xml
+++ b/x11-wm/vtwm/metadata.xml
@@ -1,14 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription>VTWM, one of many TWM descendants, implements a Virtual
- Desktop, meaning that what is currently on screen is just a portion of a
- larger workspace. What portion of the virtual desktop that is displayed,
- and whatever windows might be visible within it, are simple
- point-and-click operations within a scaled representation of the
- workspace.</longdescription>
- <use>
- <flag name="rplay">Enable rplay support, needed for sound.</flag>
- </use>
+ <!-- maintainer-needed -->
+ <longdescription>
+ VTWM, one of many TWM descendants, implements a Virtual
+ Desktop, meaning that what is currently on screen is just a portion of a
+ larger workspace. What portion of the virtual desktop that is displayed,
+ and whatever windows might be visible within it, are simple
+ point-and-click operations within a scaled representation of the
+ workspace.
+ </longdescription>
</pkgmetadata>
diff --git a/x11-wm/vtwm/vtwm-5.4.7-r2.ebuild b/x11-wm/vtwm/vtwm-5.4.7-r2.ebuild
deleted file mode 100644
index 67ac8de4a833..000000000000
--- a/x11-wm/vtwm/vtwm-5.4.7-r2.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="TWM descendant that implements a Virtual Desktop"
-HOMEPAGE="http://www.vtwm.org/"
-SRC_URI="http://www.vtwm.org/downloads/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ppc sparc x86"
-IUSE="rplay"
-
-RDEPEND="x11-libs/libX11
- x11-libs/libXmu
- x11-libs/libXt
- x11-libs/libXext
- x11-libs/libXpm
- rplay? ( media-sound/rplay )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-text/rman
- sys-devel/bison
- sys-devel/flex
- x11-base/xorg-proto
- >=x11-misc/imake-1.0.8-r1"
-
-src_prepare() {
- eapply "${FILESDIR}"/${P}-do-not-rm.patch
- sed -i Imakefile \
- -e 's:-L/usr/local/lib::g' \
- -e 's:-I/usr/local/include::g' \
- || die "sed Imakefile"
- if ! use rplay ; then
- sed -i Imakefile \
- -e 's:^XCOMM\ \(.*NO_SOUND\):\1:' \
- -e 's:^\(SOUNDLIB.*\):XCOMM\ \1:' \
- -e 's:sound\..::g' \
- || die "sed Imakefile"
- eapply "${FILESDIR}"/${P}-NO_SOUND_SUPPORT.patch
- fi
- default
-}
-
-src_configure() {
- CC="$(tc-getBUILD_CC)" LD="$(tc-getLD)" \
- IMAKECPP="${IMAKECPP:-$(tc-getCPP)}" xmkmf -a || die "xmkmf failed"
-}
-
-src_compile() {
- emake \
- CC="$(tc-getCC)" \
- CDEBUGFLAGS="${CFLAGS}" \
- EXTRA_LDOPTIONS="${LDFLAGS}"
-}
-
-src_install() {
- emake BINDIR=/usr/bin \
- LIBDIR=/etc/X11 \
- MANPATH=/usr/share/man \
- DESTDIR="${D}" install
-
- echo "#!/bin/sh" > vtwm
- echo "xsetroot -cursor_name left_ptr &" >> vtwm
- echo "/usr/bin/vtwm" >> vtwm
- exeinto /etc/X11/Sessions
- doexe vtwm
- dodoc doc/{4.7.*,CHANGELOG,BUGS,DEVELOPERS,HISTORY,SOUND,WISHLIST}
-}
diff --git a/x11-wm/vtwm/vtwm-5.4.7-r3.ebuild b/x11-wm/vtwm/vtwm-5.4.7-r3.ebuild
new file mode 100644
index 000000000000..09a460c40347
--- /dev/null
+++ b/x11-wm/vtwm/vtwm-5.4.7-r3.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="TWM descendant that implements a Virtual Desktop"
+HOMEPAGE="http://www.vtwm.org/"
+SRC_URI="http://www.vtwm.org/downloads/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ppc sparc x86"
+
+COMMON_DEPEND="
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXpm
+ x11-libs/libXt"
+RDEPEND="
+ ${COMMON_DEPEND}
+ x11-apps/xsetroot"
+DEPEND="
+ ${COMMON_DEPEND}
+ x11-base/xorg-proto"
+BDEPEND="
+ app-text/rman
+ app-alternatives/yacc
+ app-alternatives/lex
+ sys-devel/gcc
+ >=x11-misc/imake-1.0.8-r1"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-do-not-rm.patch
+ "${FILESDIR}"/${P}-NO_SOUND_SUPPORT.patch
+ "${FILESDIR}"/${P}-clang16.patch
+)
+
+src_prepare() {
+ default
+
+ # disable sound support, relies on last-rited media-sound/rplay
+ sed -e 's:^XCOMM\ \(.*NO_SOUND\):\1:' \
+ -e 's:^\(SOUNDLIB.*\):XCOMM\ \1:' \
+ -e 's:sound\..::g' \
+ -e 's:-I/usr/local/include::g' \
+ -e 's:-L/usr/local/lib::g' \
+ -i Imakefile || die
+}
+
+src_configure() {
+ append-cflags -std=gnu89 # old codebase, incompatible with c2x
+
+ CC="$(tc-getBUILD_CC)" LD="$(tc-getLD)" \
+ IMAKECPP="${IMAKECPP:-${CHOST}-gcc -E}" xmkmf -a || die "xmkmf failed"
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ CDEBUGFLAGS="${CFLAGS}" \
+ EXTRA_LDOPTIONS="${LDFLAGS}"
+}
+
+src_install() {
+ emake BINDIR="${EPREFIX}"/usr/bin \
+ LIBDIR="${EPREFIX}"/etc/X11 \
+ MANPATH="${EPREFIX}"/usr/share/man \
+ DESTDIR="${D}" install
+
+ exeinto /etc/X11/Sessions
+ newexe - vtwm <<-EOF
+ #!/usr/bin/env sh
+ xsetroot -cursor_name left_ptr &
+ "${EPREFIX}/usr/bin/vtwm"
+ EOF
+
+ dodoc doc/{4.7.*,CHANGELOG,BUGS,DEVELOPERS,HISTORY,SOUND,WISHLIST}
+}
diff --git a/x11-wm/windowlab/files/windowlab-1.40-libdir.patch b/x11-wm/windowlab/files/windowlab-1.40-libdir.patch
new file mode 100644
index 000000000000..65c2b662dc62
--- /dev/null
+++ b/x11-wm/windowlab/files/windowlab-1.40-libdir.patch
@@ -0,0 +1,20 @@
+https://bugs.gentoo.org/732470
+--- a/Makefile
++++ b/Makefile
+@@ -51,7 +51,6 @@ BINDIR = $(DESTDIR)$(PREFIX)/bin
+ MANDIR = $(DESTDIR)$(PREFIX)$(MANBASE)/man1
+ CFGDIR = $(DESTDIR)$(SYSCONFDIR)
+ INCLUDES = -I$(XROOT)/include $(EXTRA_INC)
+-LDPATH = -L$(XROOT)/lib
+ LIBS = -lX11 $(EXTRA_LIBS)
+
+ PROG = windowlab
+@@ -62,7 +61,7 @@ HEADERS = windowlab.h
+ all: $(PROG)
+
+ $(PROG): $(OBJS)
+- $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LDPATH) $(LIBS) -o $@
++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
+
+ $(OBJS): %.o: %.c $(HEADERS)
+ $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -c $< -o $@
diff --git a/x11-wm/windowlab/metadata.xml b/x11-wm/windowlab/metadata.xml
index 126fb2b64c58..c8eae6244e1f 100644
--- a/x11-wm/windowlab/metadata.xml
+++ b/x11-wm/windowlab/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription>
+ <!-- maintainer-needed -->
+ <longdescription>
WindowLab is a small and simple window manager of novel design.
It has a click-to-focus but not raise-on-focus policy, a
@@ -13,5 +13,8 @@
by constraining the mouse pointer, and when appropriate the
pointer is also constrained to the taskbar/menubar in order to
make target menu items easier to hit.
- </longdescription>
+ </longdescription>
+ <upstream>
+ <remote-id type="github">nick-gravgaard/windowlab</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/x11-wm/windowlab/windowlab-1.40-r1.ebuild b/x11-wm/windowlab/windowlab-1.40-r2.ebuild
index b8af8cf8cf79..a592bf5ff36f 100644
--- a/x11-wm/windowlab/windowlab-1.40-r1.ebuild
+++ b/x11-wm/windowlab/windowlab-1.40-r2.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit toolchain-funcs
-DESCRIPTION="small and simple window manager of novel design"
-HOMEPAGE="http://www.nickgravgaard.com/windowlab/"
+DESCRIPTION="Small and simple window manager of novel design"
+HOMEPAGE="https://github.com/nick-gravgaard/windowlab"
SRC_URI="http://www.nickgravgaard.com/${PN}/${P}.tar"
LICENSE="GPL-2"
@@ -17,18 +17,22 @@ IUSE="truetype"
RDEPEND="truetype? ( x11-libs/libXft )
x11-libs/libXext"
DEPEND="${RDEPEND}
- virtual/pkgconfig
x11-base/xorg-proto"
+BDEPEND="virtual/pkgconfig"
-PATCHES=( "${FILESDIR}/${PN}-1.34-fixed-font.patch"
- "${FILESDIR}/${P}-gentoo.diff" )
+PATCHES=(
+ "${FILESDIR}/${PN}-1.34-fixed-font.patch"
+ "${FILESDIR}/${P}-gentoo.diff"
+ "${FILESDIR}/${PN}-1.40-libdir.patch"
+)
-pkg_setup() {
+src_configure() {
if use truetype ; then
export DEFINES=-DXFT
export EXTRA_INC=$($(tc-getPKG_CONFIG) --cflags xft)
export EXTRA_LIBS=$($(tc-getPKG_CONFIG) --libs xft)
fi
+
tc-export CC
}
@@ -45,5 +49,5 @@ src_install() {
pkg_postinst() {
elog "${PN}'s menu config file has been changed from"
- elog "/etc/X11/${PN}/menurc to /etc/X11/${PN}/${PN}.menurc"
+ elog "${EROOT}/etc/X11/${PN}/menurc to ${EROOT}/etc/X11/${PN}/${PN}.menurc"
}
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/metadata.xml b/x11-wm/windowmaker/metadata.xml
index 3f4061e7a525..1a2c0a46f6a3 100644
--- a/x11-wm/windowmaker/metadata.xml
+++ b/x11-wm/windowmaker/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnustep@gentoo.org</email>
@@ -11,4 +11,7 @@
it."</flag>
<flag name="xrandr">Enable XRandR window extension support</flag>
</use>
+ <upstream>
+ <remote-id type="github">window-maker/wmaker</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/x11-wm/windowmaker/windowmaker-0.95.9-r2.ebuild b/x11-wm/windowmaker/windowmaker-0.95.9-r4.ebuild
index 27d0b6ffe5a5..a3cb69c8675c 100644
--- a/x11-wm/windowmaker/windowmaker-0.95.9-r2.ebuild
+++ b/x11-wm/windowmaker/windowmaker-0.95.9-r4.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2021 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/"
@@ -12,7 +12,7 @@ SRC_URI="https://windowmaker.org/pub/source/release/${P/windowm/WindowM}.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 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+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
@@ -22,11 +22,11 @@ DEPEND="media-libs/fontconfig
x11-libs/libXv
gif? ( >=media-libs/giflib-4.1.0-r3 )
imagemagick? ( >=media-gfx/imagemagick-7:0= )
- jpeg? ( virtual/jpeg:0= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
nls? ( virtual/libintl )
- png? ( media-libs/libpng:0= )
- tiff? ( media-libs/tiff:0 )
- webp? ( media-libs/libwebp )
+ png? ( media-libs/libpng:= )
+ tiff? ( media-libs/tiff:= )
+ webp? ( media-libs/libwebp:= )
xinerama? ( x11-libs/libXinerama )
xrandr? ( x11-libs/libXrandr )"
RDEPEND="${DEPEND}"
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..4ad6521dda07
--- /dev/null
+++ b/x11-wm/windowmaker/windowmaker-0.96.0.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 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 ~arm64 ~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 5cc89fa45b5b..3dd602d649cc 100644
--- a/x11-wm/windowmaker/windowmaker-9999.ebuild
+++ b/x11-wm/windowmaker/windowmaker-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 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"
@@ -23,11 +23,11 @@ DEPEND="media-libs/fontconfig
x11-libs/libXv
gif? ( >=media-libs/giflib-4.1.0-r3 )
imagemagick? ( >=media-gfx/imagemagick-7:0= )
- jpeg? ( virtual/jpeg:0= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
nls? ( virtual/libintl )
- png? ( media-libs/libpng:0= )
- tiff? ( media-libs/tiff:0 )
- webp? ( media-libs/libwebp )
+ png? ( media-libs/libpng:= )
+ tiff? ( media-libs/tiff:= )
+ webp? ( media-libs/libwebp:= )
xinerama? ( x11-libs/libXinerama )
xrandr? ( x11-libs/libXrandr )"
RDEPEND="${DEPEND}"
diff --git a/x11-wm/wm2/files/wm2-4-gentoo.patch b/x11-wm/wm2/files/wm2-4-gentoo.patch
index 88c78080c542..f8ff09c07780 100644
--- a/x11-wm/wm2/files/wm2-4-gentoo.patch
+++ b/x11-wm/wm2/files/wm2-4-gentoo.patch
@@ -1,6 +1,5 @@
-diff -ur wm2-4/Border.C wm2-4.new/Border.C
---- wm2-4/Border.C 1997-03-21 12:12:30.000000000 +0100
-+++ wm2-4.new/Border.C 2007-06-30 16:56:10.000000000 +0200
+--- a/Border.C
++++ b/Border.C
@@ -183,7 +183,7 @@
if (m_label) free(m_label);
@@ -10,9 +9,8 @@ diff -ur wm2-4/Border.C wm2-4.new/Border.C
int len = strlen(m_label);
m_tabHeight = XRotTextWidth(m_tabFont, m_label, len) + 6 + m_tabWidth;
-diff -ur wm2-4/Buttons.C wm2-4.new/Buttons.C
---- wm2-4/Buttons.C 1997-03-21 12:12:30.000000000 +0100
-+++ wm2-4.new/Buttons.C 2007-06-30 16:56:10.000000000 +0200
+--- a/Buttons.C
++++ b/Buttons.C
@@ -139,7 +139,11 @@
(allowExit && ((n) > clients.count())) ? "[Exit wm2]" \
: clients.item((n)-1)->label())
@@ -25,9 +23,8 @@ diff -ur wm2-4/Buttons.C wm2-4.new/Buttons.C
clients.append(m_hiddenClients.item(i));
}
int nh = clients.count() + 1;
-diff -ur wm2-4/Client.C wm2-4.new/Client.C
---- wm2-4/Client.C 1997-03-21 12:12:30.000000000 +0100
-+++ wm2-4.new/Client.C 2007-06-30 16:56:10.000000000 +0200
+--- a/Client.C
++++ b/Client.C
@@ -4,7 +4,7 @@
#include <X11/Xutil.h>
@@ -55,9 +52,8 @@ diff -ur wm2-4/Client.C wm2-4.new/Client.C
}
-diff -ur wm2-4/Client.h wm2-4.new/Client.h
---- wm2-4/Client.h 1997-03-21 12:12:30.000000000 +0100
-+++ wm2-4.new/Client.h 2007-06-30 16:56:10.000000000 +0200
+--- a/Client.h
++++ b/Client.h
@@ -2,6 +2,8 @@
#ifndef _CLIENT_H_
#define _CLIENT_H_
@@ -76,9 +72,8 @@ diff -ur wm2-4/Client.h wm2-4.new/Client.h
int getIntegerProperty(Atom);
// accessors
-diff -ur wm2-4/Config.h wm2-4.new/Config.h
---- wm2-4/Config.h 1997-03-21 12:12:30.000000000 +0100
-+++ wm2-4.new/Config.h 2007-06-30 16:56:10.000000000 +0200
+--- a/Config.h
++++ b/Config.h
@@ -39,6 +39,9 @@
#define CONFIG_FRAME_THICKNESS 7
@@ -94,9 +89,8 @@ diff -ur wm2-4/Config.h wm2-4.new/Config.h
#endif
-
-diff -ur wm2-4/General.h wm2-4.new/General.h
---- wm2-4/General.h 1997-03-21 12:12:30.000000000 +0100
-+++ wm2-4.new/General.h 2007-06-30 16:56:10.000000000 +0200
+--- a/General.h
++++ b/General.h
@@ -32,7 +32,7 @@
#define NewString(x) (strcpy((char *)malloc(strlen(x)+1),(x)))
@@ -106,9 +100,8 @@ diff -ur wm2-4/General.h wm2-4.new/General.h
#endif
#define signal(x,y) \
-diff -ur wm2-4/Makefile wm2-4.new/Makefile
---- wm2-4/Makefile 1997-03-21 12:12:30.000000000 +0100
-+++ wm2-4.new/Makefile 2007-06-30 16:56:10.000000000 +0200
+--- a/Makefile
++++ b/Makefile
@@ -1,8 +1,8 @@
-LIBS = -L/usr/X11/lib -lXext -lX11 -lXmu -lm
@@ -120,9 +113,8 @@ diff -ur wm2-4/Makefile wm2-4.new/Makefile
CFLAGS = -O2
OBJECTS = Border.o Buttons.o Client.o Events.o Main.o Manager.o Rotated.o
-diff -ur wm2-4/Manager.C wm2-4.new/Manager.C
---- wm2-4/Manager.C 1997-03-21 12:12:30.000000000 +0100
-+++ wm2-4.new/Manager.C 2007-06-30 16:56:10.000000000 +0200
+--- a/Manager.C
++++ b/Manager.C
@@ -368,7 +368,7 @@
return m_currentTime;
}
@@ -132,9 +124,8 @@ diff -ur wm2-4/Manager.C wm2-4.new/Manager.C
{
m_signalled = True;
}
-diff -ur wm2-4/Manager.h wm2-4.new/Manager.h
---- wm2-4/Manager.h 1997-03-21 12:12:30.000000000 +0100
-+++ wm2-4.new/Manager.h 2007-06-30 16:56:10.000000000 +0200
+--- a/Manager.h
++++ b/Manager.h
@@ -85,7 +85,7 @@
static Boolean m_initialising;
diff --git a/x11-wm/wm2/metadata.xml b/x11-wm/wm2/metadata.xml
index 6f49eba8f496..85e4ed814fa2 100644
--- a/x11-wm/wm2/metadata.xml
+++ b/x11-wm/wm2/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/x11-wm/wm2/wm2-4-r1.ebuild b/x11-wm/wm2/wm2-4-r1.ebuild
index 4e500c95b628..0c34505dbdce 100644
--- a/x11-wm/wm2/wm2-4-r1.ebuild
+++ b/x11-wm/wm2/wm2-4-r1.ebuild
@@ -1,31 +1,37 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit epatch toolchain-funcs
+EAPI=7
+
+inherit toolchain-funcs
DESCRIPTION="Small, unconfigurable window manager"
-HOMEPAGE="http://www.all-day-breakfast.com/wm2/"
-SRC_URI="http://www.all-day-breakfast.com/wm2/${P}.tar.gz"
+HOMEPAGE="https://www.all-day-breakfast.com/wm2/"
+SRC_URI="https://www.all-day-breakfast.com/wm2/${P}.tar.gz"
-SLOT="0"
LICENSE="wm2 HPND"
+SLOT="0"
KEYWORDS="amd64 ppc x86"
RDEPEND="x11-libs/libXmu"
DEPEND="${RDEPEND}
x11-base/xorg-proto"
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+)
+
src_prepare() {
- epatch "${FILESDIR}/${P}-gentoo.patch"
+ default
+
sed -e "s/CFLAGS/CXXFLAGS/" \
-e "s/\$(CCC) -o/\$(CCC) \$(LDFLAGS) -o/" \
-i Makefile || die #334681
sed 's/^#//' Config.h > wm2.conf
- if [ -e "/etc/wm2.conf" ]; then
- echo "#undef _CONFIG_H_" >> Config.h
- awk '/^[^/]/{print "#" $0}' /etc/wm2.conf >> Config.h
+ if [[ -e "${EPREFIX}"/etc/wm2.conf ]] ; then
+ echo "#undef _CONFIG_H_" >> Config.h || die
+ awk '/^[^/]/{print "#" $0}' "${EPREFIX}"/etc/wm2.conf >> Config.h || die
fi
}
@@ -38,18 +44,17 @@ src_compile() {
src_install() {
dobin wm2
+
insinto /etc
doins wm2.conf
dodoc README
}
pkg_postinst() {
- echo
elog "wm2 is unconfigurable after you have installed. If you want to"
elog "change settings of wm2, please have a look at /etc/wm2.conf"
elog "and rewrite it, then emerge wm2 again (wm2 ebuild uses settings"
elog "from that file automatically). If you think wm2 lacks some important"
elog "features that you want to use (such as background pixmaps),"
elog "consider using wmx, written by the same author."
- echo
}
diff --git a/x11-wm/wmfs/metadata.xml b/x11-wm/wmfs/metadata.xml
index 498c6454722c..9e2b096c4f43 100644
--- a/x11-wm/wmfs/metadata.xml
+++ b/x11-wm/wmfs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<use>
diff --git a/x11-wm/wmfs/wmfs-20180520.ebuild b/x11-wm/wmfs/wmfs-20180520.ebuild
index f01f6ce2129b..a9f99e8c0db5 100644
--- a/x11-wm/wmfs/wmfs-20180520.ebuild
+++ b/x11-wm/wmfs/wmfs-20180520.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,7 +6,7 @@ inherit toolchain-funcs
DESCRIPTION="Window Manager From Scratch, A tiling window manager highly configurable"
HOMEPAGE="https://github.com/xorg62/wmfs"
-SRC_URI="https://dev.gentoo.org/~jer/${P}.tar.xz"
+SRC_URI="https://dev.gentoo.org/~jsmolic/distfiles/${P}.tar.xz"
LICENSE="BSD"
SLOT="0"
@@ -23,9 +23,11 @@ RDEPEND="
"
DEPEND="
${RDEPEND}
- virtual/pkgconfig
x11-base/xorg-proto
+ elibc_musl? ( sys-libs/queue-standalone )
"
+BDEPEND="virtual/pkgconfig"
+
PATCHES=(
"${FILESDIR}"/${PN}-99999999-Debian.patch
"${FILESDIR}"/${PN}-99999999-desktop.patch
diff --git a/x11-wm/wmfs/wmfs-99999999.ebuild b/x11-wm/wmfs/wmfs-99999999.ebuild
index 286281b6f1f6..4d856eab612c 100644
--- a/x11-wm/wmfs/wmfs-99999999.ebuild
+++ b/x11-wm/wmfs/wmfs-99999999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -23,9 +23,11 @@ RDEPEND="
"
DEPEND="
${RDEPEND}
- virtual/pkgconfig
x11-base/xorg-proto
+ elibc_musl? ( sys-libs/queue-standalone )
"
+BDEPEND="virtual/pkgconfig"
+
PATCHES=(
"${FILESDIR}"/${PN}-99999999-Debian.patch
"${FILESDIR}"/${PN}-99999999-desktop.patch
diff --git a/x11-wm/wmii/files/wmii-3.9.2-libdir.patch b/x11-wm/wmii/files/wmii-3.9.2-libdir.patch
new file mode 100644
index 000000000000..a1d68fac1afa
--- /dev/null
+++ b/x11-wm/wmii/files/wmii-3.9.2-libdir.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/832476
+--- a/config.mk
++++ b/config.mk
+@@ -11,7 +11,7 @@ PREFIX = /usr/local
+
+ # Includes and libs
+ INCLUDES = -I. -I$(ROOT)/include -I$(INCLUDE) -I/usr/include
+-LIBS = -L$(ROOT)/lib -L/usr/lib
++LIBS = -L$(LIBDIR)
+
+ TERMINAL = xterm
+
diff --git a/x11-wm/wmii/metadata.xml b/x11-wm/wmii/metadata.xml
index b348316a7f7f..20a10a39c4c4 100644
--- a/x11-wm/wmii/metadata.xml
+++ b/x11-wm/wmii/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription lang="en">
+ <!-- maintainer-needed -->
+ <longdescription lang="en">
wmii is a dynamic window manager for X11. It is highly customizable and
usable with keyboard and mouse. It supports conventional, tabbed and
tiled window management and has a small memory footprint. It is highly
@@ -10,4 +10,7 @@
conforms to the 9P2000 protocol introduced by the Plan 9 operating
system.
</longdescription>
+ <upstream>
+ <remote-id type="github">0intro/wmii</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/x11-wm/wmii/wmii-3.9.2-r7.ebuild b/x11-wm/wmii/wmii-3.9.2-r7.ebuild
new file mode 100644
index 000000000000..b4c0c4b776be
--- /dev/null
+++ b/x11-wm/wmii/wmii-3.9.2-r7.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2022 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
+
+ echo ${PN} > "${T}"/${PN} || die
+ exeinto /etc/X11/Sessions
+ doexe "${T}"/${PN}
+
+ insinto /usr/share/xsessions
+ doins "${FILESDIR}"/${PN}.desktop
+}
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 4020cb455c4a..8b3baebdf739 100644
--- a/x11-wm/xmonad-contrib/Manifest
+++ b/x11-wm/xmonad-contrib/Manifest
@@ -1 +1,2 @@
-DIST xmonad-contrib-0.16.tar.gz 540237 BLAKE2B 7ddf8730481c39e9b5e40a548f3cbe36f301901656c57cc5ffdd11e05ad516019dc0b82c7dcf77665c152c390f7b7ae49c04ec6ae39347565b11a23aef23cce3 SHA512 22a18b4045cbfca0229cbf6c0bf1dfa595cbffbe6b82fd58b1fcf941cbfd306642160995b55859cead3cf574df696d2a3cea6507cac4d5c7c58cf09b3a86bc25
+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 e71f7d605d7c..d84502b753d3 100644
--- a/x11-wm/xmonad-contrib/metadata.xml
+++ b/x11-wm/xmonad-contrib/metadata.xml
@@ -1,22 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>haskell@gentoo.org</email>
+ <name>Gentoo Haskell</name>
</maintainer>
- <longdescription>
- Third party tiling algorithms, configurations and scripts to xmonad,
- a tiling window manager for X.
-
- For an introduction to building, configuring and using xmonad
- extensions, see "XMonad.Doc". In particular:
-
- "XMonad.Doc.Configuring", a guide to configuring xmonad
-
- "XMonad.Doc.Extending", using the contributed extensions library
-
- "XMonad.Doc.Developing", introduction to xmonad internals and writing
- your own extensions.
-
- </longdescription>
+ <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.16.ebuild b/x11-wm/xmonad-contrib/xmonad-contrib-0.16.ebuild
deleted file mode 100644
index 6f76b2aba064..000000000000
--- a/x11-wm/xmonad-contrib/xmonad-contrib-0.16.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# ebuild generated by hackport 0.6.1
-#hackport: flags: -testing,use_xft:xft
-
-CABAL_FEATURES="lib profile haddock hoogle hscolour"
-inherit haskell-cabal
-
-DESCRIPTION="Third party extensions for xmonad"
-HOMEPAGE="https://xmonad.org/"
-SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86"
-IUSE="+xft"
-
-RDEPEND="dev-haskell/extensible-exceptions:=[profile?]
- >=dev-haskell/mtl-1:=[profile?] <dev-haskell/mtl-3:=[profile?]
- dev-haskell/old-locale:=[profile?]
- dev-haskell/old-time:=[profile?]
- dev-haskell/random:=[profile?]
- dev-haskell/semigroups:=[profile?]
- dev-haskell/utf8-string:=[profile?]
- >=dev-haskell/x11-1.6.1:=[profile?] <dev-haskell/x11-1.10:=[profile?]
- >=dev-lang/ghc-8.0.1:=
- >=x11-wm/xmonad-0.15:=[profile?] <x11-wm/xmonad-0.16:=[profile?]
- xft? ( >=dev-haskell/x11-xft-0.2:=[profile?] )
-"
-DEPEND="${RDEPEND}
- >=dev-haskell/cabal-1.24.0.0
-"
-
-src_configure() {
- haskell-cabal_src_configure \
- --flag=-testing \
- $(cabal_flag xft use_xft)
-}
diff --git a/x11-wm/xmonad-contrib/xmonad-contrib-0.17.0.ebuild b/x11-wm/xmonad-contrib/xmonad-contrib-0.17.0.ebuild
new file mode 100644
index 000000000000..880dcc26bd9f
--- /dev/null
+++ b/x11-wm/xmonad-contrib/xmonad-contrib-0.17.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# ebuild generated by hackport 0.7.9999
+#hackport: flags: -pedantic,use_xft:xft
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
+inherit haskell-cabal
+
+DESCRIPTION="Community-maintained extensions extensions for xmonad"
+HOMEPAGE="https://xmonad.org/"
+SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="+xft"
+
+RDEPEND=">=dev-haskell/mtl-1:=[profile?] <dev-haskell/mtl-3:=[profile?]
+ 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-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 41cf1312cbb4..057e65f36fc6 100644
--- a/x11-wm/xmonad/Manifest
+++ b/x11-wm/xmonad/Manifest
@@ -1 +1,2 @@
-DIST xmonad-0.15.tar.gz 68822 BLAKE2B 9ee9a070f6743fbab2cffe05ee9e60b64fded0b4916fdec03a550f5d5ec5a34102ab2d4e9586b9a0ca534db284a8058f11ee248072f3f3b312ae30c09873feff SHA512 f881f3faa4f5a0de7a5a37118cd7041083ae3a7569c7094b55dedb9aa858176789aff459d426b237ebae5cc4598b06de790938775a7ac968c2d76be3f0efc8ba
+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 e366d8236cab..e2d24eac2abe 100644
--- a/x11-wm/xmonad/metadata.xml
+++ b/x11-wm/xmonad/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>haskell@gentoo.org</email>
@@ -8,15 +8,8 @@
<use>
<flag name="no-autorepeat-keys">Allow ignoring of keyboard autorepeat.</flag>
</use>
- <longdescription>
- xmonad is a tiling window manager for X. Windows are arranged
- automatically to tile the screen without gaps or overlap, maximising
- screen use. All features of the window manager are accessible from
- the keyboard: a mouse is strictly optional. xmonad is written and
- extensible in Haskell. Custom layout algorithms, and other
- extensions, may be written by the user in config files. Layouts are
- applied dynamically, and different layouts may be used on each
- workspace. Xinerama is fully supported, allowing windows to be tiled
- on several screens.
- </longdescription>
+ <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.15.ebuild b/x11-wm/xmonad/xmonad-0.17.0.ebuild
index fbda12b17d62..f1e68a065661 100644
--- a/x11-wm/xmonad/xmonad-0.15.ebuild
+++ b/x11-wm/xmonad/xmonad-0.17.0.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-# ebuild generated by hackport 0.5.6.9999
-#hackport: flags: -generatemanpage,-testing,-profiling
+# ebuild generated by hackport 0.7.9999
+#hackport: flags: -pedantic,quickcheck-classes:test
CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
-inherit haskell-cabal
+inherit haskell-cabal ghc-package
DESCRIPTION="A tiling window manager"
HOMEPAGE="https://xmonad.org"
@@ -15,23 +15,22 @@ SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="no-autorepeat-keys"
-RDEPEND="dev-haskell/data-default:=[profile?]
- dev-haskell/extensible-exceptions:=[profile?]
+RDEPEND="dev-haskell/data-default-class:=[profile?]
dev-haskell/mtl:=[profile?]
dev-haskell/setlocale:=[profile?]
- >=dev-haskell/utf8-string-0.3:=[profile?] <dev-haskell/utf8-string-1.1:=[profile?]
- >=dev-haskell/x11-1.8:=[profile?] <dev-haskell/x11-1.10:=[profile?]
- >=dev-lang/ghc-8.0.1:=
+ >=dev-haskell/x11-1.10:=[profile?] <dev-haskell/x11-1.11:=[profile?]
+ >=dev-lang/ghc-8.4.3:=
"
DEPEND="${RDEPEND}
- >=dev-haskell/cabal-1.24.0.0
- test? ( >=dev-haskell/quickcheck-2 )
+ >=dev-haskell/cabal-2.2.0.1
+ test? ( >=dev-haskell/quickcheck-2
+ >=dev-haskell/quickcheck-classes-0.4.3 )
"
-DOCS=( CONFIG README.md CHANGES.md )
+DOCS=( README.md CHANGES.md )
HTML_DOCS=( man/${PN}.1.html )
SAMPLE_CONFIG="${PN}.hs"
@@ -43,9 +42,8 @@ src_prepare() {
src_configure() {
haskell-cabal_src_configure \
- --flag=-generatemanpage \
- --flag=-profiling \
- --flag=-testing
+ --flag=-pedantic \
+ $(cabal_flag test quickcheck-classes)
}
src_install() {
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/xoat/metadata.xml b/x11-wm/xoat/metadata.xml
deleted file mode 100644
index 8ba31104257c..000000000000
--- a/x11-wm/xoat/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">seanpringle/xoat</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/x11-wm/xoat/xoat-9999.ebuild b/x11-wm/xoat/xoat-9999.ebuild
deleted file mode 100644
index 31b9838afc84..000000000000
--- a/x11-wm/xoat/xoat-9999.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit git-r3 savedconfig toolchain-funcs
-
-DESCRIPTION="X Obstinate Asymmetric Tiler"
-HOMEPAGE="https://github.com/seanpringle/xoat"
-EGIT_REPO_URI="https://github.com/seanpringle/xoat"
-
-LICENSE="MIT"
-SLOT="0"
-
-DEPEND="
- x11-libs/libX11
- x11-libs/libXft
- x11-libs/libXinerama
-"
-RDEPEND="
- ${DEPEND}
- !savedconfig? ( x11-misc/dmenu )
-"
-BDEPEND="virtual/pkgconfig"
-
-src_prepare() {
- default
- restore_config config.h
-}
-
-src_configure() {
- tc-export CC PKG_CONFIG
-}
-
-src_compile() {
- XOAT_COMPILE=(
- ${CC} -o ${PN} ${PN}.c ${CFLAGS} -std=c99 ${LDFLAGS}
- $(${PKG_CONFIG} --cflags --libs x11 xinerama xft)
- )
- echo ${XOAT_COMPILE[@]}
- ${XOAT_COMPILE[@]} || die
-}
-
-src_install() {
- dobin xoat
- dodoc status xinitrc xoat.md xoatrc
- doman xoat.1
- save_config config.h
-}
diff --git a/x11-wm/xpra/Manifest b/x11-wm/xpra/Manifest
index 32cb2c66399d..b2881c697f2b 100644
--- a/x11-wm/xpra/Manifest
+++ b/x11-wm/xpra/Manifest
@@ -1,3 +1,2 @@
-DIST xpra-3.0.5.tar.xz 2752016 BLAKE2B a36d6a4ebb0b14665014da92d510c0d5f978c96db653709ddc09a1015426d6ac6f71f9a221db68ee1114c95eeaca6600f9e49102ce9f936d9b0ee298ac432647 SHA512 3dbc122ebc8c4aa67154acfe92668ac364d8469022b03e28946d763e4d396f8c707690b2a4dbf07b55545259a53b46c9dd94e6e40131289ccc3dce6a88107681
-DIST xpra-4.1.1.tar.xz 2674236 BLAKE2B 388306b33d99e97e07eb4a0f14ad33a08f9b367fa8e8b6d0553b0815ceb1b99540d027d2bdf8b6ef0a8ad3dda5a92861acf6c429034b7dd7e061eaefe86ade89 SHA512 b6312fb40849446ad88181664256610fcc673c5263449f610dd3fe40d0f331b1493efdee0560b78ef217ebc168d81a020b3bc97d369f9c1810a73e62e8e02873
-DIST xpra-4.1.2.tar.xz 2676588 BLAKE2B db3694fdd9f7e20ba93099ecde50d712de41bb64a2d317b9f10e349b7f501015d083c212250206c0f3e25e154311a096ce4c17972131af68584be666bbf7e067 SHA512 860533c4173b92ee110e65849110870a3b129b993d8a2a2308142474164e4f1c45984669e7e3963540290192310de5d2de0e0713b80f4cb8c6ae7f9c3bb0814e
+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-2.0-suid-warning.patch b/x11-wm/xpra/files/xpra-2.0-suid-warning.patch
deleted file mode 100644
index 806694f24312..000000000000
--- a/x11-wm/xpra/files/xpra-2.0-suid-warning.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xpra-2.0/xpra/scripts/config.py
-+++ xpra-2.0/xpra/scripts/config.py
-@@ -127,7 +127,7 @@
- xorg_stat = os.stat(xorg_bin)
- if (xorg_stat.st_mode & stat.S_ISUID)!=0:
- if (xorg_stat.st_mode & stat.S_IROTH)==0:
-- warn("%s is suid and not readable, Xdummy support unavailable" % xorg_bin)
-+ debug("%s is suid and not readable, Xdummy support unavailable" % xorg_bin)
- return get_Xvfb_command()
- debug("%s is suid and readable, using the xpra_Xdummy wrapper" % xorg_bin)
- use_wrapper = True
diff --git a/x11-wm/xpra/files/xpra-3.0.2-ldconfig.patch b/x11-wm/xpra/files/xpra-3.0.2-ldconfig.patch
deleted file mode 100644
index 8475d47b8b3c..000000000000
--- a/x11-wm/xpra/files/xpra-3.0.2-ldconfig.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -ruN xpra-3.0.2.orig/xpra/x11/fakeXinerama.py xpra-3.0.2/xpra/x11/fakeXinerama.py
---- xpra-3.0.2.orig/xpra/x11/fakeXinerama.py 2019-09-24 15:54:02.000000000 +0200
-+++ xpra-3.0.2/xpra/x11/fakeXinerama.py 2020-01-16 12:20:22.620519078 +0100
-@@ -23,29 +23,6 @@
-
- def find_libfakeXinerama():
- libname = "fakeXinerama"
-- try:
-- from ctypes.util import find_library
-- flibname = find_library("fakeXinerama")
-- if flibname:
-- libname = flibname
-- except Exception:
-- pass
-- if POSIX:
-- for lib_dir in os.environ.get("LD_LIBRARY_PATH", "/usr/lib").split(os.pathsep):
-- lib_path = os.path.join(lib_dir, libname)
-- if not os.path.exists(lib_dir):
-- continue
-- if os.path.exists(lib_path) and os.path.isfile(lib_path):
-- return lib_path
-- if LINUX:
-- try:
-- libpath = find_lib_ldconfig("fakeXinerama")
-- if libpath:
-- return libpath
-- except Exception as e:
-- log("find_libfakeXinerama()", exc_info=True)
-- log.error("Error: cannot launch ldconfig -p to locate libfakeXinerama:")
-- log.error(" %s", e)
- return find_lib(libname)
-
- current_xinerama_config = None
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.0.3-suid-warning.patch b/x11-wm/xpra/files/xpra-4.0.3-suid-warning.patch
deleted file mode 100644
index ae590110f1c3..000000000000
--- a/x11-wm/xpra/files/xpra-4.0.3-suid-warning.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nuar a/xpra/scripts/config.py b/xpra/scripts/config.py
---- a/xpra/scripts/config.py 2020-05-10 19:00:55.000000000 +0200
-+++ b/xpra/scripts/config.py 2020-06-07 18:35:49.361899872 +0200
-@@ -150,7 +150,7 @@
- if (xorg_stat.st_mode & stat.S_ISUID)!=0:
- if (xorg_stat.st_mode & stat.S_IROTH)==0:
- if warn:
-- warn("%s is suid and not readable, Xdummy support unavailable" % xorg_bin)
-+ debug("%s is suid and not readable, Xdummy support unavailable" % xorg_bin)
- return get_Xvfb_command()
- debug("%s is suid and readable, using the xpra_Xdummy wrapper" % xorg_bin)
- use_wrapper = True
diff --git a/x11-wm/xpra/files/xpra-4.4-xdummy.patch b/x11-wm/xpra/files/xpra-4.4-xdummy.patch
new file mode 100644
index 000000000000..2326e63498ce
--- /dev/null
+++ b/x11-wm/xpra/files/xpra-4.4-xdummy.patch
@@ -0,0 +1,24 @@
+From 7c384b517fb391065b84b60fa8f1ec3338ed4fce Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sat, 16 Apr 2022 22:30:11 +0100
+Subject: [PATCH] Avoid Xdummy version detection, assume 0.4.0
+
+---
+ setup.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/setup.py b/setup.py
+index 40bfba61c..e4636cb46 100755
+--- a/setup.py
++++ b/setup.py
+@@ -657,6 +657,7 @@ def get_gcc_version():
+ return GCC_VERSION
+
+ def get_dummy_driver_version():
++ return (0, 4)
+ def vernum(s):
+ return tuple(int(v) for v in s.split("-", 1)[0].split("."))
+ #try various rpm names:
+--
+2.34.1
+
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-xdummy.patch b/x11-wm/xpra/files/xpra-9999-xdummy.patch
new file mode 100644
index 000000000000..b86f0dda45fe
--- /dev/null
+++ b/x11-wm/xpra/files/xpra-9999-xdummy.patch
@@ -0,0 +1,14 @@
+Avoid Xdummy version detection, assume 0.4.1.
+
+diff --git a/setup.py b/setup.py
+index 529b591b1..b9431fea8 100755
+--- a/setup.py
++++ b/setup.py
+@@ -793,6 +793,7 @@ def vernum(s):
+ return tuple(int(v) for v in s.split("-", 1)[0].split("."))
+
+ def get_dummy_driver_version():
++ return "0.4.1"
+ #try various rpm names:
+ for rpm_name in ("xorg-x11-drv-dummy", "xf86-video-dummy"):
+ r, out, err = get_status_output(["rpm", "-q", "--queryformat", "%{VERSION}", rpm_name])
diff --git a/x11-wm/xpra/metadata.xml b/x11-wm/xpra/metadata.xml
index ce472786e3ab..2f4961963d03 100644
--- a/x11-wm/xpra/metadata.xml
+++ b/x11-wm/xpra/metadata.xml
@@ -1,11 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>dilfridge@gentoo.org</email>
- <name>Andreas K. Huettel</name>
-</maintainer>
-<maintainer type="person">
<email>heroxbd@gentoo.org</email>
<name>Benda Xu</name>
</maintainer>
@@ -18,16 +14,22 @@
<name>James Le Cuirot</name>
</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="pillow">Enable pillow 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="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>
<flag name="vpx">Enable vpx image format support</flag>
<flag name="webcam">Enable webcam support via opencv</flag>
+ <flag name="xdg">Enable support for XDG-based menus</flag>
</use>
</pkgmetadata>
diff --git a/x11-wm/xpra/xpra-3.0.5-r2.ebuild b/x11-wm/xpra/xpra-3.0.5-r2.ebuild
deleted file mode 100644
index 1371e2b78d86..000000000000
--- a/x11-wm/xpra/xpra-3.0.5-r2.ebuild
+++ /dev/null
@@ -1,147 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-DISTUTILS_USE_SETUPTOOLS=no
-inherit xdg distutils-r1 flag-o-matic user tmpfiles prefix
-
-DESCRIPTION="X Persistent Remote Apps (xpra) and Partitioning WM (parti) based on wimpiggy"
-HOMEPAGE="http://xpra.org/ http://xpra.org/src/"
-SRC_URI="http://xpra.org/src/${P}.tar.xz"
-
-LICENSE="GPL-2 BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="+client +clipboard csc cups dbus ffmpeg jpeg +lz4 lzo opengl pillow pulseaudio server sound test vpx webcam webp"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( client server )
- cups? ( dbus )
- opengl? ( client )
-"
-
-COMMON_DEPEND="${PYTHON_DEPS}
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libXtst
- x11-libs/libxkbfile
- csc? ( >=media-video/ffmpeg-1.2.2:0= )
- ffmpeg? ( >=media-video/ffmpeg-3.2.2:0=[x264,x265] )
- jpeg? ( media-libs/libjpeg-turbo )
- opengl? ( dev-python/pyopengl )
- pulseaudio? (
- media-sound/pulseaudio
- media-plugins/gst-plugins-pulse:1.0
- )
- sound? ( media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- dev-python/gst-python:1.0 )
- vpx? ( media-libs/libvpx media-video/ffmpeg )
- webp? ( media-libs/libwebp )
-"
-RDEPEND="${COMMON_DEPEND}
- dev-python/netifaces[${PYTHON_USEDEP}]
- dev-python/rencode[${PYTHON_USEDEP}]
- dev-python/pillow[jpeg?,${PYTHON_USEDEP}]
- virtual/ssh
- x11-apps/xmodmap
- cups? ( dev-python/pycups[${PYTHON_USEDEP}] )
- dbus? ( dev-python/dbus-python[${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}] )
- )
- server? ( x11-base/xorg-server[-minimal,xvfb]
- x11-drivers/xf86-input-void
- )
- webcam? ( dev-python/numpy[${PYTHON_USEDEP}]
- media-libs/opencv[python]
- dev-python/pyinotify[${PYTHON_USEDEP}] )"
-DEPEND="${COMMON_DEPEND}
- virtual/pkgconfig
- >=dev-python/cython-0.16[${PYTHON_USEDEP}]"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.0.2_ignore-gentoo-no-compile.patch
- "${FILESDIR}"/${PN}-2.0-suid-warning.patch
- "${FILESDIR}"/${PN}-3.0.2-ldconfig.patch
-)
-
-src_install() {
- distutils-r1_src_install
-
- mkdir -p "${ED}/usr/share/metainfo" || die
- mv "${ED}/usr/share/appdata/"* "${ED}/usr/share/metainfo/" || die
- rmdir "${ED}/usr/share/appdata" || die
-}
-
-pkg_postinst() {
- enewgroup ${PN}
- tmpfiles_process /usr/lib/tmpfiles.d/xpra.conf
-
- xdg_pkg_postinst
-}
-
-python_prepare_all() {
- hprefixify -w '/os.path/' setup.py
- hprefixify tmpfiles.d/xpra.conf xpra/server/server_util.py \
- xpra/platform{/xposix,}/paths.py xpra/scripts/server.py
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- sed -e "/'pulseaudio'/s:DEFAULT_PULSEAUDIO:$(usex pulseaudio True False):" \
- -i setup.py || die
-
- mydistutilsargs=(
- --without-PIC
- --without-Xdummy
- $(use_with client)
- $(use_with clipboard)
- $(use_with csc csc_swscale)
- --without-csc_libyuv
- --without-cuda_rebuild
- --without-cuda_kernels
- $(use_with cups printing)
- --without-debug
- $(use_with dbus)
- $(use_with ffmpeg dec_avcodec2)
- $(use_with ffmpeg enc_ffmpeg)
- $(use_with ffmpeg enc_x264)
- $(use_with ffmpeg enc_x265)
- --without-gtk2
- --with-gtk3
- --without-html5
- $(use_with jpeg jpeg_encoder)
- $(use_with jpeg jpeg_decoder)
- --without-mdns
- --without-minify
- $(use_with opengl)
- $(use_with server shadow)
- $(use_with server)
- $(use_with sound)
- --with-strict
- $(use_with vpx)
- --with-warn
- $(use_with webcam)
- $(use_with webp)
- --with-x11
- )
-
- # see https://www.xpra.org/trac/ticket/1080
- # and http://trac.cython.org/ticket/395
- append-cflags -fno-strict-aliasing
-
- export XPRA_SOCKET_DIRS="${EPREFIX}/run/xpra"
-}
diff --git a/x11-wm/xpra/xpra-4.1.1.ebuild b/x11-wm/xpra/xpra-4.1.1.ebuild
deleted file mode 100644
index 65e293302714..000000000000
--- a/x11-wm/xpra/xpra-4.1.1.ebuild
+++ /dev/null
@@ -1,159 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-DISTUTILS_SINGLE_IMPL=yes
-DISTUTILS_USE_SETUPTOOLS=no
-inherit xdg distutils-r1 tmpfiles prefix
-
-DESCRIPTION="X Persistent Remote Apps (xpra) and Partitioning WM (parti) based on wimpiggy"
-HOMEPAGE="https://xpra.org/"
-SRC_URI="https://xpra.org/src/${P}.tar.xz"
-
-LICENSE="GPL-2 BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="brotli +client +clipboard csc cups dbus doc ffmpeg jpeg +lz4 lzo minimal opengl pillow pulseaudio server sound test vpx webcam webp"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- || ( client server )
- cups? ( dbus )
- opengl? ( client )
-"
-
-DEPEND="
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-python/pygobject:3[${PYTHON_USEDEP},cairo]
- opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
- sound? ( dev-python/gst-python:1.0[${PYTHON_USEDEP}] )
- ')
- x11-libs/gtk+:3[introspection]
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXdamage
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libXtst
- x11-libs/libxkbfile
- brotli? ( app-arch/brotli )
- csc? ( >=media-video/ffmpeg-1.2.2:0= )
- ffmpeg? ( >=media-video/ffmpeg-3.2.2:0=[x264,x265] )
- jpeg? ( media-libs/libjpeg-turbo )
- pulseaudio? (
- media-sound/pulseaudio
- media-plugins/gst-plugins-pulse:1.0
- )
- sound? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- )
- vpx? ( media-libs/libvpx media-video/ffmpeg )
- webp? ( media-libs/libwebp )
-"
-RDEPEND="
- ${DEPEND}
- $(python_gen_cond_dep '
- dev-python/netifaces[${PYTHON_USEDEP}]
- dev-python/rencode[${PYTHON_USEDEP}]
- dev-python/pillow[jpeg?,${PYTHON_USEDEP}]
- cups? ( dev-python/pycups[${PYTHON_USEDEP}] )
- dbus? ( dev-python/dbus-python[${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}] )
- )
- webcam? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pyinotify[${PYTHON_USEDEP}]
- media-libs/opencv[${PYTHON_USEDEP},python]
- )
- ')
- acct-group/xpra
- virtual/ssh
- x11-apps/xmodmap
- server? (
- x11-base/xorg-server[-minimal,xvfb]
- x11-drivers/xf86-input-void
- )
-"
-BDEPEND="
- virtual/pkgconfig
- $(python_gen_cond_dep '
- >=dev-python/cython-0.16[${PYTHON_USEDEP}]
- ')
- doc? ( app-text/pandoc )
-"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.0.2_ignore-gentoo-no-compile.patch
- "${FILESDIR}"/${PN}-3.0.2-ldconfig.patch
- "${FILESDIR}"/${PN}-4.0.3-suid-warning.patch
-)
-
-pkg_postinst() {
- tmpfiles_process /usr/lib/tmpfiles.d/xpra.conf
-
- xdg_pkg_postinst
-}
-
-python_prepare_all() {
- hprefixify -w '/os.path/' setup.py
- hprefixify tmpfiles.d/xpra.conf xpra/server/server_util.py \
- xpra/platform{/xposix,}/paths.py xpra/scripts/server.py
-
- sed -r -e "/\bdoc_dir =/s:/${PN}\":/${PF}/html\":" \
- -i setup.py || die
-
- if use minimal; then
- sed -r -e 's/^(pam|scripts|xdg_open)_ENABLED.*/\1_ENABLED=False/' \
- -i setup.py || die
- fi
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- sed -e "/'pulseaudio'/s:DEFAULT_PULSEAUDIO:$(usex pulseaudio True False):" \
- -i setup.py || die
-
- mydistutilsargs=(
- --without-PIC
- --without-Xdummy
- $(use_with client)
- $(use_with clipboard)
- $(use_with csc csc_swscale)
- --without-csc_libyuv
- --without-cuda_rebuild
- --without-cuda_kernels
- $(use_with cups printing)
- --without-debug
- $(use_with dbus)
- $(use_with doc docs)
- $(use_with ffmpeg dec_avcodec2)
- $(use_with ffmpeg enc_ffmpeg)
- $(use_with ffmpeg enc_x264)
- $(use_with ffmpeg enc_x265)
- --with-gtk3
- $(use_with jpeg jpeg_encoder)
- $(use_with jpeg jpeg_decoder)
- --without-mdns
- $(use_with opengl)
- $(use_with server shadow)
- $(use_with server)
- $(use_with sound)
- --with-strict
- $(use_with vpx)
- --with-warn
- $(use_with webcam)
- $(use_with webp)
- --with-x11
- )
-
- export XPRA_SOCKET_DIRS="${EPREFIX}/run/xpra"
-}
diff --git a/x11-wm/xpra/xpra-4.1.2.ebuild b/x11-wm/xpra/xpra-4.4.5-r2.ebuild
index cde55d551959..64f6dfde2400 100644
--- a/x11-wm/xpra/xpra-4.1.2.ebuild
+++ b/x11-wm/xpra/xpra-4.4.5-r2.ebuild
@@ -1,28 +1,52 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9} )
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/Xpra-org/xpra.git"
+ inherit git-r3
+else
+ inherit pypi
+ KEYWORDS="amd64 x86"
+fi
+
+PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_SINGLE_IMPL=yes
DISTUTILS_USE_SETUPTOOLS=no
-inherit xdg distutils-r1 tmpfiles prefix udev
+DISTUTILS_EXT=1
+
+inherit xdg xdg-utils distutils-r1 tmpfiles udev
DESCRIPTION="X Persistent Remote Apps (xpra) and Partitioning WM (parti) based on wimpiggy"
HOMEPAGE="https://xpra.org/"
-SRC_URI="https://xpra.org/src/${P}.tar.xz"
-
LICENSE="GPL-2 BSD"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="brotli +client +clipboard csc cups dbus doc ffmpeg jpeg +lz4 lzo minimal opengl pillow pulseaudio server sound test vpx webcam webp"
+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 )
"
+TEST_DEPEND="
+ $(python_gen_cond_dep '
+ dev-python/netifaces[${PYTHON_USEDEP}]
+ dev-python/pillow[jpeg?,${PYTHON_USEDEP}]
+ dev-python/rencode[${PYTHON_USEDEP}]
+ dbus? ( dev-python/dbus-python[${PYTHON_USEDEP}] )
+ xdg? ( dev-python/pyxdg[${PYTHON_USEDEP}] )
+ ')
+ html? ( www-apps/xpra-html5 )
+ server? (
+ x11-base/xorg-server[-minimal,xvfb]
+ x11-drivers/xf86-input-void
+ )
+ xinerama? ( x11-libs/libfakeXinerama )
+"
DEPEND="
${PYTHON_DEPS}
$(python_gen_cond_dep '
@@ -36,14 +60,15 @@ DEPEND="
x11-libs/libXdamage
x11-libs/libXfixes
x11-libs/libXrandr
+ x11-libs/libXres
x11-libs/libXtst
x11-libs/libxkbfile
brotli? ( app-arch/brotli )
csc? ( >=media-video/ffmpeg-1.2.2:0= )
- ffmpeg? ( >=media-video/ffmpeg-3.2.2:0=[x264,x265] )
+ 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? (
@@ -55,17 +80,14 @@ DEPEND="
"
RDEPEND="
${DEPEND}
+ ${TEST_DEPEND}
$(python_gen_cond_dep '
- dev-python/netifaces[${PYTHON_USEDEP}]
- dev-python/rencode[${PYTHON_USEDEP}]
- dev-python/pillow[jpeg?,${PYTHON_USEDEP}]
+ crypt? ( dev-python/cryptography[${PYTHON_USEDEP}] )
cups? ( dev-python/pycups[${PYTHON_USEDEP}] )
- dbus? ( dev-python/dbus-python[${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}]
@@ -74,55 +96,52 @@ RDEPEND="
')
acct-group/xpra
virtual/ssh
+ x11-apps/xauth
x11-apps/xmodmap
- server? (
- x11-base/xorg-server[-minimal,xvfb]
- x11-drivers/xf86-input-void
- )
+ ibus? ( app-i18n/ibus )
+ pinentry? ( app-crypt/pinentry )
+ trayicon? ( dev-libs/libayatana-appindicator )
+ udev? ( virtual/udev )
+"
+DEPEND+="
+ test? ( ${TEST_DEPEND} )
"
BDEPEND="
- virtual/pkgconfig
$(python_gen_cond_dep '
>=dev-python/cython-0.16[${PYTHON_USEDEP}]
')
- doc? ( app-text/pandoc )
+ virtual/pkgconfig
+ doc? ( virtual/pandoc )
"
RESTRICT="!test? ( test )"
PATCHES=(
- "${FILESDIR}"/${PN}-3.0.2_ignore-gentoo-no-compile.patch
- "${FILESDIR}"/${PN}-3.0.2-ldconfig.patch
- "${FILESDIR}"/${PN}-4.0.3-suid-warning.patch
+ "${FILESDIR}"/${PN}-4.4-xdummy.patch
)
-pkg_postinst() {
- tmpfiles_process /usr/lib/tmpfiles.d/xpra.conf
-
- xdg_pkg_postinst
-}
-
python_prepare_all() {
- hprefixify -w '/os.path/' setup.py
- hprefixify tmpfiles.d/xpra.conf xpra/server/server_util.py \
- xpra/platform{/xposix,}/paths.py xpra/scripts/server.py
+ 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\":" \
+ sed -r -e "/\bdoc_dir =/s:/${PN}/\":/${PF}/html\":" \
-i setup.py || die
if use minimal; then
- sed -r -e 's/^(pam|scripts|xdg_open)_ENABLED.*/\1_ENABLED=False/' \
+ sed -r -e '/pam_ENABLED/s/DEFAULT/False/' \
+ -e 's/^(xdg_open)_ENABLED = .*/\1_ENABLED = False/' \
-i setup.py || die
fi
-
- distutils-r1_python_prepare_all
}
python_configure_all() {
sed -e "/'pulseaudio'/s:DEFAULT_PULSEAUDIO:$(usex pulseaudio True False):" \
-i setup.py || die
- mydistutilsargs=(
+ DISTUTILS_ARGS=(
--without-PIC
--without-Xdummy
$(use_with client)
@@ -138,16 +157,18 @@ python_configure_all() {
$(use_with ffmpeg dec_avcodec2)
$(use_with ffmpeg enc_ffmpeg)
$(use_with ffmpeg enc_x264)
- $(use_with ffmpeg enc_x265)
+ --without-enc_x265
--with-gtk3
$(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)
$(use_with sound)
- --with-strict
+ --without-strict
$(use_with vpx)
--with-warn
$(use_with webcam)
@@ -158,11 +179,42 @@ python_configure_all() {
export XPRA_SOCKET_DIRS="${EPREFIX}/run/xpra"
}
+python_test() {
+ export XAUTHORITY=${HOME}/.Xauthority
+ touch "${XAUTHORITY}" || die
+
+ distutils_install_for_testing
+ xdg_environment_reset
+
+ env -u WAYLAND_DISPLAY -u XDG_SESSION_TYPE \
+ PYTHONPATH="${S}/tests/unittests:${BUILD_DIR}/test/lib" \
+ XPRA_SYSTEMD_RUN=$(usex systemd) XPRA_TEST_COVERAGE=0 \
+ "${PYTHON}" "${S}"/tests/unittests/unit/run.py || die
+}
+
python_install_all() {
distutils-r1_python_prepare_all
- # Move udev dir to the right place.
- local dir=$(get_udevdir)
- dodir "${dir%/*}"
- mv -vnT "${ED}"/usr/lib/udev "${ED}${dir}" || die
+ # Move udev dir to the right place if necessary.
+ if use udev; then
+ local dir=$(get_udevdir)
+ 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
+ fi
+}
+
+pkg_postinst() {
+ tmpfiles_process xpra.conf
+ xdg_pkg_postinst
+ use udev && udev_reload
+}
+
+pkg_postrm() {
+ xdg_pkg_postinst
+ use udev && udev_reload
}
diff --git a/x11-wm/xpra/xpra-4.4.6-r2.ebuild b/x11-wm/xpra/xpra-4.4.6-r2.ebuild
new file mode 100644
index 000000000000..b4c34890cee3
--- /dev/null
+++ b/x11-wm/xpra/xpra-4.4.6-r2.ebuild
@@ -0,0 +1,229 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/Xpra-org/xpra.git"
+ inherit git-r3
+else
+ inherit pypi
+ KEYWORDS="~amd64 ~x86"
+fi
+
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_SINGLE_IMPL=yes
+DISTUTILS_EXT=1
+
+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 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 )
+"
+
+TEST_DEPEND="
+ $(python_gen_cond_dep '
+ dev-python/netifaces[${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}] )
+ ')
+ html? ( www-apps/xpra-html5 )
+ server? (
+ x11-base/xorg-server[-minimal,xvfb]
+ x11-drivers/xf86-input-void
+ )
+ xinerama? ( x11-libs/libfakeXinerama )
+"
+DEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP},cairo]
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+ sound? ( dev-python/gst-python:1.0[${PYTHON_USEDEP}] )
+ ')
+ x11-libs/gtk+:3[introspection]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXres
+ x11-libs/libXtst
+ x11-libs/libxkbfile
+ brotli? ( app-arch/brotli )
+ csc? ( >=media-video/ffmpeg-1.2.2:0= )
+ ffmpeg? ( >=media-video/ffmpeg-3.2.2:0=[x264] )
+ jpeg? ( media-libs/libjpeg-turbo )
+ pulseaudio? (
+ media-libs/libpulse
+ media-plugins/gst-plugins-pulse:1.0
+ )
+ sound? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ vpx? ( media-libs/libvpx media-video/ffmpeg )
+ webp? ( media-libs/libwebp )
+"
+RDEPEND="
+ ${DEPEND}
+ ${TEST_DEPEND}
+ $(python_gen_cond_dep '
+ crypt? ( dev-python/cryptography[${PYTHON_USEDEP}] )
+ cups? ( dev-python/pycups[${PYTHON_USEDEP}] )
+ lz4? ( dev-python/lz4[${PYTHON_USEDEP}] )
+ lzo? ( >=dev-python/python-lzo-0.7.0[${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}]
+ media-libs/opencv[${PYTHON_USEDEP},python]
+ )
+ ')
+ acct-group/xpra
+ virtual/ssh
+ x11-apps/xauth
+ x11-apps/xmodmap
+ ibus? ( app-i18n/ibus )
+ pinentry? ( app-crypt/pinentry )
+ trayicon? ( dev-libs/libayatana-appindicator )
+ udev? ( virtual/udev )
+"
+DEPEND+="
+ test? ( ${TEST_DEPEND} )
+"
+BDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/cython-0.16[${PYTHON_USEDEP}]
+ ')
+ virtual/pkgconfig
+ doc? ( virtual/pandoc )
+"
+
+# Broken by PEP517 migration, and some tests failed for a while before that for
+# unknown reasons.
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.4-xdummy.patch
+)
+
+python_prepare_all() {
+ 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() {
+ sed -e "/'pulseaudio'/s:DEFAULT_PULSEAUDIO:$(usex pulseaudio True False):" \
+ -i setup.py || die
+
+ DISTUTILS_ARGS=(
+ --without-PIC
+ --without-Xdummy
+ $(use_with client)
+ $(use_with clipboard)
+ $(use_with csc csc_swscale)
+ --without-csc_libyuv
+ --without-cuda_rebuild
+ --without-cuda_kernels
+ $(use_with cups printing)
+ --without-debug
+ $(use_with dbus)
+ $(use_with doc docs)
+ $(use_with ffmpeg dec_avcodec2)
+ $(use_with ffmpeg enc_ffmpeg)
+ $(use_with ffmpeg enc_x264)
+ --without-enc_x265
+ --with-gtk3
+ $(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)
+ $(use_with sound)
+ --without-strict
+ $(use_with vpx)
+ --with-warn
+ $(use_with webcam)
+ $(use_with webp)
+ --with-x11
+ )
+
+ export XPRA_SOCKET_DIRS="${EPREFIX}/run/xpra"
+}
+
+python_test() {
+ export XAUTHORITY=${HOME}/.Xauthority
+ touch "${XAUTHORITY}" || die
+
+ distutils_install_for_testing
+ xdg_environment_reset
+
+ env -u WAYLAND_DISPLAY -u XDG_SESSION_TYPE \
+ PYTHONPATH="${S}/tests/unittests:${BUILD_DIR}/test/lib" \
+ XPRA_SYSTEMD_RUN=$(usex systemd) XPRA_TEST_COVERAGE=0 \
+ "${PYTHON}" "${S}"/tests/unittests/unit/run.py || die
+}
+
+python_install_all() {
+ distutils-r1_python_prepare_all
+
+ # 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)
+ 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
+ fi
+}
+
+pkg_postinst() {
+ tmpfiles_process xpra.conf
+ xdg_pkg_postinst
+ use udev && udev_reload
+}
+
+pkg_postrm() {
+ xdg_pkg_postinst
+ use udev && udev_reload
+}
diff --git a/x11-wm/xpra/xpra-9999.ebuild b/x11-wm/xpra/xpra-9999.ebuild
new file mode 100644
index 000000000000..b2531fd6fa85
--- /dev/null
+++ b/x11-wm/xpra/xpra-9999.ebuild
@@ -0,0 +1,228 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/Xpra-org/xpra.git"
+ inherit git-r3
+else
+ inherit pypi
+ KEYWORDS="~amd64 ~x86"
+fi
+
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_SINGLE_IMPL=yes
+DISTUTILS_EXT=1
+
+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 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 )
+"
+
+TEST_DEPEND="
+ $(python_gen_cond_dep '
+ dev-python/netifaces[${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}] )
+ ')
+ html? ( www-apps/xpra-html5 )
+ server? (
+ x11-base/xorg-server[-minimal,xvfb]
+ x11-drivers/xf86-input-void
+ )
+ xinerama? ( x11-libs/libfakeXinerama )
+"
+DEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP},cairo]
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+ sound? ( dev-python/gst-python:1.0[${PYTHON_USEDEP}] )
+ ')
+ x11-libs/gtk+:3[introspection]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXres
+ x11-libs/libXtst
+ x11-libs/libxkbfile
+ brotli? ( app-arch/brotli )
+ csc? ( >=media-video/ffmpeg-1.2.2:0= )
+ ffmpeg? ( >=media-video/ffmpeg-3.2.2:0=[x264] )
+ jpeg? ( media-libs/libjpeg-turbo )
+ pulseaudio? (
+ media-libs/libpulse
+ media-plugins/gst-plugins-pulse:1.0
+ )
+ sound? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ vpx? ( media-libs/libvpx media-video/ffmpeg )
+ webp? ( media-libs/libwebp )
+"
+RDEPEND="
+ ${DEPEND}
+ ${TEST_DEPEND}
+ $(python_gen_cond_dep '
+ crypt? ( dev-python/cryptography[${PYTHON_USEDEP}] )
+ cups? ( dev-python/pycups[${PYTHON_USEDEP}] )
+ lz4? ( dev-python/lz4[${PYTHON_USEDEP}] )
+ lzo? ( >=dev-python/python-lzo-0.7.0[${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}]
+ media-libs/opencv[${PYTHON_USEDEP},python]
+ )
+ ')
+ acct-group/xpra
+ virtual/ssh
+ x11-apps/xauth
+ x11-apps/xmodmap
+ ibus? ( app-i18n/ibus )
+ pinentry? ( app-crypt/pinentry )
+ trayicon? ( dev-libs/libayatana-appindicator )
+ udev? ( virtual/udev )
+"
+DEPEND+="
+ test? ( ${TEST_DEPEND} )
+"
+BDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/cython-0.16[${PYTHON_USEDEP}]
+ ')
+ virtual/pkgconfig
+ doc? ( virtual/pandoc )
+"
+
+# Broken by PEP517 migration and some tests failed for a while before that for
+# unknown reasons.
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-9999-xdummy.patch
+)
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ hprefixify xpra/scripts/config.py
+
+ 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
+ fi
+}
+
+python_configure_all() {
+ sed -e "/'pulseaudio'/s:DEFAULT_PULSEAUDIO:$(usex pulseaudio True False):" \
+ -i setup.py || die
+
+ DISTUTILS_ARGS=(
+ --without-PIC
+ --without-Xdummy
+ $(use_with sound audio)
+ $(use_with client)
+ $(use_with clipboard)
+ $(use_with csc csc_swscale)
+ --without-csc_libyuv
+ --without-cuda_rebuild
+ --without-cuda_kernels
+ $(use_with cups printing)
+ --without-debug
+ $(use_with dbus)
+ $(use_with doc docs)
+ $(use_with ffmpeg dec_avcodec2)
+ $(use_with ffmpeg enc_ffmpeg)
+ $(use_with ffmpeg enc_x264)
+ --without-enc_x265
+ --with-gtk3
+ $(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)
+ --without-strict
+ $(use_with vpx)
+ --with-warn
+ $(use_with webcam)
+ $(use_with webp)
+ --with-x11
+ )
+
+ export XPRA_SOCKET_DIRS="${EPREFIX}/run/xpra"
+}
+
+python_test() {
+ export XAUTHORITY=${HOME}/.Xauthority
+ touch "${XAUTHORITY}" || die
+
+ distutils_install_for_testing
+ xdg_environment_reset
+
+ env -u WAYLAND_DISPLAY -u XDG_SESSION_TYPE \
+ PYTHONPATH="${S}/tests/unittests:${BUILD_DIR}/test/lib" \
+ XPRA_SYSTEMD_RUN=$(usex systemd) XPRA_TEST_COVERAGE=0 \
+ "${PYTHON}" "${S}"/tests/unittests/unit/run.py || die
+}
+
+python_install_all() {
+ distutils-r1_python_prepare_all
+
+ # 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)
+ 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
+ fi
+}
+
+pkg_postinst() {
+ tmpfiles_process xpra.conf
+ xdg_pkg_postinst
+ use udev && udev_reload
+}
+
+pkg_postrm() {
+ xdg_pkg_postinst
+ use udev && udev_reload
+}