From 264bf505288f28f3a960433748b9956a33780256 Mon Sep 17 00:00:00 2001 From: Mid Favila Date: Sun, 9 May 2021 03:10:08 -0300 Subject: [PATCH] inital --- README | 6 + banished/dbus-glib/JUSTIFICATION | 1 + banished/dbus-glib/build | 8 + banished/dbus-glib/checksums | 1 + banished/dbus-glib/depends | 4 + banished/dbus-glib/sources | 1 + banished/dbus-glib/version | 1 + banished/dbus/JUSTIFICATION | 1 + banished/dbus/build | 20 + banished/dbus/checksums | 2 + banished/dbus/depends | 1 + banished/dbus/files/dbus.run | 3 + banished/dbus/sources | 2 + banished/dbus/version | 1 + banished/gcc9/JUSTIFICATION | 1 + banished/gcc9/build | 66 + banished/gcc9/checksums | 6 + banished/gcc9/depends | 5 + banished/gcc9/files/c99 | 2 + banished/gcc9/patches/invalid_tls_model.patch | 26 + banished/gcc9/sources | 6 + banished/gcc9/version | 1 + banished/intltool/JUSTIFICATION | 1 + banished/intltool/build | 10 + banished/intltool/checksums | 1 + banished/intltool/depends | 1 + banished/intltool/sources | 1 + banished/intltool/version | 1 + banished/librsvg/JUSTIFICATION | 3 + banished/librsvg/build | 10 + banished/librsvg/checksums | 1 + banished/librsvg/depends | 5 + banished/librsvg/sources | 1 + banished/librsvg/version | 1 + banished/python2/JUSTIFICATION | 1 + banished/python2/build | 28 + banished/python2/checksums | 2 + banished/python2/depends | 3 + .../python2/patches/python2-always-pip.patch | 13 + banished/python2/sources | 2 + banished/python2/version | 1 + banished/retrosmart-icon-theme/JUSTIFICATION | 1 + banished/retrosmart-icon-theme/build | 7 + banished/retrosmart-icon-theme/depends | 2 + banished/retrosmart-icon-theme/sources | 1 + banished/retrosmart-icon-theme/version | 1 + ports/9wm/build | 4 + ports/9wm/checksums | 1 + ports/9wm/depends | 1 + ports/9wm/sources | 1 + ports/9wm/version | 1 + ports/ROX-Filer/build | 21 + ports/ROX-Filer/checksums | 1 + ports/ROX-Filer/depends | 2 + ports/ROX-Filer/sources | 1 + ports/ROX-Filer/version | 1 + ports/axel/build | 11 + ports/axel/checksums | 1 + ports/axel/depends | 2 + ports/axel/sources | 1 + ports/axel/version | 1 + ports/check/build | 7 + ports/check/checksums | 1 + ports/check/depends | 2 + ports/check/sources | 1 + ports/check/version | 1 + ports/chicken-scheme/build | 7 + ports/chicken-scheme/checksums | 1 + ports/chicken-scheme/sources | 1 + ports/chicken-scheme/version | 1 + ports/claws-mail/build | 9 + ports/claws-mail/checksums | 1 + ports/claws-mail/depends | 3 + ports/claws-mail/sources | 1 + ports/claws-mail/version | 1 + ports/ctwm/build | 13 + ports/ctwm/checksums | 1 + ports/ctwm/depends | 9 + ports/ctwm/sources | 1 + ports/ctwm/version | 1 + ports/deadbeef/build | 7 + ports/deadbeef/checksums | 1 + ports/deadbeef/depends | 12 + ports/deadbeef/sources | 1 + ports/deadbeef/version | 1 + ports/dtach-git/build | 7 + ports/dtach-git/sources | 1 + ports/dtach-git/version | 1 + ports/editres-git/build | 7 + ports/editres-git/depends | 8 + ports/editres-git/sources | 1 + ports/editres-git/version | 1 + ports/eiwd/build | 11 + ports/eiwd/checksums | 1 + ports/eiwd/depends | 1 + ports/eiwd/sources | 1 + ports/eiwd/version | 1 + ports/epdfview-git/build | 9 + ports/epdfview-git/checksums | 1 + ports/epdfview-git/depends | 3 + ports/epdfview-git/sources | 1 + ports/epdfview-git/version | 1 + ports/epic/build | 8 + ports/epic/checksums | 1 + ports/epic/depends | 1 + ports/epic/sources | 1 + ports/epic/version | 1 + ports/fbv-git/build | 9 + ports/fbv-git/depends | 3 + ports/fbv-git/sources | 1 + ports/fbv-git/version | 1 + ports/ffmpeg/build | 29 + ports/ffmpeg/checksums | 1 + ports/ffmpeg/depends | 20 + ports/ffmpeg/manifest | 222 ++ ports/ffmpeg/sources | 2 + ports/ffmpeg/version | 1 + ports/fvwm-patched/build | 26 + ports/fvwm-patched/checksums | 18 + ports/fvwm-patched/depends | 8 + .../patches/01-TranslucentMenus.patch | 503 ++++ .../patches/02-ColourBorders.patch | 1619 +++++++++++ .../patches/03-ResizeOutlineThin.patch | 352 +++ .../patches/04-Conditionals.patch | 41 + .../patches/05-FlatSeparators.patch | 172 ++ .../patches/06-BorderUnderTitle.patch | 213 ++ .../patches/07-InactiveFont.patch | 345 +++ .../patches/08-FluxRoundedCorners.patch | 874 ++++++ ports/fvwm-patched/patches/09-TopBorder.patch | 200 ++ .../fvwm-patched/patches/10-ButtonWidth.patch | 26 + .../fvwm-patched/patches/11-MultiBorder.patch | 546 ++++ .../patches/12-FvwmButtonsTips.patch | 322 +++ .../fvwm-patched/patches/13-FvwmIconMan.patch | 114 + ports/fvwm-patched/patches/14-Hover.patch | 295 ++ .../patches/15-FirstItemUnderPointer.patch | 18 + .../patches/16-ThinGeometryProxy.patch | 25 + .../patches/17-MiniIconSize.patch | 18 + ports/fvwm-patched/sources | 18 + ports/fvwm-patched/version | 1 + ports/fvwm2/build | 6 + ports/fvwm2/checksums | 1 + ports/fvwm2/depends | 2 + ports/fvwm2/sources | 1 + ports/fvwm2/version | 1 + ports/fvwm3-git/build | 19 + ports/fvwm3-git/depends | 9 + ports/fvwm3-git/sources | 1 + ports/fvwm3-git/version | 1 + ports/gavin-bc-git/JUSTIFICATION | 1 + ports/gavin-bc-git/build | 7 + ports/gavin-bc-git/sources | 1 + ports/gavin-bc-git/version | 1 + ports/gcc10/build | 74 + ports/gcc10/checksums | 5 + ports/gcc10/depends | 4 + ports/gcc10/files/c99 | 2 + ports/gcc10/manifest | 1517 ++++++++++ ports/gcc10/sources | 5 + ports/gcc10/version | 1 + ports/gccmakedep-git/build | 7 + ports/gccmakedep-git/depends | 3 + ports/gccmakedep-git/sources | 1 + ports/gccmakedep-git/version | 1 + ports/gdbm/build | 8 + ports/gdbm/checksums | 1 + ports/gdbm/sources | 1 + ports/gdbm/version | 1 + ports/geany/build | 9 + ports/geany/checksums | 1 + ports/geany/depends | 4 + ports/geany/sources | 1 + ports/geany/version | 1 + ports/gettext-tiny/build | 9 + ports/gettext-tiny/checksums | 1 + ports/gettext-tiny/sources | 1 + ports/gettext-tiny/version | 1 + ports/gpicview/build | 11 + ports/gpicview/checksums | 1 + ports/gpicview/depends | 11 + ports/gpicview/sources | 1 + ports/gpicview/version | 1 + ports/gtk+2/build | 22 + ports/gtk+2/checksums | 1 + ports/gtk+2/depends | 10 + ports/gtk+2/sources | 1 + ports/gtk+2/version | 1 + ports/gtk2-engines-clearlooks/build | 6 + ports/gtk2-engines-clearlooks/depends | 2 + ports/gtk2-engines-clearlooks/sources | 1 + ports/gtk2-engines-clearlooks/version | 1 + ports/gtk2-engines-murrine/build | 6 + ports/gtk2-engines-murrine/depends | 3 + ports/gtk2-engines-murrine/sources | 1 + ports/gtk2-engines-murrine/version | 1 + ports/gv/build | 8 + ports/gv/checksums | 1 + ports/gv/depends | 9 + ports/gv/sources | 1 + ports/gv/version | 1 + ports/hicolor/build | 6 + ports/hicolor/checksums | 1 + ports/hicolor/depends | 2 + ports/hicolor/sources | 1 + ports/hicolor/version | 1 + ports/hostapd/build | 10 + ports/hostapd/checksums | 1 + ports/hostapd/depends | 2 + ports/hostapd/sources | 1 + ports/hostapd/version | 1 + ports/hummingbird-git/build | 10 + ports/hummingbird-git/checksums | 1 + ports/hummingbird-git/sources | 1 + ports/hummingbird-git/version | 1 + ports/imake-git/build | 7 + ports/imake-git/depends | 4 + ports/imake-git/sources | 1 + ports/imake-git/version | 1 + ports/inetutils/build | 14 + ports/inetutils/checksums | 1 + ports/inetutils/depends | 1 + ports/inetutils/sources | 1 + ports/inetutils/version | 1 + ports/itstool/build | 6 + ports/itstool/checksums | 1 + ports/itstool/depends | 1 + ports/itstool/sources | 1 + ports/itstool/version | 1 + ports/iw/build | 4 + ports/iw/checksums | 1 + ports/iw/depends | 2 + ports/iw/sources | 1 + ports/iw/version | 1 + ports/jansson/build | 7 + ports/jansson/checksums | 1 + ports/jansson/sources | 1 + ports/jansson/version | 1 + ports/kiss-mod/README | 4 + ports/kiss-mod/build | 13 + ports/kiss-mod/checksums | 3 + ports/kiss-mod/depends | 2 + ports/kiss-mod/sources | 3 + ports/kiss-mod/version | 1 + ports/leafpad/build | 7 + ports/leafpad/checksums | 1 + ports/leafpad/depends | 3 + ports/leafpad/sources | 1 + ports/leafpad/version | 1 + ports/less/build | 7 + ports/less/checksums | 1 + ports/less/depends | 1 + ports/less/sources | 1 + ports/less/version | 1 + ports/libXRes/build | 7 + ports/libXRes/depends | 4 + ports/libXRes/sources | 1 + ports/libXRes/version | 1 + ports/libXaw/build | 7 + ports/libXaw/checksums | 1 + ports/libXaw/depends | 2 + ports/libXaw/sources | 1 + ports/libXaw/version | 1 + ports/libXaw3d-git/build | 11 + ports/libXaw3d-git/depends | 12 + ports/libXaw3d-git/pinst | 9 + ports/libXaw3d-git/sources | 1 + ports/libXaw3d-git/version | 1 + ports/libXdmcp/build | 7 + ports/libXdmcp/checksums | 1 + ports/libXdmcp/depends | 1 + ports/libXdmcp/sources | 1 + ports/libXdmcp/version | 1 + ports/libXpm/build | 6 + ports/libXpm/checksums | 1 + ports/libXpm/depends | 2 + ports/libXpm/sources | 1 + ports/libXpm/version | 1 + ports/libao-git/build | 9 + ports/libao-git/depends | 4 + ports/libao-git/sources | 1 + ports/libao-git/version | 1 + ports/libbson-git/build | 17 + ports/libbson-git/depends | 1 + ports/libbson-git/sources | 1 + ports/libbson-git/version | 1 + ports/libetpan/build | 7 + ports/libetpan/checksums | 1 + ports/libetpan/depends | 4 + ports/libetpan/sources | 1 + ports/libetpan/version | 1 + ports/libmbim/build | 7 + ports/libmbim/checksums | 1 + ports/libmbim/sources | 1 + ports/libmbim/version | 1 + ports/libnice-git/build | 6 + ports/libnice-git/depends | 4 + ports/libnice-git/sources | 1 + ports/libnice-git/version | 1 + ports/libotr/build | 7 + ports/libotr/checksums | 1 + ports/libotr/depends | 1 + ports/libotr/sources | 1 + ports/libotr/version | 1 + ports/libpcre-git/build | 1 + ports/libpcre-git/sources | 1 + ports/libpcre-git/version | 1 + ports/libpipeline-git/README | 4 + ports/libpipeline-git/build | 12 + ports/libpipeline-git/depends | 4 + ports/libpipeline-git/sources | 1 + ports/libpipeline-git/version | 1 + ports/libxslt/build | 7 + ports/libxslt/checksums | 1 + ports/libxslt/depends | 1 + ports/libxslt/sources | 1 + ports/libxslt/version | 1 + ports/links2/build | 10 + ports/links2/checksums | 2 + ports/links2/depends | 8 + ports/links2/manifest | 17 + ports/links2/patches/01-links-tabbed.patch | 67 + ports/links2/sources | 2 + ports/links2/version | 1 + ports/lxtask/build | 7 + ports/lxtask/checksums | 1 + ports/lxtask/depends | 1 + ports/lxtask/sources | 1 + ports/lxtask/version | 1 + ports/mplayer/build | 8 + ports/mplayer/checksums | 1 + ports/mplayer/depends | 3 + ports/mplayer/sources | 1 + ports/mplayer/version | 1 + ports/mrsh-git/build | 7 + ports/mrsh-git/sources | 1 + ports/mrsh-git/version | 1 + ports/mtm-git/build | 20 + ports/mtm-git/checksums | 1 + ports/mtm-git/depends | 1 + ports/mtm-git/pre-remove | 3 + ports/mtm-git/sources | 1 + ports/mtm-git/version | 1 + ports/mtpaint-git/README | 3 + ports/mtpaint-git/build | 8 + ports/mtpaint-git/depends | 4 + ports/mtpaint-git/sources | 1 + ports/mtpaint-git/version | 1 + ports/net-tools-git/README | 7 + ports/net-tools-git/build | 10 + ports/net-tools-git/depends | 3 + ports/net-tools-git/sources | 1 + ports/net-tools-git/version | 1 + ports/netsurf-gtk2/build | 35 + ports/netsurf-gtk2/checksums | 4 + ports/netsurf-gtk2/depends | 13 + ports/netsurf-gtk2/sources | 4 + ports/netsurf-gtk2/version | 1 + ports/nilfs-utils/build | 7 + ports/nilfs-utils/checksums | 1 + ports/nilfs-utils/sources | 1 + ports/nilfs-utils/version | 1 + ports/nmh/build | 12 + ports/nmh/checksums | 1 + ports/nmh/depends | 4 + ports/nmh/sources | 1 + ports/nmh/version | 1 + ports/ntp/build | 7 + ports/ntp/checksums | 1 + ports/ntp/sources | 1 + ports/ntp/version | 1 + ports/oclock/build | 7 + ports/oclock/checksums | 1 + ports/oclock/depends | 10 + ports/oclock/sources | 1 + ports/oclock/version | 1 + ports/otawk-git/build | 5 + ports/otawk-git/sources | 1 + ports/otawk-git/version | 1 + ports/parcellite/build | 6 + ports/parcellite/checksums | 1 + ports/parcellite/depends | 2 + ports/parcellite/sources | 1 + ports/parcellite/version | 1 + ports/patch/build | 9 + ports/patch/checksums | 1 + ports/patch/manifest | 17 + ports/patch/sources | 1 + ports/patch/version | 1 + ports/perf/build | 1 + ports/perf/sources | 1 + ports/perf/version | 1 + ports/perl-xml/build | 6 + ports/perl-xml/checksums | 1 + ports/perl-xml/depends | 2 + ports/perl-xml/sources | 1 + ports/perl-xml/version | 1 + ports/picocom-git/build | 6 + ports/picocom-git/checksums | 1 + ports/picocom-git/sources | 1 + ports/picocom-git/version | 1 + ports/pidgin-otr/build | 7 + ports/pidgin-otr/checksums | 1 + ports/pidgin-otr/depends | 4 + ports/pidgin-otr/sources | 1 + ports/pidgin-otr/version | 1 + ports/pidgin/build | 25 + ports/pidgin/checksums | 1 + ports/pidgin/depends | 7 + ports/pidgin/sources | 1 + ports/pidgin/version | 1 + ports/poppler-glib/build | 11 + ports/poppler-glib/checksums | 1 + ports/poppler-glib/depends | 6 + ports/poppler-glib/sources | 1 + ports/poppler-glib/version | 1 + ports/psmisc-git/build | 9 + ports/psmisc-git/depends | 4 + ports/psmisc-git/sources | 1 + ports/psmisc-git/version | 1 + ports/purple-discord-git/build | 6 + ports/purple-discord-git/sources | 1 + ports/purple-discord-git/version | 1 + ports/qdbm/build | 7 + ports/qdbm/checksums | 1 + ports/qdbm/sources | 1 + ports/qdbm/version | 1 + ports/redshift/build | 7 + ports/redshift/checksums | 1 + ports/redshift/depends | 5 + ports/redshift/sources | 1 + ports/redshift/version | 1 + ports/rxvt-unicode/build | 26 + ports/rxvt-unicode/checksums | 3 + ports/rxvt-unicode/depends | 5 + ports/rxvt-unicode/patches/gentables.patch | 7 + .../patches/rxvt-unicode-kerning.patch | 21 + ports/rxvt-unicode/sources | 3 + ports/rxvt-unicode/version | 1 + ports/sbase-git/build | 14 + ports/sbase-git/checksums | 1 + ports/sbase-git/patches/tar-dash-remove.patch | 29 + ports/sbase-git/sources | 2 + ports/sbase-git/version | 1 + ports/sbase/build | 14 + ports/sbase/checksums | 1 + ports/sbase/manifest | 210 ++ ports/sbase/patches/tar-dash-remove.patch | 29 + ports/sbase/sources | 2 + ports/sbase/version | 1 + ports/scheme48/build | 7 + ports/scheme48/checksums | 1 + ports/scheme48/post-install | 3 + ports/scheme48/sources | 1 + ports/scheme48/version | 1 + ports/scrot/build | 9 + ports/scrot/checksums | 1 + ports/scrot/depends | 2 + ports/scrot/sources | 1 + ports/scrot/version | 1 + ports/scsh-git/build | 11 + ports/scsh-git/depends | 3 + ports/scsh-git/sources | 1 + ports/scsh-git/version | 1 + ports/shared-mime-info/build | 54 + ports/shared-mime-info/checksums | 1 + ports/shared-mime-info/depends | 4 + ports/shared-mime-info/post-install | 3 + ports/shared-mime-info/sources | 1 + ports/shared-mime-info/version | 1 + ports/smack-utils/build | 9 + ports/smack-utils/checksums | 1 + ports/smack-utils/sources | 1 + ports/smack-utils/version | 1 + ports/sms-tools/build | 15 + ports/sms-tools/checksums | 1 + ports/sms-tools/sources | 1 + ports/sms-tools/version | 1 + ports/stalonetray/build | 8 + ports/stalonetray/checksums | 1 + ports/stalonetray/depends | 1 + ports/stalonetray/sources | 1 + ports/stalonetray/version | 1 + ports/sysklogd-git/build | 9 + ports/sysklogd-git/depends | 3 + ports/sysklogd-git/sources | 1 + ports/sysklogd-git/version | 1 + ports/syslinux/build | 21 + ports/syslinux/checksums | 3 + ports/syslinux/depends | 4 + .../0018-prevent-pow-optimization.patch | 36 + ports/syslinux/patches/fcommon.patch | 50 + ports/syslinux/sources | 3 + ports/syslinux/version | 1 + ports/tcalc/build | 3 + ports/tcalc/checksums | 1 + ports/tcalc/depends | 2 + ports/tcalc/sources | 1 + ports/tcalc/version | 1 + ports/tcl/build | 19 + ports/tcl/checksums | 1 + ports/tcl/depends | 2 + ports/tcl/sources | 1 + ports/tcl/version | 1 + ports/tcptrace-git/build | 9 + ports/tcptrace-git/sources | 1 + ports/tcptrace-git/version | 1 + ports/telegram-purple/build | 11 + ports/telegram-purple/checksums | 1 + ports/telegram-purple/depends | 1 + ports/telegram-purple/sources | 1 + ports/telegram-purple/version | 1 + ports/tine-git/build | 7 + ports/tine-git/depends | 1 + ports/tine-git/sources | 1 + ports/tine-git/version | 1 + ports/tk/build | 22 + ports/tk/checksums | 1 + ports/tk/depends | 5 + ports/tk/sources | 1 + ports/tk/version | 1 + ports/tt++/build | 9 + ports/tt++/checksums | 1 + ports/tt++/depends | 1 + ports/tt++/sources | 1 + ports/tt++/version | 1 + ports/ubase-git/build | 19 + ports/ubase-git/checksums | 2 + ...4b156360ce4a18e4a3897f883b663771ba24.patch | 70 + ports/ubase-git/patches/fix-mount.patch | 12 + ports/ubase-git/sources | 3 + ports/ubase-git/version | 1 + ports/ubase/build | 19 + ports/ubase/checksums | 2 + ports/ubase/manifest | 122 + ...4b156360ce4a18e4a3897f883b663771ba24.patch | 70 + ports/ubase/patches/fix-mount.patch | 12 + ports/ubase/sources | 3 + ports/ubase/version | 1 + ports/util-linux/build | 23 + ports/util-linux/checksums | 1 + ports/util-linux/depends | 2 + ports/util-linux/sources | 1 + ports/util-linux/version | 1 + ports/viewres-git/build | 9 + ports/viewres-git/depends | 3 + ports/viewres-git/sources | 1 + ports/viewres-git/version | 1 + ports/vorbis-tools-git/build | 9 + ports/vorbis-tools-git/depends | 8 + ports/vorbis-tools-git/sources | 1 + ports/vorbis-tools-git/version | 1 + ports/webbrowser/build | 14 + ports/webbrowser/checksums | 1 + ports/webbrowser/depends | 20 + ports/webbrowser/sources | 1 + ports/webbrowser/version | 1 + ports/wireless-tools/build | 18 + ports/wireless-tools/checksums | 1 + ports/wireless-tools/sources | 1 + ports/wireless-tools/version | 1 + ports/xbitmaps/build | 7 + ports/xbitmaps/checksums | 1 + ports/xbitmaps/sources | 1 + ports/xbitmaps/version | 1 + ports/xcalc/build | 7 + ports/xcalc/depends | 3 + ports/xcalc/sources | 1 + ports/xcalc/version | 1 + ports/xcalendar/build | 13 + ports/xcalendar/checksums | 1 + ports/xcalendar/depends | 3 + ports/xcalendar/sources | 1 + ports/xcalendar/version | 1 + ports/xclipboard/build | 9 + ports/xclipboard/sources | 1 + ports/xclipboard/version | 1 + ports/xclock/build | 7 + ports/xclock/checksums | 1 + ports/xclock/depends | 13 + ports/xclock/sources | 1 + ports/xclock/version | 1 + ports/xdm/build | 8 + ports/xdm/checksums | 1 + ports/xdm/depends | 3 + ports/xdm/sources | 1 + ports/xdm/version | 1 + ports/xedit/build | 7 + ports/xedit/depends | 4 + ports/xedit/sources | 1 + ports/xedit/version | 1 + ports/xf86-input-kbd/build | 9 + ports/xf86-input-kbd/depends | 2 + ports/xf86-input-kbd/sources | 1 + ports/xf86-input-kbd/version | 1 + ports/xf86-input-wacom/build | 9 + ports/xf86-input-wacom/checksums | 1 + ports/xf86-input-wacom/depends | 2 + ports/xf86-input-wacom/manifest | 44 + ports/xf86-input-wacom/sources | 1 + ports/xf86-input-wacom/version | 1 + ports/xfd/build | 7 + ports/xfd/depends | 8 + ports/xfd/sources | 1 + ports/xfd/version | 1 + ports/xfontsel/build | 7 + ports/xfontsel/depends | 5 + ports/xfontsel/sources | 1 + ports/xfontsel/version | 1 + ports/xless/build | 6 + ports/xless/checksums | 1 + ports/xless/depends | 3 + ports/xless/files/Imake.tmpl | 2320 +++++++++++++++ ports/xless/sources | 1 + ports/xless/version | 1 + ports/xman/build | 7 + ports/xman/depends | 4 + ports/xman/sources | 1 + ports/xman/version | 1 + ports/xmessage/build | 7 + ports/xmessage/depends | 7 + ports/xmessage/sources | 1 + ports/xmessage/version | 1 + ports/xmh/build | 7 + ports/xmh/checksums | 1 + ports/xmh/depends | 1 + ports/xmh/sources | 1 + ports/xmh/version | 1 + ports/xmlto/build | 6 + ports/xmlto/checksums | 1 + ports/xmlto/depends | 1 + ports/xmlto/sources | 1 + ports/xmlto/version | 1 + ports/xmore/build | 8 + ports/xmore/sources | 1 + ports/xmore/version | 1 + ports/xorg-cf/build | 7 + ports/xorg-cf/depends | 4 + ports/xorg-cf/sources | 1 + ports/xorg-cf/version | 1 + ports/xorg-fontutil/build | 7 + ports/xorg-fontutil/depends | 1 + ports/xorg-fontutil/sources | 1 + ports/xorg-fontutil/version | 1 + ports/xorg-mkfontscale/build | 8 + ports/xorg-mkfontscale/sources | 1 + ports/xorg-mkfontscale/version | 1 + ports/xosview/build | 7 + ports/xosview/checksums | 2 + ports/xosview/patches/musl-fix.patch | 14 + ports/xosview/sources | 2 + ports/xosview/version | 1 + ports/xrestop/build | 7 + ports/xrestop/depends | 2 + ports/xrestop/sources | 1 + ports/xrestop/version | 1 + ports/xrn/build | 11 + ports/xrn/sources | 1 + ports/xrn/version | 1 + ports/xsetroot/build | 9 + ports/xsetroot/checksums | 1 + ports/xsetroot/depends | 6 + ports/xsetroot/sources | 1 + ports/xsetroot/version | 1 + ports/xsm/build | 8 + ports/xsm/depends | 8 + ports/xsm/sources | 1 + ports/xsm/version | 1 + ports/xssstart/build | 4 + ports/xssstart/depends | 1 + ports/xssstart/sources | 1 + ports/xssstart/version | 1 + ports/xterm/build | 20 + ports/xterm/checksums | 2 + ports/xterm/depends | 20 + ports/xterm/patches/posix-ptys.patch | 21 + ports/xterm/sources | 2 + ports/xterm/version | 1 + ports/xvkbd/build | 9 + ports/xvkbd/checksums | 1 + ports/xvkbd/depends | 1 + ports/xvkbd/sources | 1 + ports/xvkbd/version | 1 + ports/yasm/build | 8 + ports/yasm/checksums | 1 + ports/yasm/sources | 1 + ports/yasm/version | 1 + testing/Ted/Ted/build | 4 + testing/Ted/Ted/checksums | 1 + testing/Ted/Ted/sources | 1 + testing/Ted/Ted/version | 1 + testing/Ted/build | 4 + testing/Ted/checksums | 1 + testing/Ted/sources | 1 + testing/Ted/version | 1 + testing/allegro/build | 10 + testing/allegro/checksums | 1 + testing/allegro/depends | 1 + testing/allegro/sources | 1 + testing/allegro/version | 1 + testing/alsa-lib | 1 + testing/autoconf-2.13/build | 7 + testing/autoconf-2.13/checksums | 1 + testing/autoconf-2.13/depends | 2 + testing/autoconf-2.13/sources | 1 + testing/autoconf-2.13/version | 1 + testing/c-kermit/build | 1 + testing/c-kermit/checksums | 1 + testing/c-kermit/sources | 1 + testing/c-kermit/version | 1 + testing/ffmpeg/build | 29 + testing/ffmpeg/checksums | 1 + testing/ffmpeg/depends | 20 + testing/ffmpeg/manifest | 222 ++ testing/ffmpeg/sources | 1 + testing/ffmpeg/version | 1 + testing/fontconfig | 1 + testing/freetype-harfbuzz | 1 + testing/fvwm3/build | 6 + testing/fvwm3/depends | 2 + testing/fvwm3/sources | 1 + testing/fvwm3/version | 1 + testing/gtk+2/build | 25 + testing/gtk+2/checksums | 2 + testing/gtk+2/depends | 10 + .../patches/gtk2-filechooser-icon-view.patch | 2488 +++++++++++++++++ testing/gtk+2/sources | 2 + testing/gtk+2/version | 1 + testing/gtk2-experimental/build | 22 + testing/gtk2-experimental/sources | 1 + testing/gtk2-experimental/version | 1 + testing/itcl/build | 7 + testing/itcl/checksums | 1 + testing/itcl/sources | 1 + testing/itcl/version | 1 + testing/libXt | 1 + testing/liberation-circuit/build | 7 + testing/liberation-circuit/depends | 1 + testing/liberation-circuit/sources | 1 + testing/liberation-circuit/version | 1 + testing/libevent/build | 8 + testing/libevent/checksums | 1 + testing/libevent/sources | 1 + testing/libevent/version | 1 + testing/libffi | 1 + testing/libvpx | 1 + testing/luarocks/build | 11 + testing/luarocks/checksums | 1 + testing/luarocks/depends | 1 + testing/luarocks/sources | 1 + testing/luarocks/version | 1 + testing/nuegia-browser-bin/build | 5 + testing/nuegia-browser-bin/checksums | 1 + testing/nuegia-browser-bin/depends | 11 + testing/nuegia-browser-bin/sources | 1 + testing/nuegia-browser-bin/version | 1 + testing/procps-ng/build | 11 + testing/procps-ng/depends | 4 + testing/procps-ng/sources | 1 + testing/procps-ng/version | 1 + testing/scrot-git/build | 8 + testing/scrot-git/checksums | 1 + testing/scrot-git/depends | 3 + testing/scrot-git/manifest | 24 + testing/scrot-git/sources | 1 + testing/scrot-git/version | 1 + testing/spacefm/build | 8 + testing/spacefm/checksums | 2 + testing/spacefm/patches/patch1.patch | 91 + testing/spacefm/patches/sfm.patch | 0 testing/spacefm/sources | 2 + testing/spacefm/version | 1 + testing/sqlite | 1 + testing/transmission-gtk2/build | 8 + testing/transmission-gtk2/checksums | 1 + testing/transmission-gtk2/depends | 13 + testing/transmission-gtk2/manifest | 128 + testing/transmission-gtk2/sources | 1 + testing/transmission-gtk2/version | 1 + testing/ucs-fonts/build | 1 + testing/ucs-fonts/sources | 1 + testing/ucs-fonts/version | 1 + testing/xterm/build | 21 + testing/xterm/checksums | 2 + testing/xterm/depends | 20 + testing/xterm/patches/posix-ptys.patch | 21 + testing/xterm/sources | 2 + testing/xterm/version | 1 + testing/yash/build | 7 + testing/yash/sources | 1 + testing/yash/version | 1 + testing/zip | 1 + 790 files changed, 16549 insertions(+) create mode 100644 README create mode 100644 banished/dbus-glib/JUSTIFICATION create mode 100755 banished/dbus-glib/build create mode 100644 banished/dbus-glib/checksums create mode 100644 banished/dbus-glib/depends create mode 100644 banished/dbus-glib/sources create mode 100644 banished/dbus-glib/version create mode 100644 banished/dbus/JUSTIFICATION create mode 100755 banished/dbus/build create mode 100644 banished/dbus/checksums create mode 100644 banished/dbus/depends create mode 100644 banished/dbus/files/dbus.run create mode 100644 banished/dbus/sources create mode 100644 banished/dbus/version create mode 100644 banished/gcc9/JUSTIFICATION create mode 100755 banished/gcc9/build create mode 100644 banished/gcc9/checksums create mode 100644 banished/gcc9/depends create mode 100644 banished/gcc9/files/c99 create mode 100644 banished/gcc9/patches/invalid_tls_model.patch create mode 100644 banished/gcc9/sources create mode 100644 banished/gcc9/version create mode 100644 banished/intltool/JUSTIFICATION create mode 100755 banished/intltool/build create mode 100644 banished/intltool/checksums create mode 100644 banished/intltool/depends create mode 100644 banished/intltool/sources create mode 100644 banished/intltool/version create mode 100644 banished/librsvg/JUSTIFICATION create mode 100755 banished/librsvg/build create mode 100644 banished/librsvg/checksums create mode 100644 banished/librsvg/depends create mode 100644 banished/librsvg/sources create mode 100644 banished/librsvg/version create mode 100644 banished/python2/JUSTIFICATION create mode 100755 banished/python2/build create mode 100644 banished/python2/checksums create mode 100644 banished/python2/depends create mode 100644 banished/python2/patches/python2-always-pip.patch create mode 100644 banished/python2/sources create mode 100644 banished/python2/version create mode 100644 banished/retrosmart-icon-theme/JUSTIFICATION create mode 100755 banished/retrosmart-icon-theme/build create mode 100644 banished/retrosmart-icon-theme/depends create mode 100644 banished/retrosmart-icon-theme/sources create mode 100644 banished/retrosmart-icon-theme/version create mode 100755 ports/9wm/build create mode 100644 ports/9wm/checksums create mode 100644 ports/9wm/depends create mode 100644 ports/9wm/sources create mode 100644 ports/9wm/version create mode 100755 ports/ROX-Filer/build create mode 100644 ports/ROX-Filer/checksums create mode 100644 ports/ROX-Filer/depends create mode 100644 ports/ROX-Filer/sources create mode 100644 ports/ROX-Filer/version create mode 100755 ports/axel/build create mode 100644 ports/axel/checksums create mode 100644 ports/axel/depends create mode 100644 ports/axel/sources create mode 100644 ports/axel/version create mode 100755 ports/check/build create mode 100644 ports/check/checksums create mode 100644 ports/check/depends create mode 100644 ports/check/sources create mode 100644 ports/check/version create mode 100755 ports/chicken-scheme/build create mode 100644 ports/chicken-scheme/checksums create mode 100644 ports/chicken-scheme/sources create mode 100644 ports/chicken-scheme/version create mode 100755 ports/claws-mail/build create mode 100644 ports/claws-mail/checksums create mode 100644 ports/claws-mail/depends create mode 100644 ports/claws-mail/sources create mode 100644 ports/claws-mail/version create mode 100755 ports/ctwm/build create mode 100644 ports/ctwm/checksums create mode 100644 ports/ctwm/depends create mode 100644 ports/ctwm/sources create mode 100644 ports/ctwm/version create mode 100755 ports/deadbeef/build create mode 100644 ports/deadbeef/checksums create mode 100644 ports/deadbeef/depends create mode 100644 ports/deadbeef/sources create mode 100644 ports/deadbeef/version create mode 100755 ports/dtach-git/build create mode 100644 ports/dtach-git/sources create mode 100644 ports/dtach-git/version create mode 100755 ports/editres-git/build create mode 100644 ports/editres-git/depends create mode 100644 ports/editres-git/sources create mode 100644 ports/editres-git/version create mode 100755 ports/eiwd/build create mode 100644 ports/eiwd/checksums create mode 100644 ports/eiwd/depends create mode 100644 ports/eiwd/sources create mode 100644 ports/eiwd/version create mode 100755 ports/epdfview-git/build create mode 100644 ports/epdfview-git/checksums create mode 100644 ports/epdfview-git/depends create mode 100644 ports/epdfview-git/sources create mode 100644 ports/epdfview-git/version create mode 100755 ports/epic/build create mode 100644 ports/epic/checksums create mode 100644 ports/epic/depends create mode 100644 ports/epic/sources create mode 100644 ports/epic/version create mode 100755 ports/fbv-git/build create mode 100644 ports/fbv-git/depends create mode 100644 ports/fbv-git/sources create mode 100644 ports/fbv-git/version create mode 100755 ports/ffmpeg/build create mode 100644 ports/ffmpeg/checksums create mode 100644 ports/ffmpeg/depends create mode 100644 ports/ffmpeg/manifest create mode 100644 ports/ffmpeg/sources create mode 100644 ports/ffmpeg/version create mode 100755 ports/fvwm-patched/build create mode 100644 ports/fvwm-patched/checksums create mode 100644 ports/fvwm-patched/depends create mode 100644 ports/fvwm-patched/patches/01-TranslucentMenus.patch create mode 100644 ports/fvwm-patched/patches/02-ColourBorders.patch create mode 100644 ports/fvwm-patched/patches/03-ResizeOutlineThin.patch create mode 100644 ports/fvwm-patched/patches/04-Conditionals.patch create mode 100644 ports/fvwm-patched/patches/05-FlatSeparators.patch create mode 100644 ports/fvwm-patched/patches/06-BorderUnderTitle.patch create mode 100644 ports/fvwm-patched/patches/07-InactiveFont.patch create mode 100644 ports/fvwm-patched/patches/08-FluxRoundedCorners.patch create mode 100644 ports/fvwm-patched/patches/09-TopBorder.patch create mode 100644 ports/fvwm-patched/patches/10-ButtonWidth.patch create mode 100644 ports/fvwm-patched/patches/11-MultiBorder.patch create mode 100644 ports/fvwm-patched/patches/12-FvwmButtonsTips.patch create mode 100644 ports/fvwm-patched/patches/13-FvwmIconMan.patch create mode 100644 ports/fvwm-patched/patches/14-Hover.patch create mode 100644 ports/fvwm-patched/patches/15-FirstItemUnderPointer.patch create mode 100644 ports/fvwm-patched/patches/16-ThinGeometryProxy.patch create mode 100644 ports/fvwm-patched/patches/17-MiniIconSize.patch create mode 100644 ports/fvwm-patched/sources create mode 100644 ports/fvwm-patched/version create mode 100755 ports/fvwm2/build create mode 100644 ports/fvwm2/checksums create mode 100644 ports/fvwm2/depends create mode 100644 ports/fvwm2/sources create mode 100644 ports/fvwm2/version create mode 100755 ports/fvwm3-git/build create mode 100644 ports/fvwm3-git/depends create mode 100644 ports/fvwm3-git/sources create mode 100644 ports/fvwm3-git/version create mode 100644 ports/gavin-bc-git/JUSTIFICATION create mode 100755 ports/gavin-bc-git/build create mode 100644 ports/gavin-bc-git/sources create mode 100644 ports/gavin-bc-git/version create mode 100755 ports/gcc10/build create mode 100644 ports/gcc10/checksums create mode 100644 ports/gcc10/depends create mode 100644 ports/gcc10/files/c99 create mode 100644 ports/gcc10/manifest create mode 100644 ports/gcc10/sources create mode 100644 ports/gcc10/version create mode 100755 ports/gccmakedep-git/build create mode 100644 ports/gccmakedep-git/depends create mode 100644 ports/gccmakedep-git/sources create mode 100644 ports/gccmakedep-git/version create mode 100755 ports/gdbm/build create mode 100644 ports/gdbm/checksums create mode 100644 ports/gdbm/sources create mode 100644 ports/gdbm/version create mode 100755 ports/geany/build create mode 100644 ports/geany/checksums create mode 100644 ports/geany/depends create mode 100644 ports/geany/sources create mode 100644 ports/geany/version create mode 100755 ports/gettext-tiny/build create mode 100644 ports/gettext-tiny/checksums create mode 100644 ports/gettext-tiny/sources create mode 100644 ports/gettext-tiny/version create mode 100755 ports/gpicview/build create mode 100644 ports/gpicview/checksums create mode 100644 ports/gpicview/depends create mode 100644 ports/gpicview/sources create mode 100644 ports/gpicview/version create mode 100755 ports/gtk+2/build create mode 100644 ports/gtk+2/checksums create mode 100644 ports/gtk+2/depends create mode 100644 ports/gtk+2/sources create mode 100644 ports/gtk+2/version create mode 100755 ports/gtk2-engines-clearlooks/build create mode 100644 ports/gtk2-engines-clearlooks/depends create mode 100644 ports/gtk2-engines-clearlooks/sources create mode 100644 ports/gtk2-engines-clearlooks/version create mode 100755 ports/gtk2-engines-murrine/build create mode 100644 ports/gtk2-engines-murrine/depends create mode 100644 ports/gtk2-engines-murrine/sources create mode 100644 ports/gtk2-engines-murrine/version create mode 100755 ports/gv/build create mode 100644 ports/gv/checksums create mode 100644 ports/gv/depends create mode 100644 ports/gv/sources create mode 100644 ports/gv/version create mode 100755 ports/hicolor/build create mode 100644 ports/hicolor/checksums create mode 100644 ports/hicolor/depends create mode 100644 ports/hicolor/sources create mode 100644 ports/hicolor/version create mode 100755 ports/hostapd/build create mode 100644 ports/hostapd/checksums create mode 100644 ports/hostapd/depends create mode 100644 ports/hostapd/sources create mode 100644 ports/hostapd/version create mode 100755 ports/hummingbird-git/build create mode 100644 ports/hummingbird-git/checksums create mode 100644 ports/hummingbird-git/sources create mode 100644 ports/hummingbird-git/version create mode 100755 ports/imake-git/build create mode 100644 ports/imake-git/depends create mode 100644 ports/imake-git/sources create mode 100644 ports/imake-git/version create mode 100755 ports/inetutils/build create mode 100644 ports/inetutils/checksums create mode 100644 ports/inetutils/depends create mode 100644 ports/inetutils/sources create mode 100644 ports/inetutils/version create mode 100755 ports/itstool/build create mode 100644 ports/itstool/checksums create mode 100644 ports/itstool/depends create mode 100644 ports/itstool/sources create mode 100644 ports/itstool/version create mode 100755 ports/iw/build create mode 100644 ports/iw/checksums create mode 100644 ports/iw/depends create mode 100644 ports/iw/sources create mode 100644 ports/iw/version create mode 100755 ports/jansson/build create mode 100644 ports/jansson/checksums create mode 100644 ports/jansson/sources create mode 100644 ports/jansson/version create mode 100644 ports/kiss-mod/README create mode 100755 ports/kiss-mod/build create mode 100644 ports/kiss-mod/checksums create mode 100644 ports/kiss-mod/depends create mode 100644 ports/kiss-mod/sources create mode 100644 ports/kiss-mod/version create mode 100755 ports/leafpad/build create mode 100644 ports/leafpad/checksums create mode 100644 ports/leafpad/depends create mode 100644 ports/leafpad/sources create mode 100644 ports/leafpad/version create mode 100755 ports/less/build create mode 100644 ports/less/checksums create mode 100644 ports/less/depends create mode 100644 ports/less/sources create mode 100644 ports/less/version create mode 100755 ports/libXRes/build create mode 100644 ports/libXRes/depends create mode 100644 ports/libXRes/sources create mode 100644 ports/libXRes/version create mode 100755 ports/libXaw/build create mode 100644 ports/libXaw/checksums create mode 100644 ports/libXaw/depends create mode 100644 ports/libXaw/sources create mode 100644 ports/libXaw/version create mode 100755 ports/libXaw3d-git/build create mode 100644 ports/libXaw3d-git/depends create mode 100755 ports/libXaw3d-git/pinst create mode 100644 ports/libXaw3d-git/sources create mode 100644 ports/libXaw3d-git/version create mode 100755 ports/libXdmcp/build create mode 100644 ports/libXdmcp/checksums create mode 100644 ports/libXdmcp/depends create mode 100644 ports/libXdmcp/sources create mode 100644 ports/libXdmcp/version create mode 100755 ports/libXpm/build create mode 100644 ports/libXpm/checksums create mode 100644 ports/libXpm/depends create mode 100644 ports/libXpm/sources create mode 100644 ports/libXpm/version create mode 100755 ports/libao-git/build create mode 100644 ports/libao-git/depends create mode 100644 ports/libao-git/sources create mode 100644 ports/libao-git/version create mode 100755 ports/libbson-git/build create mode 100644 ports/libbson-git/depends create mode 100644 ports/libbson-git/sources create mode 100644 ports/libbson-git/version create mode 100755 ports/libetpan/build create mode 100644 ports/libetpan/checksums create mode 100644 ports/libetpan/depends create mode 100644 ports/libetpan/sources create mode 100644 ports/libetpan/version create mode 100755 ports/libmbim/build create mode 100644 ports/libmbim/checksums create mode 100644 ports/libmbim/sources create mode 100644 ports/libmbim/version create mode 100755 ports/libnice-git/build create mode 100644 ports/libnice-git/depends create mode 100644 ports/libnice-git/sources create mode 100644 ports/libnice-git/version create mode 100755 ports/libotr/build create mode 100644 ports/libotr/checksums create mode 100644 ports/libotr/depends create mode 100644 ports/libotr/sources create mode 100644 ports/libotr/version create mode 100755 ports/libpcre-git/build create mode 100644 ports/libpcre-git/sources create mode 100644 ports/libpcre-git/version create mode 100644 ports/libpipeline-git/README create mode 100755 ports/libpipeline-git/build create mode 100644 ports/libpipeline-git/depends create mode 100644 ports/libpipeline-git/sources create mode 100644 ports/libpipeline-git/version create mode 100755 ports/libxslt/build create mode 100644 ports/libxslt/checksums create mode 100644 ports/libxslt/depends create mode 100644 ports/libxslt/sources create mode 100644 ports/libxslt/version create mode 100755 ports/links2/build create mode 100644 ports/links2/checksums create mode 100644 ports/links2/depends create mode 100644 ports/links2/manifest create mode 100644 ports/links2/patches/01-links-tabbed.patch create mode 100644 ports/links2/sources create mode 100644 ports/links2/version create mode 100755 ports/lxtask/build create mode 100644 ports/lxtask/checksums create mode 100644 ports/lxtask/depends create mode 100644 ports/lxtask/sources create mode 100644 ports/lxtask/version create mode 100755 ports/mplayer/build create mode 100644 ports/mplayer/checksums create mode 100644 ports/mplayer/depends create mode 100644 ports/mplayer/sources create mode 100644 ports/mplayer/version create mode 100755 ports/mrsh-git/build create mode 100644 ports/mrsh-git/sources create mode 100644 ports/mrsh-git/version create mode 100755 ports/mtm-git/build create mode 100644 ports/mtm-git/checksums create mode 100644 ports/mtm-git/depends create mode 100755 ports/mtm-git/pre-remove create mode 100644 ports/mtm-git/sources create mode 100644 ports/mtm-git/version create mode 100644 ports/mtpaint-git/README create mode 100755 ports/mtpaint-git/build create mode 100644 ports/mtpaint-git/depends create mode 100644 ports/mtpaint-git/sources create mode 100644 ports/mtpaint-git/version create mode 100644 ports/net-tools-git/README create mode 100755 ports/net-tools-git/build create mode 100644 ports/net-tools-git/depends create mode 100644 ports/net-tools-git/sources create mode 100644 ports/net-tools-git/version create mode 100755 ports/netsurf-gtk2/build create mode 100644 ports/netsurf-gtk2/checksums create mode 100644 ports/netsurf-gtk2/depends create mode 100644 ports/netsurf-gtk2/sources create mode 100644 ports/netsurf-gtk2/version create mode 100755 ports/nilfs-utils/build create mode 100644 ports/nilfs-utils/checksums create mode 100644 ports/nilfs-utils/sources create mode 100644 ports/nilfs-utils/version create mode 100755 ports/nmh/build create mode 100644 ports/nmh/checksums create mode 100644 ports/nmh/depends create mode 100644 ports/nmh/sources create mode 100644 ports/nmh/version create mode 100755 ports/ntp/build create mode 100644 ports/ntp/checksums create mode 100644 ports/ntp/sources create mode 100644 ports/ntp/version create mode 100755 ports/oclock/build create mode 100644 ports/oclock/checksums create mode 100644 ports/oclock/depends create mode 100644 ports/oclock/sources create mode 100644 ports/oclock/version create mode 100755 ports/otawk-git/build create mode 100644 ports/otawk-git/sources create mode 100644 ports/otawk-git/version create mode 100755 ports/parcellite/build create mode 100644 ports/parcellite/checksums create mode 100644 ports/parcellite/depends create mode 100644 ports/parcellite/sources create mode 100644 ports/parcellite/version create mode 100755 ports/patch/build create mode 100644 ports/patch/checksums create mode 100644 ports/patch/manifest create mode 100644 ports/patch/sources create mode 100644 ports/patch/version create mode 100755 ports/perf/build create mode 100644 ports/perf/sources create mode 100644 ports/perf/version create mode 100755 ports/perl-xml/build create mode 100644 ports/perl-xml/checksums create mode 100644 ports/perl-xml/depends create mode 100644 ports/perl-xml/sources create mode 100644 ports/perl-xml/version create mode 100755 ports/picocom-git/build create mode 100644 ports/picocom-git/checksums create mode 100644 ports/picocom-git/sources create mode 100644 ports/picocom-git/version create mode 100755 ports/pidgin-otr/build create mode 100644 ports/pidgin-otr/checksums create mode 100644 ports/pidgin-otr/depends create mode 100644 ports/pidgin-otr/sources create mode 100644 ports/pidgin-otr/version create mode 100755 ports/pidgin/build create mode 100644 ports/pidgin/checksums create mode 100644 ports/pidgin/depends create mode 100644 ports/pidgin/sources create mode 100644 ports/pidgin/version create mode 100755 ports/poppler-glib/build create mode 100644 ports/poppler-glib/checksums create mode 100644 ports/poppler-glib/depends create mode 100644 ports/poppler-glib/sources create mode 100644 ports/poppler-glib/version create mode 100755 ports/psmisc-git/build create mode 100644 ports/psmisc-git/depends create mode 100644 ports/psmisc-git/sources create mode 100644 ports/psmisc-git/version create mode 100755 ports/purple-discord-git/build create mode 100644 ports/purple-discord-git/sources create mode 100644 ports/purple-discord-git/version create mode 100755 ports/qdbm/build create mode 100644 ports/qdbm/checksums create mode 100644 ports/qdbm/sources create mode 100644 ports/qdbm/version create mode 100755 ports/redshift/build create mode 100644 ports/redshift/checksums create mode 100644 ports/redshift/depends create mode 100644 ports/redshift/sources create mode 100644 ports/redshift/version create mode 100755 ports/rxvt-unicode/build create mode 100644 ports/rxvt-unicode/checksums create mode 100644 ports/rxvt-unicode/depends create mode 100644 ports/rxvt-unicode/patches/gentables.patch create mode 100644 ports/rxvt-unicode/patches/rxvt-unicode-kerning.patch create mode 100644 ports/rxvt-unicode/sources create mode 100644 ports/rxvt-unicode/version create mode 100755 ports/sbase-git/build create mode 100644 ports/sbase-git/checksums create mode 100644 ports/sbase-git/patches/tar-dash-remove.patch create mode 100644 ports/sbase-git/sources create mode 100644 ports/sbase-git/version create mode 100755 ports/sbase/build create mode 100644 ports/sbase/checksums create mode 100644 ports/sbase/manifest create mode 100644 ports/sbase/patches/tar-dash-remove.patch create mode 100644 ports/sbase/sources create mode 100644 ports/sbase/version create mode 100755 ports/scheme48/build create mode 100644 ports/scheme48/checksums create mode 100644 ports/scheme48/post-install create mode 100644 ports/scheme48/sources create mode 100644 ports/scheme48/version create mode 100755 ports/scrot/build create mode 100644 ports/scrot/checksums create mode 100644 ports/scrot/depends create mode 100644 ports/scrot/sources create mode 100644 ports/scrot/version create mode 100755 ports/scsh-git/build create mode 100644 ports/scsh-git/depends create mode 100644 ports/scsh-git/sources create mode 100644 ports/scsh-git/version create mode 100755 ports/shared-mime-info/build create mode 100644 ports/shared-mime-info/checksums create mode 100644 ports/shared-mime-info/depends create mode 100755 ports/shared-mime-info/post-install create mode 100644 ports/shared-mime-info/sources create mode 100644 ports/shared-mime-info/version create mode 100755 ports/smack-utils/build create mode 100644 ports/smack-utils/checksums create mode 100644 ports/smack-utils/sources create mode 100644 ports/smack-utils/version create mode 100755 ports/sms-tools/build create mode 100644 ports/sms-tools/checksums create mode 100644 ports/sms-tools/sources create mode 100644 ports/sms-tools/version create mode 100755 ports/stalonetray/build create mode 100644 ports/stalonetray/checksums create mode 100644 ports/stalonetray/depends create mode 100644 ports/stalonetray/sources create mode 100644 ports/stalonetray/version create mode 100755 ports/sysklogd-git/build create mode 100644 ports/sysklogd-git/depends create mode 100644 ports/sysklogd-git/sources create mode 100644 ports/sysklogd-git/version create mode 100755 ports/syslinux/build create mode 100644 ports/syslinux/checksums create mode 100644 ports/syslinux/depends create mode 100644 ports/syslinux/patches/0018-prevent-pow-optimization.patch create mode 100644 ports/syslinux/patches/fcommon.patch create mode 100644 ports/syslinux/sources create mode 100644 ports/syslinux/version create mode 100755 ports/tcalc/build create mode 100644 ports/tcalc/checksums create mode 100644 ports/tcalc/depends create mode 100644 ports/tcalc/sources create mode 100644 ports/tcalc/version create mode 100755 ports/tcl/build create mode 100644 ports/tcl/checksums create mode 100644 ports/tcl/depends create mode 100644 ports/tcl/sources create mode 100644 ports/tcl/version create mode 100755 ports/tcptrace-git/build create mode 100644 ports/tcptrace-git/sources create mode 100644 ports/tcptrace-git/version create mode 100755 ports/telegram-purple/build create mode 100644 ports/telegram-purple/checksums create mode 100644 ports/telegram-purple/depends create mode 100644 ports/telegram-purple/sources create mode 100644 ports/telegram-purple/version create mode 100755 ports/tine-git/build create mode 100644 ports/tine-git/depends create mode 100644 ports/tine-git/sources create mode 100644 ports/tine-git/version create mode 100755 ports/tk/build create mode 100644 ports/tk/checksums create mode 100644 ports/tk/depends create mode 100644 ports/tk/sources create mode 100644 ports/tk/version create mode 100755 ports/tt++/build create mode 100644 ports/tt++/checksums create mode 100644 ports/tt++/depends create mode 100644 ports/tt++/sources create mode 100644 ports/tt++/version create mode 100755 ports/ubase-git/build create mode 100644 ports/ubase-git/checksums create mode 100644 ports/ubase-git/patches/f3aa4b156360ce4a18e4a3897f883b663771ba24.patch create mode 100644 ports/ubase-git/patches/fix-mount.patch create mode 100644 ports/ubase-git/sources create mode 100644 ports/ubase-git/version create mode 100755 ports/ubase/build create mode 100644 ports/ubase/checksums create mode 100644 ports/ubase/manifest create mode 100644 ports/ubase/patches/f3aa4b156360ce4a18e4a3897f883b663771ba24.patch create mode 100644 ports/ubase/patches/fix-mount.patch create mode 100644 ports/ubase/sources create mode 100644 ports/ubase/version create mode 100755 ports/util-linux/build create mode 100644 ports/util-linux/checksums create mode 100644 ports/util-linux/depends create mode 100644 ports/util-linux/sources create mode 100644 ports/util-linux/version create mode 100755 ports/viewres-git/build create mode 100644 ports/viewres-git/depends create mode 100644 ports/viewres-git/sources create mode 100644 ports/viewres-git/version create mode 100755 ports/vorbis-tools-git/build create mode 100644 ports/vorbis-tools-git/depends create mode 100644 ports/vorbis-tools-git/sources create mode 100644 ports/vorbis-tools-git/version create mode 100755 ports/webbrowser/build create mode 100644 ports/webbrowser/checksums create mode 100644 ports/webbrowser/depends create mode 100644 ports/webbrowser/sources create mode 100644 ports/webbrowser/version create mode 100755 ports/wireless-tools/build create mode 100644 ports/wireless-tools/checksums create mode 100644 ports/wireless-tools/sources create mode 100644 ports/wireless-tools/version create mode 100755 ports/xbitmaps/build create mode 100644 ports/xbitmaps/checksums create mode 100644 ports/xbitmaps/sources create mode 100644 ports/xbitmaps/version create mode 100755 ports/xcalc/build create mode 100644 ports/xcalc/depends create mode 100644 ports/xcalc/sources create mode 100644 ports/xcalc/version create mode 100755 ports/xcalendar/build create mode 100644 ports/xcalendar/checksums create mode 100644 ports/xcalendar/depends create mode 100644 ports/xcalendar/sources create mode 100644 ports/xcalendar/version create mode 100755 ports/xclipboard/build create mode 100644 ports/xclipboard/sources create mode 100644 ports/xclipboard/version create mode 100755 ports/xclock/build create mode 100644 ports/xclock/checksums create mode 100644 ports/xclock/depends create mode 100644 ports/xclock/sources create mode 100644 ports/xclock/version create mode 100755 ports/xdm/build create mode 100644 ports/xdm/checksums create mode 100644 ports/xdm/depends create mode 100644 ports/xdm/sources create mode 100644 ports/xdm/version create mode 100755 ports/xedit/build create mode 100644 ports/xedit/depends create mode 100644 ports/xedit/sources create mode 100644 ports/xedit/version create mode 100755 ports/xf86-input-kbd/build create mode 100644 ports/xf86-input-kbd/depends create mode 100644 ports/xf86-input-kbd/sources create mode 100644 ports/xf86-input-kbd/version create mode 100755 ports/xf86-input-wacom/build create mode 100644 ports/xf86-input-wacom/checksums create mode 100644 ports/xf86-input-wacom/depends create mode 100644 ports/xf86-input-wacom/manifest create mode 100644 ports/xf86-input-wacom/sources create mode 100644 ports/xf86-input-wacom/version create mode 100755 ports/xfd/build create mode 100644 ports/xfd/depends create mode 100644 ports/xfd/sources create mode 100644 ports/xfd/version create mode 100755 ports/xfontsel/build create mode 100644 ports/xfontsel/depends create mode 100644 ports/xfontsel/sources create mode 100644 ports/xfontsel/version create mode 100755 ports/xless/build create mode 100644 ports/xless/checksums create mode 100644 ports/xless/depends create mode 100644 ports/xless/files/Imake.tmpl create mode 100644 ports/xless/sources create mode 100644 ports/xless/version create mode 100755 ports/xman/build create mode 100644 ports/xman/depends create mode 100644 ports/xman/sources create mode 100644 ports/xman/version create mode 100755 ports/xmessage/build create mode 100644 ports/xmessage/depends create mode 100644 ports/xmessage/sources create mode 100644 ports/xmessage/version create mode 100755 ports/xmh/build create mode 100644 ports/xmh/checksums create mode 100644 ports/xmh/depends create mode 100644 ports/xmh/sources create mode 100644 ports/xmh/version create mode 100755 ports/xmlto/build create mode 100644 ports/xmlto/checksums create mode 100644 ports/xmlto/depends create mode 100644 ports/xmlto/sources create mode 100644 ports/xmlto/version create mode 100755 ports/xmore/build create mode 100644 ports/xmore/sources create mode 100644 ports/xmore/version create mode 100755 ports/xorg-cf/build create mode 100644 ports/xorg-cf/depends create mode 100644 ports/xorg-cf/sources create mode 100644 ports/xorg-cf/version create mode 100755 ports/xorg-fontutil/build create mode 100644 ports/xorg-fontutil/depends create mode 100644 ports/xorg-fontutil/sources create mode 100644 ports/xorg-fontutil/version create mode 100755 ports/xorg-mkfontscale/build create mode 100644 ports/xorg-mkfontscale/sources create mode 100644 ports/xorg-mkfontscale/version create mode 100755 ports/xosview/build create mode 100644 ports/xosview/checksums create mode 100644 ports/xosview/patches/musl-fix.patch create mode 100644 ports/xosview/sources create mode 100644 ports/xosview/version create mode 100755 ports/xrestop/build create mode 100644 ports/xrestop/depends create mode 100644 ports/xrestop/sources create mode 100644 ports/xrestop/version create mode 100755 ports/xrn/build create mode 100644 ports/xrn/sources create mode 100644 ports/xrn/version create mode 100755 ports/xsetroot/build create mode 100644 ports/xsetroot/checksums create mode 100644 ports/xsetroot/depends create mode 100644 ports/xsetroot/sources create mode 100644 ports/xsetroot/version create mode 100755 ports/xsm/build create mode 100644 ports/xsm/depends create mode 100644 ports/xsm/sources create mode 100644 ports/xsm/version create mode 100755 ports/xssstart/build create mode 100644 ports/xssstart/depends create mode 100644 ports/xssstart/sources create mode 100644 ports/xssstart/version create mode 100755 ports/xterm/build create mode 100644 ports/xterm/checksums create mode 100644 ports/xterm/depends create mode 100644 ports/xterm/patches/posix-ptys.patch create mode 100644 ports/xterm/sources create mode 100644 ports/xterm/version create mode 100755 ports/xvkbd/build create mode 100644 ports/xvkbd/checksums create mode 100644 ports/xvkbd/depends create mode 100644 ports/xvkbd/sources create mode 100644 ports/xvkbd/version create mode 100755 ports/yasm/build create mode 100644 ports/yasm/checksums create mode 100644 ports/yasm/sources create mode 100644 ports/yasm/version create mode 100755 testing/Ted/Ted/build create mode 100644 testing/Ted/Ted/checksums create mode 100644 testing/Ted/Ted/sources create mode 100644 testing/Ted/Ted/version create mode 100755 testing/Ted/build create mode 100644 testing/Ted/checksums create mode 100644 testing/Ted/sources create mode 100644 testing/Ted/version create mode 100755 testing/allegro/build create mode 100644 testing/allegro/checksums create mode 100644 testing/allegro/depends create mode 100644 testing/allegro/sources create mode 100644 testing/allegro/version create mode 120000 testing/alsa-lib create mode 100755 testing/autoconf-2.13/build create mode 100644 testing/autoconf-2.13/checksums create mode 100644 testing/autoconf-2.13/depends create mode 100644 testing/autoconf-2.13/sources create mode 100644 testing/autoconf-2.13/version create mode 100755 testing/c-kermit/build create mode 100644 testing/c-kermit/checksums create mode 100644 testing/c-kermit/sources create mode 100644 testing/c-kermit/version create mode 100755 testing/ffmpeg/build create mode 100644 testing/ffmpeg/checksums create mode 100644 testing/ffmpeg/depends create mode 100644 testing/ffmpeg/manifest create mode 100644 testing/ffmpeg/sources create mode 100644 testing/ffmpeg/version create mode 120000 testing/fontconfig create mode 120000 testing/freetype-harfbuzz create mode 100755 testing/fvwm3/build create mode 100644 testing/fvwm3/depends create mode 100644 testing/fvwm3/sources create mode 100644 testing/fvwm3/version create mode 100755 testing/gtk+2/build create mode 100644 testing/gtk+2/checksums create mode 100644 testing/gtk+2/depends create mode 100644 testing/gtk+2/patches/gtk2-filechooser-icon-view.patch create mode 100644 testing/gtk+2/sources create mode 100644 testing/gtk+2/version create mode 100755 testing/gtk2-experimental/build create mode 100644 testing/gtk2-experimental/sources create mode 100644 testing/gtk2-experimental/version create mode 100755 testing/itcl/build create mode 100644 testing/itcl/checksums create mode 100644 testing/itcl/sources create mode 100644 testing/itcl/version create mode 120000 testing/libXt create mode 100755 testing/liberation-circuit/build create mode 100644 testing/liberation-circuit/depends create mode 100644 testing/liberation-circuit/sources create mode 100644 testing/liberation-circuit/version create mode 100755 testing/libevent/build create mode 100644 testing/libevent/checksums create mode 100644 testing/libevent/sources create mode 100644 testing/libevent/version create mode 120000 testing/libffi create mode 120000 testing/libvpx create mode 100755 testing/luarocks/build create mode 100644 testing/luarocks/checksums create mode 100644 testing/luarocks/depends create mode 100644 testing/luarocks/sources create mode 100644 testing/luarocks/version create mode 100755 testing/nuegia-browser-bin/build create mode 100644 testing/nuegia-browser-bin/checksums create mode 100644 testing/nuegia-browser-bin/depends create mode 100644 testing/nuegia-browser-bin/sources create mode 100644 testing/nuegia-browser-bin/version create mode 100755 testing/procps-ng/build create mode 100644 testing/procps-ng/depends create mode 100644 testing/procps-ng/sources create mode 100644 testing/procps-ng/version create mode 100755 testing/scrot-git/build create mode 100644 testing/scrot-git/checksums create mode 100644 testing/scrot-git/depends create mode 100644 testing/scrot-git/manifest create mode 100644 testing/scrot-git/sources create mode 100644 testing/scrot-git/version create mode 100755 testing/spacefm/build create mode 100644 testing/spacefm/checksums create mode 100644 testing/spacefm/patches/patch1.patch create mode 100644 testing/spacefm/patches/sfm.patch create mode 100644 testing/spacefm/sources create mode 100644 testing/spacefm/version create mode 120000 testing/sqlite create mode 100755 testing/transmission-gtk2/build create mode 100644 testing/transmission-gtk2/checksums create mode 100644 testing/transmission-gtk2/depends create mode 100644 testing/transmission-gtk2/manifest create mode 100644 testing/transmission-gtk2/sources create mode 100644 testing/transmission-gtk2/version create mode 100755 testing/ucs-fonts/build create mode 100644 testing/ucs-fonts/sources create mode 100644 testing/ucs-fonts/version create mode 100755 testing/xterm/build create mode 100644 testing/xterm/checksums create mode 100644 testing/xterm/depends create mode 100644 testing/xterm/patches/posix-ptys.patch create mode 100644 testing/xterm/sources create mode 100644 testing/xterm/version create mode 100755 testing/yash/build create mode 100644 testing/yash/sources create mode 100644 testing/yash/version create mode 120000 testing/zip diff --git a/README b/README new file mode 100644 index 0000000..4e95110 --- /dev/null +++ b/README @@ -0,0 +1,6 @@ +This is my personal set of ports for KISS, a POSIX(ish) meta distribution of *NIX. These packages currently assume a Linux-based system, but support for *BSD will likely arrive in the future. Please report any bugs to me via email; thanks. + +The mbase directory contains symlinks to packages that I install as my core userspace. + +The banished directory contains software that has been isolated for whatever reason. May or may not include a "JUSTIFICATION" file to remind myself in the future. + diff --git a/banished/dbus-glib/JUSTIFICATION b/banished/dbus-glib/JUSTIFICATION new file mode 100644 index 0000000..2c4eb13 --- /dev/null +++ b/banished/dbus-glib/JUSTIFICATION @@ -0,0 +1 @@ +dbus and friends are unwelcome in a standard KISS system. I need them for my browser however. diff --git a/banished/dbus-glib/build b/banished/dbus-glib/build new file mode 100755 index 0000000..a2e8a8f --- /dev/null +++ b/banished/dbus-glib/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + -sysconfdir=/etc + +make +make DESTDIR="$1" install diff --git a/banished/dbus-glib/checksums b/banished/dbus-glib/checksums new file mode 100644 index 0000000..31dbcd1 --- /dev/null +++ b/banished/dbus-glib/checksums @@ -0,0 +1 @@ +7ce4760cf66c69148f6bd6c92feaabb8812dee30846b24cd0f7395c436d7e825 dbus-glib-0.110.tar.gz diff --git a/banished/dbus-glib/depends b/banished/dbus-glib/depends new file mode 100644 index 0000000..4c6296f --- /dev/null +++ b/banished/dbus-glib/depends @@ -0,0 +1,4 @@ +dbus +expat +glib +python diff --git a/banished/dbus-glib/sources b/banished/dbus-glib/sources new file mode 100644 index 0000000..5204f1f --- /dev/null +++ b/banished/dbus-glib/sources @@ -0,0 +1 @@ +https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.110.tar.gz diff --git a/banished/dbus-glib/version b/banished/dbus-glib/version new file mode 100644 index 0000000..5e2fbf3 --- /dev/null +++ b/banished/dbus-glib/version @@ -0,0 +1 @@ +0.110 1 diff --git a/banished/dbus/JUSTIFICATION b/banished/dbus/JUSTIFICATION new file mode 100644 index 0000000..2c4eb13 --- /dev/null +++ b/banished/dbus/JUSTIFICATION @@ -0,0 +1 @@ +dbus and friends are unwelcome in a standard KISS system. I need them for my browser however. diff --git a/banished/dbus/build b/banished/dbus/build new file mode 100755 index 0000000..1ad7fec --- /dev/null +++ b/banished/dbus/build @@ -0,0 +1,20 @@ +#!/bin/sh + +./configure \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --enable-user-session \ + --disable-asserts \ + --prefix=/usr \ + --without-x \ + --with-system-socket=/run/dbus/system_bus_socket \ + --disable-doxygen-docs \ + --with-system-pid-file=/run/dbus/pid \ + --with-console-auth-dir=/run/console + +make +make DESTDIR="$1" install + +# Install service. +install -Dm755 dbus.run "$1/etc/sv/dbus/run" +ln -s /run/runit/supervise.dbus "$1/etc/sv/dbus/supervise" diff --git a/banished/dbus/checksums b/banished/dbus/checksums new file mode 100644 index 0000000..edcc89b --- /dev/null +++ b/banished/dbus/checksums @@ -0,0 +1,2 @@ +8078f5c25e34ab907ce06905d969dc8ef0ccbec367e1e1707c7ecf8460f4254e dbus-1.13.18.tar.xz +b7012df029f0fd44fc77f42347a8fcf144d168be42aa6dcd1ac7973300b9c5d0 dbus.run diff --git a/banished/dbus/depends b/banished/dbus/depends new file mode 100644 index 0000000..ce073fe --- /dev/null +++ b/banished/dbus/depends @@ -0,0 +1 @@ +expat diff --git a/banished/dbus/files/dbus.run b/banished/dbus/files/dbus.run new file mode 100644 index 0000000..ed60b73 --- /dev/null +++ b/banished/dbus/files/dbus.run @@ -0,0 +1,3 @@ +#!/bin/sh +[ ! -d /run/dbus ] && install -m755 -g 22 -o 22 -d /run/dbus +exec dbus-daemon --system --nofork --nopidfile diff --git a/banished/dbus/sources b/banished/dbus/sources new file mode 100644 index 0000000..b6d8909 --- /dev/null +++ b/banished/dbus/sources @@ -0,0 +1,2 @@ +https://dbus.freedesktop.org/releases/dbus/dbus-1.13.18.tar.xz +files/dbus.run diff --git a/banished/dbus/version b/banished/dbus/version new file mode 100644 index 0000000..ffc71d8 --- /dev/null +++ b/banished/dbus/version @@ -0,0 +1 @@ +1.13.18 1 diff --git a/banished/gcc9/JUSTIFICATION b/banished/gcc9/JUSTIFICATION new file mode 100644 index 0000000..088378b --- /dev/null +++ b/banished/gcc9/JUSTIFICATION @@ -0,0 +1 @@ +There's nothing wrong with GCC9, but it's only here to provide support for building older programs like Nuegia Browser and Pale Moon diff --git a/banished/gcc9/build b/banished/gcc9/build new file mode 100755 index 0000000..e396d7d --- /dev/null +++ b/banished/gcc9/build @@ -0,0 +1,66 @@ +#!/bin/sh -e + +patch -p1 < invalid_tls_model.patch + +# Make sure gmp is built with generic options. +cp -v gcc/gmp/configfsf.guess gcc/gmp/config.guess +cp -v gcc/gmp/configfsf.sub gcc/gmp/config.sub + +# Use lib not lib64 by default. +sed -i '/m64=/s/lib64/lib/' gcc/gcc/config/i386/t-linux64 +sed -i 's/lib64/lib/' gcc/gcc/config/i386/linux64.h + +# Build must happen outside of gcc source. +mkdir -p gcc-build +cd gcc-build + +export libat_cv_have_ifunc=no + +../gcc/configure \ + --prefix=/usr \ + --disable-multilib \ + --disable-symvers \ + --disable-libmpx \ + --disable-libmudflap \ + --disable-libsanitizer \ + --disable-werror \ + --disable-fixed-point \ + --disable-libstdcxx-pch \ + --disable-nls \ + --without-included-gettext \ + --enable-checking=release \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --with-system-zlib \ + --enable-__cxa_atexit \ + --enable-default-pie \ + --enable-default-ssp \ + --enable-shared \ + --enable-threads \ + --enable-tls \ + --enable-languages=c,c++ \ + --build=x86_64-pc-linux-gnu \ + --disable-bootstrap + +make +make DESTDIR="$1" install + +# Save 35MB. +find "$1" -name libgtkpeer.a -delete +find "$1" -name libgjsmalsa.a -delete +find "$1" -name libgij.a -delete + +# Some legacy programs will expect cc +ln -s gcc "$1/usr/bin/cc" + +# POSIX compliance. +install -Dm755 ../c99 "$1/usr/bin/c99" + +# Symlink for LTO. +{ + mkdir -p "$1/usr/lib/bfd-plugins" + + ln -s /usr/libexec/gcc/x86_64-pc-linux-musl/9.2.0/liblto_plugin.so \ + "$1/usr/lib/bfd-plugins/liblto_plugin.so" +} + diff --git a/banished/gcc9/checksums b/banished/gcc9/checksums new file mode 100644 index 0000000..831565e --- /dev/null +++ b/banished/gcc9/checksums @@ -0,0 +1,6 @@ +ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206 gcc-9.2.0.tar.xz +87b565e89a9a684fe4ebeeddb8399dce2599f9c9049854ca8c0dfbdea0e21912 gmp-6.1.2.tar.xz +1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a mpfr-4.0.2.tar.xz +6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e mpc-1.1.0.tar.gz +765614b3396d70bca3fa0ae4a813632486c6dca320e2bd13c8c39dca52be4a4c c99 +b0bf792c3f5278e768b7199cc94e8c57e364eb0b70dc5a226d47eb9e25e1dac9 invalid_tls_model.patch diff --git a/banished/gcc9/depends b/banished/gcc9/depends new file mode 100644 index 0000000..11c8476 --- /dev/null +++ b/banished/gcc9/depends @@ -0,0 +1,5 @@ +binutils +bison +flex +linux-headers +zlib diff --git a/banished/gcc9/files/c99 b/banished/gcc9/files/c99 new file mode 100644 index 0000000..692f092 --- /dev/null +++ b/banished/gcc9/files/c99 @@ -0,0 +1,2 @@ +#!/bin/sh +exec cc -std=c99 "$@" diff --git a/banished/gcc9/patches/invalid_tls_model.patch b/banished/gcc9/patches/invalid_tls_model.patch new file mode 100644 index 0000000..b47a67d --- /dev/null +++ b/banished/gcc9/patches/invalid_tls_model.patch @@ -0,0 +1,26 @@ +--- a/gcc/libgomp/configure.tgt 2018-11-08 18:13:04.000000000 +0100 ++++ b/gcc/libgomp/configure.tgt 2019-06-29 20:06:31.972950350 +0200 +@@ -10,23 +10,6 @@ + # XCFLAGS Add extra compile flags to use. + # XLDFLAGS Add extra link flags to use. + +-# Optimize TLS usage by avoiding the overhead of dynamic allocation. +-if test $gcc_cv_have_tls = yes ; then +- case "${target}" in +- +- *-*-k*bsd*-gnu*) +- ;; +- +- *-*-linux* | *-*-gnu*) +- XCFLAGS="${XCFLAGS} -ftls-model=initial-exec -DUSING_INITIAL_EXEC_TLS" +- ;; +- +- *-*-rtems*) +- XCFLAGS="${XCFLAGS} -ftls-model=local-exec" +- ;; +- esac +-fi +- + # Since we require POSIX threads, assume a POSIX system by default. + config_path="posix" + diff --git a/banished/gcc9/sources b/banished/gcc9/sources new file mode 100644 index 0000000..05d2d63 --- /dev/null +++ b/banished/gcc9/sources @@ -0,0 +1,6 @@ +https://gcc.gnu.org/pub/gcc/releases/gcc-9.2.0/gcc-9.2.0.tar.xz gcc +https://gmplib.org/download/gmp/gmp-6.1.2.tar.xz gcc/gmp +https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz gcc/mpfr +https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz gcc/mpc +files/c99 +patches/invalid_tls_model.patch diff --git a/banished/gcc9/version b/banished/gcc9/version new file mode 100644 index 0000000..348a6dd --- /dev/null +++ b/banished/gcc9/version @@ -0,0 +1 @@ +9.2.0 3 diff --git a/banished/intltool/JUSTIFICATION b/banished/intltool/JUSTIFICATION new file mode 100644 index 0000000..8397180 --- /dev/null +++ b/banished/intltool/JUSTIFICATION @@ -0,0 +1 @@ +KISS Linux only targets English. Therefore, internationalization violates one of its core tenets. diff --git a/banished/intltool/build b/banished/intltool/build new file mode 100755 index 0000000..9b46513 --- /dev/null +++ b/banished/intltool/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + + ./configure \ + --prefix=/usr \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --disable-nls + +make +make DESTDIR="$1" install diff --git a/banished/intltool/checksums b/banished/intltool/checksums new file mode 100644 index 0000000..8c1cad0 --- /dev/null +++ b/banished/intltool/checksums @@ -0,0 +1 @@ +67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd diff --git a/banished/intltool/depends b/banished/intltool/depends new file mode 100644 index 0000000..27e4321 --- /dev/null +++ b/banished/intltool/depends @@ -0,0 +1 @@ +perl-xml diff --git a/banished/intltool/sources b/banished/intltool/sources new file mode 100644 index 0000000..852fad1 --- /dev/null +++ b/banished/intltool/sources @@ -0,0 +1 @@ +https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz diff --git a/banished/intltool/version b/banished/intltool/version new file mode 100644 index 0000000..6f679fd --- /dev/null +++ b/banished/intltool/version @@ -0,0 +1 @@ +0.51.0 1 diff --git a/banished/librsvg/JUSTIFICATION b/banished/librsvg/JUSTIFICATION new file mode 100644 index 0000000..744cbfc --- /dev/null +++ b/banished/librsvg/JUSTIFICATION @@ -0,0 +1,3 @@ +Uses Rust, not part of my core workflow, and just generally not needed. + +Also it's a pain to compile. diff --git a/banished/librsvg/build b/banished/librsvg/build new file mode 100755 index 0000000..1050d8d --- /dev/null +++ b/banished/librsvg/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-gtk-doc \ + --disable-nls \ + --disable-introspection + +make +make DESTDIR="$1" install diff --git a/banished/librsvg/checksums b/banished/librsvg/checksums new file mode 100644 index 0000000..485b432 --- /dev/null +++ b/banished/librsvg/checksums @@ -0,0 +1 @@ +9bd9799322e06cf5db19b9f7afb728edac6efcf0110baafc44f0f96f45df9a09 diff --git a/banished/librsvg/depends b/banished/librsvg/depends new file mode 100644 index 0000000..b8e2d75 --- /dev/null +++ b/banished/librsvg/depends @@ -0,0 +1,5 @@ +cairo +gdk-pixbuf +libxml2 +pango +rust-bin make diff --git a/banished/librsvg/sources b/banished/librsvg/sources new file mode 100644 index 0000000..e7e65f5 --- /dev/null +++ b/banished/librsvg/sources @@ -0,0 +1 @@ +https://download.gnome.org/sources/librsvg/2.50/librsvg-2.50.1.tar.xz diff --git a/banished/librsvg/version b/banished/librsvg/version new file mode 100644 index 0000000..422dbc1 --- /dev/null +++ b/banished/librsvg/version @@ -0,0 +1 @@ +2.50.1 1 diff --git a/banished/python2/JUSTIFICATION b/banished/python2/JUSTIFICATION new file mode 100644 index 0000000..2d3b4a1 --- /dev/null +++ b/banished/python2/JUSTIFICATION @@ -0,0 +1 @@ +Python 2.x.y is deprecated and should not be used, but some stuff requires it. diff --git a/banished/python2/build b/banished/python2/build new file mode 100755 index 0000000..ae85513 --- /dev/null +++ b/banished/python2/build @@ -0,0 +1,28 @@ +#!/bin/sh -e + +patch -p1 < python2-always-pip.patch + +./configure \ + --prefix=/usr \ + --with-ensurepip=yes + +make +make DESTDIR="$1" install + +# Make static library writable. +chmod u+w "$1/usr/lib/libpython"*.a + +# Let's make some kind of effort to reduce the overall +# size of Python by removing a bunch of rarely used and +# otherwise useless components. +# +# This can't be done via ./configure as the build system +# doesn't give you this much control over the process. +{ + cd "$1/usr/lib/python"* + rm -rf test ./*/test ./*/tests + rm -rf lib2to3 pydoc* idlelib turtle* ensurepip lib-tk config + + cd "$1/usr/bin" + rm -f 2to3* pydoc* idle* python pip +} diff --git a/banished/python2/checksums b/banished/python2/checksums new file mode 100644 index 0000000..353fcb4 --- /dev/null +++ b/banished/python2/checksums @@ -0,0 +1,2 @@ +b62c0e7937551d0cc02b8fd5cb0f544f9405bafc9a54d3808ed4594812edef43 Python-2.7.18.tar.xz +1a184c64f85d7a2fb57642135ea298ddd005684c5bd3e601b932cf31b82b9417 python2-always-pip.patch diff --git a/banished/python2/depends b/banished/python2/depends new file mode 100644 index 0000000..4711f7d --- /dev/null +++ b/banished/python2/depends @@ -0,0 +1,3 @@ +bzip2 +sqlite +zlib diff --git a/banished/python2/patches/python2-always-pip.patch b/banished/python2/patches/python2-always-pip.patch new file mode 100644 index 0000000..91789c9 --- /dev/null +++ b/banished/python2/patches/python2-always-pip.patch @@ -0,0 +1,13 @@ +diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py +index 526dfd0..d85dc33 100644 +--- a/Lib/ensurepip/__init__.py ++++ b/Lib/ensurepip/__init__.py +@@ -104,7 +104,7 @@ def _bootstrap(*, root=None, upgrade=False, user=False, + additional_paths.append(os.path.join(tmpdir, wheel_name)) + + # Construct the arguments to be passed to the pip command +- args = ["install", "--no-index", "--find-links", tmpdir] ++ args = ["install", "-I", "--no-index", "--find-links", tmpdir] + if root: + args += ["--root", root] + if upgrade: diff --git a/banished/python2/sources b/banished/python2/sources new file mode 100644 index 0000000..4a76f24 --- /dev/null +++ b/banished/python2/sources @@ -0,0 +1,2 @@ +https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz +patches/python2-always-pip.patch diff --git a/banished/python2/version b/banished/python2/version new file mode 100644 index 0000000..63e5489 --- /dev/null +++ b/banished/python2/version @@ -0,0 +1 @@ +2.7.18 3 diff --git a/banished/retrosmart-icon-theme/JUSTIFICATION b/banished/retrosmart-icon-theme/JUSTIFICATION new file mode 100644 index 0000000..44d3fb6 --- /dev/null +++ b/banished/retrosmart-icon-theme/JUSTIFICATION @@ -0,0 +1 @@ +Requires the use of a bash script, imagemagick, and librsvg to build. Will try to rewrite in POSIX in the future. diff --git a/banished/retrosmart-icon-theme/build b/banished/retrosmart-icon-theme/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/banished/retrosmart-icon-theme/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/banished/retrosmart-icon-theme/depends b/banished/retrosmart-icon-theme/depends new file mode 100644 index 0000000..df816b8 --- /dev/null +++ b/banished/retrosmart-icon-theme/depends @@ -0,0 +1,2 @@ +bash make +imagemagick make diff --git a/banished/retrosmart-icon-theme/sources b/banished/retrosmart-icon-theme/sources new file mode 100644 index 0000000..4ccfa5f --- /dev/null +++ b/banished/retrosmart-icon-theme/sources @@ -0,0 +1 @@ +git+https://github.com/mdomlop/retrosmart-icon-theme diff --git a/banished/retrosmart-icon-theme/version b/banished/retrosmart-icon-theme/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/banished/retrosmart-icon-theme/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/9wm/build b/ports/9wm/build new file mode 100755 index 0000000..7de21ee --- /dev/null +++ b/ports/9wm/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make DESTDIR="$1" install diff --git a/ports/9wm/checksums b/ports/9wm/checksums new file mode 100644 index 0000000..b9a36fe --- /dev/null +++ b/ports/9wm/checksums @@ -0,0 +1 @@ +4b204d79538643911af562a3ef46c4f7f0c2da85e894f2bc773d72104073d87d diff --git a/ports/9wm/depends b/ports/9wm/depends new file mode 100644 index 0000000..1903bba --- /dev/null +++ b/ports/9wm/depends @@ -0,0 +1 @@ +libX11 diff --git a/ports/9wm/sources b/ports/9wm/sources new file mode 100644 index 0000000..2b76606 --- /dev/null +++ b/ports/9wm/sources @@ -0,0 +1 @@ +https://github.com/9wm/9wm/archive/refs/tags/1.4.1.tar.gz diff --git a/ports/9wm/version b/ports/9wm/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/9wm/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/ROX-Filer/build b/ports/ROX-Filer/build new file mode 100755 index 0000000..324eb3f --- /dev/null +++ b/ports/ROX-Filer/build @@ -0,0 +1,21 @@ +#!/bin/sh -e + +cd ROX-Filer + +sed -i 's:g_strdup(getenv("APP_DIR")):"/usr/share/rox":' src/main.c +sed -i 's/gboolean/extern &/' src/session.h + +mkdir build +cd build +../src/configure LIBS="-lm -ldl" +make +cd .. + +install -Dm755 style.css "$1/usr/share/rox/style.css" + +for stuff in Help Messages Options.xml ROX images .DirIcon + do mv $stuff "$1/usr/share/rox/$stuff" +done + +install -Dm755 ../rox.1 "$1/usr/share/man/man1" +install -Dm755 ROX-Filer "$1/usr/bin/rox" diff --git a/ports/ROX-Filer/checksums b/ports/ROX-Filer/checksums new file mode 100644 index 0000000..efe707f --- /dev/null +++ b/ports/ROX-Filer/checksums @@ -0,0 +1 @@ +a929bd32ee18ef7a2ed48b971574574592c42e34ae09f36604bf663d7c101ba8 diff --git a/ports/ROX-Filer/depends b/ports/ROX-Filer/depends new file mode 100644 index 0000000..ff2dfb5 --- /dev/null +++ b/ports/ROX-Filer/depends @@ -0,0 +1,2 @@ +gtk+2 +shared-mime-info diff --git a/ports/ROX-Filer/sources b/ports/ROX-Filer/sources new file mode 100644 index 0000000..e04bcc5 --- /dev/null +++ b/ports/ROX-Filer/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/rox/rox-filer-2.11.tar.bz2 diff --git a/ports/ROX-Filer/version b/ports/ROX-Filer/version new file mode 100644 index 0000000..26a7e9e --- /dev/null +++ b/ports/ROX-Filer/version @@ -0,0 +1 @@ +2.11 1 diff --git a/ports/axel/build b/ports/axel/build new file mode 100755 index 0000000..4a53c96 --- /dev/null +++ b/ports/axel/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-nls \ + --disable-dependency-tracking \ + --disable-enable-silent-rules \ + --disable-option-checking + +make +make DESTDIR="$1" install diff --git a/ports/axel/checksums b/ports/axel/checksums new file mode 100644 index 0000000..9c3a94a --- /dev/null +++ b/ports/axel/checksums @@ -0,0 +1 @@ +c0d26eba6b94945cd98c5b69ca6df2744639d17bfd49047ef51a8a48f067de10 diff --git a/ports/axel/depends b/ports/axel/depends new file mode 100644 index 0000000..b176ac7 --- /dev/null +++ b/ports/axel/depends @@ -0,0 +1,2 @@ +libressl +pkgconf make diff --git a/ports/axel/sources b/ports/axel/sources new file mode 100644 index 0000000..273517d --- /dev/null +++ b/ports/axel/sources @@ -0,0 +1 @@ +https://github.com/axel-download-accelerator/axel/releases/download/v2.17.10/axel-2.17.10.tar.bz2 diff --git a/ports/axel/version b/ports/axel/version new file mode 100644 index 0000000..c1db1a2 --- /dev/null +++ b/ports/axel/version @@ -0,0 +1 @@ +2.17.10 2 diff --git a/ports/check/build b/ports/check/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/check/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/check/checksums b/ports/check/checksums new file mode 100644 index 0000000..39a254c --- /dev/null +++ b/ports/check/checksums @@ -0,0 +1 @@ +a8de4e0bacfb4d76dd1c618ded263523b53b85d92a146d8835eb1a52932fa20a diff --git a/ports/check/depends b/ports/check/depends new file mode 100644 index 0000000..2d45f45 --- /dev/null +++ b/ports/check/depends @@ -0,0 +1,2 @@ +autoconf make +automake make diff --git a/ports/check/sources b/ports/check/sources new file mode 100644 index 0000000..ff7d956 --- /dev/null +++ b/ports/check/sources @@ -0,0 +1 @@ +https://github.com/libcheck/check/releases/download/0.15.2/check-0.15.2.tar.gz diff --git a/ports/check/version b/ports/check/version new file mode 100644 index 0000000..b46fff5 --- /dev/null +++ b/ports/check/version @@ -0,0 +1 @@ +0.15.2 1 diff --git a/ports/chicken-scheme/build b/ports/chicken-scheme/build new file mode 100755 index 0000000..0d1c568 --- /dev/null +++ b/ports/chicken-scheme/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +# Parallel make isn't supported yet. +export MAKEFLAGS=` echo $MAKEFLAGS | cut -b 1,2,3 | sed s/[0-9]/1/g` + +make PLATFORM=linux PREFIX="$1" +make PLATFORM=linux PREFIX="$1" install diff --git a/ports/chicken-scheme/checksums b/ports/chicken-scheme/checksums new file mode 100644 index 0000000..9b315c3 --- /dev/null +++ b/ports/chicken-scheme/checksums @@ -0,0 +1 @@ +819149c8ce7303a9b381d3fdc1d5765c5f9ac4dee6f627d1652f47966a8780fa diff --git a/ports/chicken-scheme/sources b/ports/chicken-scheme/sources new file mode 100644 index 0000000..698d179 --- /dev/null +++ b/ports/chicken-scheme/sources @@ -0,0 +1 @@ +https://code.call-cc.org/releases/5.2.0/chicken-5.2.0.tar.gz diff --git a/ports/chicken-scheme/version b/ports/chicken-scheme/version new file mode 100644 index 0000000..e3a99db --- /dev/null +++ b/ports/chicken-scheme/version @@ -0,0 +1 @@ +5.2.0 1 diff --git a/ports/claws-mail/build b/ports/claws-mail/build new file mode 100755 index 0000000..debc143 --- /dev/null +++ b/ports/claws-mail/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --disable-perl-plugin \ + --disable-gnutls \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/claws-mail/checksums b/ports/claws-mail/checksums new file mode 100644 index 0000000..0709de5 --- /dev/null +++ b/ports/claws-mail/checksums @@ -0,0 +1 @@ +d97c7d491a07c566928665eae29706075a1da3cbbf934498f17db5529213f402 diff --git a/ports/claws-mail/depends b/ports/claws-mail/depends new file mode 100644 index 0000000..f28d53b --- /dev/null +++ b/ports/claws-mail/depends @@ -0,0 +1,3 @@ +gtk+2 +libetpan +nettle diff --git a/ports/claws-mail/sources b/ports/claws-mail/sources new file mode 100644 index 0000000..36aa634 --- /dev/null +++ b/ports/claws-mail/sources @@ -0,0 +1 @@ +https://www.claws-mail.org/download.php?file=releases/claws-mail-3.17.8.tar.bz2 diff --git a/ports/claws-mail/version b/ports/claws-mail/version new file mode 100644 index 0000000..a84f216 --- /dev/null +++ b/ports/claws-mail/version @@ -0,0 +1 @@ +3.17.8 1 diff --git a/ports/ctwm/build b/ports/ctwm/build new file mode 100755 index 0000000..73ea119 --- /dev/null +++ b/ports/ctwm/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +export DESTDIR="$1" +export CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=200809L" + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DUSE_XPM=OFF + +cmake --build build +cmake --install build diff --git a/ports/ctwm/checksums b/ports/ctwm/checksums new file mode 100644 index 0000000..b877652 --- /dev/null +++ b/ports/ctwm/checksums @@ -0,0 +1 @@ +2e4b475a0168cb799723fd693b359e188179e51ce476ab453689db8fcdfc800c ctwm-4.0.3.tar.xz diff --git a/ports/ctwm/depends b/ports/ctwm/depends new file mode 100644 index 0000000..d47156f --- /dev/null +++ b/ports/ctwm/depends @@ -0,0 +1,9 @@ +cmake make +libICE +libSM +libX11 +libXau +libXext +libXmu +libXt +libjpeg-turbo diff --git a/ports/ctwm/sources b/ports/ctwm/sources new file mode 100644 index 0000000..8899066 --- /dev/null +++ b/ports/ctwm/sources @@ -0,0 +1 @@ +https://www.ctwm.org/dist/ctwm-4.0.3.tar.xz diff --git a/ports/ctwm/version b/ports/ctwm/version new file mode 100644 index 0000000..b585b2f --- /dev/null +++ b/ports/ctwm/version @@ -0,0 +1 @@ +4.0.3 1 diff --git a/ports/deadbeef/build b/ports/deadbeef/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/deadbeef/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/deadbeef/checksums b/ports/deadbeef/checksums new file mode 100644 index 0000000..c6d4f7e --- /dev/null +++ b/ports/deadbeef/checksums @@ -0,0 +1 @@ +1cfa8b9c6f01bea022818f91fb540b14c68e56a729c7739173f5de50031cd6e1 diff --git a/ports/deadbeef/depends b/ports/deadbeef/depends new file mode 100644 index 0000000..9c33cb2 --- /dev/null +++ b/ports/deadbeef/depends @@ -0,0 +1,12 @@ +alsa-lib +autoconf make +automake make +file make +gettext-tiny make +gtk+2 +jansson +libogg +libtool make +libvorbis +yasm make +zlib diff --git a/ports/deadbeef/sources b/ports/deadbeef/sources new file mode 100644 index 0000000..432bb83 --- /dev/null +++ b/ports/deadbeef/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/project/deadbeef/travis/linux/1.8.4/deadbeef-1.8.4.tar.bz2 diff --git a/ports/deadbeef/version b/ports/deadbeef/version new file mode 100644 index 0000000..1f6f900 --- /dev/null +++ b/ports/deadbeef/version @@ -0,0 +1 @@ +1.8.4 1 diff --git a/ports/dtach-git/build b/ports/dtach-git/build new file mode 100755 index 0000000..7cbe913 --- /dev/null +++ b/ports/dtach-git/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +install -Dm755 dtach "$1/usr/bin/dtach" diff --git a/ports/dtach-git/sources b/ports/dtach-git/sources new file mode 100644 index 0000000..69ab8d7 --- /dev/null +++ b/ports/dtach-git/sources @@ -0,0 +1 @@ +git+https://github.com/crigler/dtach diff --git a/ports/dtach-git/version b/ports/dtach-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/dtach-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/editres-git/build b/ports/editres-git/build new file mode 100755 index 0000000..7850bbe --- /dev/null +++ b/ports/editres-git/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./autogen.sh \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/editres-git/depends b/ports/editres-git/depends new file mode 100644 index 0000000..00ef13c --- /dev/null +++ b/ports/editres-git/depends @@ -0,0 +1,8 @@ +autoconf make +automake make +libX11 +libXmu +libXt +pkgconf make +xorg-util-macros make +xorgproto diff --git a/ports/editres-git/sources b/ports/editres-git/sources new file mode 100644 index 0000000..41b61b4 --- /dev/null +++ b/ports/editres-git/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/app/editres diff --git a/ports/editres-git/version b/ports/editres-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/editres-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/eiwd/build b/ports/eiwd/build new file mode 100755 index 0000000..f393be0 --- /dev/null +++ b/ports/eiwd/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --libexecdir=/usr/bin \ + --localstatedir=/var \ + --enable-monitor \ + --disable-dbus + +make +make DESTDIR="$1" install diff --git a/ports/eiwd/checksums b/ports/eiwd/checksums new file mode 100644 index 0000000..7b685f5 --- /dev/null +++ b/ports/eiwd/checksums @@ -0,0 +1 @@ +35e9938ccecad1a1336ee94d92ec5cfc2f059bd6d3b154034a450ac3385dbc19 diff --git a/ports/eiwd/depends b/ports/eiwd/depends new file mode 100644 index 0000000..1f97bc3 --- /dev/null +++ b/ports/eiwd/depends @@ -0,0 +1 @@ +linux-headers make diff --git a/ports/eiwd/sources b/ports/eiwd/sources new file mode 100644 index 0000000..dd56203 --- /dev/null +++ b/ports/eiwd/sources @@ -0,0 +1 @@ +https://github.com/dylanaraps/eiwd/releases/download/1.6-1/eiwd-1.6-1.tar.xz diff --git a/ports/eiwd/version b/ports/eiwd/version new file mode 100644 index 0000000..013d63f --- /dev/null +++ b/ports/eiwd/version @@ -0,0 +1 @@ +1.6-1 1 diff --git a/ports/epdfview-git/build b/ports/epdfview-git/build new file mode 100755 index 0000000..c854210 --- /dev/null +++ b/ports/epdfview-git/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +#patch -Np1 -i fixes.patch + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/epdfview-git/checksums b/ports/epdfview-git/checksums new file mode 100644 index 0000000..a88c241 --- /dev/null +++ b/ports/epdfview-git/checksums @@ -0,0 +1 @@ +d83e727373eecfc232a66db226b9b01e088a4eeb91a24735e6e051584d83766f diff --git a/ports/epdfview-git/depends b/ports/epdfview-git/depends new file mode 100644 index 0000000..9a76829 --- /dev/null +++ b/ports/epdfview-git/depends @@ -0,0 +1,3 @@ +gettext-tiny make +gtk+2 +poppler-glib diff --git a/ports/epdfview-git/sources b/ports/epdfview-git/sources new file mode 100644 index 0000000..9967b52 --- /dev/null +++ b/ports/epdfview-git/sources @@ -0,0 +1 @@ +git+https://github.com/JotaRandom/epdfview.git diff --git a/ports/epdfview-git/version b/ports/epdfview-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/epdfview-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/epic/build b/ports/epic/build new file mode 100755 index 0000000..fda01b9 --- /dev/null +++ b/ports/epic/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + + +make +make DESTDIR="$1" install diff --git a/ports/epic/checksums b/ports/epic/checksums new file mode 100644 index 0000000..973e846 --- /dev/null +++ b/ports/epic/checksums @@ -0,0 +1 @@ +5e41cf00f924e79e3503dd456ecd9b1dd93ac447c2573d4fa7da03b8bd19dbad diff --git a/ports/epic/depends b/ports/epic/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/ports/epic/depends @@ -0,0 +1 @@ +ncurses diff --git a/ports/epic/sources b/ports/epic/sources new file mode 100644 index 0000000..dcb08ee --- /dev/null +++ b/ports/epic/sources @@ -0,0 +1 @@ +http://ftp.epicsol.org/pub/epic/EPIC5-PRODUCTION/epic5-2.1.2.tar.xz diff --git a/ports/epic/version b/ports/epic/version new file mode 100644 index 0000000..755d0fb --- /dev/null +++ b/ports/epic/version @@ -0,0 +1 @@ +5-2.1.2 1 diff --git a/ports/fbv-git/build b/ports/fbv-git/build new file mode 100755 index 0000000..bb35a88 --- /dev/null +++ b/ports/fbv-git/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make + +install -Dm755 ./fbv "$1/usr/bin/fbv" +install -Dm755 ./fbv.1 "$1/usr/share/man/man1/fbv.1" diff --git a/ports/fbv-git/depends b/ports/fbv-git/depends new file mode 100644 index 0000000..129148c --- /dev/null +++ b/ports/fbv-git/depends @@ -0,0 +1,3 @@ +#util-linux make +libjpeg-turbo +libpng diff --git a/ports/fbv-git/sources b/ports/fbv-git/sources new file mode 100644 index 0000000..2e28b6a --- /dev/null +++ b/ports/fbv-git/sources @@ -0,0 +1 @@ +git+https://github.com/godspeed1989/fbv diff --git a/ports/fbv-git/version b/ports/fbv-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/fbv-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/ffmpeg/build b/ports/ffmpeg/build new file mode 100755 index 0000000..a20b536 --- /dev/null +++ b/ports/ffmpeg/build @@ -0,0 +1,29 @@ +#!/bin/sh -e + +./configure \ + --cc="${CC:-cc}" \ + --cxx="${CXX:-c++}" \ + --prefix=/usr \ + --enable-shared \ + --enable-gpl \ + --enable-version3 \ + --enable-nonfree \ + --enable-openssl \ + --enable-libass \ + --enable-libmp3lame \ + --enable-libopus \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libx265 \ + --enable-libxvid \ + --enable-libdrm \ + --x86asmexe=nasm \ + --disable-debug \ + --enable-libtheora \ + --disable-libxml2 \ + --enable-ffplay + +make +make DESTDIR="$1" install + +rm -rf "$1/usr/share/ffmpeg/examples" diff --git a/ports/ffmpeg/checksums b/ports/ffmpeg/checksums new file mode 100644 index 0000000..54a682e --- /dev/null +++ b/ports/ffmpeg/checksums @@ -0,0 +1 @@ +06b10a183ce5371f915c6bb15b7b1fffbe046e8275099c96affc29e17645d909 diff --git a/ports/ffmpeg/depends b/ports/ffmpeg/depends new file mode 100644 index 0000000..f6187db --- /dev/null +++ b/ports/ffmpeg/depends @@ -0,0 +1,20 @@ +alsa-lib +bzip2 +lame +libass +libdrm +libogg +libressl +libtheora +libvorbis +libvpx +libxcb +linux-headers make +nasm make +opus +pkgconf make +sdl2 +x265 +xvidcore +xz +zlib diff --git a/ports/ffmpeg/manifest b/ports/ffmpeg/manifest new file mode 100644 index 0000000..00ce912 --- /dev/null +++ b/ports/ffmpeg/manifest @@ -0,0 +1,222 @@ +/var/db/kiss/installed/ffmpeg/version +/var/db/kiss/installed/ffmpeg/sources +/var/db/kiss/installed/ffmpeg/manifest +/var/db/kiss/installed/ffmpeg/depends +/var/db/kiss/installed/ffmpeg/checksums +/var/db/kiss/installed/ffmpeg/build +/var/db/kiss/installed/ffmpeg/ +/var/db/kiss/installed/ +/var/db/kiss/ +/var/db/ +/var/ +/usr/share/man/man3/libswscale.3 +/usr/share/man/man3/libswresample.3 +/usr/share/man/man3/libavutil.3 +/usr/share/man/man3/libavformat.3 +/usr/share/man/man3/libavfilter.3 +/usr/share/man/man3/libavdevice.3 +/usr/share/man/man3/libavcodec.3 +/usr/share/man/man3/ +/usr/share/man/man1/ffprobe.1 +/usr/share/man/man1/ffprobe-all.1 +/usr/share/man/man1/ffmpeg.1 +/usr/share/man/man1/ffmpeg-utils.1 +/usr/share/man/man1/ffmpeg-scaler.1 +/usr/share/man/man1/ffmpeg-resampler.1 +/usr/share/man/man1/ffmpeg-protocols.1 +/usr/share/man/man1/ffmpeg-formats.1 +/usr/share/man/man1/ffmpeg-filters.1 +/usr/share/man/man1/ffmpeg-devices.1 +/usr/share/man/man1/ffmpeg-codecs.1 +/usr/share/man/man1/ffmpeg-bitstream-filters.1 +/usr/share/man/man1/ffmpeg-all.1 +/usr/share/man/man1/ +/usr/share/man/ +/usr/share/ffmpeg/libvpx-720p50_60.ffpreset +/usr/share/ffmpeg/libvpx-720p.ffpreset +/usr/share/ffmpeg/libvpx-360p.ffpreset +/usr/share/ffmpeg/libvpx-1080p50_60.ffpreset +/usr/share/ffmpeg/libvpx-1080p.ffpreset +/usr/share/ffmpeg/ffprobe.xsd +/usr/share/ffmpeg/ +/usr/share/ +/usr/lib/pkgconfig/libswscale.pc +/usr/lib/pkgconfig/libswresample.pc +/usr/lib/pkgconfig/libpostproc.pc +/usr/lib/pkgconfig/libavutil.pc +/usr/lib/pkgconfig/libavformat.pc +/usr/lib/pkgconfig/libavfilter.pc +/usr/lib/pkgconfig/libavdevice.pc +/usr/lib/pkgconfig/libavcodec.pc +/usr/lib/pkgconfig/ +/usr/lib/libswscale.so.5.7.100 +/usr/lib/libswscale.so.5 +/usr/lib/libswscale.so +/usr/lib/libswscale.a +/usr/lib/libswresample.so.3.7.100 +/usr/lib/libswresample.so.3 +/usr/lib/libswresample.so +/usr/lib/libswresample.a +/usr/lib/libpostproc.so.55.7.100 +/usr/lib/libpostproc.so.55 +/usr/lib/libpostproc.so +/usr/lib/libpostproc.a +/usr/lib/libavutil.so.56.51.100 +/usr/lib/libavutil.so.56 +/usr/lib/libavutil.so +/usr/lib/libavutil.a +/usr/lib/libavformat.so.58.45.100 +/usr/lib/libavformat.so.58 +/usr/lib/libavformat.so +/usr/lib/libavformat.a +/usr/lib/libavfilter.so.7.85.100 +/usr/lib/libavfilter.so.7 +/usr/lib/libavfilter.so +/usr/lib/libavfilter.a +/usr/lib/libavdevice.so.58.10.100 +/usr/lib/libavdevice.so.58 +/usr/lib/libavdevice.so +/usr/lib/libavdevice.a +/usr/lib/libavcodec.so.58.91.100 +/usr/lib/libavcodec.so.58 +/usr/lib/libavcodec.so +/usr/lib/libavcodec.a +/usr/lib/ +/usr/include/libswscale/version.h +/usr/include/libswscale/swscale.h +/usr/include/libswscale/ +/usr/include/libswresample/version.h +/usr/include/libswresample/swresample.h +/usr/include/libswresample/ +/usr/include/libpostproc/version.h +/usr/include/libpostproc/postprocess.h +/usr/include/libpostproc/ +/usr/include/libavutil/xtea.h +/usr/include/libavutil/video_enc_params.h +/usr/include/libavutil/version.h +/usr/include/libavutil/tx.h +/usr/include/libavutil/twofish.h +/usr/include/libavutil/tree.h +/usr/include/libavutil/timestamp.h +/usr/include/libavutil/timecode.h +/usr/include/libavutil/time.h +/usr/include/libavutil/threadmessage.h +/usr/include/libavutil/tea.h +/usr/include/libavutil/stereo3d.h +/usr/include/libavutil/spherical.h +/usr/include/libavutil/sha512.h +/usr/include/libavutil/sha.h +/usr/include/libavutil/samplefmt.h +/usr/include/libavutil/ripemd.h +/usr/include/libavutil/replaygain.h +/usr/include/libavutil/rc4.h +/usr/include/libavutil/rational.h +/usr/include/libavutil/random_seed.h +/usr/include/libavutil/pixfmt.h +/usr/include/libavutil/pixelutils.h +/usr/include/libavutil/pixdesc.h +/usr/include/libavutil/parseutils.h +/usr/include/libavutil/opt.h +/usr/include/libavutil/murmur3.h +/usr/include/libavutil/motion_vector.h +/usr/include/libavutil/mem.h +/usr/include/libavutil/md5.h +/usr/include/libavutil/mathematics.h +/usr/include/libavutil/mastering_display_metadata.h +/usr/include/libavutil/macros.h +/usr/include/libavutil/lzo.h +/usr/include/libavutil/log.h +/usr/include/libavutil/lfg.h +/usr/include/libavutil/intreadwrite.h +/usr/include/libavutil/intfloat.h +/usr/include/libavutil/imgutils.h +/usr/include/libavutil/hwcontext_vulkan.h +/usr/include/libavutil/hwcontext_videotoolbox.h +/usr/include/libavutil/hwcontext_vdpau.h +/usr/include/libavutil/hwcontext_vaapi.h +/usr/include/libavutil/hwcontext_qsv.h +/usr/include/libavutil/hwcontext_opencl.h +/usr/include/libavutil/hwcontext_mediacodec.h +/usr/include/libavutil/hwcontext_dxva2.h +/usr/include/libavutil/hwcontext_drm.h +/usr/include/libavutil/hwcontext_d3d11va.h +/usr/include/libavutil/hwcontext_cuda.h +/usr/include/libavutil/hwcontext.h +/usr/include/libavutil/hmac.h +/usr/include/libavutil/hdr_dynamic_metadata.h +/usr/include/libavutil/hash.h +/usr/include/libavutil/frame.h +/usr/include/libavutil/file.h +/usr/include/libavutil/fifo.h +/usr/include/libavutil/ffversion.h +/usr/include/libavutil/eval.h +/usr/include/libavutil/error.h +/usr/include/libavutil/encryption_info.h +/usr/include/libavutil/downmix_info.h +/usr/include/libavutil/dovi_meta.h +/usr/include/libavutil/display.h +/usr/include/libavutil/dict.h +/usr/include/libavutil/des.h +/usr/include/libavutil/crc.h +/usr/include/libavutil/cpu.h +/usr/include/libavutil/common.h +/usr/include/libavutil/channel_layout.h +/usr/include/libavutil/cast5.h +/usr/include/libavutil/camellia.h +/usr/include/libavutil/buffer.h +/usr/include/libavutil/bswap.h +/usr/include/libavutil/bprint.h +/usr/include/libavutil/blowfish.h +/usr/include/libavutil/base64.h +/usr/include/libavutil/avutil.h +/usr/include/libavutil/avstring.h +/usr/include/libavutil/avconfig.h +/usr/include/libavutil/avassert.h +/usr/include/libavutil/audio_fifo.h +/usr/include/libavutil/attributes.h +/usr/include/libavutil/aes_ctr.h +/usr/include/libavutil/aes.h +/usr/include/libavutil/adler32.h +/usr/include/libavutil/ +/usr/include/libavformat/version.h +/usr/include/libavformat/avio.h +/usr/include/libavformat/avformat.h +/usr/include/libavformat/ +/usr/include/libavfilter/version.h +/usr/include/libavfilter/buffersrc.h +/usr/include/libavfilter/buffersink.h +/usr/include/libavfilter/avfilter.h +/usr/include/libavfilter/ +/usr/include/libavdevice/version.h +/usr/include/libavdevice/avdevice.h +/usr/include/libavdevice/ +/usr/include/libavcodec/xvmc.h +/usr/include/libavcodec/vorbis_parser.h +/usr/include/libavcodec/videotoolbox.h +/usr/include/libavcodec/version.h +/usr/include/libavcodec/vdpau.h +/usr/include/libavcodec/vaapi.h +/usr/include/libavcodec/qsv.h +/usr/include/libavcodec/packet.h +/usr/include/libavcodec/mediacodec.h +/usr/include/libavcodec/jni.h +/usr/include/libavcodec/dxva2.h +/usr/include/libavcodec/dv_profile.h +/usr/include/libavcodec/dirac.h +/usr/include/libavcodec/d3d11va.h +/usr/include/libavcodec/codec_par.h +/usr/include/libavcodec/codec_id.h +/usr/include/libavcodec/codec_desc.h +/usr/include/libavcodec/codec.h +/usr/include/libavcodec/bsf.h +/usr/include/libavcodec/avfft.h +/usr/include/libavcodec/avdct.h +/usr/include/libavcodec/avcodec.h +/usr/include/libavcodec/adts_parser.h +/usr/include/libavcodec/ac3_parser.h +/usr/include/libavcodec/ +/usr/include/ +/usr/bin/ffprobe +/usr/bin/ffmpeg +/usr/bin/ +/usr/ diff --git a/ports/ffmpeg/sources b/ports/ffmpeg/sources new file mode 100644 index 0000000..4ee1a55 --- /dev/null +++ b/ports/ffmpeg/sources @@ -0,0 +1,2 @@ +#https://www.ffmpeg.org/releases/ffmpeg-4.3.1.tar.xz +https://www.ffmpeg.org/releases/ffmpeg-4.4.tar.xz diff --git a/ports/ffmpeg/version b/ports/ffmpeg/version new file mode 100644 index 0000000..e47357b --- /dev/null +++ b/ports/ffmpeg/version @@ -0,0 +1 @@ +4.3 2 diff --git a/ports/fvwm-patched/build b/ports/fvwm-patched/build new file mode 100755 index 0000000..016c038 --- /dev/null +++ b/ports/fvwm-patched/build @@ -0,0 +1,26 @@ +#!/bin/sh -e + +patch -p1 < 01-TranslucentMenus.patch +patch -p1 < 02-ColourBorders.patch +patch -p1 < 03-ResizeOutlineThin.patch +patch -p1 < 04-Conditionals.patch +patch -p1 < 05-FlatSeparators.patch +patch -p1 < 06-BorderUnderTitle.patch +patch -p1 < 07-InactiveFont.patch +patch -p1 < 08-FluxRoundedCorners.patch +patch -p1 < 09-TopBorder.patch +patch -p1 < 10-ButtonWidth.patch +patch -p1 < 11-MultiBorder.patch +patch -p1 < 12-FvwmButtonsTips.patch +patch -p1 < 13-FvwmIconMan.patch +patch -p1 < 14-Hover.patch +patch -p1 < 15-FirstItemUnderPointer.patch +patch -p1 < 16-ThinGeometryProxy.patch +#patch -p1 < 17-MiniIconSize.patch + +./configure \ + --prefix=/usr \ + --enable-mandoc + +make +make DESTDIR="$1" install diff --git a/ports/fvwm-patched/checksums b/ports/fvwm-patched/checksums new file mode 100644 index 0000000..2365ce1 --- /dev/null +++ b/ports/fvwm-patched/checksums @@ -0,0 +1,18 @@ +1bc64cf3ccd0073008758168327a8265b8059def9b239b451d6b9fab2cc391ae +c95bf47ba95e84404423d7d6d848eef563aaa558c4f7d4c1c39cebf0e82d4e4b +749c536ff838e528f1e9345f18ca3948559cc788bdeb49f03c9676756576fc62 +fe235e46d24a33ea7c1b6ba0753f93c5733d6e5de29e5efae71ba7bdbe49f9ac +0d202215543f52b4b3249ac7f0117ca8abba35e913c45cb9173dfc10fe8746a7 +b3eedf33687f3b76cc3940867af8068285226a9b8f83dbde1152ee7b72dac446 +2fdf0723b790890a1740e7bd2e1d064dda4e468661fcabd659a374613ea84b46 +15d197d8fb630725a65dd9007a0eedf0910e9956d8796a0aedcd9507dcab668e +b4767f0fe0dd67ab586d0d64d368ff91bb257221d978db207c731c7f5e3a7049 +9f27e247cad58b3a91f90921cff4603cdf9e481c13e1c97b035a7f5634208a7e +6d9daadaa1bdc7d1b050e50fa5a887d495c0ecf6770ef9a74b495cd9cbb0ad3f +5d51807b3c8b3b4c1706abbe21d8d64af76ea5d2b9fb33355ffc5f17ce2bbd38 +973cc5dbef67522bfb4745fb5b8a3f1c22b82d1ff3124796b5fb5bb5cd429eaa +24349e5cf1089fa26f8e94f0ba66adecba403eb0d13c95eb02441a4306db5ed8 +5a784682602f338c7b724c864f0b4f024ff9c4e86ee815124f168e8b94b85002 +df8053d234883e21fe59ef7f3c117612be61740f86d392d2b3c3ee2ae314e0a0 +78d40d1181bac4f54b111eda7d3bbd1fcb704e36ac44b4e21ea786a1636f9d2e +d770cb74be17028b95115cdab3dbecbb4b9e2241d4b562a223d39079098062e9 diff --git a/ports/fvwm-patched/depends b/ports/fvwm-patched/depends new file mode 100644 index 0000000..6746030 --- /dev/null +++ b/ports/fvwm-patched/depends @@ -0,0 +1,8 @@ +gettext make +libXinerama +libXpm +libXt +libpng +libxslt make +patch make +pkgconf make diff --git a/ports/fvwm-patched/patches/01-TranslucentMenus.patch b/ports/fvwm-patched/patches/01-TranslucentMenus.patch new file mode 100644 index 0000000..ac5e0b1 --- /dev/null +++ b/ports/fvwm-patched/patches/01-TranslucentMenus.patch @@ -0,0 +1,503 @@ +iff --unified --recursive --text fvwm-2.6.9/fvwm/colorset.c fvwm-patched/fvwm/colorset.c +--- fvwm-2.6.9/fvwm/colorset.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/fvwm/colorset.c 2020-08-21 15:22:28.542638787 -0600 +@@ -164,6 +164,8 @@ + "NoIconTint", + "IconAlpha", + ++ "Translucent", ++ "NoTranslucent", + NULL + }; + +@@ -625,6 +627,7 @@ + char *fg_tint = NULL; + char *bg_tint = NULL; + char *icon_tint = NULL; ++ char *translucent_tint = NULL; + Bool have_pixels_changed = False; + Bool has_icon_pixels_changed = False; + Bool has_fg_changed = False; +@@ -637,6 +640,7 @@ + Bool has_fg_tint_changed = False; + Bool has_bg_tint_changed = False; + Bool has_icon_tint_changed = False; ++ Bool has_translucent_tint_changed = False; + Bool has_pixmap_changed = False; + Bool has_shape_changed = False; + Bool has_image_alpha_changed = False; +@@ -764,6 +768,10 @@ + case 21: /* Plain */ + has_pixmap_changed = True; + free_colorset_background(cs, True); ++ cs->is_translucent = False; ++ cs->translucent_tint_percent = 0; ++ cs->color_flags &= ~TRANSLUCENT_TINT_SUPPLIED; ++ has_translucent_tint_changed = True; + break; + case 22: /* NoShape */ + has_shape_changed = True; +@@ -930,6 +938,24 @@ + cs->icon_alpha_percent = tmp; + } + break; ++ case 42: /* Translucent */ ++ cs->is_translucent = True; ++ parse_simple_tint( ++ cs, args, &translucent_tint, ++ TRANSLUCENT_TINT_SUPPLIED, ++ &has_translucent_tint_changed, &percent, ++ "Translucent"); ++ if (has_translucent_tint_changed) ++ { ++ cs->translucent_tint_percent = percent; ++ } ++ break; ++ case 43: /* NoTranslucent */ ++ cs->is_translucent = False; ++ cs->translucent_tint_percent = 0; ++ cs->color_flags &= ~TRANSLUCENT_TINT_SUPPLIED; ++ has_translucent_tint_changed = True; ++ break; + default: + /* test for ?Gradient */ + if (option[0] && StrEquals(&option[1], "Gradient")) +@@ -1633,6 +1659,27 @@ + } + + /* ++ * ---------- change the translucent tint colour ---------- ++ */ ++ if (has_translucent_tint_changed) ++ { ++ /* user specified colour */ ++ if (translucent_tint != NULL) ++ { ++ PictureFreeColors( ++ dpy, Pcmap, &cs->translucent_tint, 1, 0, True); ++ cs->translucent_tint = GetColor(translucent_tint); ++ } ++ else ++ { ++ /* default */ ++ PictureFreeColors( ++ dpy, Pcmap, &cs->translucent_tint, 1, 0, True); ++ cs->translucent_tint = GetColor(black); ++ } ++ } ++ ++ /* + * ---------- send new colorset to fvwm and clean up ---------- + */ + /* make sure the server has this to avoid races */ +@@ -1728,6 +1775,7 @@ + ncs->fgsh = GetColor(white); + ncs->tint = GetColor(black); + ncs->icon_tint = GetColor(black); ++ ncs->translucent_tint = GetColor(black); + ncs->pixmap = XCreatePixmapFromBitmapData( + dpy, Scr.NoFocusWin, + &g_bits[4 * (nColorsets % 3)], 4, 4, +@@ -1745,6 +1793,7 @@ + ncs->fgsh = GetForeShadow(ncs->fg, ncs->bg); + ncs->tint = GetColor(black); + ncs->icon_tint = GetColor(black); ++ ncs->translucent_tint = GetColor(black); + } + ncs->fg_tint = ncs->bg_tint = GetColor(black); + /* set flags for fg contrast, bg average */ +@@ -1756,6 +1805,7 @@ + ncs->icon_alpha_percent = 100; + ncs->tint_percent = 0; + ncs->icon_tint_percent = 0; ++ ncs->translucent_tint_percent = 0; + ncs->fg_tint_percent = ncs->bg_tint_percent = 0; + ncs->dither = (PictureDitherByDefault())? True:False; + nColorsets++; +Only in fvwm-patched/fvwm: colorset.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/menuroot.h fvwm-patched/fvwm/menuroot.h +--- fvwm-2.6.9/fvwm/menuroot.h 2016-10-15 08:51:45.000000000 -0600 ++++ fvwm-patched/fvwm/menuroot.h 2020-08-21 15:22:28.542638787 -0600 +@@ -146,6 +146,9 @@ + int d_npixels; + } stored_pixels; + /* alloc pixels when dithering is used for gradients */ ++ /* x,y XMapRaise */ ++ int x; ++ int y; + } MenuRootDynamic; + + /* access macros to dynamic menu members */ +diff --unified --recursive --text fvwm-2.6.9/fvwm/menus.c fvwm-patched/fvwm/menus.c +--- fvwm-2.6.9/fvwm/menus.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/fvwm/menus.c 2020-08-21 15:22:28.542638787 -0600 +@@ -78,6 +78,19 @@ + #define SCTX_GET_MR(ctx) ((ctx).type == SCTX_MENU_ROOT ? \ + (ctx).menu_root.menu_root : NULL) + ++#define MENU_IS_TRANSLUCENT(mr,cs) \ ++ (!MR_IS_TEAR_OFF_MENU(mr) && CSET_IS_TRANSLUCENT(cs)) ++#define MENU_IS_TRANSPARENT(mr,cs) \ ++ (MENU_IS_TRANSLUCENT(mr,cs) || CSET_IS_TRANSPARENT(cs)) ++#define MR_IS_TRANSLUCENT_MENU(mr) \ ++ (!MR_IS_TEAR_OFF_MENU(mr) && MR_STYLE(mr) && \ ++ ST_HAS_MENU_CSET(MR_STYLE(mr)) && CSET_IS_TRANSLUCENT( \ ++ ST_CSET_MENU(MR_STYLE(mr)))) ++#define MR_IS_TRANSPARENT_MENU(mr) \ ++ (MR_IS_TRANSLUCENT_MENU(mr) || (MR_STYLE(mr) && \ ++ ST_HAS_MENU_CSET(MR_STYLE(mr)) && CSET_IS_TRANSPARENT( \ ++ ST_CSET_MENU(MR_STYLE(mr))))) ++ + /* ---------------------------- imports ------------------------------------ */ + + /* This external is safe. It's written only during startup. */ +@@ -220,6 +233,8 @@ + } mloop_static_info_t; + + /* ---------------------------- forward declarations ----------------------- */ ++static MenuRoot *seek_submenu_instance( ++ MenuRoot *parent_menu, MenuItem *parent_item); + + /* ---------------------------- local variables ---------------------------- */ + +@@ -381,12 +396,22 @@ + Bool transparent_bg = False; + + /* move it back */ +- if (ST_HAS_MENU_CSET(MR_STYLE(mr)) && +- CSET_IS_TRANSPARENT(ST_CSET_MENU(MR_STYLE(mr)))) ++ if (MR_IS_TRANSPARENT_MENU(mr)) + { + transparent_bg = True; + get_menu_repaint_transparent_parameters( + &mrtp, mr, fw); ++ if (MR_IS_TRANSLUCENT_MENU(mr) && MR_SUBMENU_ITEM(mr)) ++ { ++ MenuRoot *smr; ++ smr = seek_submenu_instance( ++ mr, MR_SUBMENU_ITEM(mr)); ++ if (smr) ++ { ++ /* just unmap it here, popdown later */ ++ XUnmapWindow(dpy, MR_WINDOW(smr)); ++ } ++ } + } + AnimatedMoveOfWindow( + MR_WINDOW(mr), act_x, act_y, act_x - MR_XANIMATION(mr), +@@ -1912,6 +1937,7 @@ + /* Doh. Use the standard display instead. */ + MR_CREATE_DPY(mr) = dpy; + } ++ MR_IS_TEAR_OFF_MENU(mr) = 1; + } + else + { +@@ -2716,7 +2742,37 @@ + } + MR_IS_PAINTED(mr) = 1; + /* paint the menu background */ +- if (ms && ST_HAS_MENU_CSET(ms)) ++ if (MR_IS_TRANSLUCENT_MENU(mr)) ++ { ++ Pixmap trans = None; ++ FvwmRenderAttributes fra; ++ colorset_t *colorset = &Colorset[ST_CSET_MENU(ms)]; ++ ++ fra.mask = 0; ++ if (colorset->translucent_tint_percent > 0) ++ { ++ fra.mask = FRAM_HAVE_TINT; ++ fra.tint = colorset->translucent_tint; ++ fra.tint_percent = colorset->translucent_tint_percent; ++ } ++ if (MR_IS_BACKGROUND_SET(mr) == False) ++ { ++ trans = PGraphicsCreateTranslucent( ++ dpy, MR_WINDOW(mr), &fra, ++ BACK_GC(ST_MENU_INACTIVE_GCS(ms)), ++ MR_X(mr), MR_Y(mr), MR_WIDTH(mr), MR_HEIGHT(mr)); ++ XMapRaised(dpy, MR_WINDOW(mr)); ++ if (trans != None) ++ { ++ XSetWindowBackgroundPixmap( ++ dpy, MR_WINDOW(mr), trans); ++ MR_IS_BACKGROUND_SET(mr) = True; ++ clear_expose_menu_area(MR_WINDOW(mr), pevent); ++ XFreePixmap(dpy, trans); ++ } ++ } ++ } ++ else if (ms && ST_HAS_MENU_CSET(ms)) + { + if (MR_IS_BACKGROUND_SET(mr) == False) + { +@@ -3525,10 +3581,7 @@ + MR_HAS_POPPED_UP_RIGHT(mr) = 0; + } + MR_XANIMATION(parent_menu) += end_x - prev_x; +- if (ST_HAS_MENU_CSET(MR_STYLE(parent_menu)) && +- CSET_IS_TRANSPARENT( +- ST_CSET_MENU( +- MR_STYLE(parent_menu)))) ++ if (MR_IS_TRANSPARENT_MENU(parent_menu)) + { + transparent_bg = True; + get_menu_repaint_transparent_parameters( +@@ -3707,10 +3760,21 @@ + */ + + XMoveWindow(dpy, MR_WINDOW(mr), x, y); ++ MR_X(mr) = x; ++ MR_Y(mr) = y; + XSelectInput(dpy, MR_WINDOW(mr), event_mask); +- XMapRaised(dpy, MR_WINDOW(mr)); +- if (popdown_window) +- XUnmapWindow(dpy, popdown_window); ++ if (MR_IS_TRANSLUCENT_MENU(mr)) ++ { ++ if (popdown_window) ++ XUnmapWindow(dpy, popdown_window); ++ paint_menu(mr, NULL, fw); ++ } ++ else ++ { ++ XMapRaised(dpy, MR_WINDOW(mr)); ++ if (popdown_window) ++ XUnmapWindow(dpy, popdown_window); ++ } + XFlush(dpy); + MR_MAPPED_COPIES(mr)++; + MST_USAGE_COUNT(mr)++; +@@ -6274,16 +6338,122 @@ + { + last = True; + } +- if (!last && CSET_IS_TRANSPARENT_PR_TINT(ST_CSET_MENU(ms))) ++ if (!last && ++ (CSET_IS_TRANSPARENT_PR_TINT(ST_CSET_MENU(ms)) || ++ MR_IS_TRANSLUCENT_MENU(mr))) + { + /* too slow ... */ + return; + } +- SetWindowBackgroundWithOffset( +- dpy, MR_WINDOW(mr), step_x - current_x, step_y - current_y, +- MR_WIDTH(mr), MR_HEIGHT(mr), +- &Colorset[ST_CSET_MENU(ms)], Pdepth, +- FORE_GC(MST_MENU_INACTIVE_GCS(mr)), False); ++ if (MR_IS_TRANSLUCENT_MENU(mr)) ++ { ++ Pixmap trans, tmp; ++ FvwmRenderAttributes fra; ++ colorset_t *colorset = &Colorset[ST_CSET_MENU(ms)]; ++ ++ fra.mask = 0; ++ if (colorset->translucent_tint_percent > 0) ++ { ++ fra.mask = FRAM_HAVE_TINT; ++ fra.tint = colorset->translucent_tint; ++ fra.tint_percent = colorset->translucent_tint_percent; ++ } ++ if (current_x == step_x) ++ { ++ /* Reuse the old pixmap for the part of the menu ++ * that has not moved. (This can be extended to get ++ * two new rectangles, one in each direction) ++ * ++ * It saves the unmapping of the window and makes ++ * Things less flickering. ++ */ ++ GC my_gc; ++ unsigned long valuemask = GCSubwindowMode; ++ XGCValues values; ++ int out_y=0; ++ values.subwindow_mode = IncludeInferiors; ++ if (step_y < 0) ++ { ++ out_y = -step_y; ++ } ++ trans = XCreatePixmap(dpy, MR_WINDOW(mr), MR_WIDTH(mr), ++ MR_HEIGHT(mr), Pdepth); ++ my_gc = fvwmlib_XCreateGC(dpy, MR_WINDOW(mr), 0, NULL); ++ XChangeGC(dpy, my_gc, valuemask, &values); ++ ++ XClearWindow(dpy, MR_WINDOW(mr)); ++ ++ if (current_y < step_y) ++ { ++ XCopyArea(dpy, MR_WINDOW(mr), trans, my_gc, 0, ++ step_y-current_y, MR_WIDTH(mr), ++ MR_HEIGHT(mr)-(step_y-current_y), ++ 0,0); ++ tmp = PGraphicsCreateTranslucent( ++ dpy, MR_WINDOW(mr), &fra, ++ BACK_GC(ST_MENU_INACTIVE_GCS(ms)), ++ current_x, current_y+MR_HEIGHT(mr), ++ MR_WIDTH(mr), step_y-current_y); ++ ++ XCopyArea(dpy, tmp, trans, my_gc, 0, 0, ++ MR_WIDTH(mr), step_y-current_y,0, ++ MR_HEIGHT(mr)-(step_y-current_y)); ++ } ++ else ++ { ++ XCopyArea(dpy, MR_WINDOW(mr), trans, my_gc, 0, ++ 0, MR_WIDTH(mr), ++ MR_HEIGHT(mr)-(current_y-step_y), 0, ++ current_y-step_y); ++ tmp = PGraphicsCreateTranslucent( ++ dpy, MR_WINDOW(mr), &fra, ++ BACK_GC(ST_MENU_INACTIVE_GCS(ms)), ++ current_x,step_y, MR_WIDTH(mr), ++ current_y-step_y); ++ XCopyArea(dpy, tmp, trans, my_gc, 0, 0, ++ MR_WIDTH(mr), current_y-step_y,0, ++ out_y); ++ } ++ MR_X(mr) = step_x; ++ MR_Y(mr) = step_y; ++ XFreePixmap(dpy, tmp); ++ XFreeGC(dpy,my_gc); ++ } ++ else ++ { ++ XUnmapWindow(dpy, MR_WINDOW(mr)); ++ MR_X(mr) = step_x; ++ MR_Y(mr) = step_y; ++ trans = PGraphicsCreateTranslucent( ++ dpy, MR_WINDOW(mr), &fra, ++ BACK_GC(ST_MENU_INACTIVE_GCS(ms)), ++ step_x, step_y, MR_WIDTH(mr), ++ MR_HEIGHT(mr)); ++ XMapRaised(dpy, MR_WINDOW(mr)); ++ } ++ XSetWindowBackgroundPixmap( ++ dpy, MR_WINDOW(mr), trans); ++ XFreePixmap(dpy, trans); ++ if (current_x == step_x) ++ { ++ /* Redraw the border */ ++ RelieveRectangle( ++ dpy, MR_WINDOW(mr), 0, 0, MR_WIDTH(mr) - 1, ++ MR_HEIGHT(mr) - 1, (Pdepth < 2) ? ++ SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)) : ++ HILIGHT_GC(MST_MENU_INACTIVE_GCS(mr)), ++ SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)), ++ MST_BORDER_WIDTH(mr)); ++ } ++ } ++ else ++ { ++ SetWindowBackgroundWithOffset( ++ dpy, MR_WINDOW(mr), step_x - current_x, ++ step_y - current_y, MR_WIDTH(mr), MR_HEIGHT(mr), ++ &Colorset[ST_CSET_MENU(ms)], Pdepth, ++ FORE_GC(MST_MENU_INACTIVE_GCS(mr)), False); ++ } + } + + +@@ -6324,10 +6494,7 @@ + } + if (!is_bg_set) + { +- SetWindowBackground( +- dpy, MR_WINDOW(mr), MR_WIDTH(mr), MR_HEIGHT(mr), +- &Colorset[ST_CSET_MENU(ms)], Pdepth, +- FORE_GC(MST_MENU_INACTIVE_GCS(mr)), False); ++ update_transparent_menu_bg(prtm, x, y, x, y, end_x, end_y); + } + /* redraw the background of non active item */ + for (mi = MR_FIRST_ITEM(mr); mi != NULL; mi = MI_NEXT_ITEM(mi)) +@@ -6951,10 +7118,12 @@ + SetWindowBackground( + dpy, MR_WINDOW(mr), MR_WIDTH(mr), + MR_HEIGHT(mr), +- &Colorset[ST_CSET_MENU(ms)], +- Pdepth, ++ &Colorset[ST_CSET_MENU(ms)], Pdepth, + FORE_GC(MST_MENU_INACTIVE_GCS(mr)), +- True); ++ False); ++ XClearArea( ++ dpy, MR_WINDOW(mr), 0, 0, MR_WIDTH(mr), ++ MR_HEIGHT(mr), True); + } + else if ((ST_HAS_ACTIVE_CSET(ms) && + ST_CSET_ACTIVE(ms) == cset) || +Only in fvwm-patched/fvwm: menus.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/menus.h fvwm-patched/fvwm/menus.h +--- fvwm-2.6.9/fvwm/menus.h 2016-10-15 08:51:45.000000000 -0600 ++++ fvwm-patched/fvwm/menus.h 2020-08-21 15:22:28.542638787 -0600 +@@ -15,6 +15,9 @@ + #define IS_MENU_RETURN(x) \ + ((x)==MENU_DONE || (x)==MENU_ABORTED || (x)==MENU_SUBMENU_TORN_OFF) + ++#define MR_X(m) ((m)->d->x) ++#define MR_Y(m) ((m)->d->y) ++ + struct MenuRoot; + struct MenuStyle; + struct MenuReturn; +diff --unified --recursive --text fvwm-2.6.9/libs/Colorset.h fvwm-patched/libs/Colorset.h +--- fvwm-2.6.9/libs/Colorset.h 2016-10-15 08:51:45.000000000 -0600 ++++ fvwm-patched/libs/Colorset.h 2020-08-21 15:22:28.542638787 -0600 +@@ -51,6 +51,10 @@ + Bool dither; + Bool allows_buffered_transparency; + Bool is_maybe_root_transparent; ++ /* only use by fvwm menu (non tear-off) */ ++ Bool is_translucent; ++ Pixel translucent_tint; ++ unsigned int translucent_tint_percent : 7; + #endif + } colorset_t; + +@@ -78,6 +82,7 @@ + #define FG_TINT_SUPPLIED 0x100 + #define BG_TINT_SUPPLIED 0x200 + #define ICON_TINT_SUPPLIED 0x400 ++#define TRANSLUCENT_TINT_SUPPLIED 0x800 + #endif + + /* colorsets are stored as an array of structs to permit fast dereferencing */ +@@ -153,6 +158,11 @@ + (cset != NULL && cset->pixmap == ParentRelative && \ + cset->tint_percent > 0) + ++#define CSET_IS_TRANSLUCENT(cset) \ ++ (cset >= 0 && Colorset[cset].is_translucent) ++#define CSETS_IS_TRANSLUCENT(cset) \ ++ (cset && cset->is_translucent) ++ + #ifndef FVWM_COLORSET_PRIVATE + /* Create n new colorsets, fvwm/colorset.c does its own thing (different size) + */ +diff --unified --recursive --text fvwm-2.6.9/libs/PictureGraphics.c fvwm-patched/libs/PictureGraphics.c +--- fvwm-2.6.9/libs/PictureGraphics.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/libs/PictureGraphics.c 2020-08-21 15:22:28.542638787 -0600 +@@ -1360,7 +1360,7 @@ + } + } + +-#if 0 /* humm... maybe useful one day with menus */ ++#if 1 /* humm... maybe useful one day with menus */ + Pixmap PGraphicsCreateTranslucent( + Display *dpy, Window win, FvwmRenderAttributes *fra, GC gc, + int x, int y, int width, int height) +Only in fvwm-patched/libs: PictureGraphics.c.orig +diff --unified --recursive --text fvwm-2.6.9/libs/PictureGraphics.h fvwm-patched/libs/PictureGraphics.h +--- fvwm-2.6.9/libs/PictureGraphics.h 2016-10-15 08:51:45.000000000 -0600 ++++ fvwm-patched/libs/PictureGraphics.h 2020-08-21 15:22:28.542638787 -0600 +@@ -122,7 +122,9 @@ + Display *dpy, Window win, Pixel tint, int tint_percent, + Drawable dest, Bool dest_is_a_window, GC gc, GC mono_gc, GC alpha_gc, + int dest_x, int dest_y, int dest_w, int dest_h); +- ++Pixmap PGraphicsCreateTranslucent( ++ Display *dpy, Window win, FvwmRenderAttributes *fra, GC gc, ++ int x, int y, int width, int height); + /* never used ! */ + Pixmap PGraphicsCreateDitherPixmap( + Display *dpy, Window win, Drawable src, Pixmap mask, int depth, GC gc, diff --git a/ports/fvwm-patched/patches/02-ColourBorders.patch b/ports/fvwm-patched/patches/02-ColourBorders.patch new file mode 100644 index 0000000..6848981 --- /dev/null +++ b/ports/fvwm-patched/patches/02-ColourBorders.patch @@ -0,0 +1,1619 @@ +diff --unified --recursive --text fvwm-2.6.9/fvwm/borders.c fvwm-patched/fvwm/borders.c +--- fvwm-2.6.9/fvwm/borders.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/fvwm/borders.c 2020-08-21 15:29:14.150834565 -0600 +@@ -115,14 +115,71 @@ + int relief_width; + GC relief_gc; + GC shadow_gc; ++ GC relief_gc_north; ++ GC shadow_gc_north; ++ GC relief_gc_south; ++ GC shadow_gc_south; ++ GC relief_gc_east; ++ GC shadow_gc_east; ++ GC relief_gc_west; ++ GC shadow_gc_west; ++ GC relief_gc_nw; ++ GC shadow_gc_nw; ++ GC relief_gc_ne; ++ GC shadow_gc_ne; ++ GC relief_gc_sw; ++ GC shadow_gc_sw; ++ GC relief_gc_se; ++ GC shadow_gc_se; ++ + Pixel fore_color; + Pixel back_color; +- int cs; ++ Pixel fore_color_north; ++ Pixel back_color_north; ++ Pixel fore_color_south; ++ Pixel back_color_south; ++ Pixel fore_color_east; ++ Pixel back_color_east; ++ Pixel fore_color_west; ++ Pixel back_color_west; ++ Pixel fore_color_nw; ++ Pixel back_color_nw; ++ Pixel fore_color_ne; ++ Pixel back_color_ne; ++ Pixel fore_color_sw; ++ Pixel back_color_sw; ++ Pixel fore_color_se; ++ Pixel back_color_se; ++ ++ int cs; ++ int cs_north; ++ int cs_south; ++ int cs_east; ++ int cs_west; + int border_cs; /* for UseBorderStyle */ ++ int border_cs_north; ++ int border_cs_south; ++ int border_cs_east; ++ int border_cs_west; ++ ++ int cs_nw; ++ int cs_ne; ++ int cs_sw; ++ int cs_se; + int bg_border_cs; /* for UseBorderStyle */ + Pixmap back_pixmap; +- XSetWindowAttributes attributes; +- unsigned long valuemask; ++ ++ XSetWindowAttributes attributes; ++ XSetWindowAttributes attributes_north; ++ XSetWindowAttributes attributes_ne; ++ XSetWindowAttributes attributes_nw; ++ XSetWindowAttributes attributes_sw; ++ XSetWindowAttributes attributes_se; ++ XSetWindowAttributes attributes_south; ++ XSetWindowAttributes attributes_east; ++ XSetWindowAttributes attributes_west; ++ ++ unsigned long valuemask; + Pixmap texture_pixmap; + int texture_pixmap_width; + int texture_pixmap_height; +@@ -320,10 +377,29 @@ + { + DecorFace *df; + color_quad *draw_colors; ++ color_quad *draw_colors_north; ++ color_quad *draw_colors_south; ++ color_quad *draw_colors_east; ++ color_quad *draw_colors_west; ++ ++ color_quad *draw_colors_nw; ++ color_quad *draw_colors_ne; ++ color_quad *draw_colors_sw; ++ color_quad *draw_colors_se; + + df = border_get_border_style(t, has_focus); + cd->bg_border_cs = -1; + cd->cs = -1; ++ cd->cs_north = -1; ++ cd->cs_south = -1; ++ cd->cs_east = -1; ++ cd->cs_west = -1; ++ ++ cd->cs_nw = -1; ++ cd->cs_ne = -1; ++ cd->cs_sw = -1; ++ cd->cs_se = -1; ++ + if (has_focus) + { + /* are we using textured borders? */ +@@ -347,11 +423,61 @@ + { + draw_colors = &(t->border_hicolors); + cd->cs = t->border_cs_hi; ++ ++ draw_colors_north = &(t->border_hicolors_north); ++ cd->cs_north = t->border_cs_hi_north; ++ ++ draw_colors_south = &(t->border_hicolors_south); ++ cd->cs_south = t->border_cs_hi_south; ++ ++ draw_colors_east = &(t->border_hicolors_east); ++ cd->cs_east = t->border_cs_hi_east; ++ ++ draw_colors_west = &(t->border_hicolors_west); ++ cd->cs_west = t->border_cs_hi_west; ++ ++ /* handles */ ++ draw_colors_nw = &(t->border_hicolors_handles_nw); ++ cd->cs_nw = t->border_cs_hi_handles_nw; ++ ++ draw_colors_ne = &(t->border_hicolors_handles_ne); ++ cd->cs_ne = t->border_cs_hi_handles_ne; ++ ++ draw_colors_sw = &(t->border_hicolors_handles_sw); ++ cd->cs_sw = t->border_cs_hi_handles_sw; ++ ++ draw_colors_se = &(t->border_hicolors_handles_se); ++ cd->cs_se = t->border_cs_hi_handles_se; + } + else + { + draw_colors = &(t->hicolors); + cd->cs = t->cs_hi; ++ ++ draw_colors_north = &(t->hicolors); ++ cd->cs_north = t->cs_hi; ++ ++ draw_colors_south = &(t->hicolors); ++ cd->cs_south = t->cs_hi; ++ ++ draw_colors_east = &(t->hicolors); ++ cd->cs_east = t->cs_hi; ++ ++ draw_colors_west = &(t->hicolors); ++ cd->cs_west = t->cs_hi; ++ ++ /* handles */ ++ draw_colors_nw = &(t->hicolors); ++ cd->cs_nw = t->cs_hi; ++ ++ draw_colors_ne = &(t->hicolors); ++ cd->cs_ne = t->cs_hi; ++ ++ draw_colors_sw = &(t->hicolors); ++ cd->cs_sw = t->cs_hi; ++ ++ draw_colors_se = &(t->hicolors); ++ cd->cs_se = t->cs_hi; + } + } + else +@@ -383,24 +509,167 @@ + { + draw_colors = &(t->border_colors); + cd->cs = t->border_cs; ++ ++ draw_colors_north = &(t->border_colors_north); ++ cd->cs_north = t->border_cs_north; ++ ++ draw_colors_south = &(t->border_colors_south); ++ cd->cs_south = t->border_cs_south; ++ ++ draw_colors_east = &(t->border_colors_east); ++ cd->cs_east = t->border_cs_east; ++ ++ draw_colors_west = &(t->border_colors_west); ++ cd->cs_west = t->border_cs_west; ++ ++ /* handles */ ++ draw_colors_nw = &(t->border_colors_handles_nw); ++ cd->cs_nw = t->border_cs_handles_nw; ++ ++ draw_colors_ne = &(t->border_colors_handles_ne); ++ cd->cs_ne = t->border_cs_handles_ne; ++ ++ draw_colors_sw = &(t->border_colors_handles_sw); ++ cd->cs_sw = t->border_cs_handles_sw; ++ ++ draw_colors_se = &(t->border_colors_handles_se); ++ cd->cs_se = t->border_cs_handles_se; ++ + } + else + { + draw_colors = &(t->colors); + cd->cs = t->cs; ++ ++ draw_colors_north = &(t->border_colors_north); ++ cd->cs_north = t->cs; ++ ++ draw_colors_south = &(t->border_colors_south); ++ cd->cs_south = t->cs; ++ ++ draw_colors_east = &(t->border_colors_east); ++ cd->cs_east = t->cs; ++ ++ draw_colors_west = &(t->border_colors_west); ++ cd->cs_west = t->cs; ++ ++ /* handles */ ++ draw_colors_nw = &(t->border_colors_handles_nw); ++ cd->cs_nw = t->border_cs_handles_nw; ++ ++ draw_colors_ne = &(t->border_colors_handles_ne); ++ cd->cs_ne = t->border_cs_handles_ne; ++ ++ draw_colors_sw = &(t->border_colors_handles_sw); ++ cd->cs_sw = t->border_cs_handles_sw; ++ ++ draw_colors_se = &(t->border_colors_handles_se); ++ cd->cs_se = t->border_cs_handles_se; + } + } + cd->fore_color = draw_colors->fore; + cd->back_color = draw_colors->back; +- if (do_change_gcs) ++ ++ cd->fore_color_north = draw_colors_north->fore; ++ cd->back_color_north = draw_colors_north->back; ++ ++ cd->fore_color_south = draw_colors_south->fore; ++ cd->back_color_south = draw_colors_south->back; ++ ++ cd->fore_color_east = draw_colors_east->fore; ++ cd->back_color_east = draw_colors_east->back; ++ ++ cd->fore_color_west = draw_colors_west->fore; ++ cd->back_color_west = draw_colors_west->back; ++ ++ cd->fore_color_nw = draw_colors_nw->fore; ++ cd->back_color_nw = draw_colors_nw->back; ++ ++ cd->fore_color_ne = draw_colors_ne->fore; ++ cd->back_color_ne = draw_colors_ne->back; ++ ++ cd->fore_color_sw = draw_colors_nw->fore; ++ cd->back_color_sw = draw_colors_nw->back; ++ ++ cd->fore_color_se = draw_colors_se->fore; ++ cd->back_color_se = draw_colors_se->back; ++ ++ if (do_change_gcs) + { + Globalgcv.foreground = draw_colors->hilight; + Globalgcm = GCForeground; + XChangeGC(dpy, Scr.ScratchGC1, Globalgcm, &Globalgcv); + Globalgcv.foreground = draw_colors->shadow; + XChangeGC(dpy, Scr.ScratchGC2, Globalgcm, &Globalgcv); ++ ++ Globalgcv.foreground = draw_colors_north->hilight; ++ XChangeGC(dpy, Scr.ScratchGC3, Globalgcm, &Globalgcv); ++ Globalgcv.foreground = draw_colors_north->shadow; ++ XChangeGC(dpy, Scr.ScratchGC4, Globalgcm, &Globalgcv); ++ ++ Globalgcv.foreground = draw_colors_south->hilight; ++ XChangeGC(dpy, Scr.ScratchGC5, Globalgcm, &Globalgcv); ++ Globalgcv.foreground = draw_colors_south->shadow; ++ XChangeGC(dpy, Scr.ScratchGC6, Globalgcm, &Globalgcv); ++ ++ Globalgcv.foreground = draw_colors_east->hilight; ++ XChangeGC(dpy, Scr.ScratchGC7, Globalgcm, &Globalgcv); ++ Globalgcv.foreground = draw_colors_east->shadow; ++ XChangeGC(dpy, Scr.ScratchGC8, Globalgcm, &Globalgcv); ++ ++ Globalgcv.foreground = draw_colors_west->hilight; ++ XChangeGC(dpy, Scr.ScratchGC9, Globalgcm, &Globalgcv); ++ Globalgcv.foreground = draw_colors_west->shadow; ++ XChangeGC(dpy, Scr.ScratchGC10, Globalgcm, &Globalgcv); ++ ++ /* handles. */ ++ Globalgcv.foreground = draw_colors_nw->hilight; ++ XChangeGC(dpy, Scr.ScratchGC11, Globalgcm, &Globalgcv); ++ Globalgcv.foreground = draw_colors_nw->shadow; ++ XChangeGC(dpy, Scr.ScratchGC12, Globalgcm, &Globalgcv); ++ ++ Globalgcv.foreground = draw_colors_ne->hilight; ++ XChangeGC(dpy, Scr.ScratchGC13, Globalgcm, &Globalgcv); ++ Globalgcv.foreground = draw_colors_ne->shadow; ++ XChangeGC(dpy, Scr.ScratchGC14, Globalgcm, &Globalgcv); ++ ++ Globalgcv.foreground = draw_colors_sw->hilight; ++ XChangeGC(dpy, Scr.ScratchGC15, Globalgcm, &Globalgcv); ++ Globalgcv.foreground = draw_colors_sw->shadow; ++ XChangeGC(dpy, Scr.ScratchGC16, Globalgcm, &Globalgcv); ++ ++ Globalgcv.foreground = draw_colors_se->hilight; ++ XChangeGC(dpy, Scr.ScratchGC17, Globalgcm, &Globalgcv); ++ Globalgcv.foreground = draw_colors_se->shadow; ++ XChangeGC(dpy, Scr.ScratchGC18, Globalgcm, &Globalgcv); ++ + cd->relief_gc = Scr.ScratchGC1; + cd->shadow_gc = Scr.ScratchGC2; ++ ++ cd->relief_gc_north = Scr.ScratchGC3; ++ cd->shadow_gc_north = Scr.ScratchGC4; ++ ++ cd->relief_gc_south = Scr.ScratchGC5; ++ cd->shadow_gc_south = Scr.ScratchGC6; ++ ++ cd->relief_gc_east = Scr.ScratchGC7; ++ cd->shadow_gc_east = Scr.ScratchGC8; ++ ++ cd->relief_gc_west = Scr.ScratchGC9; ++ cd->shadow_gc_west = Scr.ScratchGC10; ++ ++ /* Handles */ ++ cd->relief_gc_nw = Scr.ScratchGC11; ++ cd->shadow_gc_nw = Scr.ScratchGC12; ++ ++ cd->relief_gc_ne = Scr.ScratchGC13; ++ cd->shadow_gc_ne = Scr.ScratchGC14; ++ ++ cd->relief_gc_sw = Scr.ScratchGC15; ++ cd->shadow_gc_sw = Scr.ScratchGC16; ++ ++ cd->relief_gc_se = Scr.ScratchGC17; ++ cd->shadow_gc_se = Scr.ScratchGC18; + } + + /* MWMBorder style means thin 3d effects */ +@@ -421,6 +690,17 @@ + else + { + cd->attributes.background_pixel = cd->back_color; ++ cd->attributes_north.background_pixel = cd->back_color_north; ++ cd->attributes_south.background_pixel = cd->back_color_south; ++ cd->attributes_east.background_pixel = cd->back_color_east; ++ cd->attributes_west.background_pixel = cd->back_color_west; ++ ++ /* handles */ ++ cd->attributes_nw.background_pixel = cd->back_color_nw; ++ cd->attributes_ne.background_pixel = cd->back_color_ne; ++ cd->attributes_sw.background_pixel = cd->back_color_sw; ++ cd->attributes_se.background_pixel = cd->back_color_se; ++ + cd->valuemask = CWBackPixel; + } + } +@@ -790,7 +1070,7 @@ + + static void border_get_border_gcs( + draw_border_gcs *ret_gcs, common_decorations_type *cd, FvwmWindow *fw, +- Bool do_hilight) ++ Bool do_hilight, window_parts part) + { + static GC transparent_gc = None; + DecorFaceStyle *borderstyle; +@@ -814,17 +1094,102 @@ + { + is_reversed = True; + } +- if (is_reversed) +- { +- ret_gcs->shadow = cd->relief_gc; +- ret_gcs->relief = cd->shadow_gc; +- } +- else +- { +- ret_gcs->relief = cd->relief_gc; +- ret_gcs->shadow = cd->shadow_gc; +- } +- ++ ++ switch ( part ) ++ { ++ case PART_BORDER_N: ++ if( is_reversed ) ++ { ++ ret_gcs->shadow = cd->relief_gc_north; ++ ret_gcs->relief = cd->shadow_gc_north; ++ } else { ++ ret_gcs->relief = cd->relief_gc_north; ++ ret_gcs->shadow = cd->shadow_gc_north; ++ } ++ break; ++ case PART_BORDER_S: ++ if( is_reversed ) ++ { ++ ret_gcs->shadow = cd->relief_gc_south; ++ ret_gcs->relief = cd->shadow_gc_south; ++ } else { ++ ret_gcs->relief = cd->relief_gc_south; ++ ret_gcs->shadow = cd->shadow_gc_south; ++ } ++ break; ++ case PART_BORDER_E: ++ if( is_reversed ) ++ { ++ ret_gcs->shadow = cd->relief_gc_east; ++ ret_gcs->relief = cd->shadow_gc_east; ++ } else { ++ ret_gcs->relief = cd->relief_gc_east; ++ ret_gcs->shadow = cd->shadow_gc_east; ++ } ++ break; ++ case PART_BORDER_W: ++ if( is_reversed ) ++ { ++ ret_gcs->shadow = cd->relief_gc_west; ++ ret_gcs->relief = cd->shadow_gc_west; ++ } else { ++ ret_gcs->relief = cd->relief_gc_west; ++ ret_gcs->shadow = cd->shadow_gc_west; ++ } ++ break; ++ case PART_BORDER_NW: ++ if( is_reversed ) ++ { ++ ret_gcs->shadow = cd->relief_gc_nw; ++ ret_gcs->relief = cd->shadow_gc_nw; ++ } else { ++ ret_gcs->relief = cd->relief_gc_nw; ++ ret_gcs->shadow = cd->shadow_gc_nw; ++ } ++ break; ++ case PART_BORDER_NE: ++ if( is_reversed ) ++ { ++ ret_gcs->shadow = cd->relief_gc_ne; ++ ret_gcs->relief = cd->shadow_gc_ne; ++ } else { ++ ret_gcs->relief = cd->relief_gc_ne; ++ ret_gcs->shadow = cd->shadow_gc_ne; ++ } ++ break; ++ case PART_BORDER_SW: ++ if( is_reversed ) ++ { ++ ret_gcs->shadow = cd->relief_gc_sw; ++ ret_gcs->relief = cd->shadow_gc_sw; ++ } else { ++ ret_gcs->relief = cd->relief_gc_sw; ++ ret_gcs->shadow = cd->shadow_gc_sw; ++ } ++ break; ++ case PART_BORDER_SE: ++ if( is_reversed ) ++ { ++ ret_gcs->shadow = cd->relief_gc_se; ++ ret_gcs->relief = cd->shadow_gc_se; ++ } else { ++ ret_gcs->relief = cd->relief_gc_se; ++ ret_gcs->shadow = cd->shadow_gc_se; ++ } ++ break; ++ default: ++ if (is_reversed) ++ { ++ ret_gcs->shadow = cd->relief_gc; ++ ret_gcs->relief = cd->shadow_gc; ++ } ++ else ++ { ++ ret_gcs->relief = cd->relief_gc; ++ ret_gcs->shadow = cd->shadow_gc; ++ } ++ break; ++ } + return; + } + +@@ -1126,12 +1491,13 @@ + } + if (do_draw_shadow) + { +- x1 = x + k; ++ //x1 = x + k; ++ x1 = x; + y1 = y - 1 - k; + } + else + { +- x1 = x; ++ x1 = x - k; + y1 = y + k; + } + x2 = x1 + length; +@@ -1282,9 +1648,11 @@ + valuemask |= GCForeground | GCClipMask | GCClipXOrigin | + GCClipYOrigin; + XChangeGC(dpy, Scr.BordersGC, valuemask, &xgcv); +- XFillRectangle( ++ ++ XFillRectangle( + dpy, dest_pix, Scr.BordersGC, dest_g->x, dest_g->y, + dest_g->width - dest_g->x, dest_g->height - dest_g->y); ++ + return; + } + +@@ -1444,7 +1812,7 @@ + + static void border_get_border_background( + pixmap_background_type *bg, common_decorations_type *cd, +- rectangle *part_g, rectangle *relative_g, int *free_bg_pixmap, Window w) ++ rectangle *part_g, rectangle *relative_g, int *free_bg_pixmap, Window w, window_parts part) + { + *free_bg_pixmap = False; + +@@ -1510,9 +1878,38 @@ + else + { + bg->flags.use_pixmap = 0; +- bg->pixel = cd->attributes.background_pixel; +- } + ++ switch ( part ) ++ { ++ case PART_BORDER_N: ++ bg->pixel = cd->attributes_north.background_pixel; ++ break; ++ case PART_BORDER_S: ++ bg->pixel = cd->attributes_south.background_pixel; ++ break; ++ case PART_BORDER_E: ++ bg->pixel = cd->attributes_east.background_pixel; ++ break; ++ case PART_BORDER_W: ++ bg->pixel = cd->attributes_west.background_pixel; ++ break; ++ case PART_BORDER_NW: ++ bg->pixel = cd->attributes_nw.background_pixel; ++ break; ++ case PART_BORDER_NE: ++ bg->pixel = cd->attributes_ne.background_pixel; ++ break; ++ case PART_BORDER_SW: ++ bg->pixel = cd->attributes_sw.background_pixel; ++ break; ++ case PART_BORDER_SE: ++ bg->pixel = cd->attributes_se.background_pixel; ++ break; ++ default: ++ bg->pixel = cd->attributes.background_pixel; ++ break; ++ } ++ } + return; + } + +@@ -1542,7 +1939,7 @@ + relative_g.x = part_g.x; + relative_g.y = part_g.y; + border_get_border_background( +- &bg, cd, &part_g, &relative_g, &free_bg_pixmap, w); ++ &bg, cd, &part_g, &relative_g, &free_bg_pixmap, w, part); + if (cd->texture_pixmap) + { + switch (part) +@@ -1629,7 +2026,7 @@ + border_get_border_relief_size_descr(&br->relief, fw, do_hilight); + border_get_border_marks_descr(cd, br, fw); + /* fetch the gcs used to draw the border */ +- border_get_border_gcs(&br->gcs, cd, fw, do_hilight); ++ //border_get_border_gcs(&br->gcs, cd, fw, do_hilight); + /* draw everything in a big loop */ + draw_parts &= (PART_FRAME | PART_HANDLES); + draw_handles = (draw_parts & PART_HANDLES); +@@ -1638,11 +2035,12 @@ + { + if (part & draw_parts) + { +- border_draw_one_border_part( +- cd, fw, &br->sidebar_g, frame_g, br, part, +- draw_handles, +- (pressed_parts & part) ? True : False, +- do_clear); ++ border_get_border_gcs(&br->gcs, cd, fw, do_hilight, part); ++ border_draw_one_border_part( ++ cd, fw, &br->sidebar_g, frame_g, br, part, ++ draw_handles, ++ (pressed_parts & part) ? True : False, ++ do_clear); + } + } + +@@ -3270,7 +3668,7 @@ + relative_g.x = button_g->x; + relative_g.y = button_g->y; + border_get_border_background( +- &bg, td->cd, button_g, &relative_g, &free_bg_pixmap, w); ++ &bg, td->cd, button_g, &relative_g, &free_bg_pixmap, w, PART_NONE); + bg.pixmap.g.x = 0; + bg.pixmap.g.y = 0; + /* set the geometry for drawing the Tiled pixmap; +@@ -3714,7 +4112,7 @@ + relative_g.y = td->layout.title_g.y; + border_get_border_background( + &bg, td->cd, &td->layout.title_g, &relative_g, +- &free_bg_pixmap, w); ++ &free_bg_pixmap, w, PART_NONE); + bg.pixmap.g.x = 0; + bg.pixmap.g.y = 0; + /* set the geometry for drawing the Tiled pixmap; +Only in fvwm-patched/fvwm: borders.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/fvwm.c fvwm-patched/fvwm/fvwm.c +--- fvwm-2.6.9/fvwm/fvwm.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/fvwm/fvwm.c 2020-08-21 15:29:14.150834565 -0600 +@@ -1076,7 +1076,22 @@ + Scr.ScratchGC2 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); + Scr.ScratchGC3 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); + Scr.ScratchGC4 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); +- Scr.TitleGC = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); ++ Scr.ScratchGC5 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); ++ Scr.ScratchGC6 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); ++ Scr.ScratchGC7 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); ++ Scr.ScratchGC8 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); ++ Scr.ScratchGC9 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); ++ Scr.ScratchGC10 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); ++ Scr.ScratchGC11 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); ++ Scr.ScratchGC12 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); ++ Scr.ScratchGC13 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); ++ Scr.ScratchGC14 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); ++ Scr.ScratchGC15 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); ++ Scr.ScratchGC16 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); ++ Scr.ScratchGC17 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); ++ Scr.ScratchGC18 = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); ++ ++ Scr.TitleGC = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); + Scr.BordersGC = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); + Scr.TransMaskGC = fvwmlib_XCreateGC(dpy, Scr.NoFocusWin, gcm, &gcv); + Scr.ScratchMonoPixmap = XCreatePixmap(dpy, Scr.Root, 1, 1, 1); +Only in fvwm-patched/fvwm: fvwm.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/fvwm.h fvwm-patched/fvwm/fvwm.h +--- fvwm-2.6.9/fvwm/fvwm.h 2019-08-24 16:50:07.000000000 -0600 ++++ fvwm-patched/fvwm/fvwm.h 2020-08-21 15:29:14.154834594 -0600 +@@ -579,7 +579,23 @@ + unsigned use_colorset : 1; + unsigned use_colorset_hi : 1; + unsigned use_border_colorset : 1; ++ unsigned use_border_colorset_north : 1; ++ unsigned use_border_colorset_south : 1; ++ unsigned use_border_colorset_east : 1; ++ unsigned use_border_colorset_west : 1; ++ unsigned use_border_colorset_handles_nw : 1; ++ unsigned use_border_colorset_handles_ne : 1; ++ unsigned use_border_colorset_handles_sw : 1; ++ unsigned use_border_colorset_handles_se : 1; + unsigned use_border_colorset_hi : 1; ++ unsigned use_border_colorset_hi_north : 1; ++ unsigned use_border_colorset_hi_south : 1; ++ unsigned use_border_colorset_hi_east : 1; ++ unsigned use_border_colorset_hi_west : 1; ++ unsigned use_border_colorset_hi_handles_nw : 1; ++ unsigned use_border_colorset_hi_handles_ne : 1; ++ unsigned use_border_colorset_hi_handles_sw : 1; ++ unsigned use_border_colorset_hi_handles_se : 1; + unsigned use_icon_title_colorset : 1; + unsigned use_icon_title_colorset_hi : 1; + unsigned use_icon_background_colorset : 1; +@@ -668,7 +684,23 @@ + int colorset; + int colorset_hi; + int border_colorset; ++ int border_colorset_north; ++ int border_colorset_south; ++ int border_colorset_east; ++ int border_colorset_west; ++ int border_colorset_handles_nw; ++ int border_colorset_handles_ne; ++ int border_colorset_handles_sw; ++ int border_colorset_handles_se; + int border_colorset_hi; ++ int border_colorset_hi_north; ++ int border_colorset_hi_south; ++ int border_colorset_hi_east; ++ int border_colorset_hi_west; ++ int border_colorset_hi_handles_nw; ++ int border_colorset_hi_handles_ne; ++ int border_colorset_hi_handles_sw; ++ int border_colorset_hi_handles_se; + int icon_title_colorset; + int icon_title_colorset_hi; + int icon_background_colorset; +@@ -881,12 +913,51 @@ + color_quad colors; + color_quad hicolors; + color_quad border_colors; ++ color_quad border_colors_north; ++ color_quad border_colors_south; ++ color_quad border_colors_east; ++ color_quad border_colors_west; ++ ++ color_quad border_colors_handles_nw; ++ color_quad border_colors_handles_ne; ++ color_quad border_colors_handles_sw; ++ color_quad border_colors_handles_se; ++ + color_quad border_hicolors; ++ color_quad border_hicolors_north; ++ color_quad border_hicolors_south; ++ color_quad border_hicolors_east; ++ color_quad border_hicolors_west; ++ ++ color_quad border_hicolors_handles_nw; ++ color_quad border_hicolors_handles_ne; ++ color_quad border_hicolors_handles_sw; ++ color_quad border_hicolors_handles_se; + + int cs; + int cs_hi; + int border_cs; ++ int border_cs_north; ++ int border_cs_south; ++ int border_cs_east; ++ int border_cs_west; ++ ++ int border_cs_handles_nw; ++ int border_cs_handles_ne; ++ int border_cs_handles_sw; ++ int border_cs_handles_se; ++ + int border_cs_hi; ++ int border_cs_hi_north; ++ int border_cs_hi_south; ++ int border_cs_hi_east; ++ int border_cs_hi_west; ++ ++ int border_cs_hi_handles_nw; ++ int border_cs_hi_handles_ne; ++ int border_cs_hi_handles_sw; ++ int border_cs_hi_handles_se; ++ + int icon_title_cs; + int icon_title_cs_hi; + int icon_background_cs; +Only in fvwm-patched/fvwm: fvwm.h.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/screen.h fvwm-patched/fvwm/screen.h +--- fvwm-2.6.9/fvwm/screen.h 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/fvwm/screen.h 2020-08-21 15:29:14.154834594 -0600 +@@ -405,6 +405,21 @@ + GC ScratchGC2; + GC ScratchGC3; + GC ScratchGC4; ++ GC ScratchGC5; ++ GC ScratchGC6; ++ GC ScratchGC7; ++ GC ScratchGC8; ++ GC ScratchGC9; ++ GC ScratchGC10; ++ GC ScratchGC11; ++ GC ScratchGC12; ++ GC ScratchGC13; ++ GC ScratchGC14; ++ GC ScratchGC15; ++ GC ScratchGC16; ++ GC ScratchGC17; ++ GC ScratchGC18; ++ + GC TitleGC; + GC BordersGC; + /* minimum width of size window */ +Only in fvwm-patched/fvwm: screen.h.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/style.c fvwm-patched/fvwm/style.c +--- fvwm-2.6.9/fvwm/style.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/fvwm/style.c 2020-08-21 15:29:14.154834594 -0600 +@@ -663,11 +663,91 @@ + SSET_BORDER_COLORSET( + *merged_style, SGET_BORDER_COLORSET(*add_style)); + } ++ if (add_style->flags.use_border_colorset_north) ++ { ++ SSET_BORDER_COLORSET_NORTH( ++ *merged_style,SGET_BORDER_COLORSET_NORTH(*add_style)); ++ } ++ if (add_style->flags.use_border_colorset_south) ++ { ++ SSET_BORDER_COLORSET_SOUTH( ++ *merged_style,SGET_BORDER_COLORSET_SOUTH(*add_style)); ++ } ++ if (add_style->flags.use_border_colorset_east) ++ { ++ SSET_BORDER_COLORSET_EAST( ++ *merged_style,SGET_BORDER_COLORSET_EAST(*add_style)); ++ } ++ if (add_style->flags.use_border_colorset_west) ++ { ++ SSET_BORDER_COLORSET_WEST( ++ *merged_style,SGET_BORDER_COLORSET_WEST(*add_style)); ++ } ++ if (add_style->flags.use_border_colorset_handles_nw) ++ { ++ SSET_BORDER_COLORSET_HANDLES_NW( ++ *merged_style,SGET_BORDER_COLORSET_HANDLES_NW(*add_style)); ++ } ++ if (add_style->flags.use_border_colorset_handles_ne) ++ { ++ SSET_BORDER_COLORSET_HANDLES_NE( ++ *merged_style,SGET_BORDER_COLORSET_HANDLES_NE(*add_style)); ++ } ++ if (add_style->flags.use_border_colorset_handles_sw) ++ { ++ SSET_BORDER_COLORSET_HANDLES_SW( ++ *merged_style,SGET_BORDER_COLORSET_HANDLES_SW(*add_style)); ++ } ++ if (add_style->flags.use_border_colorset_handles_se) ++ { ++ SSET_BORDER_COLORSET_HANDLES_SE( ++ *merged_style,SGET_BORDER_COLORSET_HANDLES_SE(*add_style)); ++ } + if (add_style->flags.use_border_colorset_hi) + { + SSET_BORDER_COLORSET_HI( + *merged_style,SGET_BORDER_COLORSET_HI(*add_style)); + } ++ if (add_style->flags.use_border_colorset_hi_north) ++ { ++ SSET_BORDER_COLORSET_HI_NORTH( ++ *merged_style,SGET_BORDER_COLORSET_HI_NORTH(*add_style)); ++ } ++ if (add_style->flags.use_border_colorset_hi_south) ++ { ++ SSET_BORDER_COLORSET_HI_SOUTH( ++ *merged_style,SGET_BORDER_COLORSET_HI_SOUTH(*add_style)); ++ } ++ if (add_style->flags.use_border_colorset_hi_east) ++ { ++ SSET_BORDER_COLORSET_HI_EAST( ++ *merged_style,SGET_BORDER_COLORSET_HI_EAST(*add_style)); ++ } ++ if (add_style->flags.use_border_colorset_hi_west) ++ { ++ SSET_BORDER_COLORSET_HI_WEST( ++ *merged_style,SGET_BORDER_COLORSET_HI_WEST(*add_style)); ++ } ++ if (add_style->flags.use_border_colorset_hi_handles_nw) ++ { ++ SSET_BORDER_COLORSET_HI_HANDLES_NW( ++ *merged_style,SGET_BORDER_COLORSET_HI_HANDLES_NW(*add_style)); ++ } ++ if (add_style->flags.use_border_colorset_hi_handles_ne) ++ { ++ SSET_BORDER_COLORSET_HI_HANDLES_NE( ++ *merged_style,SGET_BORDER_COLORSET_HI_HANDLES_NE(*add_style)); ++ } ++ if (add_style->flags.use_border_colorset_hi_handles_sw) ++ { ++ SSET_BORDER_COLORSET_HI_HANDLES_SW( ++ *merged_style,SGET_BORDER_COLORSET_HI_HANDLES_SW(*add_style)); ++ } ++ if (add_style->flags.use_border_colorset_hi_handles_se) ++ { ++ SSET_BORDER_COLORSET_HI_HANDLES_SE( ++ *merged_style,SGET_BORDER_COLORSET_HI_HANDLES_SE(*add_style)); ++ } + if (add_style->flags.use_icon_title_colorset) + { + SSET_ICON_TITLE_COLORSET( +@@ -2211,6 +2291,120 @@ + ps->flag_mask.use_border_colorset = 1; + ps->change_mask.use_border_colorset = 1; + } ++ else if (StrEquals(token, "BorderColorsetRegions")) ++ { ++ int f[4] = {-1, -1, -1, -1}; ++ Bool bad = False; ++ ++ num = 0; ++ if (on != 0) ++ { ++ num = GetIntegerArguments(rest, &rest, val, 4); ++ ++ for (i=0; i < num; i++) ++ { ++ if (val[i] < 0) ++ { ++ bad = True; ++ } else { ++ f[i] = val[i]; ++ } ++ } ++ } ++ if (bad) ++ { ++ fvwm_msg( ++ ERR, "style_parse_one_style_option", ++ "Bad argument to BorderColorsetRegions" ++ ": %s", rest); ++ break; ++ } ++ ++ /* If 'f' defines our array of colorsets then dispatch ++ * them here. ++ */ ++ ++ SSET_BORDER_COLORSET_NORTH(*ps, f[0]); ++ alloc_colorset(f[0]); ++ ps->flags.use_border_colorset_north = (f[0] >= 0); ++ ps->flag_mask.use_border_colorset_north = 1; ++ ps->change_mask.use_border_colorset_north = 1; ++ ++ ++ SSET_BORDER_COLORSET_SOUTH(*ps, f[1]); ++ alloc_colorset(f[1]); ++ ps->flags.use_border_colorset_south = (f[1] >= 0); ++ ps->flag_mask.use_border_colorset_south = 1; ++ ps->change_mask.use_border_colorset_south = 1; ++ ++ SSET_BORDER_COLORSET_EAST(*ps, f[2]); ++ alloc_colorset(f[2]); ++ ps->flags.use_border_colorset_east = (f[2] >= 0); ++ ps->flag_mask.use_border_colorset_east = 1; ++ ps->change_mask.use_border_colorset_east = 1; ++ ++ SSET_BORDER_COLORSET_WEST(*ps, f[3]); ++ alloc_colorset(f[3]); ++ ps->flags.use_border_colorset_west = (f[3] >= 0); ++ ps->flag_mask.use_border_colorset_west = 1; ++ ps->change_mask.use_border_colorset_west = 1; ++ } ++ else if (StrEquals(token, "BorderHandlesColorsetRegions")) ++ { ++ int f[4] = {-1, -1, -1, -1}; ++ Bool bad = False; ++ ++ num = 0; ++ if (on != 0) ++ { ++ num = GetIntegerArguments(rest, &rest, val, 4); ++ ++ for (i=0; i < num; i++) ++ { ++ if (val[i] < 0) ++ bad = True; ++ f[i] = val[i]; ++ } ++ } ++ if (bad) ++ { ++ fvwm_msg( ++ ERR, "style_parse_one_style_option", ++ "Bad argument to HandlesColorsetRegions" ++ ": %s", rest); ++ break; ++ } ++ ++ /* If 'f' defines our array of colorsets then dispatch ++ * them here. ++ */ ++ ++ SSET_BORDER_COLORSET_HANDLES_NW(*ps, f[0]); ++ alloc_colorset(f[0]); ++ ps->flags.use_border_colorset_handles_nw = (f[0] >= 0); ++ ps->flag_mask.use_border_colorset_handles_nw = 1; ++ ps->change_mask.use_border_colorset_handles_nw = 1; ++ ++ SSET_BORDER_COLORSET_HANDLES_NE(*ps, f[1]); ++ alloc_colorset(f[1]); ++ ps->flags.use_border_colorset_handles_ne = (f[1] >= 0); ++ ps->flag_mask.use_border_colorset_handles_ne = 1; ++ ps->change_mask.use_border_colorset_handles_ne = 1; ++ ++ SSET_BORDER_COLORSET_HANDLES_SW(*ps, f[2]); ++ alloc_colorset(f[2]); ++ ps->flags.use_border_colorset_handles_sw = (f[2] >= 0); ++ ps->flag_mask.use_border_colorset_handles_sw = 1; ++ ps->change_mask.use_border_colorset_handles_sw = 1; ++ ++ SSET_BORDER_COLORSET_HANDLES_SE(*ps, f[3]); ++ alloc_colorset(f[3]); ++ ps->flags.use_border_colorset_handles_se = (f[3] >= 0); ++ ps->flag_mask.use_border_colorset_handles_se = 1; ++ ps->change_mask.use_border_colorset_handles_se = 1; ++ ++ } ++ + else if (StrEquals(token, "BottomTitleRotated")) + { + S_SET_IS_BOTTOM_TITLE_ROTATED(SCF(*ps), on); +@@ -2849,7 +3043,117 @@ + ps->flag_mask.use_border_colorset_hi = 1; + ps->change_mask.use_border_colorset_hi = 1; + } +- else if (StrEquals(token, "HilightIconTitleColorset")) ++ else if (StrEquals(token, "HilightBorderColorsetRegions")) ++ { ++ int f[4] = {-1, -1, -1, -1}; ++ Bool bad = False; ++ ++ num = 0; ++ if (on != 0) ++ { ++ num = GetIntegerArguments(rest, &rest, val, 4); ++ ++ for (i=0; i < num; i++) ++ { ++ if (val[i] < 0) ++ bad = True; ++ f[i] = val[i]; ++ } ++ } ++ if (bad) ++ { ++ fvwm_msg( ++ ERR, "style_parse_one_style_option", ++ "Bad argument to HilightBorderColorsetRegions" ++ ": %s", rest); ++ break; ++ } ++ ++ /* If 'f' defines our array of colorsets then dispatch ++ * them here. ++ */ ++ ++ SSET_BORDER_COLORSET_HI_NORTH(*ps, f[0]); ++ alloc_colorset(f[0]); ++ ps->flags.use_border_colorset_hi_north = (f[0] >= 0); ++ ps->flag_mask.use_border_colorset_hi_north = 1; ++ ps->change_mask.use_border_colorset_hi_north = 1; ++ ++ SSET_BORDER_COLORSET_HI_SOUTH(*ps, f[1]); ++ alloc_colorset(f[1]); ++ ps->flags.use_border_colorset_hi_south = (f[1] >= 0); ++ ps->flag_mask.use_border_colorset_hi_south = 1; ++ ps->change_mask.use_border_colorset_hi_south = 1; ++ ++ SSET_BORDER_COLORSET_HI_EAST(*ps, f[2]); ++ alloc_colorset(f[2]); ++ ps->flags.use_border_colorset_hi_east = (f[2] >= 0); ++ ps->flag_mask.use_border_colorset_hi_east = 1; ++ ps->change_mask.use_border_colorset_hi_east = 1; ++ ++ SSET_BORDER_COLORSET_HI_WEST(*ps, f[3]); ++ alloc_colorset(f[3]); ++ ps->flags.use_border_colorset_hi_west = (f[3] >= 0); ++ ps->flag_mask.use_border_colorset_hi_west = 1; ++ ps->change_mask.use_border_colorset_hi_west = 1; ++ ++ } ++ else if (StrEquals(token, "HilightHandlesColorsetRegions")) ++ { ++ int f[4] = {-1, -1, -1, -1}; ++ Bool bad = False; ++ ++ num = 0; ++ if (on != 0) ++ { ++ num = GetIntegerArguments(rest, &rest, val, 4); ++ ++ for (i=0; i < num; i++) ++ { ++ if (val[i] < 0) ++ bad = True; ++ f[i] = val[i]; ++ } ++ } ++ if (bad) ++ { ++ fvwm_msg( ++ ERR, "style_parse_one_style_option", ++ "Bad argument to HilightHandlesColorsetRegions" ++ ": %s", rest); ++ break; ++ } ++ ++ /* If 'f' defines our array of colorsets then dispatch ++ * them here. ++ */ ++ ++ SSET_BORDER_COLORSET_HI_HANDLES_NW(*ps, f[0]); ++ alloc_colorset(f[0]); ++ ps->flags.use_border_colorset_hi_handles_nw = (f[0] >= 0); ++ ps->flag_mask.use_border_colorset_hi_handles_nw = 1; ++ ps->change_mask.use_border_colorset_hi_handles_nw = 1; ++ ++ SSET_BORDER_COLORSET_HI_HANDLES_NE(*ps, f[1]); ++ alloc_colorset(f[1]); ++ ps->flags.use_border_colorset_hi_handles_ne = (f[1] >= 0); ++ ps->flag_mask.use_border_colorset_hi_handles_ne = 1; ++ ps->change_mask.use_border_colorset_hi_handles_ne = 1; ++ ++ SSET_BORDER_COLORSET_HI_HANDLES_SW(*ps, f[2]); ++ alloc_colorset(f[2]); ++ ps->flags.use_border_colorset_hi_handles_sw = (f[2] >= 0); ++ ps->flag_mask.use_border_colorset_hi_handles_sw = 1; ++ ps->change_mask.use_border_colorset_hi_handles_sw = 1; ++ ++ SSET_BORDER_COLORSET_HI_HANDLES_SE(*ps, f[3]); ++ alloc_colorset(f[3]); ++ ps->flags.use_border_colorset_hi_handles_se = (f[3] >= 0); ++ ps->flag_mask.use_border_colorset_hi_handles_se = 1; ++ ps->change_mask.use_border_colorset_hi_handles_se = 1; ++ ++ } ++ else if (StrEquals(token, "HilightIconTitleColorset")) + { + *val = -1; + GetIntegerArguments(rest, &rest, val, 1); +@@ -5245,6 +5549,62 @@ + temp->change_mask.use_border_colorset = 1; + Scr.flags.do_need_window_update = 1; + } ++ if (SUSE_BORDER_COLORSET_NORTH(&temp->flags) && ++ SGET_BORDER_COLORSET_NORTH(*temp) == colorset) ++ { ++ temp->has_style_changed = 1; ++ temp->change_mask.use_border_colorset_north = 1; ++ Scr.flags.do_need_window_update = 1; ++ } ++ if (SUSE_BORDER_COLORSET_SOUTH(&temp->flags) && ++ SGET_BORDER_COLORSET_SOUTH(*temp) == colorset) ++ { ++ temp->has_style_changed = 1; ++ temp->change_mask.use_border_colorset_south = 1; ++ Scr.flags.do_need_window_update = 1; ++ } ++ if (SUSE_BORDER_COLORSET_EAST(&temp->flags) && ++ SGET_BORDER_COLORSET_EAST(*temp) == colorset) ++ { ++ temp->has_style_changed = 1; ++ temp->change_mask.use_border_colorset_east = 1; ++ Scr.flags.do_need_window_update = 1; ++ } ++ if (SUSE_BORDER_COLORSET_WEST(&temp->flags) && ++ SGET_BORDER_COLORSET_WEST(*temp) == colorset) ++ { ++ temp->has_style_changed = 1; ++ temp->change_mask.use_border_colorset_west = 1; ++ Scr.flags.do_need_window_update = 1; ++ } ++ if (SUSE_BORDER_COLORSET_HANDLES_NW(&temp->flags) && ++ SGET_BORDER_COLORSET_HANDLES_NW(*temp) == colorset) ++ { ++ temp->has_style_changed = 1; ++ temp->change_mask.use_border_colorset_handles_nw = 1; ++ Scr.flags.do_need_window_update = 1; ++ } ++ if (SUSE_BORDER_COLORSET_HANDLES_NE(&temp->flags) && ++ SGET_BORDER_COLORSET_HANDLES_NE(*temp) == colorset) ++ { ++ temp->has_style_changed = 1; ++ temp->change_mask.use_border_colorset_handles_ne = 1; ++ Scr.flags.do_need_window_update = 1; ++ } ++ if (SUSE_BORDER_COLORSET_HANDLES_SW(&temp->flags) && ++ SGET_BORDER_COLORSET_HANDLES_SW(*temp) == colorset) ++ { ++ temp->has_style_changed = 1; ++ temp->change_mask.use_border_colorset_handles_sw = 1; ++ Scr.flags.do_need_window_update = 1; ++ } ++ if (SUSE_BORDER_COLORSET_HANDLES_SE(&temp->flags) && ++ SGET_BORDER_COLORSET_HANDLES_SE(*temp) == colorset) ++ { ++ temp->has_style_changed = 1; ++ temp->change_mask.use_border_colorset_handles_se = 1; ++ Scr.flags.do_need_window_update = 1; ++ } + if (SUSE_BORDER_COLORSET_HI(&temp->flags) && + SGET_BORDER_COLORSET_HI(*temp) == colorset) + { +@@ -5252,6 +5612,62 @@ + temp->change_mask.use_border_colorset_hi = 1; + Scr.flags.do_need_window_update = 1; + } ++ if (SUSE_BORDER_COLORSET_HI_NORTH(&temp->flags) && ++ SGET_BORDER_COLORSET_HI_NORTH(*temp) == colorset) ++ { ++ temp->has_style_changed = 1; ++ temp->change_mask.use_border_colorset_hi_north = 1; ++ Scr.flags.do_need_window_update = 1; ++ } ++ if (SUSE_BORDER_COLORSET_HI_SOUTH(&temp->flags) && ++ SGET_BORDER_COLORSET_HI_SOUTH(*temp) == colorset) ++ { ++ temp->has_style_changed = 1; ++ temp->change_mask.use_border_colorset_hi_south = 1; ++ Scr.flags.do_need_window_update = 1; ++ } ++ if (SUSE_BORDER_COLORSET_HI_EAST(&temp->flags) && ++ SGET_BORDER_COLORSET_HI_EAST(*temp) == colorset) ++ { ++ temp->has_style_changed = 1; ++ temp->change_mask.use_border_colorset_hi_east = 1; ++ Scr.flags.do_need_window_update = 1; ++ } ++ if (SUSE_BORDER_COLORSET_HI_WEST(&temp->flags) && ++ SGET_BORDER_COLORSET_HI_WEST(*temp) == colorset) ++ { ++ temp->has_style_changed = 1; ++ temp->change_mask.use_border_colorset_hi_west = 1; ++ Scr.flags.do_need_window_update = 1; ++ } ++ if (SUSE_BORDER_COLORSET_HI_HANDLES_NW(&temp->flags) && ++ SGET_BORDER_COLORSET_HI_HANDLES_NW(*temp) == colorset) ++ { ++ temp->has_style_changed = 1; ++ temp->change_mask.use_border_colorset_hi_handles_nw = 1; ++ Scr.flags.do_need_window_update = 1; ++ } ++ if (SUSE_BORDER_COLORSET_HI_HANDLES_NE(&temp->flags) && ++ SGET_BORDER_COLORSET_HI_HANDLES_NE(*temp) == colorset) ++ { ++ temp->has_style_changed = 1; ++ temp->change_mask.use_border_colorset_hi_handles_ne = 1; ++ Scr.flags.do_need_window_update = 1; ++ } ++ if (SUSE_BORDER_COLORSET_HI_HANDLES_SW(&temp->flags) && ++ SGET_BORDER_COLORSET_HI_HANDLES_SW(*temp) == colorset) ++ { ++ temp->has_style_changed = 1; ++ temp->change_mask.use_border_colorset_hi_handles_sw = 1; ++ Scr.flags.do_need_window_update = 1; ++ } ++ if (SUSE_BORDER_COLORSET_HI_HANDLES_SE(&temp->flags) && ++ SGET_BORDER_COLORSET_HI_HANDLES_SE(*temp) == colorset) ++ { ++ temp->has_style_changed = 1; ++ temp->change_mask.use_border_colorset_hi_handles_se = 1; ++ Scr.flags.do_need_window_update = 1; ++ } + if (SUSE_ICON_TITLE_COLORSET(&temp->flags) && + SGET_ICON_TITLE_COLORSET(*temp) == colorset) + { +@@ -5329,7 +5745,129 @@ + fw->border_colors.shadow = fw->colors.shadow; + fw->border_colors.back = fw->colors.back; + } +-} ++ if (SUSE_BORDER_COLORSET_NORTH(&pstyle->flags)) ++ { ++ cs = SGET_BORDER_COLORSET_NORTH(*pstyle); ++ fw->border_cs_north = cs; ++ fw->border_colors_north.hilight = Colorset[cs].hilite; ++ fw->border_colors_north.shadow = Colorset[cs].shadow; ++ fw->border_colors_north.back = Colorset[cs].bg; ++ } ++ else ++ { ++ fw->border_cs_north = -1; ++ fw->border_colors_north.hilight = fw->colors.hilight; ++ fw->border_colors_north.shadow = fw->colors.shadow; ++ fw->border_colors_north.back = fw->colors.back; ++ } ++ if (SUSE_BORDER_COLORSET_SOUTH(&pstyle->flags)) ++ { ++ cs = SGET_BORDER_COLORSET_SOUTH(*pstyle); ++ fw->border_cs_south = cs; ++ fw->border_colors_south.hilight = Colorset[cs].hilite; ++ fw->border_colors_south.shadow = Colorset[cs].shadow; ++ fw->border_colors_south.back = Colorset[cs].bg; ++ } ++ else ++ { ++ fw->border_cs_south = -1; ++ fw->border_colors_south.hilight = fw->colors.hilight; ++ fw->border_colors_south.shadow = fw->colors.shadow; ++ fw->border_colors_south.back = fw->colors.back; ++ } ++ if (SUSE_BORDER_COLORSET_EAST(&pstyle->flags)) ++ { ++ cs = SGET_BORDER_COLORSET_EAST(*pstyle); ++ fw->border_cs_east = cs; ++ fw->border_colors_east.hilight = Colorset[cs].hilite; ++ fw->border_colors_east.shadow = Colorset[cs].shadow; ++ fw->border_colors_east.back = Colorset[cs].bg; ++ } ++ else ++ { ++ fw->border_cs_east = -1; ++ fw->border_colors_east.hilight = fw->colors.hilight; ++ fw->border_colors_east.shadow = fw->colors.shadow; ++ fw->border_colors_east.back = fw->colors.back; ++ } ++ if (SUSE_BORDER_COLORSET_WEST(&pstyle->flags)) ++ { ++ cs = SGET_BORDER_COLORSET_WEST(*pstyle); ++ fw->border_cs_west = cs; ++ fw->border_colors_west.hilight = Colorset[cs].hilite; ++ fw->border_colors_west.shadow = Colorset[cs].shadow; ++ fw->border_colors_west.back = Colorset[cs].bg; ++ } ++ else ++ { ++ fw->border_cs_west = -1; ++ fw->border_colors_west.hilight = fw->colors.hilight; ++ fw->border_colors_west.shadow = fw->colors.shadow; ++ fw->border_colors_west.back = fw->colors.back; ++ } ++ /* handles */ ++ if (SUSE_BORDER_COLORSET_HANDLES_NW(&pstyle->flags)) ++ { ++ cs = SGET_BORDER_COLORSET_HANDLES_NW(*pstyle); ++ fw->border_cs_handles_nw = cs; ++ fw->border_colors_handles_nw.hilight = Colorset[cs].hilite; ++ fw->border_colors_handles_nw.shadow = Colorset[cs].shadow; ++ fw->border_colors_handles_nw.back = Colorset[cs].bg; ++ } ++ else ++ { ++ fw->border_cs_handles_nw = -1; ++ fw->border_colors_handles_nw.hilight = fw->colors.hilight; ++ fw->border_colors_handles_nw.shadow = fw->colors.shadow; ++ fw->border_colors_handles_nw.back = fw->colors.back; ++ } ++ if (SUSE_BORDER_COLORSET_HANDLES_NE(&pstyle->flags)) ++ { ++ cs = SGET_BORDER_COLORSET_HANDLES_NE(*pstyle); ++ fw->border_cs_handles_ne = cs; ++ fw->border_colors_handles_ne.hilight = Colorset[cs].hilite; ++ fw->border_colors_handles_ne.shadow = Colorset[cs].shadow; ++ fw->border_colors_handles_ne.back = Colorset[cs].bg; ++ } ++ else ++ { ++ fw->border_cs_handles_ne = -1; ++ fw->border_colors_handles_ne.hilight = fw->colors.hilight; ++ fw->border_colors_handles_ne.shadow = fw->colors.shadow; ++ fw->border_colors_handles_ne.back = fw->colors.back; ++ } ++ if (SUSE_BORDER_COLORSET_HANDLES_SW(&pstyle->flags)) ++ { ++ cs = SGET_BORDER_COLORSET_HANDLES_SW(*pstyle); ++ fw->border_cs_handles_sw = cs; ++ fw->border_colors_handles_sw.hilight = Colorset[cs].hilite; ++ fw->border_colors_handles_sw.shadow = Colorset[cs].shadow; ++ fw->border_colors_handles_sw.back = Colorset[cs].bg; ++ } ++ else ++ { ++ fw->border_cs_handles_sw = -1; ++ fw->border_colors_handles_sw.hilight = fw->colors.hilight; ++ fw->border_colors_handles_sw.shadow = fw->colors.shadow; ++ fw->border_colors_handles_sw.back = fw->colors.back; ++ } ++ if (SUSE_BORDER_COLORSET_HANDLES_SE(&pstyle->flags)) ++ { ++ cs = SGET_BORDER_COLORSET_HANDLES_SE(*pstyle); ++ fw->border_cs_handles_se = cs; ++ fw->border_colors_handles_se.hilight = Colorset[cs].hilite; ++ fw->border_colors_handles_se.shadow = Colorset[cs].shadow; ++ fw->border_colors_handles_se.back = Colorset[cs].bg; ++ } ++ else ++ { ++ fw->border_cs_handles_se = -1; ++ fw->border_colors_handles_se.hilight = fw->colors.hilight; ++ fw->border_colors_handles_se.shadow = fw->colors.shadow; ++ fw->border_colors_handles_se.back = fw->colors.back; ++ } ++ ++} + + void update_window_color_hi_style(FvwmWindow *fw, window_style *pstyle) + { +@@ -5383,6 +5921,127 @@ + fw->border_hicolors.shadow = fw->hicolors.shadow; + fw->border_hicolors.back = fw->hicolors.back; + } ++ if (SUSE_BORDER_COLORSET_HI_NORTH(&pstyle->flags)) ++ { ++ cs = SGET_BORDER_COLORSET_HI_NORTH(*pstyle); ++ fw->border_cs_hi_north = cs; ++ fw->border_hicolors_north.hilight = Colorset[cs].hilite; ++ fw->border_hicolors_north.shadow = Colorset[cs].shadow; ++ fw->border_hicolors_north.back = Colorset[cs].bg; ++ } ++ else ++ { ++ fw->border_cs_hi_north = -1; ++ fw->border_hicolors_north.hilight = fw->hicolors.hilight; ++ fw->border_hicolors_north.shadow = fw->hicolors.shadow; ++ fw->border_hicolors_north.back = fw->hicolors.back; ++ } ++ if (SUSE_BORDER_COLORSET_HI_SOUTH(&pstyle->flags)) ++ { ++ cs = SGET_BORDER_COLORSET_HI_SOUTH(*pstyle); ++ fw->border_cs_hi_south = cs; ++ fw->border_hicolors_south.hilight = Colorset[cs].hilite; ++ fw->border_hicolors_south.shadow = Colorset[cs].shadow; ++ fw->border_hicolors_south.back = Colorset[cs].bg; ++ } ++ else ++ { ++ fw->border_cs_hi_south = -1; ++ fw->border_hicolors_south.hilight = fw->hicolors.hilight; ++ fw->border_hicolors_south.shadow = fw->hicolors.shadow; ++ fw->border_hicolors_south.back = fw->hicolors.back; ++ } ++ if (SUSE_BORDER_COLORSET_HI_EAST(&pstyle->flags)) ++ { ++ cs = SGET_BORDER_COLORSET_HI_EAST(*pstyle); ++ fw->border_cs_hi_east = cs; ++ fw->border_hicolors_east.hilight = Colorset[cs].hilite; ++ fw->border_hicolors_east.shadow = Colorset[cs].shadow; ++ fw->border_hicolors_east.back = Colorset[cs].bg; ++ } ++ else ++ { ++ fw->border_cs_hi_east = -1; ++ fw->border_hicolors_east.hilight = fw->hicolors.hilight; ++ fw->border_hicolors_east.shadow = fw->hicolors.shadow; ++ fw->border_hicolors_east.back = fw->hicolors.back; ++ } ++ if (SUSE_BORDER_COLORSET_HI_WEST(&pstyle->flags)) ++ { ++ cs = SGET_BORDER_COLORSET_HI_WEST(*pstyle); ++ fw->border_cs_hi_west = cs; ++ fw->border_hicolors_west.hilight = Colorset[cs].hilite; ++ fw->border_hicolors_west.shadow = Colorset[cs].shadow; ++ fw->border_hicolors_west.back = Colorset[cs].bg; ++ } ++ else ++ { ++ fw->border_cs_hi_west = -1; ++ fw->border_hicolors_west.hilight = fw->hicolors.hilight; ++ fw->border_hicolors_west.shadow = fw->hicolors.shadow; ++ fw->border_hicolors_west.back = fw->hicolors.back; ++ } ++ /* Handles */ ++ if (SUSE_BORDER_COLORSET_HI_HANDLES_NW(&pstyle->flags)) ++ { ++ cs = SGET_BORDER_COLORSET_HI_HANDLES_NW(*pstyle); ++ fw->border_cs_hi_handles_nw = cs; ++ fw->border_hicolors_handles_nw.hilight = Colorset[cs].hilite; ++ fw->border_hicolors_handles_nw.shadow = Colorset[cs].shadow; ++ fw->border_hicolors_handles_nw.back = Colorset[cs].bg; ++ } ++ else ++ { ++ fw->border_cs_hi_handles_nw = -1; ++ fw->border_hicolors_handles_nw.hilight = fw->hicolors.hilight; ++ fw->border_hicolors_handles_nw.shadow = fw->hicolors.shadow; ++ fw->border_hicolors_handles_nw.back = fw->hicolors.back; ++ } ++ if (SUSE_BORDER_COLORSET_HI_HANDLES_NE(&pstyle->flags)) ++ { ++ cs = SGET_BORDER_COLORSET_HI_HANDLES_NE(*pstyle); ++ fw->border_cs_hi_handles_ne = cs; ++ fw->border_hicolors_handles_ne.hilight = Colorset[cs].hilite; ++ fw->border_hicolors_handles_ne.shadow = Colorset[cs].shadow; ++ fw->border_hicolors_handles_ne.back = Colorset[cs].bg; ++ } ++ else ++ { ++ fw->border_cs_hi_handles_ne = -1; ++ fw->border_hicolors_handles_ne.hilight = fw->hicolors.hilight; ++ fw->border_hicolors_handles_ne.shadow = fw->hicolors.shadow; ++ fw->border_hicolors_handles_ne.back = fw->hicolors.back; ++ } ++ if (SUSE_BORDER_COLORSET_HI_HANDLES_SW(&pstyle->flags)) ++ { ++ cs = SGET_BORDER_COLORSET_HI_HANDLES_SW(*pstyle); ++ fw->border_cs_hi_handles_sw = cs; ++ fw->border_hicolors_handles_sw.hilight = Colorset[cs].hilite; ++ fw->border_hicolors_handles_sw.shadow = Colorset[cs].shadow; ++ fw->border_hicolors_handles_sw.back = Colorset[cs].bg; ++ } ++ else ++ { ++ fw->border_cs_hi_handles_sw = -1; ++ fw->border_hicolors_handles_sw.hilight = fw->hicolors.hilight; ++ fw->border_hicolors_handles_sw.shadow = fw->hicolors.shadow; ++ fw->border_hicolors_handles_sw.back = fw->hicolors.back; ++ } ++ if (SUSE_BORDER_COLORSET_HI_HANDLES_SE(&pstyle->flags)) ++ { ++ cs = SGET_BORDER_COLORSET_HI_HANDLES_SE(*pstyle); ++ fw->border_cs_hi_handles_se = cs; ++ fw->border_hicolors_handles_se.hilight = Colorset[cs].hilite; ++ fw->border_hicolors_handles_se.shadow = Colorset[cs].shadow; ++ fw->border_hicolors_handles_se.back = Colorset[cs].bg; ++ } ++ else ++ { ++ fw->border_cs_hi_handles_se = -1; ++ fw->border_hicolors_handles_se.hilight = fw->hicolors.hilight; ++ fw->border_hicolors_handles_se.shadow = fw->hicolors.shadow; ++ fw->border_hicolors_handles_se.back = fw->hicolors.back; ++ } + } + + void update_icon_title_cs_style(FvwmWindow *fw, window_style *pstyle) +Only in fvwm-patched/fvwm: style.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/style.h fvwm-patched/fvwm/style.h +--- fvwm-2.6.9/fvwm/style.h 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/fvwm/style.h 2020-08-21 15:29:14.154834594 -0600 +@@ -69,8 +69,40 @@ + ((sf)->use_colorset_hi) + #define SUSE_BORDER_COLORSET(sf) \ + ((sf)->use_border_colorset) ++#define SUSE_BORDER_COLORSET_NORTH(sf) \ ++ ((sf)->use_border_colorset_north) ++#define SUSE_BORDER_COLORSET_SOUTH(sf) \ ++ ((sf)->use_border_colorset_south) ++#define SUSE_BORDER_COLORSET_EAST(sf) \ ++ ((sf)->use_border_colorset_east) ++#define SUSE_BORDER_COLORSET_WEST(sf) \ ++ ((sf)->use_border_colorset_west) ++#define SUSE_BORDER_COLORSET_HANDLES_NW(sf) \ ++ ((sf)->use_border_colorset_handles_nw) ++#define SUSE_BORDER_COLORSET_HANDLES_NE(sf) \ ++ ((sf)->use_border_colorset_handles_ne) ++#define SUSE_BORDER_COLORSET_HANDLES_SW(sf) \ ++ ((sf)->use_border_colorset_handles_sw) ++#define SUSE_BORDER_COLORSET_HANDLES_SE(sf) \ ++ ((sf)->use_border_colorset_handles_se) + #define SUSE_BORDER_COLORSET_HI(sf) \ + ((sf)->use_border_colorset_hi) ++#define SUSE_BORDER_COLORSET_HI_NORTH(sf) \ ++ ((sf)->use_border_colorset_hi_north) ++#define SUSE_BORDER_COLORSET_HI_SOUTH(sf) \ ++ ((sf)->use_border_colorset_hi_south) ++#define SUSE_BORDER_COLORSET_HI_EAST(sf) \ ++ ((sf)->use_border_colorset_hi_east) ++#define SUSE_BORDER_COLORSET_HI_WEST(sf) \ ++ ((sf)->use_border_colorset_hi_west) ++#define SUSE_BORDER_COLORSET_HI_HANDLES_NW(sf) \ ++ ((sf)->use_border_colorset_hi_handles_nw) ++#define SUSE_BORDER_COLORSET_HI_HANDLES_NE(sf) \ ++ ((sf)->use_border_colorset_hi_handles_ne) ++#define SUSE_BORDER_COLORSET_HI_HANDLES_SW(sf) \ ++ ((sf)->use_border_colorset_hi_handles_sw) ++#define SUSE_BORDER_COLORSET_HI_HANDLES_SE(sf) \ ++ ((sf)->use_border_colorset_hi_handles_se) + #define SUSE_ICON_TITLE_COLORSET(sf) \ + ((sf)->use_icon_title_colorset) + #define SUSE_ICON_TITLE_COLORSET_HI(sf) \ +@@ -455,6 +487,38 @@ + ((s).border_colorset = (x)) + #define SGET_BORDER_COLORSET(s) \ + ((s).border_colorset) ++#define SSET_BORDER_COLORSET_NORTH(s,x) \ ++ ((s).border_colorset_north = (x)) ++#define SGET_BORDER_COLORSET_NORTH(s) \ ++ ((s).border_colorset_north) ++#define SSET_BORDER_COLORSET_SOUTH(s,x) \ ++ ((s).border_colorset_south = (x)) ++#define SGET_BORDER_COLORSET_SOUTH(s) \ ++ ((s).border_colorset_south) ++#define SSET_BORDER_COLORSET_EAST(s,x) \ ++ ((s).border_colorset_east = (x)) ++#define SGET_BORDER_COLORSET_EAST(s) \ ++ ((s).border_colorset_east) ++#define SSET_BORDER_COLORSET_WEST(s,x) \ ++ ((s).border_colorset_west = (x)) ++#define SGET_BORDER_COLORSET_WEST(s) \ ++ ((s).border_colorset_west) ++#define SSET_BORDER_COLORSET_HANDLES_NW(s,x) \ ++ ((s).border_colorset_handles_nw = (x)) ++#define SGET_BORDER_COLORSET_HANDLES_NW(s) \ ++ ((s).border_colorset_handles_nw) ++#define SSET_BORDER_COLORSET_HANDLES_NE(s,x) \ ++ ((s).border_colorset_handles_ne = (x)) ++#define SGET_BORDER_COLORSET_HANDLES_NE(s) \ ++ ((s).border_colorset_handles_ne) ++#define SSET_BORDER_COLORSET_HANDLES_SW(s,x) \ ++ ((s).border_colorset_handles_sw = (x)) ++#define SGET_BORDER_COLORSET_HANDLES_SW(s) \ ++ ((s).border_colorset_handles_sw) ++#define SSET_BORDER_COLORSET_HANDLES_SE(s,x) \ ++ ((s).border_colorset_handles_se = (x)) ++#define SGET_BORDER_COLORSET_HANDLES_SE(s) \ ++ ((s).border_colorset_handles_se) + #define SGET_COLORSET_HI(s) \ + ((s).colorset_hi) + #define SSET_COLORSET_HI(s,x) \ +@@ -463,8 +527,40 @@ + ((s).border_colorset_hi) + #define SSET_BORDER_COLORSET_HI(s,x) \ + ((s).border_colorset_hi = (x)) ++#define SGET_BORDER_COLORSET_HI_NORTH(s) \ ++ ((s).border_colorset_hi_north) ++#define SSET_BORDER_COLORSET_HI_NORTH(s,x) \ ++ ((s).border_colorset_hi_north = (x)) ++#define SGET_BORDER_COLORSET_HI_SOUTH(s) \ ++ ((s).border_colorset_hi_south) ++#define SSET_BORDER_COLORSET_HI_SOUTH(s,x) \ ++ ((s).border_colorset_hi_south = (x)) ++#define SGET_BORDER_COLORSET_HI_EAST(s) \ ++ ((s).border_colorset_hi_east) ++#define SSET_BORDER_COLORSET_HI_EAST(s,x) \ ++ ((s).border_colorset_hi_east = (x)) ++#define SGET_BORDER_COLORSET_HI_WEST(s) \ ++ ((s).border_colorset_hi_west) ++#define SSET_BORDER_COLORSET_HI_WEST(s,x) \ ++ ((s).border_colorset_hi_west = (x)) ++#define SSET_BORDER_COLORSET_HI_HANDLES_NW(s,x) \ ++ ((s).border_colorset_hi_handles_nw = (x)) ++#define SGET_BORDER_COLORSET_HI_HANDLES_NW(s) \ ++ ((s).border_colorset_hi_handles_nw) ++#define SSET_BORDER_COLORSET_HI_HANDLES_NE(s,x) \ ++ ((s).border_colorset_hi_handles_ne = (x)) ++#define SGET_BORDER_COLORSET_HI_HANDLES_NE(s) \ ++ ((s).border_colorset_hi_handles_ne) ++#define SSET_BORDER_COLORSET_HI_HANDLES_SW(s,x) \ ++ ((s).border_colorset_hi_handles_sw = (x)) ++#define SGET_BORDER_COLORSET_HI_HANDLES_SW(s) \ ++ ((s).border_colorset_hi_handles_sw) ++#define SSET_BORDER_COLORSET_HI_HANDLES_SE(s,x) \ ++ ((s).border_colorset_hi_handles_se = (x)) ++#define SGET_BORDER_COLORSET_HI_HANDLES_SE(s) \ ++ ((s).border_colorset_hi_handles_se) + #define SSET_ICON_TITLE_COLORSET(s,x) \ +- ((s).icon_title_colorset = (x)) ++ ((s).icon_title_colorset = (x)) + #define SGET_ICON_TITLE_COLORSET(s) \ + ((s).icon_title_colorset) + #define SSET_ICON_TITLE_COLORSET_HI(s,x) \ +Only in fvwm-patched/fvwm: style.h.orig diff --git a/ports/fvwm-patched/patches/03-ResizeOutlineThin.patch b/ports/fvwm-patched/patches/03-ResizeOutlineThin.patch new file mode 100644 index 0000000..e722914 --- /dev/null +++ b/ports/fvwm-patched/patches/03-ResizeOutlineThin.patch @@ -0,0 +1,352 @@ +diff --unified --recursive --text fvwm-2.6.9/fvwm/fvwm.h fvwm-patched/fvwm/fvwm.h +--- fvwm-2.6.9/fvwm/fvwm.h 2020-08-21 15:30:39.091737766 -0600 ++++ fvwm-patched/fvwm/fvwm.h 2020-08-21 15:42:30.000309012 -0600 +@@ -222,6 +222,7 @@ + unsigned do_not_show_on_map : 1; + unsigned do_raise_transient : 1; + unsigned do_resize_opaque : 1; ++ unsigned do_resize_outline_thin : 1; + unsigned do_shrink_windowshade : 1; + unsigned do_stack_transient_parent : 1; + unsigned do_window_list_skip : 1; +diff --unified --recursive --text fvwm-2.6.9/fvwm/move_resize.c fvwm-patched/fvwm/move_resize.c +--- fvwm-2.6.9/fvwm/move_resize.c 2018-05-30 16:28:25.000000000 -0600 ++++ fvwm-patched/fvwm/move_resize.c 2020-08-21 15:45:34.999041350 -0600 +@@ -98,7 +98,7 @@ + + extern Window PressedW; + +-static void draw_move_resize_grid(int x, int y, int width, int height); ++static void draw_move_resize_grid(int x, int y, int width, int height, Bool thin); + + /* ----- end of resize globals ----- */ + +@@ -116,26 +116,33 @@ + * + */ + static int get_outline_rects( +- XRectangle *rects, int x, int y, int width, int height) ++ XRectangle *rects, int x, int y, int width, int height, Bool do_outline_thin) + { + int i; + int n; + int m; + +- n = 3; +- m = (width - 5) / 2; +- if (m < n) ++ if (do_outline_thin) + { +- n = m; +- } +- m = (height - 5) / 2; +- if (m < n) +- { +- n = m; ++ n = 1; + } +- if (n < 1) ++ else + { +- n = 1; ++ n = 3; ++ m = (width - 5) / 2; ++ if (m < n) ++ { ++ n = m; ++ } ++ m = (height - 5) / 2; ++ if (m < n) ++ { ++ n = m; ++ } ++ if (n < 1) ++ { ++ n = 1; ++ } + } + + for (i = 0; i < n; i++) +@@ -145,25 +152,28 @@ + rects[i].width = width - (i << 1); + rects[i].height = height - (i << 1); + } +- if (width - (n << 1) >= 5 && height - (n << 1) >= 5) ++ if (!do_outline_thin) + { +- if (width - (n << 1) >= 10) ++ if (width - (n << 1) >= 5 && height - (n << 1) >= 5) + { +- int off = (width - (n << 1)) / 3 + n; +- rects[i].x = x + off; +- rects[i].y = y + n; +- rects[i].width = width - (off << 1); +- rects[i].height = height - (n << 1); +- i++; +- } +- if (height - (n << 1) >= 10) +- { +- int off = (height - (n << 1)) / 3 + n; +- rects[i].x = x + n; +- rects[i].y = y + off; +- rects[i].width = width - (n << 1); +- rects[i].height = height - (off << 1); +- i++; ++ if (width - (n << 1) >= 10) ++ { ++ int off = (width - (n << 1)) / 3 + n; ++ rects[i].x = x + off; ++ rects[i].y = y + n; ++ rects[i].width = width - (off << 1); ++ rects[i].height = height - (n << 1); ++ i++; ++ } ++ if (height - (n << 1) >= 10) ++ { ++ int off = (height - (n << 1)) / 3 + n; ++ rects[i].x = x + n; ++ rects[i].y = y + off; ++ rects[i].width = width - (n << 1); ++ rects[i].height = height - (off << 1); ++ i++; ++ } + } + } + +@@ -176,14 +186,15 @@ + struct + { + unsigned is_enabled : 1; ++ unsigned do_outline_thin : 1; + } flags; + } move_resize_grid = + { + { 0, 0, 0, 0 }, +- { 0 } ++ { 0, 0 } + }; + +-static void draw_move_resize_grid(int x, int y, int width, int height) ++static void draw_move_resize_grid(int x, int y, int width, int height, Bool do_outline_thin) + { + int nrects = 0; + XRectangle rects[10]; +@@ -192,7 +203,8 @@ + x == move_resize_grid.geom.x && + y == move_resize_grid.geom.y && + width == move_resize_grid.geom.width && +- height == move_resize_grid.geom.height) ++ height == move_resize_grid.geom.height && ++ do_outline_thin == move_resize_grid.flags.do_outline_thin) + { + return; + } +@@ -210,7 +222,8 @@ + &(rects[0]), move_resize_grid.geom.x, + move_resize_grid.geom.y, + move_resize_grid.geom.width, +- move_resize_grid.geom.height); ++ move_resize_grid.geom.height, ++ move_resize_grid.flags.do_outline_thin); + } + if (width && height) + { +@@ -219,8 +232,9 @@ + move_resize_grid.geom.y = y; + move_resize_grid.geom.width = width; + move_resize_grid.geom.height = height; ++ move_resize_grid.flags.do_outline_thin = do_outline_thin; + nrects += get_outline_rects( +- &(rects[nrects]), x, y, width, height); ++ &(rects[nrects]), x, y, width, height, do_outline_thin); + } + if (nrects > 0) + { +@@ -237,14 +251,15 @@ + { + if (move_resize_grid.flags.is_enabled) + { +- draw_move_resize_grid(0, 0, 0, 0); ++ draw_move_resize_grid(0, 0, 0, 0, 0); + } + else + { + move_resize_grid.geom.x = 0; + move_resize_grid.geom.y = 0; + move_resize_grid.geom.width = 0; +- move_resize_grid.geom.height = 0; ++ move_resize_grid.geom.height = 0; ++ move_resize_grid.flags.do_outline_thin = 0; + } + } + else if (!move_resize_grid.flags.is_enabled) +@@ -256,7 +271,8 @@ + move_resize_grid.geom.x, + move_resize_grid.geom.y, + move_resize_grid.geom.width, +- move_resize_grid.geom.height); ++ move_resize_grid.geom.height, ++ move_resize_grid.flags.do_outline_thin); + } + } + +@@ -2341,6 +2357,7 @@ + /* Must not set placed by button if the event is a modified KeyEvent */ + Bool is_fake_event; + FvwmWindow *fw = exc->w.fw; ++ Bool do_outline_thin = DO_RESIZE_OUTLINE_THIN(fw); + unsigned int draw_parts = PART_NONE; + XEvent e; + +@@ -2414,7 +2431,7 @@ + if (!IS_ICONIFIED(fw) && + ((!do_move_opaque && !Scr.gs.do_emulate_mwm) || !IS_MAPPED(fw))) + { +- draw_move_resize_grid(xl, yt, Width - 1, Height - 1); ++ draw_move_resize_grid(xl, yt, Width - 1, Height - 1, do_outline_thin); + } + + if (move_w == FW_W_FRAME(fw) && do_move_opaque) +@@ -2757,7 +2774,7 @@ + if (!do_move_opaque) + { + draw_move_resize_grid( +- xl, yt, Width - 1, Height - 1); ++ xl, yt, Width - 1, Height - 1, do_outline_thin); + } + else + { +@@ -2833,7 +2850,7 @@ + if (!do_move_opaque) + { + draw_move_resize_grid( +- xl, yt, Width - 1, Height - 1); ++ xl, yt, Width - 1, Height - 1, do_outline_thin); + } + break; + +@@ -3453,7 +3470,7 @@ + static void __resize_step( + const exec_context_t *exc, int x_root, int y_root, int *x_off, + int *y_off, rectangle *drag, const rectangle *orig, int *xmotionp, +- int *ymotionp, Bool do_resize_opaque, Bool is_direction_fixed) ++ int *ymotionp, Bool do_resize_opaque, Bool is_direction_fixed, Bool do_outline_thin) + { + int action = 0; + int x2; +@@ -3575,7 +3592,7 @@ + { + draw_move_resize_grid( + drag->x, drag->y, drag->width - 1, +- drag->height - 1); ++ drag->height - 1, do_outline_thin); + } + else + { +@@ -3634,6 +3651,7 @@ + int x_off; + int y_off; + direction_t dir; ++ Bool do_outline_thin = DO_RESIZE_OUTLINE_THIN(fw); + int warp_x = 0; + int warp_y = 0; + +@@ -3956,7 +3974,7 @@ + if (!do_resize_opaque) + { + draw_move_resize_grid( +- drag->x, drag->y, drag->width - 1, drag->height - 1); ++ drag->x, drag->y, drag->width - 1, drag->height - 1, do_outline_thin); + } + /* kick off resizing without requiring any motion if invoked with a key + * press */ +@@ -3977,7 +3995,7 @@ + yo = 0; + __resize_step( + exc, stashed_x, stashed_y, &xo, &yo, drag, orig, +- &xmotion, &ymotion, do_resize_opaque, True); ++ &xmotion, &ymotion, do_resize_opaque, True, do_outline_thin); + } + else + { +@@ -4139,7 +4157,7 @@ + __resize_step( + exc, x, y, &x_off, &y_off, drag, orig, + &xmotion, &ymotion, do_resize_opaque, +- is_direction_fixed); ++ is_direction_fixed, do_outline_thin); + is_resized = True; + /* need to move the viewport */ + HandlePaging( +@@ -4158,7 +4176,7 @@ + __resize_step( + exc, x, y, &x_off, &y_off, drag, orig, + &xmotion, &ymotion, do_resize_opaque, +- is_direction_fixed); ++ is_direction_fixed, do_outline_thin); + is_resized = True; + } + fForceRedraw = False; +@@ -4194,7 +4212,7 @@ + { + draw_move_resize_grid( + drag->x, drag->y, drag->width - 1, +- drag->height - 1); ++ drag->height - 1, do_outline_thin); + } + } + else +@@ -4255,7 +4273,7 @@ + g = sorig; + __resize_step( + exc, sorig.x, sorig.y, &xo, &yo, &g, orig, +- &xmotion, &ymotion, do_resize_opaque, True); ++ &xmotion, &ymotion, do_resize_opaque, True, do_outline_thin); + } + if (vx != Scr.Vx || vy != Scr.Vy) + { +Only in fvwm-patched/fvwm: move_resize.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/style.c fvwm-patched/fvwm/style.c +--- fvwm-2.6.9/fvwm/style.c 2020-08-21 15:30:39.091737766 -0600 ++++ fvwm-patched/fvwm/style.c 2020-08-21 15:40:46.901822038 -0600 +@@ -4044,6 +4044,12 @@ + S_SET_DO_RESIZE_OPAQUE(SCM(*ps), 1); + S_SET_DO_RESIZE_OPAQUE(SCC(*ps), 1); + } ++ else if (StrEquals(token, "ResizeOutlineThin")) ++ { ++ S_SET_DO_RESIZE_OUTLINE_THIN(SCF(*ps), on); ++ S_SET_DO_RESIZE_OUTLINE_THIN(SCM(*ps), 1); ++ S_SET_DO_RESIZE_OUTLINE_THIN(SCC(*ps), 1); ++ } + else if (StrEquals(token, "RightTitleRotatedCW")) + { + S_SET_IS_RIGHT_TITLE_ROTATED_CW(SCF(*ps), on); +Only in fvwm-patched/fvwm: style.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/style.h fvwm-patched/fvwm/style.h +--- fvwm-2.6.9/fvwm/style.h 2020-08-21 15:30:39.091737766 -0600 ++++ fvwm-patched/fvwm/style.h 2020-08-21 15:40:46.901822038 -0600 +@@ -225,6 +225,10 @@ + ((c).s.do_resize_opaque) + #define S_SET_DO_RESIZE_OPAQUE(c,x) \ + ((c).s.do_resize_opaque = !!(x)) ++#define S_DO_RESIZE_OUTLINE_THIN(c) \ ++ ((c).s.do_resize_outline_thin) ++#define S_SET_DO_RESIZE_OUTLINE_THIN(c,x) \ ++ ((c).s.do_resize_outline_thin = !!(x)) + #define S_DO_SHRINK_WINDOWSHADE(c) \ + ((c).s.do_shrink_windowshade) + #define S_SET_DO_SHRINK_WINDOWSHADE(c,x) \ +Only in fvwm-patched/fvwm: style.h.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/window_flags.h fvwm-patched/fvwm/window_flags.h +--- fvwm-2.6.9/fvwm/window_flags.h 2016-10-15 08:51:45.000000000 -0600 ++++ fvwm-patched/fvwm/window_flags.h 2020-08-21 15:40:46.905822149 -0600 +@@ -21,6 +21,8 @@ + ((fw)->flags.common.s.do_raise_transient) + #define DO_RESIZE_OPAQUE(fw) \ + ((fw)->flags.common.s.do_resize_opaque) ++#define DO_RESIZE_OUTLINE_THIN(fw) \ ++ ((fw)->flags.common.s.do_resize_outline_thin) + #define DO_SHRINK_WINDOWSHADE(fw) \ + ((fw)->flags.common.s.do_shrink_windowshade) + #define SET_DO_SHRINK_WINDOWSHADE(fw,x) \ diff --git a/ports/fvwm-patched/patches/04-Conditionals.patch b/ports/fvwm-patched/patches/04-Conditionals.patch new file mode 100644 index 0000000..9138809 --- /dev/null +++ b/ports/fvwm-patched/patches/04-Conditionals.patch @@ -0,0 +1,41 @@ +diff --unified --recursive --text fvwm-2.6.9/fvwm/conditional.c fvwm-patched/fvwm/conditional.c +--- fvwm-2.6.9/fvwm/conditional.c 2019-08-24 16:50:07.000000000 -0600 ++++ fvwm-patched/fvwm/conditional.c 2020-08-21 15:49:23.879779609 -0600 +@@ -596,6 +596,36 @@ + SET_HAS_HANDLES(mask, on); + SETM_HAS_HANDLES(mask, 1); + } ++ else if (StrEquals(cond, "HasTitle")) ++ { ++ SET_HAS_TITLE(mask, on); ++ SETM_HAS_TITLE(mask, 1); ++ } ++ else if (StrEquals(cond, "HasBorders")) ++ { ++ SET_HAS_NO_BORDER(mask, !on); ++ SETM_HAS_NO_BORDER(mask, 1); ++ } ++ else if (StrEquals(cond, "TitleAtBottom")) ++ { ++ SET_TITLE_DIR(mask, DIR_S); ++ SETM_TITLE_DIR(mask, 1); ++ } ++ else if (StrEquals(cond, "TitleAtTop")) ++ { ++ SET_TITLE_DIR(mask, DIR_N); ++ SETM_TITLE_DIR(mask, 1); ++ } ++ else if (StrEquals(cond, "TitleAtLeft")) ++ { ++ SET_TITLE_DIR(mask, DIR_W); ++ SETM_TITLE_DIR(mask, 1); ++ } ++ else if (StrEquals(cond, "TitleAtRight")) ++ { ++ SET_TITLE_DIR(mask, DIR_E); ++ SETM_TITLE_DIR(mask, 1); ++ } + else if (StrEquals(cond,"Iconifiable")) + { + SET_IS_UNICONIFIABLE(mask, !on); +Only in fvwm-patched/fvwm: conditional.c.orig diff --git a/ports/fvwm-patched/patches/05-FlatSeparators.patch b/ports/fvwm-patched/patches/05-FlatSeparators.patch new file mode 100644 index 0000000..4918a9a --- /dev/null +++ b/ports/fvwm-patched/patches/05-FlatSeparators.patch @@ -0,0 +1,172 @@ +diff --unified --recursive --text fvwm-2.6.9/doc/commands/MenuStyle.xml fvwm-patched/doc/commands/MenuStyle.xml +--- fvwm-2.6.9/doc/commands/MenuStyle.xml 2016-10-15 08:51:45.000000000 -0600 ++++ fvwm-patched/doc/commands/MenuStyle.xml 2020-08-21 15:51:37.721036428 -0600 +@@ -58,7 +58,7 @@ + PopupOffset, + TitleWarp / !TitleWarp, + TitleUnderlines0 / TitleUnderlines1 / TitleUnderlines2, +-SeparatorsLong / SeparatorsShort, ++SeparatorsLong / SeparatorsShort / FlatSeparators, + TrianglesSolid / TrianglesRelief, + PopupImmediately / PopupDelayed, + PopdownImmediately / PopdownDelayed, +@@ -436,6 +436,11 @@ + few pixels to the edges of the menu. + + ++ ++changes the separators so that they are a single pixel thick and ++colored the same as the text. ++ ++ + and + + affect how the small triangles for sub menus is drawn. Solid +diff --unified --recursive --text fvwm-2.6.9/fvwm/menuitem.c fvwm-patched/fvwm/menuitem.c +--- fvwm-2.6.9/fvwm/menuitem.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/fvwm/menuitem.c 2020-08-21 15:51:37.721036428 -0600 +@@ -81,10 +81,14 @@ + * + */ + static void draw_separator( +- Window w, GC TopGC, GC BottomGC, int x1, int y, int x2) ++ Window w, GC TopGC, GC BottomGC, GC ForeGC, int x1, int y, int x2, ++ Bool do_flat_separators) + { + XDrawLine(dpy, w, TopGC , x1, y, x2, y); +- XDrawLine(dpy, w, BottomGC, x1-1, y+1, x2+1, y+1); ++ if (!do_flat_separators) ++ { ++ XDrawLine(dpy, w, BottomGC, x1-1, y+1, x2+1, y+1); ++ } + + return; + } +@@ -380,6 +384,7 @@ + /*Pixel fg, fgsh;*/ + int relief_thickness = ST_RELIEF_THICKNESS(ms); + Bool is_item_selected; ++ Bool do_flat_separators; + Bool item_cleared = False; + Bool xft_clear = False; + Bool empty_inter = False; +@@ -598,6 +603,8 @@ + * Draw the item itself. + */ + ++ do_flat_separators = ST_DO_FLAT_SEPARATOR(ms); ++ + /* Calculate the separator offsets. */ + if (ST_HAS_LONG_SEPARATORS(ms)) + { +@@ -618,9 +625,9 @@ + { + /* It's a separator. */ + draw_separator( +- mpip->w, gcs.shadow_gc, gcs.hilight_gc, sx1, +- y_offset + y_height - MENU_SEPARATOR_HEIGHT, +- sx2); ++ mpip->w, gcs.shadow_gc, gcs.hilight_gc, gcs.fore_gc, ++ sx1, y_offset + y_height - MENU_SEPARATOR_HEIGHT, ++ sx2, do_flat_separators); + /* Nothing else to do. */ + } + return; +@@ -660,8 +667,8 @@ + if (sx1 < sx2) + { + draw_separator( +- mpip->w, gcs.shadow_gc, gcs.hilight_gc, +- sx1, y, sx2); ++ mpip->w, gcs.shadow_gc, gcs.hilight_gc, gcs.fore_gc, ++ sx1, y, sx2, do_flat_separators); + } + } + /* Underline the title. */ +@@ -674,8 +681,8 @@ + { + y = y_offset + y_height - MENU_SEPARATOR_HEIGHT; + draw_separator( +- mpip->w, gcs.shadow_gc, gcs.hilight_gc, +- sx1, y, sx2); ++ mpip->w, gcs.shadow_gc, gcs.hilight_gc, gcs.fore_gc, ++ sx1, y, sx2, do_flat_separators); + } + break; + default: +Only in fvwm-patched/fvwm: menuitem.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/menus.c fvwm-patched/fvwm/menus.c +--- fvwm-2.6.9/fvwm/menus.c 2020-08-21 15:25:59.047514850 -0600 ++++ fvwm-patched/fvwm/menus.c 2020-08-21 15:51:37.725036473 -0600 +@@ -1651,6 +1651,10 @@ + separator_height = (last_item_has_relief) ? + MENU_SEPARATOR_HEIGHT + relief_thickness : + MENU_SEPARATOR_TOTAL_HEIGHT; ++ if (MST_DO_FLAT_SEPARATOR(msp->menu)) ++ { ++ separator_height += 1; ++ } + MI_Y_OFFSET(mi) = y; + if (MI_IS_TITLE(mi)) + { +Only in fvwm-patched/fvwm: menus.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/menustyle.c fvwm-patched/fvwm/menustyle.c +--- fvwm-2.6.9/fvwm/menustyle.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/fvwm/menustyle.c 2020-08-21 15:51:37.725036473 -0600 +@@ -430,7 +430,7 @@ + "TrianglesUseFore", + "TitleColorset", "HilightTitleBack", + "TitleFont", +- "VerticalMargins", ++ "VerticalMargins", "FlatSeparators", + "UniqueHotkeyActivatesImmediate", + NULL + }; +@@ -900,6 +900,7 @@ + ST_SCROLL_OFF_PAGE(tmpms) = 1; + ST_DO_HILIGHT_TITLE_BACK(tmpms) = 0; + ST_USING_DEFAULT_TITLEFONT(tmpms) = True; ++ ST_DO_FLAT_SEPARATOR(tmpms) = 0; + has_gc_changed = True; + option = "fvwm"; + } +@@ -1605,6 +1606,9 @@ + case 63: /* UniqueHotKeyActivatesImmediate */ + ST_HOTKEY_ACTIVATES_IMMEDIATE(tmpms) = on; + break; ++ case 63: /* FlatSeparators */ ++ ST_DO_FLAT_SEPARATOR(tmpms) = on; ++ break; + + #if 0 + case 99: /* PositionHints */ +@@ -1863,6 +1867,8 @@ + ST_TRIANGLES_USE_FORE(destms) = ST_TRIANGLES_USE_FORE(origms); + /* Title */ + ST_DO_HILIGHT_TITLE_BACK(destms) = ST_DO_HILIGHT_TITLE_BACK(origms); ++ /* FlatSeparators */ ++ ST_DO_FLAT_SEPARATOR(destms) = ST_DO_FLAT_SEPARATOR(origms); + + menustyle_update(destms); + +Only in fvwm-patched/fvwm: menustyle.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/menustyle.h fvwm-patched/fvwm/menustyle.h +--- fvwm-2.6.9/fvwm/menustyle.h 2016-10-15 08:51:45.000000000 -0600 ++++ fvwm-patched/fvwm/menustyle.h 2020-08-21 15:51:37.725036473 -0600 +@@ -23,6 +23,8 @@ + #define MST_FACE(m) ((m)->s->ms->look.face) + #define ST_DO_HILIGHT_BACK(s) ((s)->look.flags.do_hilight_back) + #define MST_DO_HILIGHT_BACK(m) ((m)->s->ms->look.flags.do_hilight_back) ++#define ST_DO_FLAT_SEPARATOR(s) ((s)->look.flags.do_flat_separator) ++#define MST_DO_FLAT_SEPARATOR(m) ((m)->s->ms->look.flags.do_flat_separator) + #define ST_DO_HILIGHT_FORE(s) ((s)->look.flags.do_hilight_fore) + #define MST_DO_HILIGHT_FORE(m) ((m)->s->ms->look.flags.do_hilight_fore) + #define ST_DO_HILIGHT_TITLE_BACK(s) ((s)->look.flags.do_hilight_title_back) +@@ -282,6 +284,7 @@ + unsigned has_title_cset : 1; + unsigned do_hilight_title_back : 1; + unsigned using_default_titlefont : 1; ++ unsigned do_flat_separator : 1; + } flags; + unsigned char ReliefThickness; + unsigned char TitleUnderlines; diff --git a/ports/fvwm-patched/patches/06-BorderUnderTitle.patch b/ports/fvwm-patched/patches/06-BorderUnderTitle.patch new file mode 100644 index 0000000..3d9d096 --- /dev/null +++ b/ports/fvwm-patched/patches/06-BorderUnderTitle.patch @@ -0,0 +1,213 @@ +diff --unified --recursive --text fvwm-2.6.9/fvwm/borders.c fvwm-patched/fvwm/borders.c +--- fvwm-2.6.9/fvwm/borders.c 2020-08-21 15:30:39.087737712 -0600 ++++ fvwm-patched/fvwm/borders.c 2020-08-21 15:58:30.667261464 -0600 +@@ -4983,6 +4983,7 @@ + rectangle *ret_g, Window *ret_w) + { + int bw; ++ Bool title; + + bw = fw->boundary_width; + /* ret_g->x and ret->y is just an offset relatively to the w, +@@ -5053,7 +5054,32 @@ + ret_g->height = sidebar_g->y; + break; + default: +- return; ++ break; ++ } ++ ++ if (HAS_BORDER_UNDER_TITLE(fw)) ++ { ++ title = False; ++ switch (GET_TITLE_DIR(fw)) ++ { ++ case DIR_N: title = part & PART_TOP; break; ++ case DIR_E: title = part & PART_RIGHT; break; ++ case DIR_S: title = part & PART_BOTTOM; break; ++ case DIR_W: title = part & PART_LEFT; break; ++ } ++ if (title) ++ { ++ ret_g->width = max(ret_g->width, 2 * bw + fw->title_thickness); ++ ret_g->height = max(ret_g->height, 2 * bw + fw->title_thickness); ++ if (part & PART_RIGHT) ++ { ++ ret_g->x = 2 * sidebar_g->x + sidebar_g->width - ret_g->width; ++ } ++ if (part & PART_BOTTOM) ++ { ++ ret_g->y = 2 * sidebar_g->y + sidebar_g->height - ret_g->height; ++ } ++ } + } + + return; +Only in fvwm-patched/fvwm: borders.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/borders.h fvwm-patched/fvwm/borders.h +--- fvwm-2.6.9/fvwm/borders.h 2016-10-15 08:51:45.000000000 -0600 ++++ fvwm-patched/fvwm/borders.h 2020-08-21 15:58:30.667261464 -0600 +@@ -36,7 +36,12 @@ + PART_FRAME = 0xff, + PART_TITLEBAR = 0x300, + PART_HANDLES = 0xc00, +- PART_ALL = 0xfff ++ PART_ALL = 0xfff, ++ ++ PART_TOP = 0x31, ++ PART_BOTTOM = 0xc2, ++ PART_LEFT = 0x58, ++ PART_RIGHT = 0xa4 + } window_parts; + + typedef enum +diff --unified --recursive --text fvwm-2.6.9/fvwm/fvwm.h fvwm-patched/fvwm/fvwm.h +--- fvwm-2.6.9/fvwm/fvwm.h 2020-08-21 15:48:43.507505372 -0600 ++++ fvwm-patched/fvwm/fvwm.h 2020-08-21 15:58:30.667261464 -0600 +@@ -268,6 +268,7 @@ + #define WINDOWSHADE_LAZY_MASK 0x3 + unsigned windowshade_laziness : 2; + unsigned use_title_decor_rotation : 1; ++ unsigned has_border_under_title : 1; + focus_policy_t focus_policy; + } s; + } common_flags_t; +Only in fvwm-patched/fvwm: fvwm.h.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/geometry.c fvwm-patched/fvwm/geometry.c +--- fvwm-2.6.9/fvwm/geometry.c 2018-04-28 05:46:28.000000000 -0600 ++++ fvwm-patched/fvwm/geometry.c 2020-08-21 16:02:53.280322490 -0600 +@@ -45,6 +45,9 @@ + + /* ---------------------------- forward declarations ----------------------- */ + ++static void __get_window_borders( ++ const FvwmWindow *fw, size_borders *borders, Bool is_shaded); ++ + /* ---------------------------- local variables ---------------------------- */ + + /* ---------------------------- exported variables (globals) --------------- */ +@@ -351,7 +354,7 @@ + get_window_borders_no_title(fw, &b); + break; + default: +- get_window_borders(fw, &b); ++ __get_window_borders(fw, &b, 1); + break; + } + *small_g = *big_g; +@@ -479,23 +482,38 @@ + void get_window_borders( + const FvwmWindow *fw, size_borders *borders) + { ++ __get_window_borders(fw, borders, 0); ++} ++ ++static void __get_window_borders( ++ const FvwmWindow *fw, size_borders *borders, Bool is_shaded) ++{ ++ int title_thickness; ++ + borders->top_left.width = fw->boundary_width; + borders->bottom_right.width = fw->boundary_width; + borders->top_left.height = fw->boundary_width; + borders->bottom_right.height = fw->boundary_width; ++ ++ title_thickness = fw->title_thickness; ++ if (HAS_TITLE(fw) && HAS_BORDER_UNDER_TITLE(fw) && !is_shaded) ++ { ++ title_thickness += fw->boundary_width; ++ } ++ + switch (GET_TITLE_DIR(fw)) + { + case DIR_N: +- borders->top_left.height += fw->title_thickness; ++ borders->top_left.height += title_thickness; + break; + case DIR_S: +- borders->bottom_right.height += fw->title_thickness; ++ borders->bottom_right.height += title_thickness; + break; + case DIR_W: +- borders->top_left.width += fw->title_thickness; ++ borders->top_left.width += title_thickness; + break; + case DIR_E: +- borders->bottom_right.width += fw->title_thickness; ++ borders->bottom_right.width += title_thickness; + break; + } + borders->total_size.width = +Only in fvwm-patched/fvwm: geometry.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/geometry.h fvwm-patched/fvwm/geometry.h +--- fvwm-2.6.9/fvwm/geometry.h 2016-10-15 08:51:45.000000000 -0600 ++++ fvwm-patched/fvwm/geometry.h 2020-08-21 15:58:30.667261464 -0600 +@@ -44,6 +44,8 @@ + FvwmWindow *fw, rectangle *ret_g); + void get_window_borders( + const FvwmWindow *fw, size_borders *borders); ++void get_window_borders_shaded( ++ const FvwmWindow *fw, size_borders *borders); + void get_window_borders_no_title( + const FvwmWindow *fw, size_borders *borders); + void set_window_border_size( +diff --unified --recursive --text fvwm-2.6.9/fvwm/style.c fvwm-patched/fvwm/style.c +--- fvwm-2.6.9/fvwm/style.c 2020-08-21 15:48:43.507505372 -0600 ++++ fvwm-patched/fvwm/style.c 2020-08-21 15:58:30.671261536 -0600 +@@ -2247,6 +2247,12 @@ + { + rest = style_parse_button_style(ps, rest, on); + } ++ else if (StrEquals(token, "BORDERUNDERTITLE")) ++ { ++ S_SET_HAS_BORDER_UNDER_TITLE(SCF(*ps), on); ++ S_SET_HAS_BORDER_UNDER_TITLE(SCM(*ps), 1); ++ S_SET_HAS_BORDER_UNDER_TITLE(SCC(*ps), 1); ++ } + else if (StrEquals(token, "BorderWidth")) + { + if (GetIntegerArguments(rest, &rest, val, 1)) +@@ -5184,6 +5190,11 @@ + { + flags->do_update_rotated_title = 1; + } ++ ++ if (S_HAS_BORDER_UNDER_TITLE(SCC(*ret_style))) ++ { ++ flags->do_redecorate = True; ++ } + + /* has_mwm_border + * has_mwm_buttons */ +Only in fvwm-patched/fvwm: style.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/style.h fvwm-patched/fvwm/style.h +--- fvwm-2.6.9/fvwm/style.h 2020-08-21 15:48:43.511505397 -0600 ++++ fvwm-patched/fvwm/style.h 2020-08-21 15:58:30.671261536 -0600 +@@ -369,6 +369,10 @@ + ((c).s.use_title_decor_rotation) + #define S_SET_USE_TITLE_DECOR_ROTATION(c,x) \ + ((c).s.use_title_decor_rotation = !!(x)) ++#define S_HAS_BORDER_UNDER_TITLE(c) \ ++ ((c).s.has_border_under_title) ++#define S_SET_HAS_BORDER_UNDER_TITLE(c,x) \ ++ ((c).s.has_border_under_title = !!(x)) + #define S_DO_EWMH_MINI_ICON_OVERRIDE(c) \ + ((c).s.do_ewmh_mini_icon_override) + #define S_SET_DO_EWMH_MINI_ICON_OVERRIDE(c,x) \ +Only in fvwm-patched/fvwm: style.h.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/window_flags.h fvwm-patched/fvwm/window_flags.h +--- fvwm-2.6.9/fvwm/window_flags.h 2020-08-21 15:48:43.511505397 -0600 ++++ fvwm-patched/fvwm/window_flags.h 2020-08-21 15:58:30.671261536 -0600 +@@ -328,6 +328,12 @@ + (fw)->flags.common.s.use_title_decor_rotation = !!(x) + #define SETM_USE_TITLE_DECOR_ROTATION(fw,x) \ + (fw)->flag_mask.common.s.use_title_decor_rotation = !!(x) ++#define HAS_BORDER_UNDER_TITLE(fw) \ ++ ((fw)->flags.common.s.has_border_under_title) ++#define SET_HAS_BORDER_UNDER_TITLE(fw,x) \ ++ (fw)->flags.common.s.has_border_under_title = !!(x) ++#define SETM_HAS_BORDER_UNDER_TITLE(fw,x) \ ++ (fw)->flag_mask.common.s.has_border_under_title = !!(x) + + /* access to the special flags of a window */ + #define DO_REUSE_DESTROYED(fw) \ diff --git a/ports/fvwm-patched/patches/07-InactiveFont.patch b/ports/fvwm-patched/patches/07-InactiveFont.patch new file mode 100644 index 0000000..682919e --- /dev/null +++ b/ports/fvwm-patched/patches/07-InactiveFont.patch @@ -0,0 +1,345 @@ +diff --unified --recursive --text fvwm-2.6.9/fvwm/add_window.c fvwm-patched/fvwm/add_window.c +--- fvwm-2.6.9/fvwm/add_window.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/fvwm/add_window.c 2020-08-21 16:05:17.755315854 -0600 +@@ -763,6 +763,18 @@ + fw->title_font = Scr.DefaultFont; + SET_USING_DEFAULT_WINDOW_FONT(fw, 1); + ++ if (IS_INACTIVE_WINDOW_FONT_LOADED(fw) && !USING_DEFAULT_INACTIVE_WINDOW_FONT(fw) && ++ fw->title_font != Scr.DefaultFont) ++ { ++ FlocaleUnloadFont(dpy, fw->title_font); ++ } ++ SET_INACTIVE_WINDOW_FONT_LOADED(fw, 0); ++ /* Fall back to default font. There are some race conditions when a ++ * window is destroyed and recaptured where an invalid font might be ++ * accessed otherwise. */ ++ fw->title_font = Scr.DefaultFont; ++ SET_USING_DEFAULT_INACTIVE_WINDOW_FONT(fw, 1); ++ + return; + } + +@@ -1963,6 +1975,25 @@ + } + SET_WINDOW_FONT_LOADED(fw, 1); + } ++ /* load inactive font */ ++ if (!IS_INACTIVE_WINDOW_FONT_LOADED(fw)) ++ { ++ if (S_HAS_INACTIVE_WINDOW_FONT(SCF(*pstyle)) && ++ SGET_INACTIVE_WINDOW_FONT(*pstyle) && ++ (fw->inactive_title_font = ++ FlocaleLoadFont(dpy, SGET_INACTIVE_WINDOW_FONT(*pstyle), "FVWM"))) ++ { ++ SET_USING_DEFAULT_INACTIVE_WINDOW_FONT(fw, 0); ++ } ++ else ++ { ++ /* no explicit font or failed to load, use active title font ++ * instead */ ++ fw->inactive_title_font = fw->title_font; ++ SET_USING_DEFAULT_INACTIVE_WINDOW_FONT(fw, 1); ++ } ++ SET_INACTIVE_WINDOW_FONT_LOADED(fw, 1); ++ } + setup_title_geometry(fw, pstyle); + + return; +Only in fvwm-patched/fvwm: add_window.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/borders.c fvwm-patched/fvwm/borders.c +--- fvwm-2.6.9/fvwm/borders.c 2020-08-21 16:04:22.090148699 -0600 ++++ fvwm-patched/fvwm/borders.c 2020-08-21 16:05:17.759315938 -0600 +@@ -3912,7 +3912,7 @@ + + static void border_draw_title_mono( + FvwmWindow *fw, titlebar_descr *td, title_draw_descr *tdd, +- FlocaleWinString *fstr, Pixmap dest_pix) ++ FlocaleWinString *fstr, Pixmap dest_pix, Bool do_hilight) + { + int has_vt; + +@@ -3922,7 +3922,8 @@ + td->offset - 2, 0, td->length+4, fw->title_thickness); + if (fw->visible_name != (char *)NULL) + { +- FlocaleDrawString(dpy, fw->title_font, fstr, 0); ++ FlocaleDrawString(dpy, do_hilight ? fw->title_font : ++ fw->inactive_title_font, fstr, 0); + } + /* for mono, we clear an area in the title bar where the window + * title goes, so that its more legible. For color, no need */ +@@ -3986,7 +3987,7 @@ + + static void border_draw_title_deep( + FvwmWindow *fw, titlebar_descr *td, title_draw_descr *tdd, +- FlocaleWinString *fstr, Pixmap dest_pix, Window w) ++ FlocaleWinString *fstr, Pixmap dest_pix, Window w, Bool do_hilight) + { + DecorFace *df; + pixmap_background_type bg; +@@ -4008,14 +4009,15 @@ + 1); + } + } +- FlocaleDrawString(dpy, fw->title_font, &tdd->fstr, 0); ++ FlocaleDrawString(dpy, do_hilight ? fw->title_font : ++ fw->inactive_title_font, &tdd->fstr, 0); + + return; + } + + static void border_get_titlebar_draw_descr( + FvwmWindow *fw, titlebar_descr *td, title_draw_descr *tdd, +- Pixmap dest_pix) ++ Pixmap dest_pix, Bool do_hilight) + { + memset(tdd, 0, sizeof(*tdd)); + /* prepare the gcs and variables */ +@@ -4029,7 +4031,8 @@ + tdd->rgc = td->cd->relief_gc; + tdd->sgc = td->cd->shadow_gc; + } +- NewFontAndColor(fw->title_font, td->cd->fore_color, td->cd->back_color); ++ NewFontAndColor(do_hilight ? fw->title_font : fw->inactive_title_font, ++ td->cd->fore_color, td->cd->back_color); + tdd->tstyle = &TB_STATE( + GetDecor(fw, titlebar))[td->tbstate.tstate].style; + tdd->df = &TB_STATE(GetDecor(fw, titlebar))[td->tbstate.tstate]; +@@ -4066,7 +4069,7 @@ + } + + static void border_set_title_pixmap( +- FvwmWindow *fw, titlebar_descr *td, Pixmap *dest_pix, Window w) ++ FvwmWindow *fw, titlebar_descr *td, Pixmap *dest_pix, Window w, Bool do_hilight) + { + pixmap_background_type bg; + title_draw_descr tdd; +@@ -4074,7 +4077,7 @@ + Bool free_bg_pixmap = False; + rectangle pix_g; + +- border_get_titlebar_draw_descr(fw, td, &tdd, *dest_pix); ++ border_get_titlebar_draw_descr(fw, td, &tdd, *dest_pix, do_hilight); + /* prepare background, either from the window colour or from the + * border style */ + if (!DFS_USE_BORDER_STYLE(*tdd.tstyle)) +@@ -4142,11 +4145,11 @@ + + if (Pdepth < 2) + { +- border_draw_title_mono(fw, td, &tdd, &fstr, *dest_pix); ++ border_draw_title_mono(fw, td, &tdd, &fstr, *dest_pix, do_hilight); + } + else + { +- border_draw_title_deep(fw, td, &tdd, &fstr, *dest_pix, w); ++ border_draw_title_deep(fw, td, &tdd, &fstr, *dest_pix, w, do_hilight); + } + border_draw_title_relief(fw, td, &tdd, *dest_pix); + border_draw_title_stick_lines(fw, td, &tdd, *dest_pix); +@@ -4155,7 +4158,7 @@ + } + + static void border_draw_title( +- FvwmWindow *fw, titlebar_descr *td) ++ FvwmWindow *fw, titlebar_descr *td, Bool do_hilight) + { + Pixmap p; + +@@ -4173,7 +4176,7 @@ + #if 0 + fprintf(stderr,"drawing title\n"); + #endif +- border_set_title_pixmap(fw, td, &p, FW_W_TITLE(fw)); ++ border_set_title_pixmap(fw, td, &p, FW_W_TITLE(fw), do_hilight); + if (td->draw_rotation != ROTATION_0) + { + Pixmap tmp; +@@ -4662,9 +4665,9 @@ + if (fw->visible_name != (char *)NULL) + { + ret_td->length = FlocaleTextWidth( +- fw->title_font, fw->visible_name, +- (ret_td->has_vt) ? -strlen(fw->visible_name) : +- strlen(fw->visible_name)); ++ do_hilight ? fw->title_font : fw->inactive_title_font, ++ fw->visible_name, (ret_td->has_vt) ? ++ -strlen(fw->visible_name) : strlen(fw->visible_name)); + if (ret_td->length > fw->title_length - + 2*MIN_WINDOW_TITLE_TEXT_OFFSET) + { +@@ -4770,7 +4773,7 @@ + } + if ((draw_parts & PART_TITLE) != PART_NONE) + { +- border_draw_title(fw, &td); ++ border_draw_title(fw, &td, do_hilight); + } + if ((draw_parts & PART_BUTTONS) != PART_NONE) + { +Only in fvwm-patched/fvwm: borders.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/fvwm.h fvwm-patched/fvwm/fvwm.h +--- fvwm-2.6.9/fvwm/fvwm.h 2020-08-21 16:04:22.090148699 -0600 ++++ fvwm-patched/fvwm/fvwm.h 2020-08-21 16:05:17.759315938 -0600 +@@ -198,6 +198,7 @@ + unsigned has_icon_font : 1; + unsigned has_no_border : 1; + unsigned has_window_font : 1; ++ unsigned has_inactive_window_font : 1; + unsigned title_dir : 2; + unsigned user_states : 32; + /* static flags that do not change dynamically after the window has +@@ -360,11 +361,13 @@ + unsigned is_viewport_moved : 1; + unsigned is_window_being_moved_opaque : 1; + unsigned is_window_font_loaded : 1; ++ unsigned is_inactive_window_font_loaded : 1; + unsigned is_window_shaded : 1; + unsigned used_title_dir_for_shading : 1; + unsigned shaded_dir : 3; + unsigned using_default_icon_font : 1; + unsigned using_default_window_font : 1; ++ unsigned using_default_inactive_window_font : 1; + #define ICON_HINT_NEVER 0 + #define ICON_HINT_ONCE 1 + #define ICON_HINT_MULTIPLE 2 +@@ -679,6 +682,7 @@ + signed char icon_title_relief; + char *icon_font; + char *window_font; ++ char *inactive_window_font; + char *fore_color_name; + char *back_color_name; + char *fore_color_name_hi; +@@ -838,6 +842,7 @@ + + /* title font */ + FlocaleFont *title_font; ++ FlocaleFont *inactive_title_font; + /* /Y coordinate to draw the title name */ + short title_text_offset; + short title_length; +Only in fvwm-patched/fvwm: fvwm.h.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/style.c fvwm-patched/fvwm/style.c +--- fvwm-2.6.9/fvwm/style.c 2020-08-21 16:04:22.090148699 -0600 ++++ fvwm-patched/fvwm/style.c 2020-08-21 16:05:17.759315938 -0600 +@@ -440,6 +440,22 @@ + *merged_style, SGET_WINDOW_FONT(*add_style)); + } + } ++ if (S_HAS_INACTIVE_WINDOW_FONT(SCF(*add_style))) ++ { ++ if (do_free_src_and_alloc_copy) ++ { ++ SAFEFREE(SGET_INACTIVE_WINDOW_FONT(*merged_style)); ++ SSET_INACTIVE_WINDOW_FONT( ++ *merged_style, (SGET_INACTIVE_WINDOW_FONT(*add_style)) ? ++ safestrdup(SGET_INACTIVE_WINDOW_FONT(*add_style)) : ++ NULL); ++ } ++ else ++ { ++ SSET_INACTIVE_WINDOW_FONT( ++ *merged_style, SGET_INACTIVE_WINDOW_FONT(*add_style)); ++ } ++ } + if (add_style->flags.use_start_on_desk) + { + SSET_START_DESK(*merged_style, SGET_START_DESK(*add_style)); +@@ -931,6 +947,10 @@ + { + SAFEFREE(SGET_WINDOW_FONT(*style)); + } ++ if (pmask->common.has_inactive_window_font) ++ { ++ SAFEFREE(SGET_INACTIVE_WINDOW_FONT(*style)); ++ } + if (pmask->has_icon) + { + SAFEFREE(SGET_ICON_NAME(*style)); +@@ -3359,6 +3379,15 @@ + S_SET_IS_UNICONIFIABLE(SCM(*ps), 1); + S_SET_IS_UNICONIFIABLE(SCC(*ps), 1); + } ++ else if (StrEquals(token, "InactiveFont")) ++ { ++ SAFEFREE(SGET_INACTIVE_WINDOW_FONT(*ps)); ++ rest = GetNextToken(rest, &token); ++ SSET_INACTIVE_WINDOW_FONT(*ps, token); ++ S_SET_HAS_INACTIVE_WINDOW_FONT(SCF(*ps), (token != NULL)); ++ S_SET_HAS_INACTIVE_WINDOW_FONT(SCM(*ps), 1); ++ S_SET_HAS_INACTIVE_WINDOW_FONT(SCC(*ps), 1); ++ } + else if (StrEquals(token, "IndexedWindowName")) + { + char *format; +@@ -5216,6 +5245,12 @@ + flags->do_update_window_font = 1; + } + ++ /* has_inactive_window_font */ ++ if (S_HAS_INACTIVE_WINDOW_FONT(SCC(*ret_style))) ++ { ++ flags->do_update_window_font = True; ++ } ++ + /* has_stippled_title */ + if (S_HAS_STIPPLED_TITLE(SCC(*ret_style)) || + S_HAS_NO_STICKY_STIPPLED_TITLE(SCC(*ret_style)) || +Only in fvwm-patched/fvwm: style.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/style.h fvwm-patched/fvwm/style.h +--- fvwm-2.6.9/fvwm/style.h 2020-08-21 16:04:22.090148699 -0600 ++++ fvwm-patched/fvwm/style.h 2020-08-21 16:05:17.759315938 -0600 +@@ -293,6 +293,10 @@ + ((c).has_window_font) + #define S_SET_HAS_WINDOW_FONT(c,x) \ + ((c).has_window_font = !!(x)) ++#define S_HAS_INACTIVE_WINDOW_FONT(c) \ ++ ((c).has_inactive_window_font) ++#define S_SET_HAS_INACTIVE_WINDOW_FONT(c,x) \ ++ ((c).has_inactive_window_font = !!(x)) + #define S_ICON_OVERRIDE(c) \ + ((c).s.icon_override) + #define S_SET_ICON_OVERRIDE(c,x) \ +@@ -487,6 +491,10 @@ + ((s).window_font) + #define SSET_WINDOW_FONT(s,x) \ + ((s).window_font = (x)) ++#define SGET_INACTIVE_WINDOW_FONT(s) \ ++ ((s).inactive_window_font) ++#define SSET_INACTIVE_WINDOW_FONT(s,x) \ ++ ((s).inactive_window_font = (x)) + #define SGET_COLORSET(s) \ + ((s).colorset) + #define SSET_COLORSET(s,x) \ +Only in fvwm-patched/fvwm: style.h.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/window_flags.h fvwm-patched/fvwm/window_flags.h +--- fvwm-2.6.9/fvwm/window_flags.h 2020-08-21 16:04:22.094148783 -0600 ++++ fvwm-patched/fvwm/window_flags.h 2020-08-21 16:05:17.759315938 -0600 +@@ -580,6 +580,12 @@ + (fw)->flags.is_window_font_loaded = !!(x) + #define SETM_WINDOW_FONT_LOADED(fw,x) \ + (fw)->flag_mask.is_window_font_loaded = !!(x) ++#define IS_INACTIVE_WINDOW_FONT_LOADED(fw) \ ++ ((fw)->flags.is_inactive_window_font_loaded) ++#define SET_INACTIVE_WINDOW_FONT_LOADED(fw,x) \ ++ (fw)->flags.is_inactive_window_font_loaded = !!(x) ++#define SETM_INACTIVE_WINDOW_FONT_LOADED(fw,x) \ ++ (fw)->flag_mask.is_inactive_window_font_loaded = !!(x) + #define CR_MOTION_METHOD(fw) \ + ((fw)->flags.cr_motion_method) + #define SET_CR_MOTION_METHOD(fw,x) \ +@@ -622,6 +628,12 @@ + (fw)->flags.using_default_window_font = !!(x) + #define SETM_USING_DEFAULT_WINDOW_FONT(fw,x) \ + (fw)->flag_mask.using_default_window_font = !!(x) ++#define USING_DEFAULT_INACTIVE_WINDOW_FONT(fw) \ ++ ((fw)->flags.using_default_inactive_window_font) ++#define SET_USING_DEFAULT_INACTIVE_WINDOW_FONT(fw,x) \ ++ (fw)->flags.using_default_inactive_window_font = !!(x) ++#define SETM_USING_DEFAULT_INACTIVE_WINDOW_FONT(fw,x) \ ++ (fw)->flag_mask.using_default_inactive_window_font = !!(x) + #define USING_DEFAULT_ICON_FONT(fw) \ + ((fw)->flags.using_default_icon_font) + #define SET_USING_DEFAULT_ICON_FONT(fw,x) \ diff --git a/ports/fvwm-patched/patches/08-FluxRoundedCorners.patch b/ports/fvwm-patched/patches/08-FluxRoundedCorners.patch new file mode 100644 index 0000000..db73c63 --- /dev/null +++ b/ports/fvwm-patched/patches/08-FluxRoundedCorners.patch @@ -0,0 +1,874 @@ +diff --unified --recursive --text fvwm-2.6.9/fvwm/add_window.c fvwm-patched/fvwm/add_window.c +--- fvwm-2.6.9/fvwm/add_window.c 2020-08-21 16:07:19.993929916 -0600 ++++ fvwm-patched/fvwm/add_window.c 2020-08-21 16:08:05.602920846 -0600 +@@ -1928,6 +1928,7 @@ + { + int width; + int offset; ++ style_flags *sflags = &(pstyle->flags); + + get_title_font_size_and_offset( + fw, S_TITLE_DIR(SCF(*pstyle)), +@@ -1939,6 +1940,10 @@ + fw->title_thickness = width; + fw->title_text_offset = offset; + fw->corner_width = fw->title_thickness + fw->boundary_width; ++ if (SHAS_CORNER_WIDTH(sflags)) ++ { ++ fw->corner_width = SGET_CORNER_WIDTH(*pstyle); ++ } + if (!HAS_TITLE(fw)) + { + fw->title_thickness = 0; +@@ -2859,6 +2864,8 @@ + fw = NULL; + } + ++ frame_make_rounded_corners(fw); ++ + return fw; + } + +Only in fvwm-patched/fvwm: add_window.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/borders.c fvwm-patched/fvwm/borders.c +--- fvwm-2.6.9/fvwm/borders.c 2020-08-21 16:07:19.993929916 -0600 ++++ fvwm-patched/fvwm/borders.c 2020-08-21 16:08:05.602920846 -0600 +@@ -1745,6 +1745,24 @@ + return; + } + ++static void border_fill_fluxbox_handle( ++ Pixmap dest_pix, rectangle *dest_g, common_decorations_type *cd, Bool corner) ++{ ++ corner = False; ++ /* Main Color */ ++ XFillRectangle( ++ dpy, dest_pix, corner ? cd->shadow_gc : cd->relief_gc, dest_g->x + 1, dest_g->y + 1, ++ dest_g->width - dest_g->x - 3, dest_g->height - dest_g->y - 2); ++ /* Right Shadow */ ++ XFillRectangle( ++ dpy, dest_pix, cd->shadow_gc, dest_g->x + dest_g->width - 2, dest_g->y + 1, ++ 1, dest_g->height - dest_g->y - 2); ++ /* Bottom Shadow */ ++ XFillRectangle( ++ dpy, dest_pix, cd->shadow_gc, dest_g->x + 1, dest_g->height - 2, ++ dest_g->width - dest_g->x - 3, 1); ++} ++ + /* create a root transparent colorset bg, we take in account a possible + * drawing rotation */ + static Pixmap border_create_root_transparent_pixmap( +@@ -1989,12 +2007,28 @@ + pix_g.width = part_g.width; + pix_g.height = part_g.height; + border_fill_pixmap_background(p, &pix_g, &bg, cd); ++ if (HAS_FLUXBOX_HANDLES(fw) && (part & PART_BOTTOM)) ++ { ++ pix_g.y = part_g.height - fw->boundary_width; ++ if (part != PART_BORDER_S) ++ { ++ pix_g.width++; ++ } ++ if (part == PART_BORDER_SE) ++ { ++ pix_g.x--; ++ } ++ if (fw->boundary_width > 2) ++ { ++ border_fill_fluxbox_handle(p, &pix_g, cd, !(part & PART_BORDER_S)); ++ } ++ } + if (free_bg_pixmap && bg.pixmap.p) + { + XFreePixmap(dpy, bg.pixmap.p); + } + /* draw the relief over the background */ +- if (!br->relief.is_flat) ++ if (!br->relief.is_flat && !HAS_FLUXBOX_HANDLES(fw)) + { + border_draw_part_relief(br, frame_g, &part_g, p, is_inverted); + /* draw the handle marks */ +@@ -4514,6 +4548,9 @@ + JustificationType just; + int lbl = 0; + int rbl = 0; ++ int bw; ++ ++ bw = HAS_FLUXBOX_HANDLES(fw) ? 1 : fw->boundary_width; + + ret_td->cd = cd; + ret_td->frame_g = *new_g; +@@ -4551,16 +4588,16 @@ + /* geometry of the title bar title + buttons */ + if (!ret_td->has_vt) + { +- ret_td->bar_g.width = new_g->width - 2 * fw->boundary_width; ++ ret_td->bar_g.width = new_g->width - 2 * bw; + ret_td->bar_g.height = ret_td->layout.title_g.height; +- ret_td->bar_g.x = fw->boundary_width; ++ ret_td->bar_g.x = bw; + ret_td->bar_g.y = ret_td->layout.title_g.y; + } + else + { + ret_td->bar_g.width = ret_td->layout.title_g.width; +- ret_td->bar_g.height = new_g->height - 2 * fw->boundary_width; +- ret_td->bar_g.y = fw->boundary_width; ++ ret_td->bar_g.height = new_g->height - 2 * bw; ++ ret_td->bar_g.y = bw; + ret_td->bar_g.x = ret_td->layout.title_g.x; + } + +@@ -4612,7 +4649,7 @@ + { + ret_td->left_buttons_g.height = rbl; + ret_td->right_buttons_g.height = lbl; +- ret_td->right_buttons_g.y = fw->boundary_width; ++ ret_td->right_buttons_g.y = bw; + ret_td->right_buttons_g.x = ret_td->bar_g.x; + ret_td->left_buttons_g.y = ret_td->layout.title_g.y + + ret_td->layout.title_g.height; +@@ -4622,7 +4659,7 @@ + { + ret_td->left_buttons_g.width = rbl; + ret_td->right_buttons_g.width = lbl; +- ret_td->right_buttons_g.x = fw->boundary_width; ++ ret_td->right_buttons_g.x = bw; + ret_td->right_buttons_g.y = ret_td->bar_g.y; + ret_td->left_buttons_g.x = ret_td->layout.title_g.x + + ret_td->layout.title_g.width; +@@ -4635,7 +4672,7 @@ + { + ret_td->left_buttons_g.height = lbl; + ret_td->right_buttons_g.height = rbl; +- ret_td->left_buttons_g.y = fw->boundary_width; ++ ret_td->left_buttons_g.y = bw; + ret_td->left_buttons_g.x = ret_td->bar_g.x; + ret_td->right_buttons_g.y = ret_td->layout.title_g.y + + ret_td->layout.title_g.height; +@@ -4645,7 +4682,7 @@ + { + ret_td->left_buttons_g.width = lbl; + ret_td->right_buttons_g.width = rbl; +- ret_td->left_buttons_g.x = fw->boundary_width; ++ ret_td->left_buttons_g.x = bw; + ret_td->left_buttons_g.y = ret_td->bar_g.y; + ret_td->right_buttons_g.x = ret_td->layout.title_g.x + + ret_td->layout.title_g.width; +@@ -4988,7 +5025,7 @@ + int bw; + Bool title; + +- bw = fw->boundary_width; ++ bw = HAS_FLUXBOX_HANDLES(fw) ? 1 : fw->boundary_width; + /* ret_g->x and ret->y is just an offset relatively to the w, + * maybe we can take the relief in account? */ + switch (part) +@@ -5006,6 +5043,10 @@ + case PART_BORDER_S: + ret_g->x = sidebar_g->x; + ret_g->y = 2 * sidebar_g->y + sidebar_g->height - bw; ++ if (HAS_FLUXBOX_HANDLES(fw)) ++ { ++ ret_g->y = 2 * sidebar_g->y + sidebar_g->height - fw->boundary_width; ++ } + *ret_w = FW_W_SIDE(fw, 2); + break; + case PART_BORDER_W: +@@ -5040,9 +5081,14 @@ + switch (part) + { + case PART_BORDER_N: ++ ret_g->height = bw; + case PART_BORDER_S: + ret_g->width = sidebar_g->width; + ret_g->height = bw; ++ if (HAS_FLUXBOX_HANDLES(fw)) ++ { ++ ret_g->height = fw->boundary_width; ++ } + break; + case PART_BORDER_E: + case PART_BORDER_W: +Only in fvwm-patched/fvwm: borders.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/frame.c fvwm-patched/fvwm/frame.c +--- fvwm-2.6.9/fvwm/frame.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/fvwm/frame.c 2020-08-21 16:08:05.606920933 -0600 +@@ -438,6 +438,8 @@ + BroadcastConfig(M_CONFIGURE_WINDOW,fw); + } + ++ frame_make_rounded_corners(fw); ++ + return; + } + +@@ -1957,6 +1959,7 @@ + FShapeSet); + } + frame_setup_shape(fw, mra->end_g.width, mra->end_g.height, fw->wShaped); ++ frame_make_rounded_corners(fw); + if (mra->flags.do_restore_gravity) + { + /* TA: 2011-09-04: There might be a chance some clients with +@@ -2090,6 +2093,210 @@ + return; + } + ++void draw_rounded_mask(Window win, int width, int height, Bool slightlyrounded, window_parts draw_parts, int col) ++{ ++ Pixmap pm; ++ GC gc; ++ rectangle rect; ++ int w,h; ++ unsigned long valuemask; ++ int x; ++ int lstart, lend; ++ int l0[] = { 0, 1, 0, 1, 2, 3 }; ++ int l1[] = { 1, 2, 1, 2, 3, 5 }; ++ int l2[] = { 2, 1, 5, 3, 2, 1 }; ++ int l3[] = { 1, 1, 1, 1, 1, 2 }; ++ ++ if (slightlyrounded) ++ { ++ lstart = 0; ++ lend = 2; ++ } ++ else ++ { ++ lstart = 2; ++ lend = 6; ++ } ++ ++ XGetGeometry( ++ dpy, win, &JunkRoot, &rect.x, &rect.y, ++ &rect.width, &rect.height, &JunkBW, &JunkDepth); ++ ++ w = rect.width; ++ h = rect.height; ++ pm = XCreatePixmap(dpy, win, width, height, 1); ++ gc = Scr.MonoGC; ++ XSetForeground(dpy, gc, !col); ++ XFillRectangle(dpy, pm, gc, 0, 0, w, h); ++ XSetForeground(dpy, gc, col); ++ ++ /* Draw a rounded shape on the corners of the pixmap */ ++ for (x = lstart; x < lend; x++) ++ { ++ if (draw_parts & PART_BORDER_NW) ++ { ++ XFillRectangle(dpy, pm, gc, 0, l0[x], l2[x], l3[x]); ++ } ++ if (draw_parts & PART_BORDER_NE) ++ { ++ XFillRectangle(dpy, pm, gc, w-l2[x], l0[x], l2[x], l3[x]); ++ } ++ if (draw_parts & PART_BORDER_SW) ++ { ++ XFillRectangle(dpy, pm, gc, 0, h-l1[x], l2[x], l3[x]); ++ } ++ if (draw_parts & PART_BORDER_SE) ++ { ++ XFillRectangle(dpy, pm, gc, w-l2[x], h-l1[x], l2[x], l3[x]); ++ } ++ } ++ ++ FShapeCombineMask(dpy, win, ShapeBounding, 0, 0, pm, col==1 ? ShapeSubtract : ShapeSet); ++ ++ XFreePixmap(dpy, pm); ++} ++ ++static void frame_draw_rounded_mask(FvwmWindow *fw, Window win, window_parts draw_parts, int col) ++{ ++ draw_rounded_mask(win, fw->g.frame.width, fw->g.frame.height, ++ HAS_SLIGHTLY_ROUNDED_CORNERS(fw), IS_MAXIMIZED(fw)?0:draw_parts, col); ++} ++ ++/* Returns a corner corrected for rotation of the titlebar (ie button 1 is always NW) */ ++#define SWAP_CORNER(PART) corner = corner & (PART) ? corner ^ (PART) : corner ++static window_parts __get_corner(window_parts corner, FvwmWindow *fw) ++{ ++ int dir; ++ ++ dir = GET_TITLE_DIR(fw); ++ ++ /* Flip horizontally (relative to tb) if the titlebar is rotated */ ++ if ((dir == DIR_N && IS_TOP_TITLE_ROTATED(fw)) ++ || (dir == DIR_S && !IS_BOTTOM_TITLE_ROTATED(fw)) ++ || (dir == DIR_W && IS_LEFT_TITLE_ROTATED_CW(fw)) ++ || (dir == DIR_E && !IS_RIGHT_TITLE_ROTATED_CW(fw))) ++ { ++ SWAP_CORNER(PART_BORDER_NE | PART_BORDER_NW); ++ } ++ ++ /* Swap SE/SW so that shift left goes in a clockwise order */ ++ SWAP_CORNER(PART_BORDER_SW | PART_BORDER_SE); ++ ++ /* Rotate clockwise depending on dir */ ++ corner <<= dir; ++ if (corner > PART_BORDER_SE) ++ { ++ corner = corner >> 4; ++ } ++ ++ /* Swap SE/SW back */ ++ SWAP_CORNER(PART_BORDER_SW | PART_BORDER_SE); ++ ++ return corner; ++} ++ ++void frame_make_rounded_corners(FvwmWindow *fw) ++{ ++ rectangle rect; ++ window_parts draw_parts; ++ window_parts mask; ++ int x; ++ FvwmWindow *left_button = 0; ++ FvwmWindow *right_button = 0; ++ ++ if (!fw || !FShapesSupported) ++ { ++ return; ++ } ++ ++ window_parts corner_nw = __get_corner(PART_BORDER_NW, fw); ++ window_parts corner_ne = __get_corner(PART_BORDER_NE, fw); ++ window_parts corner_se = __get_corner(PART_BORDER_SE, fw); ++ window_parts corner_sw = __get_corner(PART_BORDER_SW, fw); ++ ++ for (x = 9;x>=0;x--) ++ { ++ if (FW_W_BUTTON(fw, x) != None) ++ { ++ if (x%2 == 0) ++ { ++ left_button = FW_W_BUTTON(fw, x); ++ } ++ else ++ { ++ right_button = FW_W_BUTTON(fw, x); ++ } ++ } ++ } ++ ++ mask = 0; ++ if (HAS_ROUNDED_CORNERS_TOP(fw)) ++ { ++ mask |= corner_ne | corner_nw; ++ } ++ if (HAS_ROUNDED_CORNERS_BOTTOM(fw)) ++ { ++ mask |= corner_se | corner_sw; ++ } ++ ++ /* Draw mask on each corner of the window. This involves the frame, title, ++ * buttons and parent wins depending on the window configuration */ ++ rect = fw->g.frame; ++ frame_draw_rounded_mask(fw, FW_W_FRAME(fw), mask, 1); ++ if (HAS_TITLE(fw)) ++ { ++ draw_parts = 0; ++ if (!left_button) ++ { ++ draw_parts |= corner_nw; ++ } ++ if (!right_button) ++ { ++ draw_parts |= corner_ne; ++ } ++ if (IS_SHADED(fw)) ++ { ++ if (!left_button) ++ { ++ draw_parts |= corner_sw; ++ } ++ else ++ { ++ frame_draw_rounded_mask(fw, left_button, mask & (corner_nw|corner_sw), 0); ++ } ++ if (!right_button) ++ { ++ draw_parts |= corner_se; ++ } ++ else ++ { ++ frame_draw_rounded_mask(fw, right_button, mask & (corner_ne|corner_se), 0); ++ } ++ } ++ frame_draw_rounded_mask(fw, FW_W_TITLE(fw), mask & draw_parts, 0); ++ ++ if (!IS_SHADED(fw)) ++ { ++ frame_draw_rounded_mask(fw, FW_W_PARENT(fw), mask & (corner_sw|corner_se), 0); ++ ++ if (left_button) ++ { ++ frame_draw_rounded_mask(fw, left_button, mask & corner_nw, 0); ++ } ++ if (right_button) ++ { ++ frame_draw_rounded_mask(fw, right_button, mask & corner_ne, 0); ++ } ++ } ++ } ++ else ++ { ++ frame_draw_rounded_mask(fw, FW_W_PARENT(fw), mask & PART_CORNERS, 0); ++ } ++ ++ XFlush(dpy); ++} ++ + /**************************************************************************** + * + * Sets up the shaped window borders +Only in fvwm-patched/fvwm: frame.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/frame.h fvwm-patched/fvwm/frame.h +--- fvwm-2.6.9/fvwm/frame.h 2016-10-15 08:51:45.000000000 -0600 ++++ fvwm-patched/fvwm/frame.h 2020-08-21 16:08:05.606920933 -0600 +@@ -5,6 +5,8 @@ + + /* ---------------------------- included header files ---------------------- */ + ++#include "borders.h" ++ + /* ---------------------------- global definitions ------------------------- */ + + /* ---------------------------- global macros ------------------------------ */ +@@ -71,5 +73,7 @@ + Bool do_send_configure_notify); + void frame_setup_shape( + FvwmWindow *fw, int w, int h, int shape_mode); ++void frame_make_rounded_corners(FvwmWindow *fw); ++void draw_rounded_mask(Window win, int width, int height, Bool slightlyrounded, window_parts draw_parts, int col); + + #endif /* FRAME_H */ +diff --unified --recursive --text fvwm-2.6.9/fvwm/fvwm.h fvwm-patched/fvwm/fvwm.h +--- fvwm-2.6.9/fvwm/fvwm.h 2020-08-21 16:07:19.993929916 -0600 ++++ fvwm-patched/fvwm/fvwm.h 2020-08-21 16:08:05.606920933 -0600 +@@ -270,6 +270,10 @@ + unsigned windowshade_laziness : 2; + unsigned use_title_decor_rotation : 1; + unsigned has_border_under_title : 1; ++ unsigned has_fluxbox_handles : 1; ++ unsigned has_rounded_corners_top : 1; ++ unsigned has_rounded_corners_bottom : 1; ++ unsigned has_slightly_rounded_corners : 1; + focus_policy_t focus_policy; + } s; + } common_flags_t; +@@ -553,6 +557,7 @@ + unsigned has_edge_resistance_move : 1; + unsigned has_edge_resistance_xinerama_move : 1; + unsigned has_handle_width : 1; ++ unsigned has_corner_width : 1; + unsigned has_icon : 1; + unsigned has_icon_boxes : 1; + unsigned has_icon_size_limits : 1; +@@ -713,6 +718,7 @@ + short border_width; + /* resize handle width */ + short handle_width; ++ short corner_width; + int layer; + int start_desk; + int start_page_x; +Only in fvwm-patched/fvwm: fvwm.h.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/geometry.c fvwm-patched/fvwm/geometry.c +--- fvwm-2.6.9/fvwm/geometry.c 2020-08-21 16:04:22.090148699 -0600 ++++ fvwm-patched/fvwm/geometry.c 2020-08-21 16:08:05.606920933 -0600 +@@ -489,16 +489,18 @@ + const FvwmWindow *fw, size_borders *borders, Bool is_shaded) + { + int title_thickness; ++ int bw; + +- borders->top_left.width = fw->boundary_width; +- borders->bottom_right.width = fw->boundary_width; +- borders->top_left.height = fw->boundary_width; ++ bw = HAS_FLUXBOX_HANDLES(fw) ? 1 : fw->boundary_width; ++ borders->top_left.width = bw; ++ borders->bottom_right.width = bw; ++ borders->top_left.height = bw; + borders->bottom_right.height = fw->boundary_width; + + title_thickness = fw->title_thickness; + if (HAS_TITLE(fw) && HAS_BORDER_UNDER_TITLE(fw) && !is_shaded) + { +- title_thickness += fw->boundary_width; ++ title_thickness += bw; + } + + switch (GET_TITLE_DIR(fw)) +@@ -528,9 +530,13 @@ + void get_window_borders_no_title( + const FvwmWindow *fw, size_borders *borders) + { +- borders->top_left.width = fw->boundary_width; +- borders->bottom_right.width = fw->boundary_width; +- borders->top_left.height = fw->boundary_width; ++ int bw; ++ ++ bw = HAS_FLUXBOX_HANDLES(fw) ? 1 : fw->boundary_width; ++ ++ borders->top_left.width = bw; ++ borders->bottom_right.width = bw; ++ borders->top_left.height = bw; + borders->bottom_right.height = fw->boundary_width; + borders->total_size.width = + borders->top_left.width + borders->bottom_right.width; +Only in fvwm-patched/fvwm: geometry.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/menus.c fvwm-patched/fvwm/menus.c +--- fvwm-2.6.9/fvwm/menus.c 2020-08-21 15:53:07.026125528 -0600 ++++ fvwm-patched/fvwm/menus.c 2020-08-21 16:08:05.606920933 -0600 +@@ -60,6 +60,7 @@ + #include "menugeometry.h" + #include "menuparameters.h" + #include "menus.h" ++#include "frame.h" + #include "libs/FGettext.h" + + /* ---------------------------- local definitions -------------------------- */ +@@ -3190,6 +3191,13 @@ + return x_overlap; + } + ++static void menu_make_rounded_corners(MenuRoot *mr) ++{ ++ draw_rounded_mask(MR_WINDOW(mr), MR_WIDTH(mr), MR_HEIGHT(mr), ++ MST_HAS_SLIGHTLY_ROUNDED_CORNERS(mr), ++ MST_HAS_ROUNDED_CORNERS(mr)?PART_CORNERS:0, 0); ++} ++ + /* + * + * Procedure: +@@ -3763,6 +3771,8 @@ + * Pop up the menu + */ + ++ menu_make_rounded_corners(mr); ++ + XMoveWindow(dpy, MR_WINDOW(mr), x, y); + MR_X(mr) = x; + MR_Y(mr) = y; +Only in fvwm-patched/fvwm: menus.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/menustyle.c fvwm-patched/fvwm/menustyle.c +--- fvwm-2.6.9/fvwm/menustyle.c 2020-08-21 15:53:07.026125528 -0600 ++++ fvwm-patched/fvwm/menustyle.c 2020-08-21 16:08:05.606920933 -0600 +@@ -431,6 +431,7 @@ + "TitleColorset", "HilightTitleBack", + "TitleFont", + "VerticalMargins", "FlatSeparators", ++ "RoundedCorners", "SlightlyRoundedCorners", + "UniqueHotkeyActivatesImmediate", + NULL + }; +@@ -1603,12 +1604,18 @@ + &ST_VERTICAL_MARGIN_BOTTOM(tmpms), + 0, 0); + break; +- case 63: /* UniqueHotKeyActivatesImmediate */ +- ST_HOTKEY_ACTIVATES_IMMEDIATE(tmpms) = on; +- break; + case 63: /* FlatSeparators */ + ST_DO_FLAT_SEPARATOR(tmpms) = on; + break; ++ case 64: /* UniqueHotKeyActivatesImmediate */ ++ ST_HOTKEY_ACTIVATES_IMMEDIATE(tmpms) = on; ++ break; ++ case 65: /* RoundedCorners */ ++ ST_HAS_ROUNDED_CORNERS(tmpms) = on; ++ break; ++ case 66: /* SlightlyRoundedCorners */ ++ ST_HAS_SLIGHTLY_ROUNDED_CORNERS(tmpms) = on; ++ break; + + #if 0 + case 99: /* PositionHints */ +Only in fvwm-patched/fvwm: menustyle.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/menustyle.h fvwm-patched/fvwm/menustyle.h +--- fvwm-2.6.9/fvwm/menustyle.h 2020-08-21 15:53:07.026125528 -0600 ++++ fvwm-patched/fvwm/menustyle.h 2020-08-21 16:08:05.606920933 -0600 +@@ -25,6 +25,10 @@ + #define MST_DO_HILIGHT_BACK(m) ((m)->s->ms->look.flags.do_hilight_back) + #define ST_DO_FLAT_SEPARATOR(s) ((s)->look.flags.do_flat_separator) + #define MST_DO_FLAT_SEPARATOR(m) ((m)->s->ms->look.flags.do_flat_separator) ++#define ST_HAS_ROUNDED_CORNERS(s) ((s)->look.flags.has_rounded_corners) ++#define MST_HAS_ROUNDED_CORNERS(m) ((m)->s->ms->look.flags.has_rounded_corners) ++#define ST_HAS_SLIGHTLY_ROUNDED_CORNERS(s) ((s)->look.flags.has_slightly_rounded_corners) ++#define MST_HAS_SLIGHTLY_ROUNDED_CORNERS(m) ((m)->s->ms->look.flags.has_slightly_rounded_corners) + #define ST_DO_HILIGHT_FORE(s) ((s)->look.flags.do_hilight_fore) + #define MST_DO_HILIGHT_FORE(m) ((m)->s->ms->look.flags.do_hilight_fore) + #define ST_DO_HILIGHT_TITLE_BACK(s) ((s)->look.flags.do_hilight_title_back) +@@ -285,6 +289,8 @@ + unsigned do_hilight_title_back : 1; + unsigned using_default_titlefont : 1; + unsigned do_flat_separator : 1; ++ unsigned has_rounded_corners : 1; ++ unsigned has_slightly_rounded_corners : 1; + } flags; + unsigned char ReliefThickness; + unsigned char TitleUnderlines; +diff --unified --recursive --text fvwm-2.6.9/fvwm/style.c fvwm-patched/fvwm/style.c +--- fvwm-2.6.9/fvwm/style.c 2020-08-21 16:07:19.993929916 -0600 ++++ fvwm-patched/fvwm/style.c 2020-08-21 16:08:05.606920933 -0600 +@@ -553,6 +553,10 @@ + SSET_HANDLE_WIDTH( + *merged_style, SGET_HANDLE_WIDTH(*add_style)); + } ++ if (add_style->flags.has_corner_width) ++ { ++ SSET_CORNER_WIDTH(*merged_style, SGET_CORNER_WIDTH(*add_style)); ++ } + if (add_style->flags.has_icon_size_limits) + { + SSET_MIN_ICON_WIDTH( +@@ -2590,6 +2594,20 @@ + ps->change_mask.has_color_back = 1; + break; + } ++ else if (StrEquals(token, "CornerWidth")) ++ { ++ if (GetIntegerArguments(rest, &rest, val, 1)) ++ { ++ SSET_CORNER_WIDTH(*ps, (short)*val); ++ ps->flags.has_corner_width = 1; ++ } ++ else ++ { ++ ps->flags.has_corner_width = 0; ++ } ++ ps->flag_mask.has_corner_width = 1; ++ ps->change_mask.has_corner_width = 1; ++ } + else if (StrEquals(token, "CirculateSkipIcon")) + { + S_SET_DO_CIRCULATE_SKIP_ICON(SCF(*ps), on); +@@ -2902,6 +2920,15 @@ + S_SET_HAS_MWM_BORDER(SCM(*ps), 1); + S_SET_HAS_MWM_BORDER(SCC(*ps), 1); + } ++ else if (StrEquals(token, "FluxboxHandles")) ++ { ++ S_SET_HAS_FLUXBOX_HANDLES(SCF(*ps), on); ++ S_SET_HAS_FLUXBOX_HANDLES(SCM(*ps), 1); ++ S_SET_HAS_FLUXBOX_HANDLES(SCC(*ps), 1); ++ S_SET_HAS_ROUNDED_CORNERS_BOTTOM(SCF(*ps), !on); ++ S_SET_HAS_ROUNDED_CORNERS_BOTTOM(SCM(*ps), 1); ++ S_SET_HAS_ROUNDED_CORNERS_BOTTOM(SCC(*ps), 1); ++ } + else if (StrEquals(token, "FocusFollowsMouse")) + { + style_set_old_focus_policy(ps, 1); +@@ -4097,6 +4124,50 @@ + S_SET_IS_RIGHT_TITLE_ROTATED_CW(SCM(*ps), 1); + S_SET_IS_RIGHT_TITLE_ROTATED_CW(SCC(*ps), 1); + } ++ else if (StrEquals(token, "RoundedCorners")) ++ { ++ S_SET_HAS_ROUNDED_CORNERS_TOP(SCF(*ps), on); ++ S_SET_HAS_ROUNDED_CORNERS_TOP(SCM(*ps), 1); ++ S_SET_HAS_ROUNDED_CORNERS_TOP(SCC(*ps), 1); ++ ++ /* FluxboxHandles found */ ++ if (S_HAS_FLUXBOX_HANDLES(SCC(*ps))) { ++ S_SET_HAS_ROUNDED_CORNERS_BOTTOM(SCF(*ps), !on); ++ S_SET_HAS_ROUNDED_CORNERS_BOTTOM(SCM(*ps), 1); ++ S_SET_HAS_ROUNDED_CORNERS_BOTTOM(SCC(*ps), 1); ++ } ++ else { ++ S_SET_HAS_FLUXBOX_HANDLES(SCF(*ps), !on); ++ S_SET_HAS_FLUXBOX_HANDLES(SCM(*ps), 1); ++ S_SET_HAS_FLUXBOX_HANDLES(SCC(*ps), 1); ++ S_SET_HAS_ROUNDED_CORNERS_BOTTOM(SCF(*ps), on); ++ S_SET_HAS_ROUNDED_CORNERS_BOTTOM(SCM(*ps), 1); ++ S_SET_HAS_ROUNDED_CORNERS_BOTTOM(SCC(*ps), 1); ++ } ++ } ++ else if (StrEquals(token, "RoundedCornersTop")) ++ { ++ S_SET_HAS_ROUNDED_CORNERS_TOP(SCF(*ps), on); ++ S_SET_HAS_ROUNDED_CORNERS_TOP(SCM(*ps), 1); ++ S_SET_HAS_ROUNDED_CORNERS_TOP(SCC(*ps), 1); ++ } ++ else if (StrEquals(token, "RoundedCornersBottom")) ++ { ++ /* FluxboxHandles found */ ++ if (S_HAS_FLUXBOX_HANDLES(SCC(*ps))) { ++ S_SET_HAS_ROUNDED_CORNERS_BOTTOM(SCF(*ps), !on); ++ S_SET_HAS_ROUNDED_CORNERS_BOTTOM(SCM(*ps), 1); ++ S_SET_HAS_ROUNDED_CORNERS_BOTTOM(SCC(*ps), 1); ++ } ++ else { ++ S_SET_HAS_FLUXBOX_HANDLES(SCF(*ps), !on); ++ S_SET_HAS_FLUXBOX_HANDLES(SCM(*ps), 1); ++ S_SET_HAS_FLUXBOX_HANDLES(SCC(*ps), 1); ++ S_SET_HAS_ROUNDED_CORNERS_BOTTOM(SCF(*ps), on); ++ S_SET_HAS_ROUNDED_CORNERS_BOTTOM(SCM(*ps), 1); ++ S_SET_HAS_ROUNDED_CORNERS_BOTTOM(SCC(*ps), 1); ++ } ++ } + else + { + found = False; +@@ -4231,6 +4302,12 @@ + S_SET_HAS_NO_STICKY_STIPPLED_ICON_TITLE(SCM(*ps), 1); + S_SET_HAS_NO_STICKY_STIPPLED_ICON_TITLE(SCC(*ps), 1); + } ++ else if (StrEquals(token, "SlightlyRoundedCorners")) ++ { ++ S_SET_HAS_SLIGHTLY_ROUNDED_CORNERS(SCF(*ps), on); ++ S_SET_HAS_SLIGHTLY_ROUNDED_CORNERS(SCM(*ps), 1); ++ S_SET_HAS_SLIGHTLY_ROUNDED_CORNERS(SCC(*ps), 1); ++ } + else if (StrEquals(token, "Slippery")) + { + S_SET_IS_STICKY_ACROSS_PAGES(SCF(*ps), !on); +@@ -5219,6 +5296,20 @@ + { + flags->do_update_rotated_title = 1; + } ++ ++ /* has_fluxbox_handles */ ++ if (S_HAS_FLUXBOX_HANDLES(SCC(*ret_style))) ++ { ++ flags->do_redecorate = True; ++ } ++ ++ /* has_rounded_corners */ ++ if (S_HAS_ROUNDED_CORNERS_TOP(SCC(*ret_style)) ++ || S_HAS_ROUNDED_CORNERS_BOTTOM(SCC(*ret_style)) ++ || S_HAS_SLIGHTLY_ROUNDED_CORNERS(SCC(*ret_style))) ++ { ++ flags->do_redecorate = True; ++ } + + if (S_HAS_BORDER_UNDER_TITLE(SCC(*ret_style))) + { +@@ -5483,6 +5574,12 @@ + flags->do_update_modules_flags = 1; + } + ++ /* has_corner_width */ ++ if (ret_style->change_mask.has_corner_width) ++ { ++ flags->do_redecorate = True; ++ } ++ + if (ret_style->change_mask.do_save_under || + ret_style->change_mask.use_backing_store || + ret_style->change_mask.use_parent_relative) +Only in fvwm-patched/fvwm: style.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/style.h fvwm-patched/fvwm/style.h +--- fvwm-2.6.9/fvwm/style.h 2020-08-21 16:07:19.993929916 -0600 ++++ fvwm-patched/fvwm/style.h 2020-08-21 16:08:05.606920933 -0600 +@@ -21,6 +21,8 @@ + ((sf)->has_color_fore) + #define SHAS_HANDLE_WIDTH(sf) \ + ((sf)->has_handle_width) ++#define SHAS_CORNER_WIDTH(sf) \ ++ ((sf)->has_corner_width) + #define SHAS_ICON(sf) \ + ((sf)->has_icon) + #define SHAS_ICON_BOXES(sf) \ +@@ -377,6 +379,22 @@ + ((c).s.has_border_under_title) + #define S_SET_HAS_BORDER_UNDER_TITLE(c,x) \ + ((c).s.has_border_under_title = !!(x)) ++#define S_HAS_FLUXBOX_HANDLES(c) \ ++ ((c).s.has_fluxbox_handles) ++#define S_SET_HAS_FLUXBOX_HANDLES(c,x) \ ++ ((c).s.has_fluxbox_handles = !!(x)) ++#define S_HAS_ROUNDED_CORNERS_TOP(c) \ ++ ((c).s.has_rounded_corners_top) ++#define S_SET_HAS_ROUNDED_CORNERS_TOP(c,x) \ ++ ((c).s.has_rounded_corners_top = !!(x)) ++#define S_HAS_ROUNDED_CORNERS_BOTTOM(c) \ ++ ((c).s.has_rounded_corners_bottom) ++#define S_SET_HAS_ROUNDED_CORNERS_BOTTOM(c,x) \ ++ ((c).s.has_rounded_corners_bottom = !!(x)) ++#define S_HAS_SLIGHTLY_ROUNDED_CORNERS(c) \ ++ ((c).s.has_slightly_rounded_corners) ++#define S_SET_HAS_SLIGHTLY_ROUNDED_CORNERS(c,x) \ ++ ((c).s.has_slightly_rounded_corners = !!(x)) + #define S_DO_EWMH_MINI_ICON_OVERRIDE(c) \ + ((c).s.do_ewmh_mini_icon_override) + #define S_SET_DO_EWMH_MINI_ICON_OVERRIDE(c,x) \ +@@ -597,6 +615,10 @@ + ((s).handle_width) + #define SSET_HANDLE_WIDTH(s,x) \ + ((s).handle_width = (x)) ++#define SGET_CORNER_WIDTH(s) \ ++ ((s).corner_width) ++#define SSET_CORNER_WIDTH(s,x) \ ++ ((s).corner_width = (x)) + #define SGET_LAYER(s) \ + ((s).layer) + #define SSET_LAYER(s,x) \ +Only in fvwm-patched/fvwm: style.h.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/window_flags.h fvwm-patched/fvwm/window_flags.h +--- fvwm-2.6.9/fvwm/window_flags.h 2020-08-21 16:07:19.993929916 -0600 ++++ fvwm-patched/fvwm/window_flags.h 2020-08-21 16:08:05.610921020 -0600 +@@ -316,12 +316,12 @@ + (fw)->flags.common.s.is_bottom_title_rotated = !!(x) + #define SETM_IS_BOTTOM_TITLE_ROTATED(fw,x) \ + (fw)->flag_mask.common.s.is_bottom_title_rotated = !!(x) +-#define IS_BOTTOM_TITLE_ROTATED(fw) \ +- ((fw)->flags.common.s.is_bottom_title_rotated) +-#define SET_IS_BOTTOM_TITLE_ROTATED(fw,x) \ +- (fw)->flags.common.s.is_bottom_title_rotated = !!(x) +-#define SETM_IS_BOTTOM_TITLE_ROTATED(fw,x) \ +- (fw)->flag_mask.common.s.is_bottom_title_rotated = !!(x) ++#define IS_TOP_TITLE_ROTATED(fw) \ ++ ((fw)->flags.common.s.is_top_title_rotated) ++#define SET_IS_TOP_TITLE_ROTATED(fw,x) \ ++ (fw)->flags.common.s.is_top_title_rotated = !!(x) ++#define SETM_IS_TOP_TITLE_ROTATED(fw,x) \ ++ (fw)->flag_mask.common.s.is_top_title_rotated = !!(x) + #define USE_TITLE_DECOR_ROTATION(fw) \ + ((fw)->flags.common.s.use_title_decor_rotation) + #define SET_USE_TITLE_DECOR_ROTATION(fw,x) \ +@@ -334,6 +334,30 @@ + (fw)->flags.common.s.has_border_under_title = !!(x) + #define SETM_HAS_BORDER_UNDER_TITLE(fw,x) \ + (fw)->flag_mask.common.s.has_border_under_title = !!(x) ++#define HAS_FLUXBOX_HANDLES(fw) \ ++ ((fw)->flags.common.s.has_fluxbox_handles && (fw->flags.has_handles)) ++#define SET_HAS_FLUXBOX_HANDLES(fw,x) \ ++ (fw)->flags.common.s.has_fluxbox_handles = !!(x) ++#define SETM_HAS_FLUXBOX_HANDLES(fw,x) \ ++ (fw)->flag_mask.common.s.has_fluxbox_handles = !!(x) ++#define HAS_ROUNDED_CORNERS_TOP(fw) \ ++ ((fw)->flags.common.s.has_rounded_corners_top) ++#define SET_HAS_ROUNDED_CORNERS_TOP(fw,x) \ ++ (fw)->flags.common.s.has_rounded_corners_top = !!(x) ++#define SETM_HAS_ROUNDED_CORNERS_TOP(fw,x) \ ++ (fw)->flag_mask.common.s.has_rounded_corners_top = !!(x) ++#define HAS_ROUNDED_CORNERS_BOTTOM(fw) \ ++ ((fw)->flags.common.s.has_rounded_corners_bottom) ++#define SET_HAS_ROUNDED_CORNERS_BOTTOM(fw,x) \ ++ (fw)->flags.common.s.has_rounded_corners_bottom = !!(x) ++#define SETM_HAS_ROUNDED_CORNERS_BOTTOM(fw,x) \ ++ (fw)->flag_mask.common.s.has_rounded_corners_bottom = !!(x) ++#define HAS_SLIGHTLY_ROUNDED_CORNERS(fw) \ ++ ((fw)->flags.common.s.has_slightly_rounded_corners) ++#define SET_HAS_SLIGHTLY_ROUNDED_CORNERS_BOTTOM(fw,x) \ ++ (fw)->flags.common.s.has_slightly_rounded_corners = !!(x) ++#define SETM_HAS_SLIGHTLY_ROUNDED_CORNERS(fw,x) \ ++ (fw)->flag_mask.common.s.has_slightly_rounded_corners = !!(x) + + /* access to the special flags of a window */ + #define DO_REUSE_DESTROYED(fw) \ +diff --unified --recursive --text fvwm-2.6.9/fvwm/windowshade.c fvwm-patched/fvwm/windowshade.c +--- fvwm-2.6.9/fvwm/windowshade.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/fvwm/windowshade.c 2020-08-21 16:08:05.610921020 -0600 +@@ -211,6 +211,7 @@ + border_draw_decorations( + fw, PART_TITLEBAR, (fw == get_focus_window()) ? True : False, + 0, CLEAR_BUTTONS, NULL, NULL); ++ frame_make_rounded_corners(fw); + /* update hints and inform modules */ + BroadcastConfig(M_CONFIGURE_WINDOW, fw); + BroadcastPacket( +Only in fvwm-patched/fvwm: windowshade.c.orig diff --git a/ports/fvwm-patched/patches/09-TopBorder.patch b/ports/fvwm-patched/patches/09-TopBorder.patch new file mode 100644 index 0000000..3edb8ff --- /dev/null +++ b/ports/fvwm-patched/patches/09-TopBorder.patch @@ -0,0 +1,200 @@ +diff --unified --recursive --text fvwm-2.6.9/fvwm/builtins.c fvwm-patched/fvwm/builtins.c +--- fvwm-2.6.9/fvwm/builtins.c 2018-05-27 09:47:03.000000000 -0600 ++++ fvwm-patched/fvwm/builtins.c 2020-08-21 16:10:56.462693301 -0600 +@@ -482,6 +482,21 @@ + if (action) + action += next; + } ++ else if (!do_add && StrEquals(parm,"buttonwidth")) ++ { ++ int width = 0; ++ int next = 0; ++ ++ sscanf(action, "%d%n", &width, &next); ++ ++ if (decor->button_width != width) ++ { ++ decor->button_width = width; ++ decor->flags.has_changed = 1; ++ } ++ if (action) ++ action += next; ++ } + else if (!do_add && StrEquals(parm,"MinHeight")) + { + int height = 0; +Only in fvwm-patched/fvwm: builtins.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/frame.c fvwm-patched/fvwm/frame.c +--- fvwm-2.6.9/fvwm/frame.c 2020-08-21 16:09:27.172710920 -0600 ++++ fvwm-patched/fvwm/frame.c 2020-08-21 16:10:56.466693390 -0600 +@@ -1372,7 +1372,14 @@ + tb_thick = fw->title_thickness; + nbuttons = fw->nr_left_buttons + fw->nr_right_buttons; + nbuttons_big = 0; +- b_length = tb_thick; ++ if (fw->decor->button_width == 0) ++ { ++ b_length = tb_thick; ++ } ++ else ++ { ++ b_length = fw->decor->button_width; ++ } + t_length = tb_length - nbuttons * b_length; + if (nbuttons > 0 && t_length < MIN_WINDOW_TITLE_LENGTH) + { +Only in fvwm-patched/fvwm: frame.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/fvwm.h fvwm-patched/fvwm/fvwm.h +--- fvwm-2.6.9/fvwm/fvwm.h 2020-08-21 16:09:27.172710920 -0600 ++++ fvwm-patched/fvwm/fvwm.h 2020-08-21 16:10:56.466693390 -0600 +@@ -274,6 +274,7 @@ + unsigned has_rounded_corners_top : 1; + unsigned has_rounded_corners_bottom : 1; + unsigned has_slightly_rounded_corners : 1; ++ unsigned has_no_top_border : 1; + focus_policy_t focus_policy; + } s; + } common_flags_t; +Only in fvwm-patched/fvwm: fvwm.h.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/geometry.c fvwm-patched/fvwm/geometry.c +--- fvwm-2.6.9/fvwm/geometry.c 2020-08-21 16:09:27.176711008 -0600 ++++ fvwm-patched/fvwm/geometry.c 2020-08-21 16:10:56.466693390 -0600 +@@ -489,6 +489,7 @@ + const FvwmWindow *fw, size_borders *borders, Bool is_shaded) + { + int title_thickness; ++ int *title_border = NULL; + int bw; + + bw = HAS_FLUXBOX_HANDLES(fw) ? 1 : fw->boundary_width; +@@ -506,18 +507,25 @@ + switch (GET_TITLE_DIR(fw)) + { + case DIR_N: +- borders->top_left.height += title_thickness; ++ title_border = &borders->top_left.height; + break; + case DIR_S: +- borders->bottom_right.height += title_thickness; ++ title_border = &borders->bottom_right.height; + break; + case DIR_W: +- borders->top_left.width += title_thickness; ++ title_border = &borders->top_left.width; + break; + case DIR_E: +- borders->bottom_right.width += title_thickness; ++ title_border = &borders->bottom_right.width; + break; + } ++ ++ if (HAS_NO_TOP_BORDER(fw)) ++ { ++ *title_border = 1; ++ } ++ *title_border += title_thickness; ++ + borders->total_size.width = + borders->top_left.width + borders->bottom_right.width; + borders->total_size.height = +@@ -538,6 +546,26 @@ + borders->bottom_right.width = bw; + borders->top_left.height = bw; + borders->bottom_right.height = fw->boundary_width; ++ ++ if (HAS_NO_TOP_BORDER(fw)) ++ { ++ switch (GET_TITLE_DIR(fw)) ++ { ++ case DIR_N: ++ borders->top_left.height = 1; ++ break; ++ case DIR_S: ++ borders->bottom_right.height = 1; ++ break; ++ case DIR_W: ++ borders->top_left.width = 1; ++ break; ++ case DIR_E: ++ borders->bottom_right.width = 1; ++ break; ++ } ++ } ++ + borders->total_size.width = + borders->top_left.width + borders->bottom_right.width; + borders->total_size.height = +Only in fvwm-patched/fvwm: geometry.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/screen.h fvwm-patched/fvwm/screen.h +--- fvwm-2.6.9/fvwm/screen.h 2020-08-21 15:30:39.091737766 -0600 ++++ fvwm-patched/fvwm/screen.h 2020-08-21 16:10:56.466693390 -0600 +@@ -284,6 +284,7 @@ + char *tag; /* general style tag */ + int title_height; /* explicitly specified title bar height */ + int min_title_height; ++ int button_width; + /* titlebar buttons */ + TitleButton buttons[NUMBER_OF_TITLE_BUTTONS]; + TitleButton titlebar; +Only in fvwm-patched/fvwm: screen.h.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/style.c fvwm-patched/fvwm/style.c +--- fvwm-2.6.9/fvwm/style.c 2020-08-21 16:09:27.176711008 -0600 ++++ fvwm-patched/fvwm/style.c 2020-08-21 16:10:56.466693390 -0600 +@@ -4714,6 +4714,12 @@ + ps->change_mask.has_title_format_string = 1; + + } ++ else if (StrEquals(token, "TopBorder")) ++ { ++ S_SET_HAS_NO_TOP_BORDER(SCF(*ps), !on); ++ S_SET_HAS_NO_TOP_BORDER(SCM(*ps), 1); ++ S_SET_HAS_NO_TOP_BORDER(SCC(*ps), 1); ++ } + else if (StrEquals(token, "TopTitleRotated")) + { + S_SET_IS_TOP_TITLE_ROTATED(SCF(*ps), on); +@@ -5315,6 +5321,11 @@ + { + flags->do_redecorate = True; + } ++ ++ if (S_HAS_NO_TOP_BORDER(SCC(*ret_style))) ++ { ++ flags->do_redecorate = True; ++ } + + /* has_mwm_border + * has_mwm_buttons */ +Only in fvwm-patched/fvwm: style.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/style.h fvwm-patched/fvwm/style.h +--- fvwm-2.6.9/fvwm/style.h 2020-08-21 16:09:27.176711008 -0600 ++++ fvwm-patched/fvwm/style.h 2020-08-21 16:10:56.466693390 -0600 +@@ -395,6 +395,11 @@ + ((c).s.has_slightly_rounded_corners) + #define S_SET_HAS_SLIGHTLY_ROUNDED_CORNERS(c,x) \ + ((c).s.has_slightly_rounded_corners = !!(x)) ++#define S_HAS_NO_TOP_BORDER(c) \ ++ ((c).s.has_no_top_border) ++#define S_SET_HAS_NO_TOP_BORDER(c,x) \ ++ ((c).s.has_no_top_border = !!(x)) ++ + #define S_DO_EWMH_MINI_ICON_OVERRIDE(c) \ + ((c).s.do_ewmh_mini_icon_override) + #define S_SET_DO_EWMH_MINI_ICON_OVERRIDE(c,x) \ +Only in fvwm-patched/fvwm: style.h.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/window_flags.h fvwm-patched/fvwm/window_flags.h +--- fvwm-2.6.9/fvwm/window_flags.h 2020-08-21 16:09:27.176711008 -0600 ++++ fvwm-patched/fvwm/window_flags.h 2020-08-21 16:10:56.466693390 -0600 +@@ -358,6 +358,12 @@ + (fw)->flags.common.s.has_slightly_rounded_corners = !!(x) + #define SETM_HAS_SLIGHTLY_ROUNDED_CORNERS(fw,x) \ + (fw)->flag_mask.common.s.has_slightly_rounded_corners = !!(x) ++#define HAS_NO_TOP_BORDER(fw) \ ++ ((fw)->flags.common.s.has_no_top_border) ++#define SET_HAS_NO_TOP_BORDER(fw,x) \ ++ (fw)->flags.common.s.has_no_top_border = !!(x) ++#define SETM_HAS_NO_TOP_BORDER(fw,x) \ ++ (fw)->flag_mask.common.s.has_no_top_border = !!(x) + + /* access to the special flags of a window */ + #define DO_REUSE_DESTROYED(fw) \ diff --git a/ports/fvwm-patched/patches/10-ButtonWidth.patch b/ports/fvwm-patched/patches/10-ButtonWidth.patch new file mode 100644 index 0000000..634585d --- /dev/null +++ b/ports/fvwm-patched/patches/10-ButtonWidth.patch @@ -0,0 +1,26 @@ +diff --unified --recursive --text fvwm-2.6.9/fvwm/builtins.c fvwm-patched/fvwm/builtins.c +--- fvwm-2.6.9/fvwm/builtins.c 2020-08-21 16:11:42.983734347 -0600 ++++ fvwm-patched/fvwm/builtins.c 2020-08-21 16:12:21.224593859 -0600 +@@ -497,6 +497,21 @@ + if (action) + action += next; + } ++ else if (!do_add && StrEquals(parm,"buttonwidth")) ++ { ++ int width = 0; ++ int next = 0; ++ ++ sscanf(action, "%d%n", &width, &next); ++ ++ if (decor->button_width != width) ++ { ++ decor->button_width = width; ++ decor->flags.has_changed = 1; ++ } ++ if (action) ++ action += next; ++ } + else if (!do_add && StrEquals(parm,"MinHeight")) + { + int height = 0; +Only in fvwm-patched/fvwm: builtins.c.orig diff --git a/ports/fvwm-patched/patches/11-MultiBorder.patch b/ports/fvwm-patched/patches/11-MultiBorder.patch new file mode 100644 index 0000000..c9c2f8f --- /dev/null +++ b/ports/fvwm-patched/patches/11-MultiBorder.patch @@ -0,0 +1,546 @@ +diff --unified --recursive --text fvwm-2.6.9/fvwm/borders.c fvwm-patched/fvwm/borders.c +--- fvwm-2.6.9/fvwm/borders.c 2020-08-21 16:09:27.172710920 -0600 ++++ fvwm-patched/fvwm/borders.c 2020-08-21 16:15:29.887392857 -0600 +@@ -1638,6 +1638,7 @@ + True : False; + xgcv.fill_style = FillSolid; + valuemask = GCFillStyle; ++ + if (!bg->flags.use_pixmap) + { + /* solid pixel */ +@@ -1830,13 +1831,26 @@ + + static void border_get_border_background( + pixmap_background_type *bg, common_decorations_type *cd, +- rectangle *part_g, rectangle *relative_g, int *free_bg_pixmap, Window w, window_parts part) ++ rectangle *part_g, rectangle *relative_g, int *free_bg_pixmap, Window w, window_parts part, FvwmPicture *fp) + { + *free_bg_pixmap = False; + +- if (cd->texture_pixmap) ++ if (fp) + { + bg->flags.use_pixmap = 1; ++ bg->pixmap.p = fp->picture; ++ bg->pixmap.g.width = fp->width; ++ bg->pixmap.g.height = fp->height; ++ bg->pixmap.shape = None; ++ bg->pixmap.alpha = None; ++ bg->pixmap.depth = fp->depth; ++ bg->pixmap.flags.is_tiled = 1; ++ bg->pixmap.flags.is_stretched = 0; ++ bg->pixmap.fra.mask = 0; ++ } ++ else if (cd->texture_pixmap) ++ { ++ bg->flags.use_pixmap = 1; + bg->pixmap.p = cd->texture_pixmap; + bg->pixmap.g.width = cd->texture_pixmap_width; + bg->pixmap.g.height = cd->texture_pixmap_height; +@@ -1931,6 +1945,18 @@ + return; + } + ++#define DRAWBORDER(PIX,X,Y,WIDTH,HEIGHT) \ ++ { \ ++ fp = df->u.mb.pixmaps[PIX]; \ ++ border_get_border_background( \ ++ &bg, cd, &part_g, &relative_g, &free_bg_pixmap, w, PART_NONE, fp); \ ++ r.x = X; \ ++ r.y = Y; \ ++ r.width = WIDTH; \ ++ r.height = HEIGHT; \ ++ border_fill_pixmap_background(p, &r, &bg, cd); \ ++ } ++ + static void border_draw_one_border_part( + common_decorations_type *cd, FvwmWindow *fw, rectangle *sidebar_g, + rectangle *frame_g, border_relief_descr *br, window_parts part, +@@ -1943,6 +1969,7 @@ + Pixmap p; + Window w; + Bool free_bg_pixmap = False; ++ int x, y, width, height; + + /* make a pixmap */ + border_get_part_geometry(fw, part, sidebar_g, &part_g, &w); +@@ -1956,8 +1983,28 @@ + relative_g.height = fw->g.frame.height; + relative_g.x = part_g.x; + relative_g.y = part_g.y; +- border_get_border_background( +- &bg, cd, &part_g, &relative_g, &free_bg_pixmap, w, part); ++ ++ DecorFace* df; ++ FvwmPicture* fp = 0; ++ df = border_get_border_style(fw, (Scr.Hilite == fw)); ++ if (DFS_FACE_TYPE(df->style) == MultiBorder) ++ { ++ int id = -1; ++ if (part==PART_BORDER_NW) id = 0; ++ if (part==PART_BORDER_N) id = 1; ++ if (part==PART_BORDER_NE) id = 2; ++ if (part==PART_BORDER_E) id = 3; ++ if (part==PART_BORDER_SE) id = 4; ++ if (part==PART_BORDER_S) id = 5; ++ if (part==PART_BORDER_SW) id = 6; ++ if (part==PART_BORDER_W) id = 7; ++ ++ if (id>=0 && df->u.mb.pixmaps[id]) ++ { ++ fp = df->u.mb.pixmaps[id]; ++ } ++ } ++ + if (cd->texture_pixmap) + { + switch (part) +@@ -2000,13 +2047,100 @@ + bg.pixmap.g.x = 0; + bg.pixmap.g.y = 0; + } +- /* set the geometry for drawing the Tiled pixmap; maybe add the relief +- * as offset? */ +- pix_g.x = 0; +- pix_g.y = 0; +- pix_g.width = part_g.width; +- pix_g.height = part_g.height; +- border_fill_pixmap_background(p, &pix_g, &bg, cd); ++ ++ border_get_border_background( ++ &bg, cd, &part_g, &relative_g, &free_bg_pixmap, w, PART_NONE, fp); ++ ++ int px = bg.pixmap.g.x; ++ int py = bg.pixmap.g.y; ++ ++ if (fp) ++ { ++ /* Position pixmap so that it's aligned to the edge of the window */ ++ if (part & PART_BOTTOM) ++ { ++ bg.pixmap.g.y = fp->height - sidebar_g->y; ++ if (part == PART_BORDER_S) ++ { ++ bg.pixmap.g.y = fp->height - fw->boundary_width; ++ } ++ } ++ if (part & PART_RIGHT) ++ { ++ bg.pixmap.g.x = fp->width - sidebar_g->x; ++ if (part == PART_BORDER_E) ++ { ++ bg.pixmap.g.x = fp->width - fw->boundary_width; ++ } ++ } ++ } ++ ++ /* set the geometry for drawing the Tiled pixmap; maybe add the relief ++ * as offset? */ ++ pix_g.x = 0; ++ pix_g.y = 0; ++ pix_g.width = part_g.width; ++ pix_g.height = part_g.height; ++ ++ border_fill_pixmap_background(p, &pix_g, &bg, cd); ++ ++ bg.pixmap.g.x = px; ++ bg.pixmap.g.y = py; ++ ++ if (fp) ++ { ++ height = pix_g.height; ++ width = pix_g.width; ++ x = pix_g.x; ++ y = pix_g.y; ++ ++ /* draw parts from other borders that overflow because of their width/height */ ++ rectangle r; ++ if (part==PART_BORDER_S) ++ { ++ DRAWBORDER(6, pix_g.x - sidebar_g->x, fw->boundary_width - fp->height, fp->width - sidebar_g->x, height); ++ DRAWBORDER(4, pix_g.width - fp->width + sidebar_g->x, fw->boundary_width - fp->height, fp->width - sidebar_g->x, height); ++ } ++ if (!IS_SHADED(fw)) ++ { ++ if (part==PART_BORDER_E) ++ { ++ DRAWBORDER(2, fw->boundary_width - fp->width, pix_g.y - sidebar_g->y, width, fp->height - sidebar_g->y); ++ DRAWBORDER(4, fw->boundary_width - fp->width, pix_g.height - fp->height + sidebar_g->y, width, fp->height - sidebar_g->y); ++ } ++ if (part==PART_BORDER_W) ++ { ++ DRAWBORDER(0, x, pix_g.y - sidebar_g->y, width, fp->height - sidebar_g->y); ++ DRAWBORDER(6, x, pix_g.height - fp->height + sidebar_g->y, width, fp->height - sidebar_g->y); ++ } ++ } ++ if (part==PART_BORDER_N) ++ { ++ DRAWBORDER(2, pix_g.width - fp->width + sidebar_g->x, y, fp->width - sidebar_g->x, height); ++ DRAWBORDER(0, pix_g.x - fp->width + sidebar_g->x, y, fp->width - sidebar_g->x, height); ++ } ++ /* Use the top border for the whole height of the titlebar, overflowing to parts of the bottom corners if shaded */ ++ if (IS_SHADED(fw)) ++ { ++ if (part==PART_BORDER_W) ++ { ++ DRAWBORDER(0, 0, -height, width, height); ++ } ++ if (part==PART_BORDER_SW) ++ { ++ DRAWBORDER(0, 0, -height*2, width, height - fw->boundary_width); ++ } ++ if (part==PART_BORDER_E) ++ { ++ DRAWBORDER(2, fw->boundary_width - fp->width, -height, width, height); ++ } ++ if (part==PART_BORDER_SE) ++ { ++ DRAWBORDER(2, width - fp->width, -height*2, width, height - fw->boundary_width); ++ } ++ } ++ } ++ + if (HAS_FLUXBOX_HANDLES(fw) && (part & PART_BOTTOM)) + { + pix_g.y = part_g.height - fw->boundary_width; +@@ -2023,6 +2157,7 @@ + border_fill_fluxbox_handle(p, &pix_g, cd, !(part & PART_BORDER_S)); + } + } ++ + if (free_bg_pixmap && bg.pixmap.p) + { + XFreePixmap(dpy, bg.pixmap.p); +@@ -2077,7 +2212,7 @@ + do_clear); + } + } +- ++ + return; + } + +@@ -3702,7 +3837,7 @@ + relative_g.x = button_g->x; + relative_g.y = button_g->y; + border_get_border_background( +- &bg, td->cd, button_g, &relative_g, &free_bg_pixmap, w, PART_NONE); ++ &bg, td->cd, button_g, &relative_g, &free_bg_pixmap, w, PART_NONE, (FvwmPicture *)NULL); + bg.pixmap.g.x = 0; + bg.pixmap.g.y = 0; + /* set the geometry for drawing the Tiled pixmap; +@@ -4149,7 +4284,7 @@ + relative_g.y = td->layout.title_g.y; + border_get_border_background( + &bg, td->cd, &td->layout.title_g, &relative_g, +- &free_bg_pixmap, w, PART_NONE); ++ &free_bg_pixmap, w, PART_NONE, (FvwmPicture *)NULL); + bg.pixmap.g.x = 0; + bg.pixmap.g.y = 0; + /* set the geometry for drawing the Tiled pixmap; +Only in fvwm-patched/fvwm: borders.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/builtins.c fvwm-patched/fvwm/builtins.c +--- fvwm-2.6.9/fvwm/builtins.c 2020-08-21 16:14:00.246833497 -0600 ++++ fvwm-patched/fvwm/builtins.c 2020-08-21 16:15:29.887392857 -0600 +@@ -782,6 +782,50 @@ + return s; + } + ++static char *ReadMultiBorderDecor(char *s, DecorFace *df) ++{ ++ FvwmPictureAttributes fpa; ++ FvwmPicture **pm; ++ char *token; ++ int x; ++ int y; ++ ++ pm = df->u.mb.pixmaps; ++ df->style.face_type = MultiBorder; ++ ++ for (x = 0; x < 8; x++) ++ { ++ s = DoPeekToken(s, &token, " ", NULL, NULL); ++ if (s == NULL) ++ { ++ break; ++ } ++ if (pm[x]) ++ { ++ PDestroyFvwmPicture(dpy, pm[x]); ++ } ++ pm[x] = PCacheFvwmPicture(dpy, Scr.NoFocusWin, NULL, ++ token, fpa); ++ ++ if (!pm[x]) ++ { ++ fvwm_msg(ERR, "ReadMultiBorderDecor", ++ "Pixmap '%s' could not be loaded", ++ token); ++ for(y = 0; y < x; y++) ++ { ++ if (pm[y]) ++ { ++ PDestroyFvwmPicture(dpy, pm[y]); ++ } ++ } ++ return NULL; ++ } ++ } ++ ++ return s; ++} ++ + /* + * + * DestroyFvwmDecor -- frees all memory assocated with an FvwmDecor +@@ -1481,6 +1525,14 @@ + free(df->u.mp.pixels); + } + break; ++ case MultiBorder: ++ for (i = 0; i < 8; i++) ++ { ++ if (df->u.mb.pixmaps[i]) ++ { ++ PDestroyFvwmPicture(dpy, df->u.mb.pixmaps[i]); ++ } ++ } + case VectorButton: + case DefaultVectorButton: + if (df->u.vector.x) +@@ -1850,6 +1902,15 @@ + return False; + } + } ++ else if (strncasecmp(style,"MultiBorder",11)==0) ++ { ++ s = ReadMultiBorderDecor(s, df); ++ if (!s) ++ { ++ return False; ++ } ++ DFS_FACE_TYPE(df->style) = MultiBorder; ++ } + else if (FMiniIconsSupported && + strncasecmp (style, "MiniIcon", 8) == 0) + { +Only in fvwm-patched/fvwm: builtins.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/menus.c fvwm-patched/fvwm/menus.c +--- fvwm-2.6.9/fvwm/menus.c 2020-08-21 16:09:27.176711008 -0600 ++++ fvwm-patched/fvwm/menus.c 2020-08-21 16:15:29.887392857 -0600 +@@ -2633,6 +2633,41 @@ + return do_clear; + } + ++#define DRAWMENUBORDER(NUM, XX, YY) XCopyArea(\ ++ dpy, pm[(NUM)]->picture, MR_WINDOW(mr), Scr.TransMaskGC,\ ++ 0, 0, pm[(NUM)]->width, pm[(NUM)]->height, (XX), (YY)) ++static Bool paint_menu_multipixmap_background( ++ MenuRoot *mr, XEvent *pevent) ++{ ++ MenuStyle *ms = MR_STYLE(mr); ++ int width, height, x, y; ++ int bw = MST_BORDER_WIDTH(mr); ++ FvwmPicture **pm; ++ pm = ST_FACE(ms).u.mb.pixmaps; ++ ++ width = MR_WIDTH(mr); ++ height = MR_HEIGHT(mr); ++ ++ FvwmPicture *p = pm[0]; ++ ++ width = MR_WIDTH(mr); ++ height = MR_HEIGHT(mr); ++ ++ x = 0; ++ ++ for (x = 0; x < width; x+=pm[1]->width) DRAWMENUBORDER(1, x, 0); ++ for (x = 0; x < width; x+=pm[5]->width) DRAWMENUBORDER(5, x, height-pm[5]->height); ++ for (x = 0; x < height; x+=pm[3]->height) DRAWMENUBORDER(3, width-pm[3]->height, x); ++ for (x = 0; x < height; x+=pm[7]->height) DRAWMENUBORDER(7, 0, x); ++ ++ DRAWMENUBORDER(0, 0, 0); ++ DRAWMENUBORDER(2, width-pm[2]->width, 0); ++ DRAWMENUBORDER(4, width-pm[4]->width, height-pm[4]->height); ++ DRAWMENUBORDER(6, 0, height-pm[6]->height); ++ ++ return False; ++} ++ + static Bool paint_menu_pixmap_background( + MenuRoot *mr, XEvent *pevent) + { +@@ -2735,15 +2770,20 @@ + { + /* Only the border was obscured. Redraw it centrally instead of + * redrawing several menu items. */ +- RelieveRectangle( +- dpy, MR_WINDOW(mr), 0, 0, MR_WIDTH(mr) - 1, +- MR_HEIGHT(mr) - 1, (Pdepth < 2) ? +- SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)) : +- HILIGHT_GC(MST_MENU_INACTIVE_GCS(mr)), +- SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)), bw); ++ if (ms && ST_FACE(ms).type == MultiPixmapMenu) + { +- return; ++ paint_menu_multipixmap_background(mr, pevent); + } ++ else ++ { ++ RelieveRectangle( ++ dpy, MR_WINDOW(mr), 0, 0, MR_WIDTH(mr) - 1, ++ MR_HEIGHT(mr) - 1, (Pdepth < 2) ? ++ SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)) : ++ HILIGHT_GC(MST_MENU_INACTIVE_GCS(mr)), ++ SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)), bw); ++ } ++ return; + } + MR_IS_PAINTED(mr) = 1; + /* paint the menu background */ +@@ -2808,6 +2848,9 @@ + case PixmapMenu: + do_clear = paint_menu_pixmap_background(mr, pevent); + break; ++ case MultiPixmapMenu: ++ do_clear = paint_menu_multipixmap_background(mr, pevent); ++ break; + case TiledPixmapMenu: + XSetWindowBackgroundPixmap( + dpy, MR_WINDOW(mr), ST_FACE(ms).u.p->picture); +@@ -2820,11 +2863,14 @@ + } + } /* if (ms) */ + /* draw the relief */ +- RelieveRectangle(dpy, MR_WINDOW(mr), 0, 0, MR_WIDTH(mr) - 1, +- MR_HEIGHT(mr) - 1, (Pdepth < 2) ? +- SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)) : +- HILIGHT_GC(MST_MENU_INACTIVE_GCS(mr)), +- SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)), bw); ++ if (!(ms && ST_FACE(ms).type == MultiPixmapMenu)) ++ { ++ RelieveRectangle(dpy, MR_WINDOW(mr), 0, 0, MR_WIDTH(mr) - 1, ++ MR_HEIGHT(mr) - 1, (Pdepth < 2) ? ++ SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)) : ++ HILIGHT_GC(MST_MENU_INACTIVE_GCS(mr)), ++ SHADOW_GC(MST_MENU_INACTIVE_GCS(mr)), bw); ++ } + /* paint the menu items */ + for (mi = MR_FIRST_ITEM(mr); mi != NULL; mi = MI_NEXT_ITEM(mi)) + { +Only in fvwm-patched/fvwm: menus.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/menustyle.c fvwm-patched/fvwm/menustyle.c +--- fvwm-2.6.9/fvwm/menustyle.c 2020-08-21 16:09:27.176711008 -0600 ++++ fvwm-patched/fvwm/menustyle.c 2020-08-21 16:15:29.887392857 -0600 +@@ -159,6 +159,8 @@ + char *token; + char *action = s; + FvwmPictureAttributes fpa; ++ FvwmPicture **pm; ++ int x, y; + + s = GetNextToken(s, &style); + if (style && strncasecmp(style, "--", 2) == 0) +@@ -270,6 +272,58 @@ + return False; + } + } ++ else if (StrEquals(style,"MultiBorder")) ++ { ++ fpa.mask = (Pdepth <= 8)? FPAM_DITHER:0; ++ pm = mf->u.mb.pixmaps; ++ ++ for (x = 0; x < 8; x++) ++ { ++ if (pm[x]) ++ { ++ PDestroyFvwmPicture(dpy, pm[x]); ++ } ++ s = GetNextToken(s, &token); ++ if (token) ++ { ++ pm[x] = PCacheFvwmPicture(dpy, Scr.NoFocusWin, NULL, token, fpa); ++ if (!pm[x]) ++ { ++ fvwm_msg(ERR, ++ "menustyle_parse_face", "Pixmap '%s' could not be loaded", ++ token); ++ } ++ } ++ else ++ { ++ fvwm_msg(ERR, ++ "menustyle_parse_face", "Too few parameters for MultiBorder"); ++ } ++ if (!token || !pm[x]) ++ { ++ for (y = 0; y < x; y++) ++ { ++ if (pm[y]) ++ { ++ PDestroyFvwmPicture(dpy, pm[y]); ++ pm[y] = 0; ++ } ++ } ++ free(style); ++ if (token) ++ { ++ free(token); ++ } ++ if (mf->type == MultiPixmapMenu) ++ { ++ mf->type = SimpleMenu; ++ } ++ return False; ++ } ++ mf->type = MultiPixmapMenu; ++ free(token); ++ } ++ } + else + { + if (verbose) +Only in fvwm-patched/fvwm: menustyle.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/menustyle.h fvwm-patched/fvwm/menustyle.h +--- fvwm-2.6.9/fvwm/menustyle.h 2020-08-21 16:09:27.176711008 -0600 ++++ fvwm-patched/fvwm/menustyle.h 2020-08-21 16:15:29.887392857 -0600 +@@ -195,6 +195,7 @@ + GradientMenu, + PixmapMenu, + TiledPixmapMenu, ++ MultiPixmapMenu, + SolidMenu + /* max button is 8 (0x8) */ + } MenuFaceType; +@@ -245,6 +246,9 @@ + { + union + { ++ struct { ++ FvwmPicture *pixmaps[8]; ++ } mb; + FvwmPicture *p; + Pixel back; + struct +diff --unified --recursive --text fvwm-2.6.9/fvwm/screen.h fvwm-patched/fvwm/screen.h +--- fvwm-2.6.9/fvwm/screen.h 2020-08-21 16:11:42.983734347 -0600 ++++ fvwm-patched/fvwm/screen.h 2020-08-21 16:15:29.887392857 -0600 +@@ -99,6 +99,7 @@ + AdjustedPixmapButton, + ShrunkPixmapButton, + MultiPixmap, ++ MultiBorder, + MiniIconButton, + SolidButton, + ColorsetButton +@@ -158,6 +159,9 @@ + Pixel *pixels; + unsigned short solid_flags; + } mp; ++ struct { ++ FvwmPicture *pixmaps[8]; ++ } mb; + struct + { + int cs; diff --git a/ports/fvwm-patched/patches/12-FvwmButtonsTips.patch b/ports/fvwm-patched/patches/12-FvwmButtonsTips.patch new file mode 100644 index 0000000..b07baba --- /dev/null +++ b/ports/fvwm-patched/patches/12-FvwmButtonsTips.patch @@ -0,0 +1,322 @@ +diff --unified --recursive --text fvwm-2.6.9/libs/FTips.c fvwm-patched/libs/FTips.c +--- fvwm-2.6.9/libs/FTips.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/libs/FTips.c 2020-08-21 16:20:45.638664630 -0600 +@@ -504,7 +504,7 @@ + if (fc == NULL) + { + fc = default_config; +- } ++ } + current_config = fc; + + if (label != NULL) +Only in fvwm-patched/libs: FTips.c.orig +diff --unified --recursive --text fvwm-2.6.9/modules/FvwmButtons/FvwmButtons.c fvwm-patched/modules/FvwmButtons/FvwmButtons.c +--- fvwm-2.6.9/modules/FvwmButtons/FvwmButtons.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/modules/FvwmButtons/FvwmButtons.c 2020-08-21 16:28:07.722997146 -0600 +@@ -55,6 +55,7 @@ + #include "libs/Colorset.h" + #include "libs/vpacket.h" + #include "libs/FRender.h" ++#include "libs/FTips.h" + #include "libs/fsm.h" + #include "libs/ColorUtils.h" + #include "libs/Graphics.h" +@@ -900,6 +901,7 @@ + button_info *tmp = ActiveButton; + ActiveButton = b; + RedrawButton(tmp, DRAW_FORCE, NULL); ++ + } + if ( + b->flags.b_ActiveIcon || +@@ -1040,6 +1042,9 @@ + + tmp.name = NULL; + tmp.name_list = NULL; ++ ++ FTipsInit(Dpy); ++ + while ( !isTerminated ) + { + if (My_FNextEvent(Dpy, &Event)) +@@ -1166,6 +1171,10 @@ + if (!event.xconfigure.send_event && + Event.xconfigure.window != MyWindow) + continue; ++ ++ if(FTipsHandleEvents(Dpy, &event)) ++ continue; ++ + fev_sanitise_configure_notify(&event.xconfigure); + Event.xconfigure.x = event.xconfigure.x; + Event.xconfigure.y = event.xconfigure.y; +@@ -1209,10 +1218,33 @@ + case EnterNotify: + b = handle_new_position( + b, Event.xcrossing.x, Event.xcrossing.y); ++ ++ if(Event.xcrossing.mode == NotifyNormal) ++ { ++ b = handle_new_position( ++ b, Event.xcrossing.x, Event.xcrossing.y); ++ FTipsOn(Dpy,MyWindow,UberButton->c->tips_config, ++ (void *)UberButton, b->tipslabel, ++ b->x, b->y, Width,Height); ++ FTipsUpdateLabel(Dpy, b->tipslabel); ++ } + break; + + case MotionNotify: ++ + b = handle_new_position(b, Event.xmotion.x, Event.xmotion.y); ++ ++ x = Event.xbutton.x; ++ y = Event.xbutton.y; ++ ++ if(b->tipslabel != NULL) ++ { ++ FTipsOn(Dpy,MyWindow,UberButton->c->tips_config, (void *)UberButton, b->tipslabel, x, y, w, h); ++ FTipsUpdateLabel(Dpy, b->tipslabel); ++ } else { ++ FTipsCancel(Dpy); ++ } ++ + break; + + case LeaveNotify: +@@ -1235,11 +1267,13 @@ + b = ActiveButton; + ActiveButton = NULL; + RedrawButton(b, DRAW_FORCE, NULL); ++ + } + if (CurrentButton) + { + RedrawButton(b, DRAW_FORCE, NULL); + } ++ FTipsCancel(Dpy); + } + break; + +@@ -1261,8 +1295,8 @@ + Window dummy; + + XTranslateCoordinates( +- Dpy, Event.xbutton.window, MyWindow, Event.xbutton.x, +- Event.xbutton.y, &x, &y, &dummy); ++ Dpy, Event.xbutton.window, MyWindow, Event.xbutton.x, ++ Event.xbutton.y, &x, &y, &dummy); + } + if (CurrentButton) + { +@@ -1304,7 +1338,10 @@ + RedrawButton(tmp, DRAW_FORCE, NULL); + } + else ++ { + RedrawButton(b, DRAW_FORCE, NULL); ++ } ++ + if (!act) + { + break; +Only in fvwm-patched/modules/FvwmButtons: FvwmButtons.c.orig +diff --unified --recursive --text fvwm-2.6.9/modules/FvwmButtons/FvwmButtons.h fvwm-patched/modules/FvwmButtons/FvwmButtons.h +--- fvwm-2.6.9/modules/FvwmButtons/FvwmButtons.h 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/modules/FvwmButtons/FvwmButtons.h 2020-08-21 16:20:45.638664630 -0600 +@@ -32,6 +32,8 @@ + #include "libs/fvwmlib.h" + #include "libs/Picture.h" + #include "libs/Flocale.h" ++#include "libs/FTips.h" ++#define FONT_STRING "-*-fixed-medium-r-normal--13-*" + + /* ------------------------------- structs --------------------------------- */ + +@@ -76,6 +78,7 @@ + unsigned b_PressIcon : 1; /* Use alternate Icon on press */ + unsigned b_PressColorset : 1; /* Use alternate Colorset on press */ + unsigned b_PressTitle : 1; /* Use alternate Title text on press */ ++ unsigned b_UseTips : 1; /* Whether to use tips or not. */ + } flags_type; + + /* Flags for b->swallow */ +@@ -125,6 +128,9 @@ + int colorset; /* b_Colorset */ + int activeColorset; /* b_ActiveColorset */ + int pressColorset; /* b_PressColorset */ ++ char *tipsfont; /* b_TipsFont*/ ++ ftips_config *tips_config; /* Struct that holds tips info.*/ ++ + Pixel fc; /* b_Fore */ + Pixel bc, hc, sc; /* b_Back && !b_IconBack */ + FvwmPicture *backicon; /* b_Back && b_IconBack */ +@@ -181,6 +187,7 @@ + FvwmPicture *pressicon; /* b_PressIcon */ + int activeColorset; /* b_ActiveColorset */ + int pressColorset; /* b_PressColorset */ ++ char *tipslabel; /* b_TipsLabel */ + Window IconWin; /* b_Swallow */ + Window PanelWin; /* b_Panel */ + Window BackIconWin; /* b_Back && b_IconBack */ +Only in fvwm-patched/modules/FvwmButtons: FvwmButtons.h.orig +diff --unified --recursive --text fvwm-2.6.9/modules/FvwmButtons/parse.c fvwm-patched/modules/FvwmButtons/parse.c +--- fvwm-2.6.9/modules/FvwmButtons/parse.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/modules/FvwmButtons/parse.c 2020-08-21 16:20:45.638664630 -0600 +@@ -882,6 +882,7 @@ + "presstitle", + "activecolorset", + "presscolorset", ++ "tipslabel", + "top", + NULL + }; +@@ -1605,7 +1606,33 @@ + b->flags.b_ActiveColorset = 0; + } + break; ++ /* --------- TipsLabel ---------*/ ++ case 28: ++ s = trimleft(s); ++ t = seekright(&s); ++ if(ub->c->flags.b_UseTips) ++ { ++ if (*s == '(') ++ { ++ fprintf(stderr, ++ "%s: justification not allowed " ++ "for TipsLabel.\n", MyName); ++ } ++ ++ ++ ++ if (t && *t && (t[0] != '-' || t[1] != 0)) ++ { ++ if (b->tipslabel != NULL) ++ { ++ free(b->tipslabel); ++ } else { ++ b->tipslabel = t; ++ } ++ } ++ } + ++ break; + /* --------------- --------------- */ + case 26: /* PressColorset */ + i = strtol(s, &t, 10); +@@ -1777,6 +1804,14 @@ + "colorset", + "activecolorset", + "presscolorset", ++ "usetips", ++ "tipsfont", ++ "tipsdelay", ++ "tipscolorset", ++ "tipsborderwidth", ++ "tipsplacement", ++ "tipsjustification", ++ "tipsoffset", + NULL + }; + int i, j, k; +@@ -1924,7 +1959,97 @@ + ub->c->flags.b_PressColorset = 0; + } + break; ++ case 15: /* UseTips */ ++ /* We're using tips.*/ ++ ub->c->flags.b_UseTips = 1; ++ ++ /* Set the defaults up. */ ++ ub->c->tips_config = FTipsNewConfig(); ++ ++ /* Include fonts. */ ++ CopyStringWithQuotes(&ub->c->tipsfont,FONT_STRING); ++ ub->c->tips_config->Ffont = FlocaleLoadFont(Dpy, ++ ub->c->tipsfont, MyName); ++ break; ++ case 16: /* TipsFont */ ++ if(ub->c->flags.b_UseTips) ++ { ++ CopyStringWithQuotes(&ub->c->tipsfont,s); + ++ ub->c->tips_config->Ffont = FlocaleLoadFont(Dpy, ub->c->tipsfont, ++ MyName); ++ } ++ ++ break; ++ case 17: /*TipsDelay */ ++ if(ub->c->flags.b_UseTips) ++ { ++ i = sscanf(s, "%d %d", &j, &k); ++ if( i > 0) ++ { ++ /* Then only one value was given. Set the ++ * mapped_delay option to this given value ++ * also since it's optional. ++ */ ++ ub->c->tips_config->delay = ub->c->tips_config->mapped_delay = j; ++ } ++ if( i > 1) ++ { ++ /* Two values passed in. We only need to ++ * change the value for mapped_delay here. ++ */ ++ ++ ub->c->tips_config->mapped_delay = k; ++ ++ } ++ } ++ break; ++ case 18: /* TipsColorset */ ++ if (ub->c->flags.b_UseTips) ++ { ++ i = sscanf(s, "%d", &j); ++ if (i > 0) ++ { ++ ub->c->tips_config->colorset = j; ++ AllocColorset(j); ++ } ++ } ++ break; ++ case 19: /* TipsBorderWidth */ ++ if (ub->c->flags.b_UseTips) ++ { ++ i = sscanf(s, "%d", &j); ++ ++ if(i > 0) ++ { ++ ub->c->tips_config->border_width = j; ++ } ++ } ++ break; ++ case 20: /* TipsPlacement */ ++ if(ub->c->flags.b_UseTips) ++ { ++ s = trimleft(s); ++ ++ /* Options ... */ ++ if(!strcasecmp(s, "up")) ++ { ++ i = FTIPS_PLACEMENT_UP; ++ } else if(!strcasecmp(s, "down")) { ++ i = FTIPS_PLACEMENT_DOWN; ++ } else if(!strcasecmp(s, "left")) { ++ i = FTIPS_PLACEMENT_LEFT; ++ } else if(!strcasecmp(s, "right")) { ++ i = FTIPS_PLACEMENT_RIGHT; ++ } else if(!strcasecmp(s, "updown")) { ++ i = FTIPS_PLACEMENT_AUTO_UPDOWN; ++ } else if(!strcasecmp(s, "leftright")) { ++ i = FTIPS_PLACEMENT_AUTO_LEFTRIGHT; ++ } ++ ++ ub->c->tips_config->placement = i; ++ } ++ break; + default: + s = trimleft(s); + ParseButton(ubb, s); +Only in fvwm-patched/modules/FvwmButtons: parse.c.orig diff --git a/ports/fvwm-patched/patches/13-FvwmIconMan.patch b/ports/fvwm-patched/patches/13-FvwmIconMan.patch new file mode 100644 index 0000000..cf14f4f --- /dev/null +++ b/ports/fvwm-patched/patches/13-FvwmIconMan.patch @@ -0,0 +1,114 @@ +diff --unified --recursive --text fvwm-2.6.9/modules/FvwmIconMan/FvwmIconMan.h fvwm-patched/modules/FvwmIconMan/FvwmIconMan.h +--- fvwm-2.6.9/modules/FvwmIconMan/FvwmIconMan.h 2016-10-15 08:51:45.000000000 -0600 ++++ fvwm-patched/modules/FvwmIconMan/FvwmIconMan.h 2020-08-21 16:30:38.324120869 -0600 +@@ -317,6 +317,8 @@ + char *tips_fontname; + char *tips_formatstring; + ftips_config *tips_conf; ++ Uchar roundedcorners; ++ int padding; + + /* X11 state */ + Window theWindow, theFrame; +Only in fvwm-patched/modules/FvwmIconMan: FvwmIconMan.h.orig +diff --unified --recursive --text fvwm-2.6.9/modules/FvwmIconMan/readconfig.c fvwm-patched/modules/FvwmIconMan/readconfig.c +--- fvwm-2.6.9/modules/FvwmIconMan/readconfig.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/modules/FvwmIconMan/readconfig.c 2020-08-21 16:30:38.324120869 -0600 +@@ -2037,6 +2037,40 @@ + } + SET_MANAGER(manager, relief_thickness, n); + } ++ else if (!strcasecmp(option1, "padding")) { ++ p = read_next_cmd(READ_ARG); ++ if (!p) { ++ ConsoleMessage("Bad line: %s\n", current_line); ++ continue; ++ } ++ if (extract_int(p, &n) == 0) { ++ ConsoleMessage("This is not a number: %s\n", p); ++ ConsoleMessage("Bad line: %s\n", current_line); ++ continue; ++ } ++ SET_MANAGER(manager, padding, n); ++ } ++ else if (!strcasecmp(option1, "roundedcorners")) { ++ p = read_next_cmd(READ_ARG); ++ if (!p) { ++ ConsoleMessage("Bad line: %s\n", current_line); ++ ConsoleMessage("Need argument to roundedcorners\n"); ++ continue; ++ } ++ if (!strcasecmp(p, "true")) { ++ i = 1; ++ } ++ else if (!strcasecmp(p, "false")) { ++ i = 0; ++ } ++ else { ++ ConsoleMessage("Bad line: %s\n", current_line); ++ ConsoleMessage("What is this: %s?\n", p); ++ continue; ++ } ++ ConsoleDebug(CONFIG, "Setting roundedcorners to: %d\n", i); ++ SET_MANAGER(manager, roundedcorners, i); ++ } + else if (!strcasecmp(option1, "tips")) { + p = read_next_cmd(READ_ARG); + if (!p) { +Only in fvwm-patched/modules/FvwmIconMan: readconfig.c.orig +diff --unified --recursive --text fvwm-2.6.9/modules/FvwmIconMan/xmanager.c fvwm-patched/modules/FvwmIconMan/xmanager.c +--- fvwm-2.6.9/modules/FvwmIconMan/xmanager.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/modules/FvwmIconMan/xmanager.c 2020-08-21 16:30:38.324120869 -0600 +@@ -1397,6 +1397,8 @@ + + g->text_y = g->button_y + text_pad; + g->text_base = g->text_y + man->FButtonFont->ascent; ++ ++ g->button_w -= man->padding; + } + + static void draw_button_background( +@@ -1669,6 +1671,33 @@ + } + } + ++static void __draw_rounded_corner(WinManager *man, ButtonGeometry *g, ++ int x, int y, int width, int height, GC gc) ++{ ++ int x1 = g->button_x + x; ++ int x2 = g->button_x + g->button_w - x - width; ++ int y1 = g->button_y + y; ++ int y2 = g->button_y + g->button_h - y - height; ++ ++ XFillRectangle(theDisplay, man->theWindow, gc, x1, y1, width, height); ++ XFillRectangle(theDisplay, man->theWindow, gc, x2, y1, width, height); ++ XFillRectangle(theDisplay, man->theWindow, gc, x1, y2, width, height); ++ XFillRectangle(theDisplay, man->theWindow, gc, x2, y2, width, height); ++} ++ ++static void draw_rounded_corners(WinManager *man, ButtonGeometry *g, GC gc) ++{ ++ if (man->roundedcorners) ++ { ++ __draw_rounded_corner(man, g, 0, 0, 2, 1, man->backContext[TITLE_CONTEXT]); ++ __draw_rounded_corner(man, g, 0, 1, 1, 1, man->backContext[TITLE_CONTEXT]); ++ __draw_rounded_corner(man, g, 1, 1, 1, 1, gc); ++ } ++ ++ XFillRectangle(theDisplay, man->theWindow, man->backContext[TITLE_CONTEXT], ++ g->button_x + g->button_w, g->button_y, man->padding, g->button_h); ++} ++ + static void draw_button(WinManager *man, int button, int force) + { + Button *b; +@@ -1857,6 +1886,8 @@ + draw_relief( + man, button_state, &g, context1, + context2); ++ ++ draw_rounded_corners(man, &g, context1); + } + else if (button_state == SELECT_CONTEXT || + button_state == FOCUS_SELECT_CONTEXT || +Only in fvwm-patched/modules/FvwmIconMan: xmanager.c.orig diff --git a/ports/fvwm-patched/patches/14-Hover.patch b/ports/fvwm-patched/patches/14-Hover.patch new file mode 100644 index 0000000..b6a705a --- /dev/null +++ b/ports/fvwm-patched/patches/14-Hover.patch @@ -0,0 +1,295 @@ +diff --unified --recursive --text fvwm-2.6.9/fvwm/borders.c fvwm-patched/fvwm/borders.c +--- fvwm-2.6.9/fvwm/borders.c 2020-08-21 16:16:28.114047517 -0600 ++++ fvwm-patched/fvwm/borders.c 2020-08-21 16:34:52.530676541 -0600 +@@ -58,6 +58,7 @@ + /* ---------------------------- imports ------------------------------------ */ + + extern Window PressedW; ++extern Window HoverW; + + /* ---------------------------- included code files ------------------------ */ + +@@ -235,6 +236,7 @@ + unsigned clear_bmask : NUMBER_OF_TITLE_BUTTONS; + unsigned draw_bmask : NUMBER_OF_TITLE_BUTTONS; + unsigned max_bmask : NUMBER_OF_TITLE_BUTTONS; ++ unsigned hover_bmask : NUMBER_OF_TITLE_BUTTONS; + ButtonState bstate[NUMBER_OF_TITLE_BUTTONS]; + unsigned is_title_pressed : 1; + unsigned is_title_lit : 1; +@@ -340,8 +342,12 @@ + + /* rules to get button state */ + static ButtonState border_flags_to_button_state( +- int is_pressed, int is_lit, int is_toggled) ++ int is_pressed, int is_lit, int is_toggled, int is_hover) + { ++ if (is_lit && is_hover && Scr.gs.use_hover_buttons) ++ { ++ return BS_ActiveHover; ++ } + if (!is_lit && Scr.gs.use_inactive_buttons) + { + if (is_pressed && Scr.gs.use_inactive_down_buttons) +@@ -862,7 +868,7 @@ + /* check if state changed */ + old_state = border_flags_to_button_state( + (fw->decor_state.parts_inverted & PART_TITLE), +- (fw->decor_state.parts_lit & PART_TITLE), 0); ++ (fw->decor_state.parts_lit & PART_TITLE), 0, 0); + if (old_state != td->tbstate.tstate) + { + draw_parts |= PART_TITLE; +@@ -886,7 +892,8 @@ + old_state = border_flags_to_button_state( + (fw->decor_state.buttons_inverted & mask), + (fw->decor_state.buttons_lit & mask), +- (fw->decor_state.buttons_toggled & mask)); ++ (fw->decor_state.buttons_toggled & mask), ++ (fw->decor_state.buttons_hover & mask)); + if (old_state != td->tbstate.bstate[i]) + { + draw_parts |= PART_BUTTONS; +@@ -4392,6 +4399,7 @@ + fw->decor_state.buttons_inverted = td->tbstate.pressed_bmask; + fw->decor_state.buttons_lit = td->tbstate.lit_bmask; + fw->decor_state.buttons_toggled = td->tbstate.toggled_bmask; ++ fw->decor_state.buttons_hover = td->tbstate.hover_bmask; + + return; + } +@@ -4660,13 +4668,18 @@ + { + tbstate->toggled_bmask |= mask; + } ++ if (FW_W_BUTTON(fw, i) == HoverW) ++ { ++ tbstate->hover_bmask |= mask; ++ } + tbstate->bstate[i] = border_flags_to_button_state( + tbstate->pressed_bmask & mask, + tbstate->lit_bmask & mask, +- tbstate->toggled_bmask & mask); ++ tbstate->toggled_bmask & mask, ++ tbstate->hover_bmask & mask); + } + tbstate->tstate = border_flags_to_button_state( +- tbstate->is_title_pressed, tbstate->is_title_lit, 0); ++ tbstate->is_title_pressed, tbstate->is_title_lit, 0, 0); + } + + static window_parts border_get_titlebar_descr( +@@ -4931,6 +4944,7 @@ + fw->decor_state.buttons_lit = 0; + fw->decor_state.buttons_inverted = 0; + fw->decor_state.buttons_toggled = 0; ++ fw->decor_state.buttons_hover = 0; + return; + } + memset(&td, 0, sizeof(td)); +@@ -4982,6 +4996,7 @@ + fw->decor_state.buttons_toggled = + (fw->decor_state.buttons_toggled & + ~td.tbstate.max_bmask) | td.tbstate.toggled_bmask; ++ fw->decor_state.buttons_hover &= td.tbstate.hover_bmask; + } + + return; +@@ -5072,11 +5087,12 @@ + ButtonState bs; + int is_pressed; + int is_toggled; ++ int is_hover; + int i; + + /* title */ + is_pressed = (FW_W_TITLE(fw) == PressedW); +- bs = border_flags_to_button_state(is_pressed, has_focus, 0); ++ bs = border_flags_to_button_state(is_pressed, has_focus, 0, 0); + if (DFS_USE_BORDER_STYLE(TB_STATE(GetDecor(fw, titlebar))[bs].style)) + { + return 1; +@@ -5089,8 +5105,9 @@ + } + is_pressed = (FW_W_BUTTON(fw, i) == PressedW); + is_toggled = (is_button_toggled(fw, i) == True); ++ is_hover = (FW_W_BUTTON(fw, i) == HoverW); + bs = border_flags_to_button_state( +- is_pressed, (has_focus == True), is_toggled); ++ is_pressed, (has_focus == True), is_toggled, is_hover); + if (DFS_USE_BORDER_STYLE( + TB_STATE(GetDecor(fw, buttons[i]))[bs].style)) + { +@@ -5551,6 +5568,7 @@ + DEFAULT_USE_INACTIVE_BUTTONS; + Scr.gs.use_inactive_down_buttons = + DEFAULT_USE_INACTIVE_DOWN_BUTTONS; ++ Scr.gs.use_hover_buttons = 0; + return; + } + first = False; +@@ -5572,6 +5590,12 @@ + action, &action, + DEFAULT_USE_INACTIVE_DOWN_BUTTONS, True); + } ++ else if (StrEquals("hover", token)) ++ { ++ Scr.gs.use_hover_buttons = ParseToggleArgument( ++ action, &action, ++ 0, True); ++ } + else + { + Scr.gs.use_active_down_buttons = +@@ -5580,6 +5604,7 @@ + DEFAULT_USE_INACTIVE_BUTTONS; + Scr.gs.use_inactive_down_buttons = + DEFAULT_USE_INACTIVE_DOWN_BUTTONS; ++ Scr.gs.use_hover_buttons = 0; + fvwm_msg(ERR, "cmd_button_state", + "Unknown button state %s", token); + return; +Only in fvwm-patched/fvwm: borders.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/builtins.c fvwm-patched/fvwm/builtins.c +--- fvwm-2.6.9/fvwm/builtins.c 2020-08-21 16:16:28.114047517 -0600 ++++ fvwm-patched/fvwm/builtins.c 2020-08-21 16:34:52.530676541 -0600 +@@ -94,12 +94,16 @@ + { + "ActiveUp", + "ActiveDown", ++ "ActiveHover", + "InactiveUp", + "InactiveDown", ++ "InactiveHover", + "ToggledActiveUp", + "ToggledActiveDown", ++ "ToggledActiveHover", + "ToggledInactiveUp", + "ToggledInactiveDown", ++ "ToggledInactiveHover", + "Active", + "Inactive", + "ToggledActive", +@@ -110,10 +114,13 @@ + "AllInactive", + "AllUp", + "AllDown", ++ "AllHover", + "AllActiveUp", + "AllActiveDown", ++ "AllActiveHover", + "AllInactiveUp", + "AllInactiveDown", ++ "AllInactiveHover", + NULL + }; + +Only in fvwm-patched/fvwm: builtins.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/events.c fvwm-patched/fvwm/events.c +--- fvwm-2.6.9/fvwm/events.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/fvwm/events.c 2020-08-21 16:38:28.601284882 -0600 +@@ -184,6 +184,7 @@ + + int last_event_type = 0; + Window PressedW = None; ++Window HoverW = None; + + /* ---------------------------- local functions ---------------------------- */ + +@@ -1785,6 +1786,23 @@ + return; + } + ++static void redraw_hover(FvwmWindow* fw, Window w) ++{ ++ if (fw) ++ { ++ int i; ++ for (i = 0; i < NUMBER_OF_TITLE_BUTTONS; i++) ++ { ++ if (w == FW_W_BUTTON(fw, i)) ++ { ++ HoverW = FW_W_BUTTON(fw, i); ++ } ++ } ++ border_redraw_decorations(fw); ++ HoverW = None; ++ } ++} ++ + /* ---------------------------- event handlers ----------------------------- */ + + void HandleButtonPress(const evh_args_t *ea) +@@ -1980,6 +1998,8 @@ + ewp = &te->xcrossing; + ENTER_DBG((stderr, "++++++++ en (%d): fw %p w 0x%08x sw 0x%08x mode 0x%x detail 0x%x '%s'\n", ++ecount, fw, (int)ewp->window, (int)ewp->subwindow, ewp->mode, ewp->detail, fw?fw->visible_name:"(none)")); + ++ redraw_hover(fw, ewp->window); ++ + if ( + ewp->window == Scr.Root && + ewp->detail == NotifyInferior && ewp->mode == NotifyNormal) +@@ -2687,6 +2707,8 @@ + + DBUG("HandleLeaveNotify", "Routine Entered"); + ++ redraw_hover(fw, te->xcrossing.window); ++ + ENTER_DBG((stderr, "-------- ln (%d): fw %p w 0x%08x sw 0x%08x mode 0x%x detail 0x%x '%s'\n", ++ecount, fw, (int)te->xcrossing.window, (int)te->xcrossing.subwindow, te->xcrossing.mode, te->xcrossing.detail, fw?fw->visible_name:"(none)")); + lwp = &te->xcrossing; + if ( +Only in fvwm-patched/fvwm: events.c.orig +diff --unified --recursive --text fvwm-2.6.9/fvwm/fvwm.h fvwm-patched/fvwm/fvwm.h +--- fvwm-2.6.9/fvwm/fvwm.h 2020-08-21 16:11:42.983734347 -0600 ++++ fvwm-patched/fvwm/fvwm.h 2020-08-21 16:34:52.534676586 -0600 +@@ -827,6 +827,7 @@ + unsigned buttons_lit : NUMBER_OF_TITLE_BUTTONS; + unsigned buttons_inverted : NUMBER_OF_TITLE_BUTTONS; + unsigned buttons_toggled : NUMBER_OF_TITLE_BUTTONS; ++ unsigned buttons_hover : NUMBER_OF_TITLE_BUTTONS; + unsigned parts_drawn : 12; + unsigned parts_lit : 12; + unsigned parts_inverted : 12; +diff --unified --recursive --text fvwm-2.6.9/fvwm/screen.h fvwm-patched/fvwm/screen.h +--- fvwm-2.6.9/fvwm/screen.h 2020-08-21 16:16:28.118047433 -0600 ++++ fvwm-patched/fvwm/screen.h 2020-08-21 16:34:52.534676586 -0600 +@@ -202,12 +202,16 @@ + BS_All = -1, + BS_ActiveUp, + BS_ActiveDown, ++ BS_ActiveHover, + BS_InactiveUp, + BS_InactiveDown, ++ BS_InactiveHover, + BS_ToggledActiveUp, + BS_ToggledActiveDown, ++ BS_ToggledActiveHover, + BS_ToggledInactiveUp, + BS_ToggledInactiveDown, ++ BS_ToggledInactiveHover, + BS_MaxButtonState, + BS_MaxButtonStateMask = BS_MaxButtonState - 1, + BS_Active, +@@ -220,10 +224,13 @@ + BS_AllInactive, + BS_AllUp, + BS_AllDown, ++ BS_AllHover, + BS_AllActiveUp, + BS_AllActiveDown, ++ BS_AllActiveHover, + BS_AllInactiveUp, + BS_AllInactiveDown, ++ BS_AllInactiveHover, + BS_MaxButtonStateName + } ButtonState; + +@@ -511,6 +518,7 @@ + unsigned use_active_down_buttons : 1; + unsigned use_inactive_buttons : 1; + unsigned use_inactive_down_buttons : 1; ++ unsigned use_hover_buttons : 1; + } gs; /* global style structure */ + struct + { +Only in fvwm-patched/fvwm: screen.h.orig diff --git a/ports/fvwm-patched/patches/15-FirstItemUnderPointer.patch b/ports/fvwm-patched/patches/15-FirstItemUnderPointer.patch new file mode 100644 index 0000000..c158c84 --- /dev/null +++ b/ports/fvwm-patched/patches/15-FirstItemUnderPointer.patch @@ -0,0 +1,18 @@ +diff --unified --recursive --text fvwm-2.6.9/fvwm/menus.c fvwm-patched/fvwm/menus.c +--- fvwm-2.6.9/fvwm/menus.c 2020-08-21 16:16:28.114047517 -0600 ++++ fvwm-patched/fvwm/menus.c 2020-08-21 16:40:31.318886523 -0600 +@@ -3348,6 +3348,13 @@ + } + context = (*pexc)->w.wcontext; + ++ /* Popup menu with first item (not title) under pointer */ ++ if(MI_IS_TITLE(MR_FIRST_ITEM(mr))) ++ { ++ y-=MI_HEIGHT(MR_FIRST_ITEM(mr)); ++ do_warp_to_item = True; ++ } ++ + /* + * Create a new menu instance (if necessary) + */ +Only in fvwm-patched/fvwm: menus.c.orig diff --git a/ports/fvwm-patched/patches/16-ThinGeometryProxy.patch b/ports/fvwm-patched/patches/16-ThinGeometryProxy.patch new file mode 100644 index 0000000..07d2960 --- /dev/null +++ b/ports/fvwm-patched/patches/16-ThinGeometryProxy.patch @@ -0,0 +1,25 @@ +diff --unified --recursive --text fvwm-2.6.9/libs/defaults.h fvwm-patched/libs/defaults.h +--- fvwm-2.6.9/libs/defaults.h 2018-03-25 13:01:09.000000000 -0600 ++++ fvwm-patched/libs/defaults.h 2020-08-21 16:41:53.075990111 -0600 +@@ -153,7 +153,7 @@ + #define BROKEN_MINSIZE_LIMIT 30000 + + /* geometry window */ +-#define GEOMETRY_WINDOW_BW 2 /* pixels */ ++#define GEOMETRY_WINDOW_BW 1 /* pixels */ + #define GEOMETRY_WINDOW_STRING " +8888 x +8888 " + #define GEOMETRY_WINDOW_POS_STRING " %+-4d %+-4d " + #define GEOMETRY_WINDOW_SIZE_STRING " %4d x %-4d " +diff --unified --recursive --text fvwm-2.6.9/modules/FvwmProxy/FvwmProxy.c fvwm-patched/modules/FvwmProxy/FvwmProxy.c +--- fvwm-2.6.9/modules/FvwmProxy/FvwmProxy.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/modules/FvwmProxy/FvwmProxy.c 2020-08-21 16:41:53.075990111 -0600 +@@ -1224,7 +1224,7 @@ + { + XClearWindow(dpy,proxy->proxy); + } +- RelieveRectangle(dpy,proxy->proxy, 0,0, w - 1,h - 1, hi_gc,sh_gc, 2); ++ RelieveRectangle(dpy,proxy->proxy, 0,0, w - 1,h - 1, hi_gc,sh_gc, 1); + + #if 0 + if (proxy->iconname != NULL) +Only in fvwm-patched/modules/FvwmProxy: FvwmProxy.c.orig diff --git a/ports/fvwm-patched/patches/17-MiniIconSize.patch b/ports/fvwm-patched/patches/17-MiniIconSize.patch new file mode 100644 index 0000000..018f42b --- /dev/null +++ b/ports/fvwm-patched/patches/17-MiniIconSize.patch @@ -0,0 +1,18 @@ +diff --unified --recursive --text fvwm-2.6.9/fvwm/ewmh_icons.c fvwm-patched/fvwm/ewmh_icons.c +--- fvwm-2.6.9/fvwm/ewmh_icons.c 2018-05-26 05:35:26.000000000 -0600 ++++ fvwm-patched/fvwm/ewmh_icons.c 2020-08-21 16:47:11.016481431 -0600 +@@ -714,10 +714,10 @@ + + if (is_mini_icon) + { +- wanted_w = MINI_ICON_WANTED_WIDTH; +- wanted_h = MINI_ICON_WANTED_HEIGHT; +- max_w = MINI_ICON_MAX_WIDTH; +- max_h = ICON_MAX_HEIGHT; ++ wanted_w = fw->min_icon_width; ++ wanted_h = fw->min_icon_height; ++ max_w = fw->max_icon_width; ++ max_h = fw->max_icon_height; + fpa.mask = 0; + } +else diff --git a/ports/fvwm-patched/sources b/ports/fvwm-patched/sources new file mode 100644 index 0000000..21226a7 --- /dev/null +++ b/ports/fvwm-patched/sources @@ -0,0 +1,18 @@ +https://github.com/fvwmorg/fvwm/releases/download/2.6.9/fvwm-2.6.9.tar.gz +patches/01-TranslucentMenus.patch +patches/02-ColourBorders.patch +patches/03-ResizeOutlineThin.patch +patches/04-Conditionals.patch +patches/05-FlatSeparators.patch +patches/06-BorderUnderTitle.patch +patches/07-InactiveFont.patch +patches/08-FluxRoundedCorners.patch +patches/09-TopBorder.patch +patches/10-ButtonWidth.patch +patches/11-MultiBorder.patch +patches/12-FvwmButtonsTips.patch +patches/13-FvwmIconMan.patch +patches/14-Hover.patch +patches/15-FirstItemUnderPointer.patch +patches/16-ThinGeometryProxy.patch +patches/17-MiniIconSize.patch diff --git a/ports/fvwm-patched/version b/ports/fvwm-patched/version new file mode 100644 index 0000000..2cfaee0 --- /dev/null +++ b/ports/fvwm-patched/version @@ -0,0 +1 @@ +2.6.9-patched 1 diff --git a/ports/fvwm2/build b/ports/fvwm2/build new file mode 100755 index 0000000..5895332 --- /dev/null +++ b/ports/fvwm2/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +./configure --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/fvwm2/checksums b/ports/fvwm2/checksums new file mode 100644 index 0000000..bc697e6 --- /dev/null +++ b/ports/fvwm2/checksums @@ -0,0 +1 @@ +1bc64cf3ccd0073008758168327a8265b8059def9b239b451d6b9fab2cc391ae diff --git a/ports/fvwm2/depends b/ports/fvwm2/depends new file mode 100644 index 0000000..d074e1f --- /dev/null +++ b/ports/fvwm2/depends @@ -0,0 +1,2 @@ +libXpm +libpng diff --git a/ports/fvwm2/sources b/ports/fvwm2/sources new file mode 100644 index 0000000..8cedfc7 --- /dev/null +++ b/ports/fvwm2/sources @@ -0,0 +1 @@ +https://github.com/fvwmorg/fvwm/releases/download/2.6.9/fvwm-2.6.9.tar.gz diff --git a/ports/fvwm2/version b/ports/fvwm2/version new file mode 100644 index 0000000..beb0dd5 --- /dev/null +++ b/ports/fvwm2/version @@ -0,0 +1 @@ +2.6.9 1 diff --git a/ports/fvwm3-git/build b/ports/fvwm3-git/build new file mode 100755 index 0000000..adcd846 --- /dev/null +++ b/ports/fvwm3-git/build @@ -0,0 +1,19 @@ +#!/bin/sh -e + +# Pull asciidoctor with the best tool available +if [ -x /bin/axel ] +then axel --output=tmp.tgz https://github.com/asciidoctor/asciidoctor/archive/refs/tags/v2.0.14.tar.gz +else curl --output tmp.tgz https://github.com/asciidoctor/asciidoctor/archive/refs/tags/v2.0.14.tar.gz +fi +# Unpack it and set its bindir into PATH for building FVWM docs +tar xf tmp.tgz +export PATH="$PWD/asciidoctor-2.0.14/bin/:$PATH" + +./autogen.sh +./configure \ + --prefix=/usr \ + --enable-mandoc + +ls +make +make DESTDIR="$1" install diff --git a/ports/fvwm3-git/depends b/ports/fvwm3-git/depends new file mode 100644 index 0000000..c27ac9c --- /dev/null +++ b/ports/fvwm3-git/depends @@ -0,0 +1,9 @@ +autoconf make +automake make +libXinerama +libXpm +libXt +libbson-git +libpng +pkgconf make +ruby make diff --git a/ports/fvwm3-git/sources b/ports/fvwm3-git/sources new file mode 100644 index 0000000..5be34f9 --- /dev/null +++ b/ports/fvwm3-git/sources @@ -0,0 +1 @@ +git+https://github.com/fvwmorg/fvwm3 diff --git a/ports/fvwm3-git/version b/ports/fvwm3-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/fvwm3-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/gavin-bc-git/JUSTIFICATION b/ports/gavin-bc-git/JUSTIFICATION new file mode 100644 index 0000000..df4ed07 --- /dev/null +++ b/ports/gavin-bc-git/JUSTIFICATION @@ -0,0 +1 @@ +There isn't actually anything wrong with Gavin's implementation of bc/dc; it's a great program and perfectly suitable for daily use. For whatever reason it can sometimes fail to build when using my standard userland; the solution to this is to indent any src lines with tabs diff --git a/ports/gavin-bc-git/build b/ports/gavin-bc-git/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/gavin-bc-git/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/gavin-bc-git/sources b/ports/gavin-bc-git/sources new file mode 100644 index 0000000..6708d38 --- /dev/null +++ b/ports/gavin-bc-git/sources @@ -0,0 +1 @@ +git+https://git.yzena.com/gavin/bc diff --git a/ports/gavin-bc-git/version b/ports/gavin-bc-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/gavin-bc-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/gcc10/build b/ports/gcc10/build new file mode 100755 index 0000000..ca2260a --- /dev/null +++ b/ports/gcc10/build @@ -0,0 +1,74 @@ +#!/bin/sh -e + +# Make sure gmp is built with generic options. +cp gcc/gmp/configfsf.guess gcc/gmp/config.guess +cp gcc/gmp/configfsf.sub gcc/gmp/config.sub + +# Use lib not lib64 by default. +sed -i '/m64=/s/lib64/lib/' gcc/gcc/config/i386/t-linux64 +sed -i 's/lib64/lib/' gcc/gcc/config/i386/linux64.h + +# Build must happen outside of gcc source. +mkdir -p gcc-build +cd gcc-build + +# Grab the system's GCC version. +IFS=. read -r gcc_version _ 2>/dev/null \ + < "$KISS_ROOT/var/db/kiss/installed/gcc/version" || gcc_version=null + +# Skip the bootstrap process if we are able. +case $2 in "$gcc_version"*) + printf '%s\n' "Minor version difference, disabling bootstrap." + bootstrap=--disable-bootstrap +esac + +export libat_cv_have_ifunc=no + +../gcc/configure \ + --prefix=/usr \ + --libexecdir=/usr/lib \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --disable-multilib \ + --disable-symvers \ + --disable-libmpx \ + --disable-libmudflap \ + --disable-libsanitizer \ + --disable-werror \ + --disable-fixed-point \ + --disable-libstdcxx-pch \ + --disable-nls \ + --enable-checking=release \ + --enable-__cxa_atexit \ + --enable-default-pie \ + --enable-default-ssp \ + --enable-shared \ + --enable-threads \ + --enable-tls \ + --enable-languages=c,c++ \ + --without-included-gettext \ + --with-system-zlib \ + --build=x86_64-pc-linux-gnu \ + "${bootstrap:---enable-bootstrap}" + +make +make DESTDIR="$1" install + +# Save 35MB. +find "$1" -name libgtkpeer.a -exec rm -f {} + +find "$1" -name libgjsmalsa.a -exec rm -f {} + +find "$1" -name libgij.a -exec rm -f {} + + +# Some legacy programs will expect cc +ln -s gcc "$1/usr/bin/cc" + +# POSIX compliance. +install -Dm755 ../c99 "$1/usr/bin/c99" + +# Symlink for LTO. +{ + mkdir -p "$1/usr/lib/bfd-plugins" + + ln -s "/usr/lib/gcc/x86_64-pc-linux-gnu/$2/liblto_plugin.so" \ + "$1/usr/lib/bfd-plugins/liblto_plugin.so" +} diff --git a/ports/gcc10/checksums b/ports/gcc10/checksums new file mode 100644 index 0000000..557c5d0 --- /dev/null +++ b/ports/gcc10/checksums @@ -0,0 +1,5 @@ +64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344 +fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2 +0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f +17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459 +765614b3396d70bca3fa0ae4a813632486c6dca320e2bd13c8c39dca52be4a4c diff --git a/ports/gcc10/depends b/ports/gcc10/depends new file mode 100644 index 0000000..ca8b7e5 --- /dev/null +++ b/ports/gcc10/depends @@ -0,0 +1,4 @@ +binutils +bison make +flex make +zlib diff --git a/ports/gcc10/files/c99 b/ports/gcc10/files/c99 new file mode 100644 index 0000000..692f092 --- /dev/null +++ b/ports/gcc10/files/c99 @@ -0,0 +1,2 @@ +#!/bin/sh +exec cc -std=c99 "$@" diff --git a/ports/gcc10/manifest b/ports/gcc10/manifest new file mode 100644 index 0000000..a6d6f30 --- /dev/null +++ b/ports/gcc10/manifest @@ -0,0 +1,1517 @@ +/var/db/kiss/installed/gcc/version +/var/db/kiss/installed/gcc/sources +/var/db/kiss/installed/gcc/manifest +/var/db/kiss/installed/gcc/files/c99 +/var/db/kiss/installed/gcc/files/ +/var/db/kiss/installed/gcc/depends +/var/db/kiss/installed/gcc/checksums +/var/db/kiss/installed/gcc/build +/var/db/kiss/installed/gcc/ +/var/db/kiss/installed/ +/var/db/kiss/ +/var/db/ +/var/ +/usr/share/man/man7/gpl.7 +/usr/share/man/man7/gfdl.7 +/usr/share/man/man7/fsf-funding.7 +/usr/share/man/man7/ +/usr/share/man/man1/lto-dump.1 +/usr/share/man/man1/gcov.1 +/usr/share/man/man1/gcov-tool.1 +/usr/share/man/man1/gcov-dump.1 +/usr/share/man/man1/gcc.1 +/usr/share/man/man1/g++.1 +/usr/share/man/man1/cpp.1 +/usr/share/man/man1/ +/usr/share/man/ +/usr/share/gcc-10.3.0/python/libstdcxx/v6/xmethods.py +/usr/share/gcc-10.3.0/python/libstdcxx/v6/printers.py +/usr/share/gcc-10.3.0/python/libstdcxx/v6/__init__.py +/usr/share/gcc-10.3.0/python/libstdcxx/v6/ +/usr/share/gcc-10.3.0/python/libstdcxx/__init__.py +/usr/share/gcc-10.3.0/python/libstdcxx/ +/usr/share/gcc-10.3.0/python/ +/usr/share/gcc-10.3.0/ +/usr/share/ +/usr/lib/libsupc++.a +/usr/lib/libstdc++fs.a +/usr/lib/libstdc++.so.6.0.28-gdb.py +/usr/lib/libstdc++.so.6.0.28 +/usr/lib/libstdc++.so.6 +/usr/lib/libstdc++.so +/usr/lib/libstdc++.a +/usr/lib/libssp_nonshared.a +/usr/lib/libssp.so.0.0.0 +/usr/lib/libssp.so.0 +/usr/lib/libssp.so +/usr/lib/libssp.a +/usr/lib/libquadmath.so.0.0.0 +/usr/lib/libquadmath.so.0 +/usr/lib/libquadmath.so +/usr/lib/libquadmath.a +/usr/lib/libitm.spec +/usr/lib/libitm.so.1.0.0 +/usr/lib/libitm.so.1 +/usr/lib/libitm.so +/usr/lib/libitm.a +/usr/lib/libgomp.spec +/usr/lib/libgomp.so.1.0.0 +/usr/lib/libgomp.so.1 +/usr/lib/libgomp.so +/usr/lib/libgomp.a +/usr/lib/libgcc_s.so.1 +/usr/lib/libgcc_s.so +/usr/lib/libcc1.so.0.0.0 +/usr/lib/libcc1.so.0 +/usr/lib/libcc1.so +/usr/lib/libatomic.so.1.2.0 +/usr/lib/libatomic.so.1 +/usr/lib/libatomic.so +/usr/lib/libatomic.a +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/libcp1plugin.so.0.0.0 +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/libcp1plugin.so.0 +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/libcp1plugin.so +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/libcc1plugin.so.0.0.0 +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/libcc1plugin.so.0 +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/libcc1plugin.so +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/xcoffout.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/xcoff.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/wide-int.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/wide-int-print.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/wide-int-bitmask.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/vtable-verify.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/vr-values.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/vmsdbg.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/version.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/vector-builder.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/vec.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/vec-perm-indices.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/varasm.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/value-range.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/value-prof.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/valtrack.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ubsan.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/typed-splay-tree.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/typeclass.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tsystem.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tsan.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tristate.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/treestruct.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-vrp.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-vectorizer.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-vector-builder.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-switch-conversion.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-streamer.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-stdarg.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssanames.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-threadupdate.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-threadedge.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-ter.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-strlen.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-scopedtables.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-sccvn.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-propagate.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-operands.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-loop.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-loop-niter.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-loop-manip.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-loop-ivopts.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-live.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-dse.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-dom.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-dce.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-coalesce.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-ccp.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-alias.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-ssa-address.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-sra.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-scalar-evolution.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-pretty-print.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-phinodes.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-pass.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-parloops.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-outof-ssa.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-object-size.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-nested.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-iterator.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-into-ssa.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-inline.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-if-conv.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-hasher.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-hash-traits.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-eh.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-dump.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-diagnostic.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-dfa.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-data-ref.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-core.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-chrec.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-check.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-cfgcleanup.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-cfg.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tree-affine.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/trans-mem.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tracer.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/toplev.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tm_p.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tm.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/tm-preds.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/timevar.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/timevar.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/targhooks.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/target.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/target.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/target-insns.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/target-hooks-macros.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/target-globals.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/target-def.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/system.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/sync-builtins.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/symtab.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/symbol-summary.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/substring-locations.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/stringpool.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/streamer-hooks.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/stor-layout.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/stmt.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/statistics.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/stab.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ssa.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ssa-iterators.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/sreal.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/splay-tree.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/spellcheck.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/spellcheck-tree.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/sparseset.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/signop.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/shrink-wrap.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/shortest-paths.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/sese.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/selftest.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/selftest-rtl.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/selftest-diagnostic.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/sel-sched.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/sel-sched-ir.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/sel-sched-dump.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/sched-int.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/sbitmap.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/sanitizer.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/safe-ctype.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/run-rtl-passes.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/rtx-vector-builder.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/rtlhooks-def.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/rtlhash.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/rtl.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/rtl.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/rtl-iter.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/rtl-error.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/resource.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/reload.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/regset.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/regs.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/regrename.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/regcprop.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/reg-notes.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/recog.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/realmpfr.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/real.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/read-rtl-function.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/read-md.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/range.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/range-op.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/profile.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/profile-count.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/print-tree.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/print-rtl.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/pretty-print.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/prefix.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/predict.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/predict.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/poly-int.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/poly-int-types.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/plugin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/plugin.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/plugin-version.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/plugin-api.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/passes.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/pass_manager.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/pass-instances.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/output.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ordered-hash-map.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/opts.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/opts-diagnostic.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/options.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/optinfo.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/optinfo-emit-json.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/optabs.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/optabs.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/optabs-tree.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/optabs-query.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/optabs-libfuncs.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/opt-suggestions.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/opt-problem.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/omp-simd-clone.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/omp-offload.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/omp-low.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/omp-grid.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/omp-general.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/omp-expand.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/omp-builtins.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/obstack.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/objc/objc-tree.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/objc/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/mode-classes.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/memory-block.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/memmodel.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/mem-stats.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/mem-stats-traits.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/md5.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/machmode.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/machmode.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/lto-streamer.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/lto-section-names.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/lto-compress.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/lra.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/lra-int.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/lower-subreg.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/loop-unroll.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/line-map.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/limity.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/limitx.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/libiberty.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/libfuncs.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/lcm.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/langhooks.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/langhooks-def.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/json.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/is-a.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ira.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ira-int.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ipa-utils.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ipa-reference.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ipa-ref.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ipa-prop.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ipa-predicate.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ipa-param-manipulation.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ipa-inline.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ipa-icf.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ipa-icf-gimple.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ipa-fnsummary.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/intl.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/internal-fn.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/internal-fn.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/int-vector-builder.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/insn-notes.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/insn-modes.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/insn-modes-inline.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/insn-flags.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/insn-constants.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/insn-config.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/insn-codes.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/insn-attr.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/insn-attr-common.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/insn-addr.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/input.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/incpath.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/inchash.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ifcvt.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/hwint.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/hw-doloop.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/hsa-common.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/hsa-builtins.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/hsa-brig-format.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/hosthooks.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/hosthooks-def.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/hooks.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/highlev-plugin-common.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/hashtab.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/hash-traits.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/hash-table.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/hash-set.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/hash-map.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/hash-map-traits.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/hard-reg-set.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gtype-desc.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gtm-builtins.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gsyslimits.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gsyms.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gstab.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gsstruct.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/graphviz.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/graphite.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/graphds.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/graph.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gomp-constants.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/glimits.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimplify.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimplify-me.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimple.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimple.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimple-walk.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimple-streamer.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimple-ssa.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimple-ssa-warn-restrict.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimple-ssa-evrp-analyze.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimple-pretty-print.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimple-predict.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimple-match.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimple-low.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimple-iterator.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimple-fold.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimple-expr.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gimple-builder.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ggc.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ggc-internal.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gensupport.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/genrtl.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gengtype.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/generic-match.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gcse.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gcse-common.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gcov-io.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gcov-counter.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gcc.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gcc-symtab.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gcc-rich-location.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/gcc-plugin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/function.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/function-abi.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/fold-const.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/fold-const-call.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/flags.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/flag-types.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/fixed-value.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/filenames.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/file-prefix-map.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/file-find.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/fibonacci_heap.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/expr.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/expmed.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/explow.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/except.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/et-forest.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/escaped_string.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/errors.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/emit-rtl.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/edit-context.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/dwarf2out.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/dwarf2asm.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/dumpfile.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/dump-context.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/double-int.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/domwalk.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/dominance.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/dojump.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/digraph.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/diagnostic.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/diagnostic.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/diagnostic-url.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/diagnostic-path.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/diagnostic-metadata.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/diagnostic-event-id.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/diagnostic-core.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/diagnostic-color.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/dfp.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/df.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/defaults.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/debug.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ddg.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/dce.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/dbxout.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/dbgcnt.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/dbgcnt.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/data-streamer.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/d/d-tree.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/d/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cselib.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cpplib.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cppdefault.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cppbuiltin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cp/type-utils.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cp/operators.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cp/name-lookup.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cp/cxx-pretty-print.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cp/cp-tree.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cp/cp-tree.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cp/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/coverage.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/coroutine-builtins.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/coretypes.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/convert.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/context.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/configargs.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/vxworks-dummy.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/linux.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/linux-protos.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/linux-android.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/initfini-array.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/i386/x86-tune.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/i386/x86-64.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/i386/unix.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/i386/stringop.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/i386/linux64.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/i386/linux-common.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/i386/i386.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/i386/i386-protos.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/i386/i386-opts.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/i386/gnu-user64.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/i386/gnu-user-common.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/i386/biarch64.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/i386/att.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/i386/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/gnu-user.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/glibc-stdint.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/elfos.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/dbxelf.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/config.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/conditions.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/common/config/i386/i386-cpuinfo.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/common/config/i386/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/common/config/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/common/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/color-macros.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/collect2.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/collect2-aix.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/collect-utils.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cif-code.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cgraph.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cfgrtl.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cfgloopmanip.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cfgloop.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cfghooks.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cfgexpand.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cfgcleanup.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cfgbuild.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cfganal.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cfg.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/cfg-flags.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ccmp.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/calls.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/c-tree.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/c-family/c-pretty-print.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/c-family/c-pragma.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/c-family/c-objc.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/c-family/c-common.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/c-family/c-common.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/c-family/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/bversion.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/builtins.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/builtins.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/builtin-types.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/builtin-attrs.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/brig-builtins.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/bitmap.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/bb-reorder.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/basic-block.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/backend.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/b-header-vars +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/auto-profile.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/auto-host.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/attribs.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/asan.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/array-traits.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ansidecl.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/alloc-pool.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/all-tree.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/align.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/alias.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/addresses.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ada/gcc-interface/ada-tree.def +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ada/gcc-interface/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ada/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/include/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/gtype.state +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/gengtype +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/plugin/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/lto1 +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/lto-wrapper +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/liblto_plugin.so.0.0.0 +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/liblto_plugin.so.0 +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/liblto_plugin.so +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/libgcov.a +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/libgcc_eh.a +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/libgcc.a +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/install-tools/mkinstalldirs +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/install-tools/mkheaders.conf +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/install-tools/mkheaders +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/install-tools/macro_list +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/install-tools/include/limits.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/install-tools/include/README +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/install-tools/include/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/install-tools/gsyslimits.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/install-tools/fixincl +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/install-tools/fixinc_list +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/install-tools/fixinc.sh +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/install-tools/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/xtestintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/xsavesintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/xsaveoptintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/xsaveintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/xsavecintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/xopintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/xmmintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/x86intrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/wmmintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/wbnoinvdintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/waitpkgintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/vpclmulqdqintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/varargs.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/vaesintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/unwind.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/tmmintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/tbmintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/stdnoreturn.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/stdint.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/stdint-gcc.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/stdfix.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/stddef.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/stdbool.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/stdatomic.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/stdarg.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/stdalign.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/ssp/unistd.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/ssp/string.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/ssp/stdio.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/ssp/ssp.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/ssp/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/smmintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/shaintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/sgxintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/rtmintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/rdseedintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/quadmath_weak.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/quadmath.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/prfchwintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/popcntintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/pmmintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/pkuintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/pconfigintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/openacc.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/omp.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/nmmintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/mwaitxintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/movdirintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/mmintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/mm_malloc.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/mm3dnow.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/lzcntintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/lwpintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/iso646.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/immintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/ia32intrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/gfniintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/gcov.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/fxsrintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/fmaintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/fma4intrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/float.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/f16cintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/enqcmdintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/emmintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/cross-stdarg.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/cpuid.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/clzerointrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/clwbintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/clflushoptintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/cldemoteintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/cetintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/cet.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/bmmintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/bmiintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/bmi2intrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avxintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512vpopcntdqvlintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512vpopcntdqintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512vp2intersectvlintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512vp2intersectintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512vnnivlintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512vnniintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512vlintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512vldqintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512vlbwintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512vbmivlintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512vbmiintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512vbmi2vlintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512vbmi2intrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512pfintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512ifmavlintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512ifmaintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512fintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512erintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512dqintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512cdintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512bwintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512bitalgintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512bf16vlintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx512bf16intrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx5124vnniwintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx5124fmapsintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avx2intrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/ammintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/adxintrin.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/acc_prof.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include-fixed/syslimits.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include-fixed/limits.h +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include-fixed/X11/Xaw3dxft/Xaw3dxft +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include-fixed/X11/Xaw3dxft/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include-fixed/X11/Xaw3d +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include-fixed/X11/Xaw +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include-fixed/X11/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include-fixed/README +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include-fixed/ +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/crtprec80.o +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/crtprec64.o +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/crtprec32.o +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/crtfastmath.o +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/crtendS.o +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/crtend.o +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/crtbeginT.o +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/crtbeginS.o +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/crtbegin.o +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/collect2 +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/cc1plus +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/cc1 +/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/ +/usr/lib/gcc/x86_64-pc-linux-gnu/ +/usr/lib/gcc/ +/usr/lib/bfd-plugins/liblto_plugin.so +/usr/lib/bfd-plugins/ +/usr/lib/ +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/ext/opt_random.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/ext/ +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/time_members.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/stdtr1c++.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/stdc++.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/os_defines.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/opt_random.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/messages_members.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/gthr.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/gthr-single.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/gthr-posix.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/gthr-default.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/extc++.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/error_constants.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/cxxabi_tweaks.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/ctype_inline.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/ctype_base.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/cpu_defines.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/c++locale.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/c++io.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/c++config.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/c++allocator.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/basic_file.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/atomic_word.h +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/bits/ +/usr/include/c++/10.3.0/x86_64-pc-linux-gnu/ +/usr/include/c++/10.3.0/version +/usr/include/c++/10.3.0/vector +/usr/include/c++/10.3.0/variant +/usr/include/c++/10.3.0/valarray +/usr/include/c++/10.3.0/utility +/usr/include/c++/10.3.0/unordered_set +/usr/include/c++/10.3.0/unordered_map +/usr/include/c++/10.3.0/typeinfo +/usr/include/c++/10.3.0/typeindex +/usr/include/c++/10.3.0/type_traits +/usr/include/c++/10.3.0/tuple +/usr/include/c++/10.3.0/tr2/type_traits +/usr/include/c++/10.3.0/tr2/ratio +/usr/include/c++/10.3.0/tr2/dynamic_bitset.tcc +/usr/include/c++/10.3.0/tr2/dynamic_bitset +/usr/include/c++/10.3.0/tr2/bool_set.tcc +/usr/include/c++/10.3.0/tr2/bool_set +/usr/include/c++/10.3.0/tr2/ +/usr/include/c++/10.3.0/tr1/wctype.h +/usr/include/c++/10.3.0/tr1/wchar.h +/usr/include/c++/10.3.0/tr1/utility +/usr/include/c++/10.3.0/tr1/unordered_set.h +/usr/include/c++/10.3.0/tr1/unordered_set +/usr/include/c++/10.3.0/tr1/unordered_map.h +/usr/include/c++/10.3.0/tr1/unordered_map +/usr/include/c++/10.3.0/tr1/type_traits +/usr/include/c++/10.3.0/tr1/tuple +/usr/include/c++/10.3.0/tr1/tgmath.h +/usr/include/c++/10.3.0/tr1/stdlib.h +/usr/include/c++/10.3.0/tr1/stdio.h +/usr/include/c++/10.3.0/tr1/stdint.h +/usr/include/c++/10.3.0/tr1/stdbool.h +/usr/include/c++/10.3.0/tr1/stdarg.h +/usr/include/c++/10.3.0/tr1/special_function_util.h +/usr/include/c++/10.3.0/tr1/shared_ptr.h +/usr/include/c++/10.3.0/tr1/riemann_zeta.tcc +/usr/include/c++/10.3.0/tr1/regex +/usr/include/c++/10.3.0/tr1/random.tcc +/usr/include/c++/10.3.0/tr1/random.h +/usr/include/c++/10.3.0/tr1/random +/usr/include/c++/10.3.0/tr1/poly_laguerre.tcc +/usr/include/c++/10.3.0/tr1/poly_hermite.tcc +/usr/include/c++/10.3.0/tr1/modified_bessel_func.tcc +/usr/include/c++/10.3.0/tr1/memory +/usr/include/c++/10.3.0/tr1/math.h +/usr/include/c++/10.3.0/tr1/limits.h +/usr/include/c++/10.3.0/tr1/legendre_function.tcc +/usr/include/c++/10.3.0/tr1/inttypes.h +/usr/include/c++/10.3.0/tr1/hypergeometric.tcc +/usr/include/c++/10.3.0/tr1/hashtable_policy.h +/usr/include/c++/10.3.0/tr1/hashtable.h +/usr/include/c++/10.3.0/tr1/gamma.tcc +/usr/include/c++/10.3.0/tr1/functional_hash.h +/usr/include/c++/10.3.0/tr1/functional +/usr/include/c++/10.3.0/tr1/float.h +/usr/include/c++/10.3.0/tr1/fenv.h +/usr/include/c++/10.3.0/tr1/exp_integral.tcc +/usr/include/c++/10.3.0/tr1/ell_integral.tcc +/usr/include/c++/10.3.0/tr1/cwctype +/usr/include/c++/10.3.0/tr1/cwchar +/usr/include/c++/10.3.0/tr1/ctype.h +/usr/include/c++/10.3.0/tr1/ctime +/usr/include/c++/10.3.0/tr1/ctgmath +/usr/include/c++/10.3.0/tr1/cstdlib +/usr/include/c++/10.3.0/tr1/cstdio +/usr/include/c++/10.3.0/tr1/cstdint +/usr/include/c++/10.3.0/tr1/cstdbool +/usr/include/c++/10.3.0/tr1/cstdarg +/usr/include/c++/10.3.0/tr1/complex.h +/usr/include/c++/10.3.0/tr1/complex +/usr/include/c++/10.3.0/tr1/cmath +/usr/include/c++/10.3.0/tr1/climits +/usr/include/c++/10.3.0/tr1/cinttypes +/usr/include/c++/10.3.0/tr1/cfloat +/usr/include/c++/10.3.0/tr1/cfenv +/usr/include/c++/10.3.0/tr1/cctype +/usr/include/c++/10.3.0/tr1/ccomplex +/usr/include/c++/10.3.0/tr1/beta_function.tcc +/usr/include/c++/10.3.0/tr1/bessel_function.tcc +/usr/include/c++/10.3.0/tr1/array +/usr/include/c++/10.3.0/tr1/ +/usr/include/c++/10.3.0/thread +/usr/include/c++/10.3.0/tgmath.h +/usr/include/c++/10.3.0/system_error +/usr/include/c++/10.3.0/string_view +/usr/include/c++/10.3.0/string +/usr/include/c++/10.3.0/streambuf +/usr/include/c++/10.3.0/stop_token +/usr/include/c++/10.3.0/stdlib.h +/usr/include/c++/10.3.0/stdexcept +/usr/include/c++/10.3.0/stack +/usr/include/c++/10.3.0/sstream +/usr/include/c++/10.3.0/span +/usr/include/c++/10.3.0/shared_mutex +/usr/include/c++/10.3.0/set +/usr/include/c++/10.3.0/scoped_allocator +/usr/include/c++/10.3.0/regex +/usr/include/c++/10.3.0/ratio +/usr/include/c++/10.3.0/ranges +/usr/include/c++/10.3.0/random +/usr/include/c++/10.3.0/queue +/usr/include/c++/10.3.0/pstl/utils.h +/usr/include/c++/10.3.0/pstl/unseq_backend_simd.h +/usr/include/c++/10.3.0/pstl/pstl_config.h +/usr/include/c++/10.3.0/pstl/parallel_impl.h +/usr/include/c++/10.3.0/pstl/parallel_backend_utils.h +/usr/include/c++/10.3.0/pstl/parallel_backend_tbb.h +/usr/include/c++/10.3.0/pstl/parallel_backend_serial.h +/usr/include/c++/10.3.0/pstl/parallel_backend.h +/usr/include/c++/10.3.0/pstl/numeric_impl.h +/usr/include/c++/10.3.0/pstl/numeric_fwd.h +/usr/include/c++/10.3.0/pstl/memory_impl.h +/usr/include/c++/10.3.0/pstl/glue_numeric_impl.h +/usr/include/c++/10.3.0/pstl/glue_numeric_defs.h +/usr/include/c++/10.3.0/pstl/glue_memory_impl.h +/usr/include/c++/10.3.0/pstl/glue_memory_defs.h +/usr/include/c++/10.3.0/pstl/glue_execution_defs.h +/usr/include/c++/10.3.0/pstl/glue_algorithm_impl.h +/usr/include/c++/10.3.0/pstl/glue_algorithm_defs.h +/usr/include/c++/10.3.0/pstl/execution_impl.h +/usr/include/c++/10.3.0/pstl/execution_defs.h +/usr/include/c++/10.3.0/pstl/algorithm_impl.h +/usr/include/c++/10.3.0/pstl/algorithm_fwd.h +/usr/include/c++/10.3.0/pstl/ +/usr/include/c++/10.3.0/parallel/workstealing.h +/usr/include/c++/10.3.0/parallel/unique_copy.h +/usr/include/c++/10.3.0/parallel/types.h +/usr/include/c++/10.3.0/parallel/tags.h +/usr/include/c++/10.3.0/parallel/sort.h +/usr/include/c++/10.3.0/parallel/settings.h +/usr/include/c++/10.3.0/parallel/set_operations.h +/usr/include/c++/10.3.0/parallel/search.h +/usr/include/c++/10.3.0/parallel/random_shuffle.h +/usr/include/c++/10.3.0/parallel/random_number.h +/usr/include/c++/10.3.0/parallel/quicksort.h +/usr/include/c++/10.3.0/parallel/queue.h +/usr/include/c++/10.3.0/parallel/partition.h +/usr/include/c++/10.3.0/parallel/partial_sum.h +/usr/include/c++/10.3.0/parallel/parallel.h +/usr/include/c++/10.3.0/parallel/par_loop.h +/usr/include/c++/10.3.0/parallel/omp_loop_static.h +/usr/include/c++/10.3.0/parallel/omp_loop.h +/usr/include/c++/10.3.0/parallel/numericfwd.h +/usr/include/c++/10.3.0/parallel/numeric +/usr/include/c++/10.3.0/parallel/multiway_mergesort.h +/usr/include/c++/10.3.0/parallel/multiway_merge.h +/usr/include/c++/10.3.0/parallel/multiseq_selection.h +/usr/include/c++/10.3.0/parallel/merge.h +/usr/include/c++/10.3.0/parallel/losertree.h +/usr/include/c++/10.3.0/parallel/list_partition.h +/usr/include/c++/10.3.0/parallel/iterator.h +/usr/include/c++/10.3.0/parallel/for_each_selectors.h +/usr/include/c++/10.3.0/parallel/for_each.h +/usr/include/c++/10.3.0/parallel/find_selectors.h +/usr/include/c++/10.3.0/parallel/find.h +/usr/include/c++/10.3.0/parallel/features.h +/usr/include/c++/10.3.0/parallel/equally_split.h +/usr/include/c++/10.3.0/parallel/compiletime_settings.h +/usr/include/c++/10.3.0/parallel/compatibility.h +/usr/include/c++/10.3.0/parallel/checkers.h +/usr/include/c++/10.3.0/parallel/basic_iterator.h +/usr/include/c++/10.3.0/parallel/base.h +/usr/include/c++/10.3.0/parallel/balanced_quicksort.h +/usr/include/c++/10.3.0/parallel/algorithmfwd.h +/usr/include/c++/10.3.0/parallel/algorithm +/usr/include/c++/10.3.0/parallel/algobase.h +/usr/include/c++/10.3.0/parallel/algo.h +/usr/include/c++/10.3.0/parallel/ +/usr/include/c++/10.3.0/ostream +/usr/include/c++/10.3.0/optional +/usr/include/c++/10.3.0/numeric +/usr/include/c++/10.3.0/numbers +/usr/include/c++/10.3.0/new +/usr/include/c++/10.3.0/mutex +/usr/include/c++/10.3.0/memory_resource +/usr/include/c++/10.3.0/memory +/usr/include/c++/10.3.0/math.h +/usr/include/c++/10.3.0/map +/usr/include/c++/10.3.0/locale +/usr/include/c++/10.3.0/list +/usr/include/c++/10.3.0/limits +/usr/include/c++/10.3.0/iterator +/usr/include/c++/10.3.0/istream +/usr/include/c++/10.3.0/iostream +/usr/include/c++/10.3.0/iosfwd +/usr/include/c++/10.3.0/ios +/usr/include/c++/10.3.0/iomanip +/usr/include/c++/10.3.0/initializer_list +/usr/include/c++/10.3.0/future +/usr/include/c++/10.3.0/functional +/usr/include/c++/10.3.0/fstream +/usr/include/c++/10.3.0/forward_list +/usr/include/c++/10.3.0/filesystem +/usr/include/c++/10.3.0/fenv.h +/usr/include/c++/10.3.0/ext/vstring_util.h +/usr/include/c++/10.3.0/ext/vstring_fwd.h +/usr/include/c++/10.3.0/ext/vstring.tcc +/usr/include/c++/10.3.0/ext/vstring.h +/usr/include/c++/10.3.0/ext/typelist.h +/usr/include/c++/10.3.0/ext/type_traits.h +/usr/include/c++/10.3.0/ext/throw_allocator.h +/usr/include/c++/10.3.0/ext/string_conversions.h +/usr/include/c++/10.3.0/ext/stdio_sync_filebuf.h +/usr/include/c++/10.3.0/ext/stdio_filebuf.h +/usr/include/c++/10.3.0/ext/sso_string_base.h +/usr/include/c++/10.3.0/ext/slist +/usr/include/c++/10.3.0/ext/ropeimpl.h +/usr/include/c++/10.3.0/ext/rope +/usr/include/c++/10.3.0/ext/rc_string_base.h +/usr/include/c++/10.3.0/ext/rb_tree +/usr/include/c++/10.3.0/ext/random.tcc +/usr/include/c++/10.3.0/ext/random +/usr/include/c++/10.3.0/ext/pool_allocator.h +/usr/include/c++/10.3.0/ext/pointer.h +/usr/include/c++/10.3.0/ext/pod_char_traits.h +/usr/include/c++/10.3.0/ext/pb_ds/trie_policy.hpp +/usr/include/c++/10.3.0/ext/pb_ds/tree_policy.hpp +/usr/include/c++/10.3.0/ext/pb_ds/tag_and_trait.hpp +/usr/include/c++/10.3.0/ext/pb_ds/priority_queue.hpp +/usr/include/c++/10.3.0/ext/pb_ds/list_update_policy.hpp +/usr/include/c++/10.3.0/ext/pb_ds/hash_policy.hpp +/usr/include/c++/10.3.0/ext/pb_ds/exception.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/unordered_iterator/iterator.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/unordered_iterator/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/types_traits.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/type_utils.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/trie_policy/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/tree_trace_base.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/tree_policy/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/thin_heap_/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/standard_policies.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/splay_tree_/traits.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/splay_tree_/node.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/splay_tree_/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/resize_policy/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rc_binomial_heap_/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/rb_tree_map_/traits.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rb_tree_map_/node.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/rb_tree_map_/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/priority_queue_base_dispatch.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/traits.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pat_trie_/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/pairing_heap_/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/ov_tree_map_/traits.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/ov_tree_map_/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/list_update_policy/lu_counter_metadata.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/list_update_policy/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/list_update_map_/lu_map_.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/list_update_map_/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/left_child_next_sibling_heap_/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/hash_fn/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/gp_hash_table_map_/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/eq_fn/eq_by_less.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/eq_fn/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/debug_map_base.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/container_base_dispatch.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cond_dealtor.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/cc_hash_table_map_/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/branch_policy/traits.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/branch_policy/branch_policy.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/branch_policy/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binomial_heap_base_/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binomial_heap_/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/resize_policy.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/entry_pred.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/const_iterator.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/binary_heap_/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/bin_search_tree_/traits.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp +/usr/include/c++/10.3.0/ext/pb_ds/detail/bin_search_tree_/ +/usr/include/c++/10.3.0/ext/pb_ds/detail/ +/usr/include/c++/10.3.0/ext/pb_ds/assoc_container.hpp +/usr/include/c++/10.3.0/ext/pb_ds/ +/usr/include/c++/10.3.0/ext/numeric_traits.h +/usr/include/c++/10.3.0/ext/numeric +/usr/include/c++/10.3.0/ext/new_allocator.h +/usr/include/c++/10.3.0/ext/mt_allocator.h +/usr/include/c++/10.3.0/ext/memory +/usr/include/c++/10.3.0/ext/malloc_allocator.h +/usr/include/c++/10.3.0/ext/iterator +/usr/include/c++/10.3.0/ext/hash_set +/usr/include/c++/10.3.0/ext/hash_map +/usr/include/c++/10.3.0/ext/functional +/usr/include/c++/10.3.0/ext/extptr_allocator.h +/usr/include/c++/10.3.0/ext/enc_filebuf.h +/usr/include/c++/10.3.0/ext/debug_allocator.h +/usr/include/c++/10.3.0/ext/concurrence.h +/usr/include/c++/10.3.0/ext/codecvt_specializations.h +/usr/include/c++/10.3.0/ext/cmath +/usr/include/c++/10.3.0/ext/cast.h +/usr/include/c++/10.3.0/ext/bitmap_allocator.h +/usr/include/c++/10.3.0/ext/atomicity.h +/usr/include/c++/10.3.0/ext/alloc_traits.h +/usr/include/c++/10.3.0/ext/aligned_buffer.h +/usr/include/c++/10.3.0/ext/algorithm +/usr/include/c++/10.3.0/ext/ +/usr/include/c++/10.3.0/experimental/vector +/usr/include/c++/10.3.0/experimental/utility +/usr/include/c++/10.3.0/experimental/unordered_set +/usr/include/c++/10.3.0/experimental/unordered_map +/usr/include/c++/10.3.0/experimental/type_traits +/usr/include/c++/10.3.0/experimental/tuple +/usr/include/c++/10.3.0/experimental/timer +/usr/include/c++/10.3.0/experimental/system_error +/usr/include/c++/10.3.0/experimental/string_view +/usr/include/c++/10.3.0/experimental/string +/usr/include/c++/10.3.0/experimental/source_location +/usr/include/c++/10.3.0/experimental/socket +/usr/include/c++/10.3.0/experimental/set +/usr/include/c++/10.3.0/experimental/regex +/usr/include/c++/10.3.0/experimental/ratio +/usr/include/c++/10.3.0/experimental/random +/usr/include/c++/10.3.0/experimental/propagate_const +/usr/include/c++/10.3.0/experimental/optional +/usr/include/c++/10.3.0/experimental/numeric +/usr/include/c++/10.3.0/experimental/netfwd +/usr/include/c++/10.3.0/experimental/net +/usr/include/c++/10.3.0/experimental/memory_resource +/usr/include/c++/10.3.0/experimental/memory +/usr/include/c++/10.3.0/experimental/map +/usr/include/c++/10.3.0/experimental/list +/usr/include/c++/10.3.0/experimental/iterator +/usr/include/c++/10.3.0/experimental/io_context +/usr/include/c++/10.3.0/experimental/internet +/usr/include/c++/10.3.0/experimental/functional +/usr/include/c++/10.3.0/experimental/forward_list +/usr/include/c++/10.3.0/experimental/filesystem +/usr/include/c++/10.3.0/experimental/executor +/usr/include/c++/10.3.0/experimental/deque +/usr/include/c++/10.3.0/experimental/chrono +/usr/include/c++/10.3.0/experimental/buffer +/usr/include/c++/10.3.0/experimental/bits/string_view.tcc +/usr/include/c++/10.3.0/experimental/bits/shared_ptr.h +/usr/include/c++/10.3.0/experimental/bits/net.h +/usr/include/c++/10.3.0/experimental/bits/lfts_config.h +/usr/include/c++/10.3.0/experimental/bits/fs_path.h +/usr/include/c++/10.3.0/experimental/bits/fs_ops.h +/usr/include/c++/10.3.0/experimental/bits/fs_fwd.h +/usr/include/c++/10.3.0/experimental/bits/fs_dir.h +/usr/include/c++/10.3.0/experimental/bits/ +/usr/include/c++/10.3.0/experimental/array +/usr/include/c++/10.3.0/experimental/any +/usr/include/c++/10.3.0/experimental/algorithm +/usr/include/c++/10.3.0/experimental/ +/usr/include/c++/10.3.0/execution +/usr/include/c++/10.3.0/exception +/usr/include/c++/10.3.0/deque +/usr/include/c++/10.3.0/decimal/decimal.h +/usr/include/c++/10.3.0/decimal/decimal +/usr/include/c++/10.3.0/decimal/ +/usr/include/c++/10.3.0/debug/vector +/usr/include/c++/10.3.0/debug/unordered_set +/usr/include/c++/10.3.0/debug/unordered_map +/usr/include/c++/10.3.0/debug/string +/usr/include/c++/10.3.0/debug/stl_iterator.h +/usr/include/c++/10.3.0/debug/set.h +/usr/include/c++/10.3.0/debug/set +/usr/include/c++/10.3.0/debug/safe_unordered_container.tcc +/usr/include/c++/10.3.0/debug/safe_unordered_container.h +/usr/include/c++/10.3.0/debug/safe_unordered_base.h +/usr/include/c++/10.3.0/debug/safe_sequence.tcc +/usr/include/c++/10.3.0/debug/safe_sequence.h +/usr/include/c++/10.3.0/debug/safe_local_iterator.tcc +/usr/include/c++/10.3.0/debug/safe_local_iterator.h +/usr/include/c++/10.3.0/debug/safe_iterator.tcc +/usr/include/c++/10.3.0/debug/safe_iterator.h +/usr/include/c++/10.3.0/debug/safe_container.h +/usr/include/c++/10.3.0/debug/safe_base.h +/usr/include/c++/10.3.0/debug/multiset.h +/usr/include/c++/10.3.0/debug/multimap.h +/usr/include/c++/10.3.0/debug/map.h +/usr/include/c++/10.3.0/debug/map +/usr/include/c++/10.3.0/debug/macros.h +/usr/include/c++/10.3.0/debug/list +/usr/include/c++/10.3.0/debug/helper_functions.h +/usr/include/c++/10.3.0/debug/functions.h +/usr/include/c++/10.3.0/debug/forward_list +/usr/include/c++/10.3.0/debug/formatter.h +/usr/include/c++/10.3.0/debug/deque +/usr/include/c++/10.3.0/debug/debug.h +/usr/include/c++/10.3.0/debug/bitset +/usr/include/c++/10.3.0/debug/assertions.h +/usr/include/c++/10.3.0/debug/array +/usr/include/c++/10.3.0/debug/ +/usr/include/c++/10.3.0/cxxabi.h +/usr/include/c++/10.3.0/cwctype +/usr/include/c++/10.3.0/cwchar +/usr/include/c++/10.3.0/cuchar +/usr/include/c++/10.3.0/ctime +/usr/include/c++/10.3.0/ctgmath +/usr/include/c++/10.3.0/cstring +/usr/include/c++/10.3.0/cstdlib +/usr/include/c++/10.3.0/cstdio +/usr/include/c++/10.3.0/cstdint +/usr/include/c++/10.3.0/cstddef +/usr/include/c++/10.3.0/cstdbool +/usr/include/c++/10.3.0/cstdarg +/usr/include/c++/10.3.0/cstdalign +/usr/include/c++/10.3.0/csignal +/usr/include/c++/10.3.0/csetjmp +/usr/include/c++/10.3.0/coroutine +/usr/include/c++/10.3.0/condition_variable +/usr/include/c++/10.3.0/concepts +/usr/include/c++/10.3.0/complex.h +/usr/include/c++/10.3.0/complex +/usr/include/c++/10.3.0/compare +/usr/include/c++/10.3.0/codecvt +/usr/include/c++/10.3.0/cmath +/usr/include/c++/10.3.0/clocale +/usr/include/c++/10.3.0/climits +/usr/include/c++/10.3.0/ciso646 +/usr/include/c++/10.3.0/cinttypes +/usr/include/c++/10.3.0/chrono +/usr/include/c++/10.3.0/charconv +/usr/include/c++/10.3.0/cfloat +/usr/include/c++/10.3.0/cfenv +/usr/include/c++/10.3.0/cerrno +/usr/include/c++/10.3.0/cctype +/usr/include/c++/10.3.0/ccomplex +/usr/include/c++/10.3.0/cassert +/usr/include/c++/10.3.0/bitset +/usr/include/c++/10.3.0/bits/vector.tcc +/usr/include/c++/10.3.0/bits/valarray_before.h +/usr/include/c++/10.3.0/bits/valarray_array.tcc +/usr/include/c++/10.3.0/bits/valarray_array.h +/usr/include/c++/10.3.0/bits/valarray_after.h +/usr/include/c++/10.3.0/bits/uses_allocator.h +/usr/include/c++/10.3.0/bits/unordered_set.h +/usr/include/c++/10.3.0/bits/unordered_map.h +/usr/include/c++/10.3.0/bits/unique_ptr.h +/usr/include/c++/10.3.0/bits/unique_lock.h +/usr/include/c++/10.3.0/bits/uniform_int_dist.h +/usr/include/c++/10.3.0/bits/stringfwd.h +/usr/include/c++/10.3.0/bits/string_view.tcc +/usr/include/c++/10.3.0/bits/streambuf_iterator.h +/usr/include/c++/10.3.0/bits/streambuf.tcc +/usr/include/c++/10.3.0/bits/stream_iterator.h +/usr/include/c++/10.3.0/bits/stl_vector.h +/usr/include/c++/10.3.0/bits/stl_uninitialized.h +/usr/include/c++/10.3.0/bits/stl_tree.h +/usr/include/c++/10.3.0/bits/stl_tempbuf.h +/usr/include/c++/10.3.0/bits/stl_stack.h +/usr/include/c++/10.3.0/bits/stl_set.h +/usr/include/c++/10.3.0/bits/stl_relops.h +/usr/include/c++/10.3.0/bits/stl_raw_storage_iter.h +/usr/include/c++/10.3.0/bits/stl_queue.h +/usr/include/c++/10.3.0/bits/stl_pair.h +/usr/include/c++/10.3.0/bits/stl_numeric.h +/usr/include/c++/10.3.0/bits/stl_multiset.h +/usr/include/c++/10.3.0/bits/stl_multimap.h +/usr/include/c++/10.3.0/bits/stl_map.h +/usr/include/c++/10.3.0/bits/stl_list.h +/usr/include/c++/10.3.0/bits/stl_iterator_base_types.h +/usr/include/c++/10.3.0/bits/stl_iterator_base_funcs.h +/usr/include/c++/10.3.0/bits/stl_iterator.h +/usr/include/c++/10.3.0/bits/stl_heap.h +/usr/include/c++/10.3.0/bits/stl_function.h +/usr/include/c++/10.3.0/bits/stl_deque.h +/usr/include/c++/10.3.0/bits/stl_construct.h +/usr/include/c++/10.3.0/bits/stl_bvector.h +/usr/include/c++/10.3.0/bits/stl_algobase.h +/usr/include/c++/10.3.0/bits/stl_algo.h +/usr/include/c++/10.3.0/bits/std_mutex.h +/usr/include/c++/10.3.0/bits/std_function.h +/usr/include/c++/10.3.0/bits/std_abs.h +/usr/include/c++/10.3.0/bits/sstream.tcc +/usr/include/c++/10.3.0/bits/specfun.h +/usr/include/c++/10.3.0/bits/slice_array.h +/usr/include/c++/10.3.0/bits/shared_ptr_base.h +/usr/include/c++/10.3.0/bits/shared_ptr_atomic.h +/usr/include/c++/10.3.0/bits/shared_ptr.h +/usr/include/c++/10.3.0/bits/regex_scanner.tcc +/usr/include/c++/10.3.0/bits/regex_scanner.h +/usr/include/c++/10.3.0/bits/regex_executor.tcc +/usr/include/c++/10.3.0/bits/regex_executor.h +/usr/include/c++/10.3.0/bits/regex_error.h +/usr/include/c++/10.3.0/bits/regex_constants.h +/usr/include/c++/10.3.0/bits/regex_compiler.tcc +/usr/include/c++/10.3.0/bits/regex_compiler.h +/usr/include/c++/10.3.0/bits/regex_automaton.tcc +/usr/include/c++/10.3.0/bits/regex_automaton.h +/usr/include/c++/10.3.0/bits/regex.tcc +/usr/include/c++/10.3.0/bits/regex.h +/usr/include/c++/10.3.0/bits/refwrap.h +/usr/include/c++/10.3.0/bits/ranges_uninitialized.h +/usr/include/c++/10.3.0/bits/ranges_algobase.h +/usr/include/c++/10.3.0/bits/ranges_algo.h +/usr/include/c++/10.3.0/bits/range_cmp.h +/usr/include/c++/10.3.0/bits/range_access.h +/usr/include/c++/10.3.0/bits/random.tcc +/usr/include/c++/10.3.0/bits/random.h +/usr/include/c++/10.3.0/bits/quoted_string.h +/usr/include/c++/10.3.0/bits/ptr_traits.h +/usr/include/c++/10.3.0/bits/predefined_ops.h +/usr/include/c++/10.3.0/bits/postypes.h +/usr/include/c++/10.3.0/bits/parse_numbers.h +/usr/include/c++/10.3.0/bits/ostream_insert.h +/usr/include/c++/10.3.0/bits/ostream.tcc +/usr/include/c++/10.3.0/bits/node_handle.h +/usr/include/c++/10.3.0/bits/nested_exception.h +/usr/include/c++/10.3.0/bits/move.h +/usr/include/c++/10.3.0/bits/memoryfwd.h +/usr/include/c++/10.3.0/bits/mask_array.h +/usr/include/c++/10.3.0/bits/localefwd.h +/usr/include/c++/10.3.0/bits/locale_facets_nonio.tcc +/usr/include/c++/10.3.0/bits/locale_facets_nonio.h +/usr/include/c++/10.3.0/bits/locale_facets.tcc +/usr/include/c++/10.3.0/bits/locale_facets.h +/usr/include/c++/10.3.0/bits/locale_conv.h +/usr/include/c++/10.3.0/bits/locale_classes.tcc +/usr/include/c++/10.3.0/bits/locale_classes.h +/usr/include/c++/10.3.0/bits/list.tcc +/usr/include/c++/10.3.0/bits/iterator_concepts.h +/usr/include/c++/10.3.0/bits/istream.tcc +/usr/include/c++/10.3.0/bits/ios_base.h +/usr/include/c++/10.3.0/bits/invoke.h +/usr/include/c++/10.3.0/bits/indirect_array.h +/usr/include/c++/10.3.0/bits/hashtable_policy.h +/usr/include/c++/10.3.0/bits/hashtable.h +/usr/include/c++/10.3.0/bits/hash_bytes.h +/usr/include/c++/10.3.0/bits/gslice_array.h +/usr/include/c++/10.3.0/bits/gslice.h +/usr/include/c++/10.3.0/bits/functional_hash.h +/usr/include/c++/10.3.0/bits/functexcept.h +/usr/include/c++/10.3.0/bits/fstream.tcc +/usr/include/c++/10.3.0/bits/fs_path.h +/usr/include/c++/10.3.0/bits/fs_ops.h +/usr/include/c++/10.3.0/bits/fs_fwd.h +/usr/include/c++/10.3.0/bits/fs_dir.h +/usr/include/c++/10.3.0/bits/forward_list.tcc +/usr/include/c++/10.3.0/bits/forward_list.h +/usr/include/c++/10.3.0/bits/exception_ptr.h +/usr/include/c++/10.3.0/bits/exception_defines.h +/usr/include/c++/10.3.0/bits/exception.h +/usr/include/c++/10.3.0/bits/erase_if.h +/usr/include/c++/10.3.0/bits/enable_special_members.h +/usr/include/c++/10.3.0/bits/deque.tcc +/usr/include/c++/10.3.0/bits/cxxabi_init_exception.h +/usr/include/c++/10.3.0/bits/cxxabi_forced.h +/usr/include/c++/10.3.0/bits/cpp_type_traits.h +/usr/include/c++/10.3.0/bits/concept_check.h +/usr/include/c++/10.3.0/bits/codecvt.h +/usr/include/c++/10.3.0/bits/charconv.h +/usr/include/c++/10.3.0/bits/char_traits.h +/usr/include/c++/10.3.0/bits/c++0x_warning.h +/usr/include/c++/10.3.0/bits/boost_concept_check.h +/usr/include/c++/10.3.0/bits/basic_string.tcc +/usr/include/c++/10.3.0/bits/basic_string.h +/usr/include/c++/10.3.0/bits/basic_ios.tcc +/usr/include/c++/10.3.0/bits/basic_ios.h +/usr/include/c++/10.3.0/bits/atomic_lockfree_defines.h +/usr/include/c++/10.3.0/bits/atomic_futex.h +/usr/include/c++/10.3.0/bits/atomic_base.h +/usr/include/c++/10.3.0/bits/allocator.h +/usr/include/c++/10.3.0/bits/allocated_ptr.h +/usr/include/c++/10.3.0/bits/alloc_traits.h +/usr/include/c++/10.3.0/bits/algorithmfwd.h +/usr/include/c++/10.3.0/bits/ +/usr/include/c++/10.3.0/bit +/usr/include/c++/10.3.0/backward/strstream +/usr/include/c++/10.3.0/backward/hashtable.h +/usr/include/c++/10.3.0/backward/hash_set +/usr/include/c++/10.3.0/backward/hash_map +/usr/include/c++/10.3.0/backward/hash_fun.h +/usr/include/c++/10.3.0/backward/binders.h +/usr/include/c++/10.3.0/backward/backward_warning.h +/usr/include/c++/10.3.0/backward/auto_ptr.h +/usr/include/c++/10.3.0/backward/ +/usr/include/c++/10.3.0/atomic +/usr/include/c++/10.3.0/array +/usr/include/c++/10.3.0/any +/usr/include/c++/10.3.0/algorithm +/usr/include/c++/10.3.0/ +/usr/include/c++/ +/usr/include/ +/usr/bin/x86_64-pc-linux-gnu-gcc-ranlib +/usr/bin/x86_64-pc-linux-gnu-gcc-nm +/usr/bin/x86_64-pc-linux-gnu-gcc-ar +/usr/bin/x86_64-pc-linux-gnu-gcc-10.3.0 +/usr/bin/x86_64-pc-linux-gnu-gcc +/usr/bin/x86_64-pc-linux-gnu-g++ +/usr/bin/x86_64-pc-linux-gnu-c++ +/usr/bin/lto-dump +/usr/bin/gcov-tool +/usr/bin/gcov-dump +/usr/bin/gcov +/usr/bin/gcc-ranlib +/usr/bin/gcc-nm +/usr/bin/gcc-ar +/usr/bin/gcc +/usr/bin/g++ +/usr/bin/cpp +/usr/bin/cc +/usr/bin/c99 +/usr/bin/c++ +/usr/bin/ +/usr/ diff --git a/ports/gcc10/sources b/ports/gcc10/sources new file mode 100644 index 0000000..e30242c --- /dev/null +++ b/ports/gcc10/sources @@ -0,0 +1,5 @@ +https://gcc.gnu.org/pub/gcc/releases/gcc-10.3.0/gcc-10.3.0.tar.xz gcc +https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz gcc/gmp +https://ftp.gnu.org/gnu/mpfr/mpfr-4.1.0.tar.xz gcc/mpfr +https://ftp.gnu.org/gnu/mpc/mpc-1.2.1.tar.gz gcc/mpc +files/c99 diff --git a/ports/gcc10/version b/ports/gcc10/version new file mode 100644 index 0000000..af1a0b0 --- /dev/null +++ b/ports/gcc10/version @@ -0,0 +1 @@ +10.3.0 2 diff --git a/ports/gccmakedep-git/build b/ports/gccmakedep-git/build new file mode 100755 index 0000000..7850bbe --- /dev/null +++ b/ports/gccmakedep-git/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./autogen.sh \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/gccmakedep-git/depends b/ports/gccmakedep-git/depends new file mode 100644 index 0000000..62f05b9 --- /dev/null +++ b/ports/gccmakedep-git/depends @@ -0,0 +1,3 @@ +autoconf make +automake make +xorg-util-macros make diff --git a/ports/gccmakedep-git/sources b/ports/gccmakedep-git/sources new file mode 100644 index 0000000..761147e --- /dev/null +++ b/ports/gccmakedep-git/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/util/gccmakedep diff --git a/ports/gccmakedep-git/version b/ports/gccmakedep-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/gccmakedep-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/gdbm/build b/ports/gdbm/build new file mode 100755 index 0000000..8829139 --- /dev/null +++ b/ports/gdbm/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-libgdbm-compat \ + +make +make DESTDIR="$1" install diff --git a/ports/gdbm/checksums b/ports/gdbm/checksums new file mode 100644 index 0000000..13fa9d9 --- /dev/null +++ b/ports/gdbm/checksums @@ -0,0 +1 @@ +37ed12214122b972e18a0d94995039e57748191939ef74115b1d41d8811364bc diff --git a/ports/gdbm/sources b/ports/gdbm/sources new file mode 100644 index 0000000..aca54a3 --- /dev/null +++ b/ports/gdbm/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/gdbm/gdbm-1.19.tar.gz diff --git a/ports/gdbm/version b/ports/gdbm/version new file mode 100644 index 0000000..4e7f270 --- /dev/null +++ b/ports/gdbm/version @@ -0,0 +1 @@ +1.19 1 diff --git a/ports/geany/build b/ports/geany/build new file mode 100755 index 0000000..f1df993 --- /dev/null +++ b/ports/geany/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-gtk2 \ + --disable-vte + +make +make DESTDIR="$1" install diff --git a/ports/geany/checksums b/ports/geany/checksums new file mode 100644 index 0000000..8beec58 --- /dev/null +++ b/ports/geany/checksums @@ -0,0 +1 @@ +18c5756444c1d8bcd737c8ecfd4ef0b3607c924fc02560d4e8b78f6121531a18 diff --git a/ports/geany/depends b/ports/geany/depends new file mode 100644 index 0000000..b693b16 --- /dev/null +++ b/ports/geany/depends @@ -0,0 +1,4 @@ +gettext-tiny make +gtk+2 +intltool make +pkgconf make diff --git a/ports/geany/sources b/ports/geany/sources new file mode 100644 index 0000000..a849348 --- /dev/null +++ b/ports/geany/sources @@ -0,0 +1 @@ +https://download.geany.org/geany-1.37.1.tar.bz2 diff --git a/ports/geany/version b/ports/geany/version new file mode 100644 index 0000000..6ad69bf --- /dev/null +++ b/ports/geany/version @@ -0,0 +1 @@ +1.37.1 1 diff --git a/ports/gettext-tiny/build b/ports/gettext-tiny/build new file mode 100755 index 0000000..c68a032 --- /dev/null +++ b/ports/gettext-tiny/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +cat << EOF > config.mak +prefix=/usr +DESTDIR="$1" +CFLAGS=$CFLAGS -fPIC +EOF + +make -j$(nproc) all install diff --git a/ports/gettext-tiny/checksums b/ports/gettext-tiny/checksums new file mode 100644 index 0000000..670131d --- /dev/null +++ b/ports/gettext-tiny/checksums @@ -0,0 +1 @@ +29cc165e27e83d2bb3760118c2368eadab550830d962d758e51bd36eb860f383 v0.3.2.tar.gz diff --git a/ports/gettext-tiny/sources b/ports/gettext-tiny/sources new file mode 100644 index 0000000..70f14a0 --- /dev/null +++ b/ports/gettext-tiny/sources @@ -0,0 +1 @@ +https://github.com/sabotage-linux/gettext-tiny/archive/v0.3.2.tar.gz diff --git a/ports/gettext-tiny/version b/ports/gettext-tiny/version new file mode 100644 index 0000000..ef5b844 --- /dev/null +++ b/ports/gettext-tiny/version @@ -0,0 +1 @@ +0.3.2 1 diff --git a/ports/gpicview/build b/ports/gpicview/build new file mode 100755 index 0000000..4cdebf7 --- /dev/null +++ b/ports/gpicview/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-static \ + --enable-fast-install \ + --disable-dependency-tracking \ + --disable-nls + +make +make DESTDIR="$1" install diff --git a/ports/gpicview/checksums b/ports/gpicview/checksums new file mode 100644 index 0000000..21fe9ae --- /dev/null +++ b/ports/gpicview/checksums @@ -0,0 +1 @@ +38466058e53702450e5899193c4b264339959b563dd5cd81f6f690de32d82942 diff --git a/ports/gpicview/depends b/ports/gpicview/depends new file mode 100644 index 0000000..ffeeb9f --- /dev/null +++ b/ports/gpicview/depends @@ -0,0 +1,11 @@ +atk +cairo +fontconfig +freetype-harfbuzz +gdk-pixbuf +glib +gtk+2 +intltool make +libX11 +libjpeg-turbo +pango diff --git a/ports/gpicview/sources b/ports/gpicview/sources new file mode 100644 index 0000000..f6aaea0 --- /dev/null +++ b/ports/gpicview/sources @@ -0,0 +1 @@ +https://pilotfiber.dl.sourceforge.net/project/lxde/GPicView%20%28image%20Viewer%29/0.2.x/gpicview-0.2.5.tar.xz diff --git a/ports/gpicview/version b/ports/gpicview/version new file mode 100644 index 0000000..2e436a0 --- /dev/null +++ b/ports/gpicview/version @@ -0,0 +1 @@ +0.2.5 1 diff --git a/ports/gtk+2/build b/ports/gtk+2/build new file mode 100755 index 0000000..5cb9870 --- /dev/null +++ b/ports/gtk+2/build @@ -0,0 +1,22 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -UGDK_PIXBUF_DISABLE_DEPRECATED" + +# Don't build GTK examples/demos/testsuite. +sed -i 's/modules demos tests/modules/' Makefile.am Makefile.in +sed -i 's/docs m4macros/m4macros/' Makefile.am Makefile.in + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --enable-debug=no \ + --disable-gtk-doc \ + --with-xinput=yes + +make +make DESTDIR="$1" install + +rm -f "$1/usr/bin/gtk-update-icon-cache" +rm -f "$1/usr/bin/gtk-demo" +rm -rf "$1/usr/share/gtk-2.0/demo" diff --git a/ports/gtk+2/checksums b/ports/gtk+2/checksums new file mode 100644 index 0000000..987f312 --- /dev/null +++ b/ports/gtk+2/checksums @@ -0,0 +1 @@ +b6c8a93ddda5eabe3bfee1eb39636c9a03d2a56c7b62828b359bf197943c582e gtk+-2.24.32.tar.xz diff --git a/ports/gtk+2/depends b/ports/gtk+2/depends new file mode 100644 index 0000000..a3af63c --- /dev/null +++ b/ports/gtk+2/depends @@ -0,0 +1,10 @@ +atk +fribidi +gdk-pixbuf +libXcomposite +libXi +libXinerama +libepoxy +pango +pkgconf make +python make diff --git a/ports/gtk+2/sources b/ports/gtk+2/sources new file mode 100644 index 0000000..9d4cf17 --- /dev/null +++ b/ports/gtk+2/sources @@ -0,0 +1 @@ +https://download.gnome.org/sources/gtk+/2.24/gtk+-2.24.32.tar.xz diff --git a/ports/gtk+2/version b/ports/gtk+2/version new file mode 100644 index 0000000..2885a4a --- /dev/null +++ b/ports/gtk+2/version @@ -0,0 +1 @@ +2.24.32 3 diff --git a/ports/gtk2-engines-clearlooks/build b/ports/gtk2-engines-clearlooks/build new file mode 100755 index 0000000..5895332 --- /dev/null +++ b/ports/gtk2-engines-clearlooks/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +./configure --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/gtk2-engines-clearlooks/depends b/ports/gtk2-engines-clearlooks/depends new file mode 100644 index 0000000..203fd04 --- /dev/null +++ b/ports/gtk2-engines-clearlooks/depends @@ -0,0 +1,2 @@ +gtk+2 +intltool make diff --git a/ports/gtk2-engines-clearlooks/sources b/ports/gtk2-engines-clearlooks/sources new file mode 100644 index 0000000..0c38fc8 --- /dev/null +++ b/ports/gtk2-engines-clearlooks/sources @@ -0,0 +1 @@ +git+https://github.com/genesi/gtk2-engines-clearlooks.git diff --git a/ports/gtk2-engines-clearlooks/version b/ports/gtk2-engines-clearlooks/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/gtk2-engines-clearlooks/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/gtk2-engines-murrine/build b/ports/gtk2-engines-murrine/build new file mode 100755 index 0000000..5895332 --- /dev/null +++ b/ports/gtk2-engines-murrine/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +./configure --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/gtk2-engines-murrine/depends b/ports/gtk2-engines-murrine/depends new file mode 100644 index 0000000..5109d24 --- /dev/null +++ b/ports/gtk2-engines-murrine/depends @@ -0,0 +1,3 @@ +gettext-tiny make +gtk+2 +intltool make diff --git a/ports/gtk2-engines-murrine/sources b/ports/gtk2-engines-murrine/sources new file mode 100644 index 0000000..286b26c --- /dev/null +++ b/ports/gtk2-engines-murrine/sources @@ -0,0 +1 @@ +git+https://salsa.debian.org/debian/gtk2-engines-murrine diff --git a/ports/gtk2-engines-murrine/version b/ports/gtk2-engines-murrine/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/gtk2-engines-murrine/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/gv/build b/ports/gv/build new file mode 100755 index 0000000..f50f3a5 --- /dev/null +++ b/ports/gv/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-SIGCHLD-fallback + +make +make DESTDIR="$1" install diff --git a/ports/gv/checksums b/ports/gv/checksums new file mode 100644 index 0000000..3e95a45 --- /dev/null +++ b/ports/gv/checksums @@ -0,0 +1 @@ +2162b3b3a95481d3855b3c4e28f974617eef67824523e56e20b56f12fe201a61 diff --git a/ports/gv/depends b/ports/gv/depends new file mode 100644 index 0000000..7fa336c --- /dev/null +++ b/ports/gv/depends @@ -0,0 +1,9 @@ +freetype-harfbuzz +libICE +libSM +libX11 +libXext +libXinerama +libXmu +libXpm +libXt diff --git a/ports/gv/sources b/ports/gv/sources new file mode 100644 index 0000000..5b12aa2 --- /dev/null +++ b/ports/gv/sources @@ -0,0 +1 @@ +https://mirror.csclub.uwaterloo.ca/gnu/gv/gv-3.7.4.tar.gz diff --git a/ports/gv/version b/ports/gv/version new file mode 100644 index 0000000..859dfa3 --- /dev/null +++ b/ports/gv/version @@ -0,0 +1 @@ +3.7.4 1 diff --git a/ports/hicolor/build b/ports/hicolor/build new file mode 100755 index 0000000..5773498 --- /dev/null +++ b/ports/hicolor/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +./autogen.sh --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/hicolor/checksums b/ports/hicolor/checksums new file mode 100644 index 0000000..f33158b --- /dev/null +++ b/ports/hicolor/checksums @@ -0,0 +1 @@ +317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8 diff --git a/ports/hicolor/depends b/ports/hicolor/depends new file mode 100644 index 0000000..2d45f45 --- /dev/null +++ b/ports/hicolor/depends @@ -0,0 +1,2 @@ +autoconf make +automake make diff --git a/ports/hicolor/sources b/ports/hicolor/sources new file mode 100644 index 0000000..25bef1d --- /dev/null +++ b/ports/hicolor/sources @@ -0,0 +1 @@ +https://icon-theme.freedesktop.org/releases/hicolor-icon-theme-0.17.tar.xz diff --git a/ports/hicolor/version b/ports/hicolor/version new file mode 100644 index 0000000..dc75c93 --- /dev/null +++ b/ports/hicolor/version @@ -0,0 +1 @@ +0.17 1 diff --git a/ports/hostapd/build b/ports/hostapd/build new file mode 100755 index 0000000..40ddd0c --- /dev/null +++ b/ports/hostapd/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +cd hostapd + +cp defconfig .config + +sed -i 's/\/usr\/local\/bin\//\/usr\/bin\//' Makefile + +make +make DESTDIR="$1" install diff --git a/ports/hostapd/checksums b/ports/hostapd/checksums new file mode 100644 index 0000000..449eefe --- /dev/null +++ b/ports/hostapd/checksums @@ -0,0 +1 @@ +881d7d6a90b2428479288d64233151448f8990ab4958e0ecaca7eeb3c9db2bd7 diff --git a/ports/hostapd/depends b/ports/hostapd/depends new file mode 100644 index 0000000..a51bfaa --- /dev/null +++ b/ports/hostapd/depends @@ -0,0 +1,2 @@ +libnl +libressl diff --git a/ports/hostapd/sources b/ports/hostapd/sources new file mode 100644 index 0000000..267ca07 --- /dev/null +++ b/ports/hostapd/sources @@ -0,0 +1 @@ +http://w1.fi/releases/hostapd-2.9.tar.gz diff --git a/ports/hostapd/version b/ports/hostapd/version new file mode 100644 index 0000000..8843a56 --- /dev/null +++ b/ports/hostapd/version @@ -0,0 +1 @@ +2.9 1 diff --git a/ports/hummingbird-git/build b/ports/hummingbird-git/build new file mode 100755 index 0000000..f06e39c --- /dev/null +++ b/ports/hummingbird-git/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +sed -i 's/signal(SIGINT, handler);/signal(SIGINT, handler);\nsignal(SIGCHLD, handler);/' hummingbird.c + +make +make DESTDIR="$1" install + +install -Dm755 usr/lib/hummingbird/* "$1/usr/lib/hummingbird" +install -Dm755 dist/kiss/* "$1/usr/lib/hummingbird" +ln -s hummingbird "$1/usr/bin/init" diff --git a/ports/hummingbird-git/checksums b/ports/hummingbird-git/checksums new file mode 100644 index 0000000..6e9411a --- /dev/null +++ b/ports/hummingbird-git/checksums @@ -0,0 +1 @@ +git git+https://github.com/Sweets/hummingbird.git diff --git a/ports/hummingbird-git/sources b/ports/hummingbird-git/sources new file mode 100644 index 0000000..d3266dd --- /dev/null +++ b/ports/hummingbird-git/sources @@ -0,0 +1 @@ +git+https://github.com/Sweets/hummingbird.git diff --git a/ports/hummingbird-git/version b/ports/hummingbird-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/hummingbird-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/imake-git/build b/ports/imake-git/build new file mode 100755 index 0000000..376d8ea --- /dev/null +++ b/ports/imake-git/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./autogen.sh \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/imake-git/depends b/ports/imake-git/depends new file mode 100644 index 0000000..fa6bcbd --- /dev/null +++ b/ports/imake-git/depends @@ -0,0 +1,4 @@ +autoconf make +automake make +pkgconf make +xorg-util-macros make diff --git a/ports/imake-git/sources b/ports/imake-git/sources new file mode 100644 index 0000000..9ac1d63 --- /dev/null +++ b/ports/imake-git/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/util/imake diff --git a/ports/imake-git/version b/ports/imake-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/imake-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/inetutils/build b/ports/inetutils/build new file mode 100755 index 0000000..5880a76 --- /dev/null +++ b/ports/inetutils/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +./configure --prefix=/usr \ + --libexecdir=/usr/sbin \ + --localstatedir=/var \ + --disable-logger \ + --disable-rcp \ + --disable-rexec \ + --disable-rlogin \ + --disable-rsh \ + --disable-servers \ + +make +make DESTDIR="$1" install diff --git a/ports/inetutils/checksums b/ports/inetutils/checksums new file mode 100644 index 0000000..84d21f1 --- /dev/null +++ b/ports/inetutils/checksums @@ -0,0 +1 @@ +be8f75eff936b8e41b112462db51adf689715658a1b09e0d6b05d11ec92cc616 diff --git a/ports/inetutils/depends b/ports/inetutils/depends new file mode 100644 index 0000000..ba19742 --- /dev/null +++ b/ports/inetutils/depends @@ -0,0 +1 @@ +iana-etc diff --git a/ports/inetutils/sources b/ports/inetutils/sources new file mode 100644 index 0000000..7bb3aea --- /dev/null +++ b/ports/inetutils/sources @@ -0,0 +1 @@ +http://ftpmirror.gnu.org/gnu/inetutils/inetutils-1.9.4.tar.gz diff --git a/ports/inetutils/version b/ports/inetutils/version new file mode 100644 index 0000000..39bc92a --- /dev/null +++ b/ports/inetutils/version @@ -0,0 +1 @@ +1.9.4 1 diff --git a/ports/itstool/build b/ports/itstool/build new file mode 100755 index 0000000..5895332 --- /dev/null +++ b/ports/itstool/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +./configure --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/itstool/checksums b/ports/itstool/checksums new file mode 100644 index 0000000..45e4c08 --- /dev/null +++ b/ports/itstool/checksums @@ -0,0 +1 @@ +6233cc22726a9a5a83664bf67d1af79549a298c23185d926c3677afa917b92a9 diff --git a/ports/itstool/depends b/ports/itstool/depends new file mode 100644 index 0000000..fdc793e --- /dev/null +++ b/ports/itstool/depends @@ -0,0 +1 @@ +python diff --git a/ports/itstool/sources b/ports/itstool/sources new file mode 100644 index 0000000..7d67d89 --- /dev/null +++ b/ports/itstool/sources @@ -0,0 +1 @@ +http://files.itstool.org/itstool/itstool-2.0.6.tar.bz2 diff --git a/ports/itstool/version b/ports/itstool/version new file mode 100644 index 0000000..7493c3d --- /dev/null +++ b/ports/itstool/version @@ -0,0 +1 @@ +2.0.6 1 diff --git a/ports/iw/build b/ports/iw/build new file mode 100755 index 0000000..7de21ee --- /dev/null +++ b/ports/iw/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +make DESTDIR="$1" install diff --git a/ports/iw/checksums b/ports/iw/checksums new file mode 100644 index 0000000..0dce041 --- /dev/null +++ b/ports/iw/checksums @@ -0,0 +1 @@ +f38a82a9bfa2a45d6bf471fe84df9c39bed3d3ca0e8931ed31951f603e21deb3 diff --git a/ports/iw/depends b/ports/iw/depends new file mode 100644 index 0000000..182419f --- /dev/null +++ b/ports/iw/depends @@ -0,0 +1,2 @@ +libnl +pkgconf make diff --git a/ports/iw/sources b/ports/iw/sources new file mode 100644 index 0000000..0398367 --- /dev/null +++ b/ports/iw/sources @@ -0,0 +1 @@ +https://git.kernel.org/pub/scm/linux/kernel/git/jberg/iw.git/snapshot/iw-5.9.tar.gz diff --git a/ports/iw/version b/ports/iw/version new file mode 100644 index 0000000..b9df4dc --- /dev/null +++ b/ports/iw/version @@ -0,0 +1 @@ +5.9 2 diff --git a/ports/jansson/build b/ports/jansson/build new file mode 100755 index 0000000..4261be4 --- /dev/null +++ b/ports/jansson/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/jansson/checksums b/ports/jansson/checksums new file mode 100644 index 0000000..e5f59ca --- /dev/null +++ b/ports/jansson/checksums @@ -0,0 +1 @@ +f4f377da17b10201a60c1108613e78ee15df6b12016b116b6de42209f47a474f diff --git a/ports/jansson/sources b/ports/jansson/sources new file mode 100644 index 0000000..bd33d5f --- /dev/null +++ b/ports/jansson/sources @@ -0,0 +1 @@ +http://www.digip.org/jansson/releases/jansson-2.13.1.tar.gz diff --git a/ports/jansson/version b/ports/jansson/version new file mode 100644 index 0000000..002c2af --- /dev/null +++ b/ports/jansson/version @@ -0,0 +1 @@ +2.13.1 1 diff --git a/ports/kiss-mod/README b/ports/kiss-mod/README new file mode 100644 index 0000000..e2f1be6 --- /dev/null +++ b/ports/kiss-mod/README @@ -0,0 +1,4 @@ +This is a modified version of KISS. It does not install documentation or wiki +pages by default, and it does not rely on curl; instead, it uses a simpler tool +called axel. axel is multithreaded and therefore can complete larger downloads +much more quickly; it also supports non-HTTP/S protocols. diff --git a/ports/kiss-mod/build b/ports/kiss-mod/build new file mode 100755 index 0000000..af9f565 --- /dev/null +++ b/ports/kiss-mod/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +mkdir -p "$1/usr/bin" + +# Replace curl with axel. Increases download performance and supports FTP/S. +sed -i 's/curl "$src" -fLo/axel "$src" -o/' kiss + +# Remove -reset and -outdated +rm contrib/kiss-reset +rm contrib/kiss-outdated + +# Install kiss utilities. +cp -f kiss contrib/* "$1/usr/bin/" diff --git a/ports/kiss-mod/checksums b/ports/kiss-mod/checksums new file mode 100644 index 0000000..a7b1173 --- /dev/null +++ b/ports/kiss-mod/checksums @@ -0,0 +1,3 @@ +0434a9021c7137c0184a49aa0ccae11c84e0106e3aea8b916e2a90a966a31e74 +f4a83d29235f1549086da6ea445a363cd8a1874f4ebca073c2d55bb5aca383bc +22da43f0b83244d457e12a82776b053ab0958d3d27c41ad711915ea1cd778811 diff --git a/ports/kiss-mod/depends b/ports/kiss-mod/depends new file mode 100644 index 0000000..50cdb74 --- /dev/null +++ b/ports/kiss-mod/depends @@ -0,0 +1,2 @@ +axel +git diff --git a/ports/kiss-mod/sources b/ports/kiss-mod/sources new file mode 100644 index 0000000..aeec979 --- /dev/null +++ b/ports/kiss-mod/sources @@ -0,0 +1,3 @@ +https://github.com/kiss-community/kiss/archive/5.3.0.tar.gz +https://github.com/kiss-community/website/archive/5fc67c946d2391827273ef3f35ca55ca657f7ea7.tar.gz docs +https://github.com/kiss-community/wiki/archive/a7fc18204756dba2f8c5ea1c782d57ec4acdfe49.tar.gz wiki diff --git a/ports/kiss-mod/version b/ports/kiss-mod/version new file mode 100644 index 0000000..d18c7f9 --- /dev/null +++ b/ports/kiss-mod/version @@ -0,0 +1 @@ +5.3.0 1 diff --git a/ports/leafpad/build b/ports/leafpad/build new file mode 100755 index 0000000..4261be4 --- /dev/null +++ b/ports/leafpad/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/leafpad/checksums b/ports/leafpad/checksums new file mode 100644 index 0000000..06c6d4b --- /dev/null +++ b/ports/leafpad/checksums @@ -0,0 +1 @@ +8df8de7aaea26148225b6120631b4fe6b89d36d2b52962e7c9cc0ce07bfdbd4c diff --git a/ports/leafpad/depends b/ports/leafpad/depends new file mode 100644 index 0000000..188ea60 --- /dev/null +++ b/ports/leafpad/depends @@ -0,0 +1,3 @@ +gettext make +gtk+2 +intltool make diff --git a/ports/leafpad/sources b/ports/leafpad/sources new file mode 100644 index 0000000..0f0fc68 --- /dev/null +++ b/ports/leafpad/sources @@ -0,0 +1 @@ +https://savannah.nongnu.org/download/leafpad/leafpad-0.8.17.tar.gz diff --git a/ports/leafpad/version b/ports/leafpad/version new file mode 100644 index 0000000..7aec556 --- /dev/null +++ b/ports/leafpad/version @@ -0,0 +1 @@ +0.8.17 1 diff --git a/ports/less/build b/ports/less/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/less/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/less/checksums b/ports/less/checksums new file mode 100644 index 0000000..a6ae059 --- /dev/null +++ b/ports/less/checksums @@ -0,0 +1 @@ +ce5b6d2b9fc4442d7a07c93ab128d2dff2ce09a1d4f2d055b95cf28dd0dc9a9a diff --git a/ports/less/depends b/ports/less/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/ports/less/depends @@ -0,0 +1 @@ +ncurses diff --git a/ports/less/sources b/ports/less/sources new file mode 100644 index 0000000..7e92a9a --- /dev/null +++ b/ports/less/sources @@ -0,0 +1 @@ +http://www.greenwoodsoftware.com/less/less-563.tar.gz diff --git a/ports/less/version b/ports/less/version new file mode 100644 index 0000000..c6f7350 --- /dev/null +++ b/ports/less/version @@ -0,0 +1 @@ +563 1 diff --git a/ports/libXRes/build b/ports/libXRes/build new file mode 100755 index 0000000..7850bbe --- /dev/null +++ b/ports/libXRes/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./autogen.sh \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/libXRes/depends b/ports/libXRes/depends new file mode 100644 index 0000000..bd68685 --- /dev/null +++ b/ports/libXRes/depends @@ -0,0 +1,4 @@ +autoconf make +automake make +libX11 +libXext diff --git a/ports/libXRes/sources b/ports/libXRes/sources new file mode 100644 index 0000000..19c234f --- /dev/null +++ b/ports/libXRes/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/lib/libxres.git diff --git a/ports/libXRes/version b/ports/libXRes/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/libXRes/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/libXaw/build b/ports/libXaw/build new file mode 100755 index 0000000..4261be4 --- /dev/null +++ b/ports/libXaw/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/libXaw/checksums b/ports/libXaw/checksums new file mode 100644 index 0000000..5ca1ddf --- /dev/null +++ b/ports/libXaw/checksums @@ -0,0 +1 @@ +8ef8067312571292ccc2bbe94c41109dcf022ea5a4ec71656a83d8cce9edb0cd diff --git a/ports/libXaw/depends b/ports/libXaw/depends new file mode 100644 index 0000000..3c49d50 --- /dev/null +++ b/ports/libXaw/depends @@ -0,0 +1,2 @@ +libXmu +libXpm diff --git a/ports/libXaw/sources b/ports/libXaw/sources new file mode 100644 index 0000000..ac5dd23 --- /dev/null +++ b/ports/libXaw/sources @@ -0,0 +1 @@ +https://www.x.org/releases/individual/lib/libXaw-1.0.13.tar.bz2 diff --git a/ports/libXaw/version b/ports/libXaw/version new file mode 100644 index 0000000..7d6b13e --- /dev/null +++ b/ports/libXaw/version @@ -0,0 +1 @@ +1.0.13 1 diff --git a/ports/libXaw3d-git/build b/ports/libXaw3d-git/build new file mode 100755 index 0000000..e2bed20 --- /dev/null +++ b/ports/libXaw3d-git/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +./autogen.sh \ + --prefix=/usr + +make +make DESTDIR="$1" install + +#for lib in "$1/usr/lib/libXaw.7.so" "$1/usr/lib/libXaw.so" "$1/usr/lib/libXaw.so.6" "$1/usr/lib/libXaw.so.7" "$1/usr/lib/libXaw6.so" "$1/usr/lib/libXaw6.so.6" "$1/usr/lib/libXaw6.so.6.0.0" "$1/usr/lib/libXaw6.so.6.0.0.1" "$1/usr/lib/libXaw7.so "$1/usr/lib/libXaw7.so.7" "$1/usr/lib/libXaw7.so.7.0.0" +#do ln -s "$1/usr/lib/libXaw3d.so" "$lib" +#done diff --git a/ports/libXaw3d-git/depends b/ports/libXaw3d-git/depends new file mode 100644 index 0000000..00b9723 --- /dev/null +++ b/ports/libXaw3d-git/depends @@ -0,0 +1,12 @@ +autoconf make +automake make +bison make +bison make +gettext-tiny make +libX11 +libXext +libXmu +libXt +libtool make +pkgconf make +xorg-util-macros make diff --git a/ports/libXaw3d-git/pinst b/ports/libXaw3d-git/pinst new file mode 100755 index 0000000..17c0fcd --- /dev/null +++ b/ports/libXaw3d-git/pinst @@ -0,0 +1,9 @@ +#!/bin/sh -e + +for lib in /usr/lib/libXaw.7.so /usr/lib/libXaw.so /usr/lib/libXaw.so.6 /usr/lib/libXaw.so.7 /usr/lib/libXaw6.so /usr/lib/libXaw6.so.6 /usr/lib/libXaw6.so.6.0.0 /usr/lib/libXaw6.so.6.0.0.1 /usr/lib/libXaw7.so /usr/lib/libXaw7.so.7 /usr/lib/libXaw7.so.7.0.0 +do ln -s /usr/lib/libXaw3d.so $lib +done + +ln -s /usr/lib/pkgconfig/xaw3d.pc /usr/lib/pkgconfig/xaw7.pc + +ln -s /usr/include/X11/Xaw3d /usr/include/X11/Xaw diff --git a/ports/libXaw3d-git/sources b/ports/libXaw3d-git/sources new file mode 100644 index 0000000..cfc7d9d --- /dev/null +++ b/ports/libXaw3d-git/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/dickey/libxaw3d.git diff --git a/ports/libXaw3d-git/version b/ports/libXaw3d-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/libXaw3d-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/libXdmcp/build b/ports/libXdmcp/build new file mode 100755 index 0000000..4261be4 --- /dev/null +++ b/ports/libXdmcp/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/libXdmcp/checksums b/ports/libXdmcp/checksums new file mode 100644 index 0000000..cc104b3 --- /dev/null +++ b/ports/libXdmcp/checksums @@ -0,0 +1 @@ +20523b44aaa513e17c009e873ad7bbc301507a3224c232610ce2e099011c6529 diff --git a/ports/libXdmcp/depends b/ports/libXdmcp/depends new file mode 100644 index 0000000..cef882f --- /dev/null +++ b/ports/libXdmcp/depends @@ -0,0 +1 @@ +xorgproto diff --git a/ports/libXdmcp/sources b/ports/libXdmcp/sources new file mode 100644 index 0000000..a5750b9 --- /dev/null +++ b/ports/libXdmcp/sources @@ -0,0 +1 @@ +https://www.x.org/releases/individual/lib/libXdmcp-1.1.3.tar.bz2 diff --git a/ports/libXdmcp/version b/ports/libXdmcp/version new file mode 100644 index 0000000..035474a --- /dev/null +++ b/ports/libXdmcp/version @@ -0,0 +1 @@ +1.1.3 1 diff --git a/ports/libXpm/build b/ports/libXpm/build new file mode 100755 index 0000000..0aae5ef --- /dev/null +++ b/ports/libXpm/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr +make +make DESTDIR="$1" install diff --git a/ports/libXpm/checksums b/ports/libXpm/checksums new file mode 100644 index 0000000..2cb9db4 --- /dev/null +++ b/ports/libXpm/checksums @@ -0,0 +1 @@ +9cd1da57588b6cb71450eff2273ef6b657537a9ac4d02d0014228845b935ac25 diff --git a/ports/libXpm/depends b/ports/libXpm/depends new file mode 100644 index 0000000..61e27d0 --- /dev/null +++ b/ports/libXpm/depends @@ -0,0 +1,2 @@ +gettext-tiny make +libXt diff --git a/ports/libXpm/sources b/ports/libXpm/sources new file mode 100644 index 0000000..7bfa024 --- /dev/null +++ b/ports/libXpm/sources @@ -0,0 +1 @@ +https://www.x.org/releases/individual/lib/libXpm-3.5.13.tar.bz2 diff --git a/ports/libXpm/version b/ports/libXpm/version new file mode 100644 index 0000000..12312a8 --- /dev/null +++ b/ports/libXpm/version @@ -0,0 +1 @@ +3.5.13 1 diff --git a/ports/libao-git/build b/ports/libao-git/build new file mode 100755 index 0000000..6184d1d --- /dev/null +++ b/ports/libao-git/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./autogen.sh + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/libao-git/depends b/ports/libao-git/depends new file mode 100644 index 0000000..441ffdb --- /dev/null +++ b/ports/libao-git/depends @@ -0,0 +1,4 @@ +alsa-lib +autoconf make +automake make +libtool make diff --git a/ports/libao-git/sources b/ports/libao-git/sources new file mode 100644 index 0000000..ec79e63 --- /dev/null +++ b/ports/libao-git/sources @@ -0,0 +1 @@ +git+https://github.com/xiph/libao diff --git a/ports/libao-git/version b/ports/libao-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/libao-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/libbson-git/build b/ports/libbson-git/build new file mode 100755 index 0000000..72ba16b --- /dev/null +++ b/ports/libbson-git/build @@ -0,0 +1,17 @@ +#!/bin/sh -e + +cmake . \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DENABLE_BSON=ON \ + -DENABLE_CLIENT_SIDE_ENCRYPTION=OFF \ + -DENABLE_EXAMPLES=OFF \ + -DENABLE_ICU=OFF \ + -DENABLE_MONGOC=OFF \ + -DENABLE_MONGODB_AWS_AUTH=OFF \ + -DENABLE_SASL=OFF \ + -DENABLE_TESTS=OFF \ + -DENABLE_UNINSTALL=OFF \ + -DCMAKE_BUILD_TYPE=Release + +make +make DESTDIR="$1" install diff --git a/ports/libbson-git/depends b/ports/libbson-git/depends new file mode 100644 index 0000000..7d91ec2 --- /dev/null +++ b/ports/libbson-git/depends @@ -0,0 +1 @@ +cmake make diff --git a/ports/libbson-git/sources b/ports/libbson-git/sources new file mode 100644 index 0000000..473c374 --- /dev/null +++ b/ports/libbson-git/sources @@ -0,0 +1 @@ +git+https://github.com/mongodb/mongo-c-driver diff --git a/ports/libbson-git/version b/ports/libbson-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/libbson-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/libetpan/build b/ports/libetpan/build new file mode 100755 index 0000000..376d8ea --- /dev/null +++ b/ports/libetpan/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./autogen.sh \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/libetpan/checksums b/ports/libetpan/checksums new file mode 100644 index 0000000..c1cbfad --- /dev/null +++ b/ports/libetpan/checksums @@ -0,0 +1 @@ +82ec8ea11d239c9967dbd1717cac09c8330a558e025b3e4dc6a7594e80d13bb1 diff --git a/ports/libetpan/depends b/ports/libetpan/depends new file mode 100644 index 0000000..c61daac --- /dev/null +++ b/ports/libetpan/depends @@ -0,0 +1,4 @@ +autoconf make +automake make +libtool make +pkgconf make diff --git a/ports/libetpan/sources b/ports/libetpan/sources new file mode 100644 index 0000000..c078763 --- /dev/null +++ b/ports/libetpan/sources @@ -0,0 +1 @@ +https://github.com/dinhvh/libetpan/archive/1.9.4.tar.gz diff --git a/ports/libetpan/version b/ports/libetpan/version new file mode 100644 index 0000000..39bc92a --- /dev/null +++ b/ports/libetpan/version @@ -0,0 +1 @@ +1.9.4 1 diff --git a/ports/libmbim/build b/ports/libmbim/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/libmbim/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/libmbim/checksums b/ports/libmbim/checksums new file mode 100644 index 0000000..bf29a25 --- /dev/null +++ b/ports/libmbim/checksums @@ -0,0 +1 @@ +760465caaa1ccd699c14290e9791da456d5300dd11ebf4c1486151033e875dfd diff --git a/ports/libmbim/sources b/ports/libmbim/sources new file mode 100644 index 0000000..c535e36 --- /dev/null +++ b/ports/libmbim/sources @@ -0,0 +1 @@ +https://www.freedesktop.org/software/libmbim/libmbim-1.24.6.tar.xz diff --git a/ports/libmbim/version b/ports/libmbim/version new file mode 100644 index 0000000..96d59a8 --- /dev/null +++ b/ports/libmbim/version @@ -0,0 +1 @@ +1.24.6 1 diff --git a/ports/libnice-git/build b/ports/libnice-git/build new file mode 100755 index 0000000..f09fa4c --- /dev/null +++ b/ports/libnice-git/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +meson builddir -Dprefix="$1/usr" +ninja -C builddir +ninja -C builddir test +ninja -C builddir install diff --git a/ports/libnice-git/depends b/ports/libnice-git/depends new file mode 100644 index 0000000..a00ad3a --- /dev/null +++ b/ports/libnice-git/depends @@ -0,0 +1,4 @@ +glib +gnutls +gstreamer +meson build diff --git a/ports/libnice-git/sources b/ports/libnice-git/sources new file mode 100644 index 0000000..ca44c1d --- /dev/null +++ b/ports/libnice-git/sources @@ -0,0 +1 @@ +git+https://github.com/libnice/libnice diff --git a/ports/libnice-git/version b/ports/libnice-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/libnice-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/libotr/build b/ports/libotr/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/libotr/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/libotr/checksums b/ports/libotr/checksums new file mode 100644 index 0000000..f28380f --- /dev/null +++ b/ports/libotr/checksums @@ -0,0 +1 @@ +8b3b182424251067a952fb4e6c7b95a21e644fbb27fbd5f8af2b2ed87ca419f5 diff --git a/ports/libotr/depends b/ports/libotr/depends new file mode 100644 index 0000000..a93a2d8 --- /dev/null +++ b/ports/libotr/depends @@ -0,0 +1 @@ +libgcrypt diff --git a/ports/libotr/sources b/ports/libotr/sources new file mode 100644 index 0000000..d538b2a --- /dev/null +++ b/ports/libotr/sources @@ -0,0 +1 @@ +https://otr.cypherpunks.ca/libotr-4.1.1.tar.gz diff --git a/ports/libotr/version b/ports/libotr/version new file mode 100644 index 0000000..7b6aadf --- /dev/null +++ b/ports/libotr/version @@ -0,0 +1 @@ +4.1.1 1 diff --git a/ports/libpcre-git/build b/ports/libpcre-git/build new file mode 100755 index 0000000..270ae64 --- /dev/null +++ b/ports/libpcre-git/build @@ -0,0 +1 @@ +#!/bin/sh -e diff --git a/ports/libpcre-git/sources b/ports/libpcre-git/sources new file mode 100644 index 0000000..48ec393 --- /dev/null +++ b/ports/libpcre-git/sources @@ -0,0 +1 @@ +git+https://github.com/twostars/libpcre.git diff --git a/ports/libpcre-git/version b/ports/libpcre-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/libpcre-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/libpipeline-git/README b/ports/libpipeline-git/README new file mode 100644 index 0000000..0178d9c --- /dev/null +++ b/ports/libpipeline-git/README @@ -0,0 +1,4 @@ +You might be wondering why sbase is included as a dependency. +Well, it's because libpipeline requires the join command, which isn't provided +by busybox, and I can't be sure you have it. It's a terrible workaround, but... +sue me. diff --git a/ports/libpipeline-git/build b/ports/libpipeline-git/build new file mode 100755 index 0000000..e249045 --- /dev/null +++ b/ports/libpipeline-git/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +# We need to run the included script, otherwise the build +# will totally fail. + +./release.sh + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/libpipeline-git/depends b/ports/libpipeline-git/depends new file mode 100644 index 0000000..3343047 --- /dev/null +++ b/ports/libpipeline-git/depends @@ -0,0 +1,4 @@ +check make +libtool make +pkgconf make +sbase make diff --git a/ports/libpipeline-git/sources b/ports/libpipeline-git/sources new file mode 100644 index 0000000..860df9f --- /dev/null +++ b/ports/libpipeline-git/sources @@ -0,0 +1 @@ +git+https://gitlab.com/cjwatson/libpipeline diff --git a/ports/libpipeline-git/version b/ports/libpipeline-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/libpipeline-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/libxslt/build b/ports/libxslt/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/libxslt/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/libxslt/checksums b/ports/libxslt/checksums new file mode 100644 index 0000000..e648f35 --- /dev/null +++ b/ports/libxslt/checksums @@ -0,0 +1 @@ +98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f diff --git a/ports/libxslt/depends b/ports/libxslt/depends new file mode 100644 index 0000000..eb89cd5 --- /dev/null +++ b/ports/libxslt/depends @@ -0,0 +1 @@ +libxml2 diff --git a/ports/libxslt/sources b/ports/libxslt/sources new file mode 100644 index 0000000..f2c6003 --- /dev/null +++ b/ports/libxslt/sources @@ -0,0 +1 @@ +http://xmlsoft.org/sources/libxslt-1.1.34.tar.gz diff --git a/ports/libxslt/version b/ports/libxslt/version new file mode 100644 index 0000000..618d8e2 --- /dev/null +++ b/ports/libxslt/version @@ -0,0 +1 @@ +1.1.34 1 diff --git a/ports/links2/build b/ports/links2/build new file mode 100755 index 0000000..e3412bb --- /dev/null +++ b/ports/links2/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +patch -p1 < 01-links-tabbed.patch + +./configure \ + --prefix=/usr \ + --enable-graphics + +make +make DESTDIR="$1" install diff --git a/ports/links2/checksums b/ports/links2/checksums new file mode 100644 index 0000000..4f19d85 --- /dev/null +++ b/ports/links2/checksums @@ -0,0 +1,2 @@ +d6f53da25ec66ea4912e3175b4daafe4090559612d37e31fd390e7bf2451e619 +285eed8591c7781ec26213df82786665aaa1b9286782e8a7a1a7e2a6e1630d63 diff --git a/ports/links2/depends b/ports/links2/depends new file mode 100644 index 0000000..6336362 --- /dev/null +++ b/ports/links2/depends @@ -0,0 +1,8 @@ +bzip2 +libX11 +libpng +libressl +libtool make +pkgconf make +xz +zlib diff --git a/ports/links2/manifest b/ports/links2/manifest new file mode 100644 index 0000000..10878c3 --- /dev/null +++ b/ports/links2/manifest @@ -0,0 +1,17 @@ +/var/db/kiss/installed/links2/version +/var/db/kiss/installed/links2/sources +/var/db/kiss/installed/links2/manifest +/var/db/kiss/installed/links2/depends +/var/db/kiss/installed/links2/checksums +/var/db/kiss/installed/links2/build +/var/db/kiss/installed/links2/ +/var/db/kiss/installed/ +/var/db/kiss/ +/var/db/ +/var/ +/usr/man/man1/links.1 +/usr/man/man1/ +/usr/man/ +/usr/bin/links +/usr/bin/ +/usr/ diff --git a/ports/links2/patches/01-links-tabbed.patch b/ports/links2/patches/01-links-tabbed.patch new file mode 100644 index 0000000..45a9eba --- /dev/null +++ b/ports/links2/patches/01-links-tabbed.patch @@ -0,0 +1,67 @@ +diff --git a/default.c b/default.c +index dc3fa58..5e21015 100644 +--- a/default.c ++++ b/default.c +@@ -2091,6 +2091,7 @@ int force_g = 0; + unsigned char ggr_drv[MAX_STR_LEN] = ""; + unsigned char ggr_mode[MAX_STR_LEN] = ""; + unsigned char ggr_display[MAX_STR_LEN] = ""; ++unsigned char embed[MAX_STR_LEN] = ""; + + int anonymous = 0; + +@@ -2234,6 +2235,7 @@ static struct option links_options[] = { + {1, setstr_cmd, NULL, NULL, 0, MAX_STR_LEN, default_target, NULL, "target"}, + {1, setstr_cmd, NULL, NULL, 0, MAX_STR_LEN, ggr_mode, NULL, "mode"}, + {1, setstr_cmd, NULL, NULL, 0, MAX_STR_LEN, ggr_display, NULL, "display"}, ++ {1, setstr_cmd, NULL, NULL, 0, MAX_STR_LEN, embed, NULL, "w"}, + {1, gen_cmd, num_rd, NULL, 0, MAXINT, &base_session, NULL, "base-session"}, + {1, set_cmd, NULL, NULL, 0, 0, &force_html, NULL, "force-html"}, + {1, dump_cmd, NULL, NULL, D_SOURCE, 0, NULL, NULL, "source"}, +diff --git a/links.h b/links.h +index f61466c..b8967de 100644 +--- a/links.h ++++ b/links.h +@@ -4812,6 +4812,7 @@ extern int force_g; + extern unsigned char ggr_drv[MAX_STR_LEN]; + extern unsigned char ggr_mode[MAX_STR_LEN]; + extern unsigned char ggr_display[MAX_STR_LEN]; ++extern unsigned char embed[MAX_STR_LEN]; + + extern unsigned char default_target[MAX_STR_LEN]; + +diff --git a/x.c b/x.c +index 5f3f33a..ab4c93c 100644 +--- a/x.c ++++ b/x.c +@@ -1622,7 +1622,11 @@ static unsigned char *x_init_driver(unsigned char *param, unsigned char *display + x_screen = DefaultScreen(x_display); + x_display_height = DisplayHeight(x_display, x_screen); + x_display_width = DisplayWidth(x_display, x_screen); +- x_root_window = RootWindow(x_display, x_screen); ++ if (embed) { ++ x_root_window = strtol(embed, NULL, 0); ++ } else { ++ x_root_window = RootWindow(x_display, x_screen); ++ } + x_default_colormap = XDefaultColormap(x_display, x_screen); + + x_default_window_width = x_display_width; +@@ -1813,6 +1817,7 @@ visual_found: + if (x_have_palette) win_attr.colormap = x_colormap; + else win_attr.colormap = x_default_colormap; + ++ if (!embed) { + fake_window = XCreateWindow( + x_display, + x_root_window, +@@ -1829,6 +1834,9 @@ visual_found: + ); + + fake_window_initialized = 1; ++ } else { ++ fake_window = x_root_window; ++ } + + x_normal_gc = XCreateGC(x_display, fake_window, GCFillStyle|GCBackground, &gcv); + if (!x_normal_gc) { diff --git a/ports/links2/sources b/ports/links2/sources new file mode 100644 index 0000000..d1bdecd --- /dev/null +++ b/ports/links2/sources @@ -0,0 +1,2 @@ +patches/01-links-tabbed.patch +http://links.twibright.com/download/links-2.21.tar.bz2 diff --git a/ports/links2/version b/ports/links2/version new file mode 100644 index 0000000..c448d89 --- /dev/null +++ b/ports/links2/version @@ -0,0 +1 @@ +2.21.0 1 diff --git a/ports/lxtask/build b/ports/lxtask/build new file mode 100755 index 0000000..4261be4 --- /dev/null +++ b/ports/lxtask/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/lxtask/checksums b/ports/lxtask/checksums new file mode 100644 index 0000000..f1012d4 --- /dev/null +++ b/ports/lxtask/checksums @@ -0,0 +1 @@ +2216df9bc4bb2d80733e788966512ac58c421e0a0a1ff85210f34a29d1eb4e2c diff --git a/ports/lxtask/depends b/ports/lxtask/depends new file mode 100644 index 0000000..39aa8c4 --- /dev/null +++ b/ports/lxtask/depends @@ -0,0 +1 @@ +intltool make diff --git a/ports/lxtask/sources b/ports/lxtask/sources new file mode 100644 index 0000000..5d5fda6 --- /dev/null +++ b/ports/lxtask/sources @@ -0,0 +1 @@ +https://master.dl.sourceforge.net/project/lxde/LXTask%20%28task%20manager%29/LXTask%200.1.x/lxtask-0.1.10.tar.xz diff --git a/ports/lxtask/version b/ports/lxtask/version new file mode 100644 index 0000000..1b7f4dc --- /dev/null +++ b/ports/lxtask/version @@ -0,0 +1 @@ +0.1.10 1 diff --git a/ports/mplayer/build b/ports/mplayer/build new file mode 100755 index 0000000..675acce --- /dev/null +++ b/ports/mplayer/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --enable-gui + +make +make DESTDIR="$1" install diff --git a/ports/mplayer/checksums b/ports/mplayer/checksums new file mode 100644 index 0000000..976cf36 --- /dev/null +++ b/ports/mplayer/checksums @@ -0,0 +1 @@ +82596ed558478d28248c7bc3828eb09e6948c099bbd76bb7ee745a0e3275b548 diff --git a/ports/mplayer/depends b/ports/mplayer/depends new file mode 100644 index 0000000..da34299 --- /dev/null +++ b/ports/mplayer/depends @@ -0,0 +1,3 @@ +ffmpeg +gtk+2 +yasm make diff --git a/ports/mplayer/sources b/ports/mplayer/sources new file mode 100644 index 0000000..829b247 --- /dev/null +++ b/ports/mplayer/sources @@ -0,0 +1 @@ +http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.4.tar.xz diff --git a/ports/mplayer/version b/ports/mplayer/version new file mode 100644 index 0000000..0ab1228 --- /dev/null +++ b/ports/mplayer/version @@ -0,0 +1 @@ +1.4 1 diff --git a/ports/mrsh-git/build b/ports/mrsh-git/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/mrsh-git/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/mrsh-git/sources b/ports/mrsh-git/sources new file mode 100644 index 0000000..075f1be --- /dev/null +++ b/ports/mrsh-git/sources @@ -0,0 +1 @@ +git+https://github.com/emersion/mrsh diff --git a/ports/mrsh-git/version b/ports/mrsh-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/mrsh-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/mtm-git/build b/ports/mtm-git/build new file mode 100755 index 0000000..5d47431 --- /dev/null +++ b/ports/mtm-git/build @@ -0,0 +1,20 @@ +#!/bin/sh -e + +# Normally MTM will try to install manuals to a +# directory that doesn't exist. This is a kludge +# to work around that by disabling manpage install. + +sed '22{/cp/d;}' -i Makefile + +# This is another kludge to fix a problematic +# flag in the makefile. Doesn't cause any +# problems. + +sed -i s/"cp -i"/cp/ Makefile + +# Link against regular ncurses. +sed -i s/ncursesw\\/curses.h/ncurses.h/ config.def.h + +make +install -Dm755 mtm "$1/usr/bin/mtm" +install -Dm755 mtm.1 "$1/usr/share/man/man1/mtm.1" diff --git a/ports/mtm-git/checksums b/ports/mtm-git/checksums new file mode 100644 index 0000000..6a74e13 --- /dev/null +++ b/ports/mtm-git/checksums @@ -0,0 +1 @@ +cb1758d810860d25c7dc6d6d5440ad79055a22935f521be7d7d9fae40124add8 diff --git a/ports/mtm-git/depends b/ports/mtm-git/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/ports/mtm-git/depends @@ -0,0 +1 @@ +ncurses diff --git a/ports/mtm-git/pre-remove b/ports/mtm-git/pre-remove new file mode 100755 index 0000000..ee834e2 --- /dev/null +++ b/ports/mtm-git/pre-remove @@ -0,0 +1,3 @@ +#!/bin/sh -e + +rm /usr/bin/mtm diff --git a/ports/mtm-git/sources b/ports/mtm-git/sources new file mode 100644 index 0000000..f75660d --- /dev/null +++ b/ports/mtm-git/sources @@ -0,0 +1 @@ +git+https://github.com/deadpixi/mtm diff --git a/ports/mtm-git/version b/ports/mtm-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/mtm-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/mtpaint-git/README b/ports/mtpaint-git/README new file mode 100644 index 0000000..cdb5acd --- /dev/null +++ b/ports/mtpaint-git/README @@ -0,0 +1,3 @@ +mtPaint doesn't include its full docs in the default install, for some reason. +You can get the handbook at the following URL: + http://mtpaint.sourceforge.net/handbook/en_GB/chap_00.html diff --git a/ports/mtpaint-git/build b/ports/mtpaint-git/build new file mode 100755 index 0000000..6ef6474 --- /dev/null +++ b/ports/mtpaint-git/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + man # mtpaint uses weird configure syntax... + +make +make DESTDIR="$1" install diff --git a/ports/mtpaint-git/depends b/ports/mtpaint-git/depends new file mode 100644 index 0000000..276929e --- /dev/null +++ b/ports/mtpaint-git/depends @@ -0,0 +1,4 @@ +giflib +gtk+2 +libpng +zlib diff --git a/ports/mtpaint-git/sources b/ports/mtpaint-git/sources new file mode 100644 index 0000000..0416d10 --- /dev/null +++ b/ports/mtpaint-git/sources @@ -0,0 +1 @@ +git+https://github.com/wjaguar/mtPaint.git diff --git a/ports/mtpaint-git/version b/ports/mtpaint-git/version new file mode 100644 index 0000000..8202611 --- /dev/null +++ b/ports/mtpaint-git/version @@ -0,0 +1 @@ +git 2 diff --git a/ports/net-tools-git/README b/ports/net-tools-git/README new file mode 100644 index 0000000..b2e8095 --- /dev/null +++ b/ports/net-tools-git/README @@ -0,0 +1,7 @@ +Hey there! Sorry for the inconvenience, but net-tools uses a super +wonky bash script to build and I'm... gonna be honest, too lazy to +rewrite it as POSIX right now. + +That and for whatever reason KISS freaks if you install this *after* +inetutils. So if you're getting conflict errors, uninstall inetutils +and reinstall net-tools. Sorry again, but I can't find a fix. diff --git a/ports/net-tools-git/build b/ports/net-tools-git/build new file mode 100755 index 0000000..b5312d1 --- /dev/null +++ b/ports/net-tools-git/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +# Run the config script as root because stuff breaks otherwise. +sls ./configure.sh config.in + +# Change the SBINDIR to /bin to keep kiss happy +sed -i s/\\/sbin/\$DESTDIR/ Makefile + +sls make +sls make DESTDIR="$1" install diff --git a/ports/net-tools-git/depends b/ports/net-tools-git/depends new file mode 100644 index 0000000..3cfc767 --- /dev/null +++ b/ports/net-tools-git/depends @@ -0,0 +1,3 @@ +autoconf make +automake make +bash make diff --git a/ports/net-tools-git/sources b/ports/net-tools-git/sources new file mode 100644 index 0000000..dcaacac --- /dev/null +++ b/ports/net-tools-git/sources @@ -0,0 +1 @@ +git+https://github.com/ecki/net-tools.git diff --git a/ports/net-tools-git/version b/ports/net-tools-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/net-tools-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/netsurf-gtk2/build b/ports/netsurf-gtk2/build new file mode 100755 index 0000000..3ad790e --- /dev/null +++ b/ports/netsurf-gtk2/build @@ -0,0 +1,35 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -fcommon" +export PERL5LIB="$PWD/usr/lib/perl5/vendor_perl/5.32.0/x86_64-linux-thread-multi" +export PATH="$PATH:$PWD/xxd" + +# Give the Makefile busybox compatible arguments. +sed -i "s|$(Q)$(INSTALL) -T|$(Q)$(INSTALL) -Dm755|g" \ + netsurf/frontends/framebuffer/Makefile + +for p in html-parser html-tagset; do ( + cd "$p" + + perl Makefile.PL INSTALLDIRS=vendor + + make + make DESTDIR="$PWD/.." install +) done + +# Build standalone xxd to remove VIM requirement +cc xxd/xxd.c -o xxd/xxd + +make \ + LIBDIR=lib \ + INCLUDEDIR=include \ + PREFIX=/usr \ + TARGET=gtk2 + +make \ + LIBDIR=lib \ + INCLUDEDIR=include \ + PREFIX=/usr \ + TARGET=gtk2\ + DESTDIR="$1" \ + install diff --git a/ports/netsurf-gtk2/checksums b/ports/netsurf-gtk2/checksums new file mode 100644 index 0000000..7f4e228 --- /dev/null +++ b/ports/netsurf-gtk2/checksums @@ -0,0 +1,4 @@ +495adf6b6614ce36fca6c605f7c321f9cb4a3df838043158122678ce2b3325b7 netsurf-all-3.10.tar.gz +ec28c7e1d9e67c45eca197077f7cdc41ead1bb4c538c7f02a3296a4bb92f608b HTML-Parser-3.72.tar.gz +adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2 HTML-Tagset-3.20.tar.gz +c3ff5f0afc4a9615a2a2ce6b0f0d266397fa3dab3e3ec431564a811df8fba0ad xxd.c diff --git a/ports/netsurf-gtk2/depends b/ports/netsurf-gtk2/depends new file mode 100644 index 0000000..688404e --- /dev/null +++ b/ports/netsurf-gtk2/depends @@ -0,0 +1,13 @@ +#sdl - uncomment to build with additional sdl interface +bison make +gperf make +gtk+2 +libjpeg-turbo +libpng +libressl +linux-headers make +perl make +xcb-util +xcb-util-image +xcb-util-keysyms +xcb-util-wm diff --git a/ports/netsurf-gtk2/sources b/ports/netsurf-gtk2/sources new file mode 100644 index 0000000..4f2d179 --- /dev/null +++ b/ports/netsurf-gtk2/sources @@ -0,0 +1,4 @@ +http://download.netsurf-browser.org/netsurf/releases/source-full/netsurf-all-3.10.tar.gz +https://cpan.metacpan.org/authors/id/G/GA/GAAS/HTML-Parser-3.72.tar.gz html-parser +https://cpan.metacpan.org/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz html-tagset +https://raw.githubusercontent.com/vim/vim/v8.2.1158/src/xxd/xxd.c xxd diff --git a/ports/netsurf-gtk2/version b/ports/netsurf-gtk2/version new file mode 100644 index 0000000..8380b26 --- /dev/null +++ b/ports/netsurf-gtk2/version @@ -0,0 +1 @@ +3.10 1 diff --git a/ports/nilfs-utils/build b/ports/nilfs-utils/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/nilfs-utils/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/nilfs-utils/checksums b/ports/nilfs-utils/checksums new file mode 100644 index 0000000..dfbc648 --- /dev/null +++ b/ports/nilfs-utils/checksums @@ -0,0 +1 @@ +5a29f8f59db03edf8dd1e68dfd80ff4713e0aa184cfa83a6326ac8af93d9bda6 diff --git a/ports/nilfs-utils/sources b/ports/nilfs-utils/sources new file mode 100644 index 0000000..f791335 --- /dev/null +++ b/ports/nilfs-utils/sources @@ -0,0 +1 @@ +https://github.com/nilfs-dev/nilfs-utils/releases/download/v2.2.8/nilfs-utils-2.2.8.tar.bz2 diff --git a/ports/nilfs-utils/version b/ports/nilfs-utils/version new file mode 100644 index 0000000..de361cb --- /dev/null +++ b/ports/nilfs-utils/version @@ -0,0 +1 @@ +2.2.8 1 diff --git a/ports/nmh/build b/ports/nmh/build new file mode 100755 index 0000000..2c814e4 --- /dev/null +++ b/ports/nmh/build @@ -0,0 +1,12 @@ +#!/bin/sh -e + +autoupdate + +./autogen.sh + +./configure \ + --prefix=/usr \ + --enable-tls + +make +make DESTDIR="$1" install diff --git a/ports/nmh/checksums b/ports/nmh/checksums new file mode 100644 index 0000000..a0f66ae --- /dev/null +++ b/ports/nmh/checksums @@ -0,0 +1 @@ +3cceb13ad65f84ee0b150aa482ebdea5faaf2efc0dc8b243af32178762dfd8c4 diff --git a/ports/nmh/depends b/ports/nmh/depends new file mode 100644 index 0000000..dbe8623 --- /dev/null +++ b/ports/nmh/depends @@ -0,0 +1,4 @@ +autoconf make +automake make +gdbm +ncurses diff --git a/ports/nmh/sources b/ports/nmh/sources new file mode 100644 index 0000000..f5fdbd0 --- /dev/null +++ b/ports/nmh/sources @@ -0,0 +1 @@ +http://download.savannah.nongnu.org/releases/nmh/nmh-1.7.1-RC3.tar.gz diff --git a/ports/nmh/version b/ports/nmh/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/nmh/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/ntp/build b/ports/ntp/build new file mode 100755 index 0000000..4261be4 --- /dev/null +++ b/ports/ntp/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/ntp/checksums b/ports/ntp/checksums new file mode 100644 index 0000000..395ed92 --- /dev/null +++ b/ports/ntp/checksums @@ -0,0 +1 @@ +f65840deab68614d5d7ceb2d0bb9304ff70dcdedd09abb79754a87536b849c19 diff --git a/ports/ntp/sources b/ports/ntp/sources new file mode 100644 index 0000000..e30bbdd --- /dev/null +++ b/ports/ntp/sources @@ -0,0 +1 @@ +http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p15.tar.gz diff --git a/ports/ntp/version b/ports/ntp/version new file mode 100644 index 0000000..585d369 --- /dev/null +++ b/ports/ntp/version @@ -0,0 +1 @@ +4.2.8p15 1 diff --git a/ports/oclock/build b/ports/oclock/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/oclock/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/oclock/checksums b/ports/oclock/checksums new file mode 100644 index 0000000..b0ab121 --- /dev/null +++ b/ports/oclock/checksums @@ -0,0 +1 @@ +cc20cfc1c0d5128d89e1eecd9ba52e58f111075be163e0aeda5690dbaafbaefe diff --git a/ports/oclock/depends b/ports/oclock/depends new file mode 100644 index 0000000..412b0a9 --- /dev/null +++ b/ports/oclock/depends @@ -0,0 +1,10 @@ +libICE +libSM +libX11 +libXau +libXext +libXmu +libXt +libxcb +libxkbfile +xorg-util-macros make diff --git a/ports/oclock/sources b/ports/oclock/sources new file mode 100644 index 0000000..e1a8391 --- /dev/null +++ b/ports/oclock/sources @@ -0,0 +1 @@ +https://xorg.freedesktop.org/archive/individual/app/oclock-1.0.4.tar.bz2 diff --git a/ports/oclock/version b/ports/oclock/version new file mode 100644 index 0000000..b4b1ce2 --- /dev/null +++ b/ports/oclock/version @@ -0,0 +1 @@ +1.0.4 1 diff --git a/ports/otawk-git/build b/ports/otawk-git/build new file mode 100755 index 0000000..83c2584 --- /dev/null +++ b/ports/otawk-git/build @@ -0,0 +1,5 @@ +#!/bin/sh -e + +make +install -Dm755 a.out "$1/usr/bin/awk" +install -Dm 755 awk.1 "$1/usr/share/man/man1/awk.1" diff --git a/ports/otawk-git/sources b/ports/otawk-git/sources new file mode 100644 index 0000000..36624d4 --- /dev/null +++ b/ports/otawk-git/sources @@ -0,0 +1 @@ +git+https://github.com/onetrueawk/awk.git diff --git a/ports/otawk-git/version b/ports/otawk-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/otawk-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/parcellite/build b/ports/parcellite/build new file mode 100755 index 0000000..5895332 --- /dev/null +++ b/ports/parcellite/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +./configure --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/parcellite/checksums b/ports/parcellite/checksums new file mode 100644 index 0000000..b4de546 --- /dev/null +++ b/ports/parcellite/checksums @@ -0,0 +1 @@ +aba1c7c56c7607e219ce9855723eefa552c5376982891aefbfb5a2d3297ef046 diff --git a/ports/parcellite/depends b/ports/parcellite/depends new file mode 100644 index 0000000..203fd04 --- /dev/null +++ b/ports/parcellite/depends @@ -0,0 +1,2 @@ +gtk+2 +intltool make diff --git a/ports/parcellite/sources b/ports/parcellite/sources new file mode 100644 index 0000000..660e7b3 --- /dev/null +++ b/ports/parcellite/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/project/parcellite/parcellite/parcellite-1.2.1/parcellite-1.2.1.tar.gz diff --git a/ports/parcellite/version b/ports/parcellite/version new file mode 100644 index 0000000..cd3d02b --- /dev/null +++ b/ports/parcellite/version @@ -0,0 +1 @@ +1.2.1 1 diff --git a/ports/patch/build b/ports/patch/build new file mode 100755 index 0000000..206a476 --- /dev/null +++ b/ports/patch/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -static" + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/patch/checksums b/ports/patch/checksums new file mode 100644 index 0000000..584ddee --- /dev/null +++ b/ports/patch/checksums @@ -0,0 +1 @@ +ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd patch-2.7.6.tar.xz diff --git a/ports/patch/manifest b/ports/patch/manifest new file mode 100644 index 0000000..1f563b3 --- /dev/null +++ b/ports/patch/manifest @@ -0,0 +1,17 @@ +/var/db/kiss/installed/patch/version +/var/db/kiss/installed/patch/sources +/var/db/kiss/installed/patch/manifest +/var/db/kiss/installed/patch/checksums +/var/db/kiss/installed/patch/build +/var/db/kiss/installed/patch/ +/var/db/kiss/installed/ +/var/db/kiss/ +/var/db/ +/var/ +/usr/share/man/man1/patch.1 +/usr/share/man/man1/ +/usr/share/man/ +/usr/share/ +/usr/bin/patch +/usr/bin/ +/usr/ diff --git a/ports/patch/sources b/ports/patch/sources new file mode 100644 index 0000000..4587831 --- /dev/null +++ b/ports/patch/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/gnu/patch/patch-2.7.6.tar.xz diff --git a/ports/patch/version b/ports/patch/version new file mode 100644 index 0000000..f9b47b5 --- /dev/null +++ b/ports/patch/version @@ -0,0 +1 @@ +2.7.6 1 diff --git a/ports/perf/build b/ports/perf/build new file mode 100755 index 0000000..270ae64 --- /dev/null +++ b/ports/perf/build @@ -0,0 +1 @@ +#!/bin/sh -e diff --git a/ports/perf/sources b/ports/perf/sources new file mode 100644 index 0000000..b908b31 --- /dev/null +++ b/ports/perf/sources @@ -0,0 +1 @@ +git+https://github.com/torvalds/linux/tree/master/tools/perf diff --git a/ports/perf/version b/ports/perf/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/perf/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/perl-xml/build b/ports/perl-xml/build new file mode 100755 index 0000000..9cf06e5 --- /dev/null +++ b/ports/perl-xml/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +perl Makefile.PL + +make +make PREFIX=/usr DESTDIR="$1" install diff --git a/ports/perl-xml/checksums b/ports/perl-xml/checksums new file mode 100644 index 0000000..85cf8ac --- /dev/null +++ b/ports/perl-xml/checksums @@ -0,0 +1 @@ +d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d XML-Parser-2.46.tar.gz diff --git a/ports/perl-xml/depends b/ports/perl-xml/depends new file mode 100644 index 0000000..a126c5c --- /dev/null +++ b/ports/perl-xml/depends @@ -0,0 +1,2 @@ +expat +perl diff --git a/ports/perl-xml/sources b/ports/perl-xml/sources new file mode 100644 index 0000000..3ec9c15 --- /dev/null +++ b/ports/perl-xml/sources @@ -0,0 +1 @@ +https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz diff --git a/ports/perl-xml/version b/ports/perl-xml/version new file mode 100644 index 0000000..06d4622 --- /dev/null +++ b/ports/perl-xml/version @@ -0,0 +1 @@ +2.46 1 diff --git a/ports/picocom-git/build b/ports/picocom-git/build new file mode 100755 index 0000000..4c2f755 --- /dev/null +++ b/ports/picocom-git/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +make + +install -Dm755 picocom "$1/usr/bin/picocom" +install -Dm644 picocom.1 "$1/usr/share/man/man.1/picocom.1" diff --git a/ports/picocom-git/checksums b/ports/picocom-git/checksums new file mode 100644 index 0000000..8e78aa5 --- /dev/null +++ b/ports/picocom-git/checksums @@ -0,0 +1 @@ +e6761ca932ffc6d09bd6b11ff018bdaf70b287ce518b3282d29e0270e88420bb diff --git a/ports/picocom-git/sources b/ports/picocom-git/sources new file mode 100644 index 0000000..e301ad3 --- /dev/null +++ b/ports/picocom-git/sources @@ -0,0 +1 @@ +git+https://github.com/npat-efault/picocom diff --git a/ports/picocom-git/version b/ports/picocom-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/picocom-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/pidgin-otr/build b/ports/pidgin-otr/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/pidgin-otr/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/pidgin-otr/checksums b/ports/pidgin-otr/checksums new file mode 100644 index 0000000..91c7eaa --- /dev/null +++ b/ports/pidgin-otr/checksums @@ -0,0 +1 @@ +f4b59eef4a94b1d29dbe0c106dd00cdc630e47f18619fc754e5afbf5724ebac4 diff --git a/ports/pidgin-otr/depends b/ports/pidgin-otr/depends new file mode 100644 index 0000000..9b76188 --- /dev/null +++ b/ports/pidgin-otr/depends @@ -0,0 +1,4 @@ +gettext-tiny make +intltool make +libotr +pidgin diff --git a/ports/pidgin-otr/sources b/ports/pidgin-otr/sources new file mode 100644 index 0000000..3dcb95e --- /dev/null +++ b/ports/pidgin-otr/sources @@ -0,0 +1 @@ +https://otr.cypherpunks.ca/pidgin-otr-4.0.2.tar.gz diff --git a/ports/pidgin-otr/version b/ports/pidgin-otr/version new file mode 100644 index 0000000..47880ed --- /dev/null +++ b/ports/pidgin-otr/version @@ -0,0 +1 @@ +4.0.2 1 diff --git a/ports/pidgin/build b/ports/pidgin/build new file mode 100755 index 0000000..9ea68ae --- /dev/null +++ b/ports/pidgin/build @@ -0,0 +1,25 @@ +#!/bin/sh -e + +ls + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-gstreamer \ + --disable-avahi \ + --disable-gtkspell \ + --disable-meanwhile \ + --disable-idn \ + --disable-nm \ + --disable-tcl \ + --disable-dbus \ + --disable-screensaver \ + --disable-perl \ + --disable-sm \ + --disable-vv \ + --disable-dependency-tracking \ + --disable-nls \ + --with-dynamic-prpls=irc + +make +make DESTDIR="$1" install diff --git a/ports/pidgin/checksums b/ports/pidgin/checksums new file mode 100644 index 0000000..1898b44 --- /dev/null +++ b/ports/pidgin/checksums @@ -0,0 +1 @@ +a85667daa677954b6649853c89c20d50fec2923ed1d86eea2370866a52b5ae6d diff --git a/ports/pidgin/depends b/ports/pidgin/depends new file mode 100644 index 0000000..73d3582 --- /dev/null +++ b/ports/pidgin/depends @@ -0,0 +1,7 @@ +cyrus-sasl +gettext-tiny make +gnutls +gtk+2 +libgcrypt +libxml2 +perl-xml make diff --git a/ports/pidgin/sources b/ports/pidgin/sources new file mode 100644 index 0000000..3a94142 --- /dev/null +++ b/ports/pidgin/sources @@ -0,0 +1 @@ +https://sourceforge.net/projects/pidgin/files/Pidgin/2.14.3/pidgin-2.14.3.tar.gz diff --git a/ports/pidgin/version b/ports/pidgin/version new file mode 100644 index 0000000..d4161fb --- /dev/null +++ b/ports/pidgin/version @@ -0,0 +1 @@ +2.14.1 1 diff --git a/ports/poppler-glib/build b/ports/poppler-glib/build new file mode 100755 index 0000000..ecf70d4 --- /dev/null +++ b/ports/poppler-glib/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DFLAG=1 \ + -DENABLE_LIBOPENJPEG=unmaintained + +cmake --build build +cmake --install build diff --git a/ports/poppler-glib/checksums b/ports/poppler-glib/checksums new file mode 100644 index 0000000..12588bf --- /dev/null +++ b/ports/poppler-glib/checksums @@ -0,0 +1 @@ +a6a17b92406448ab869191b46e04fcb1d79f479df3beb9d807c81a0de070eb25 diff --git a/ports/poppler-glib/depends b/ports/poppler-glib/depends new file mode 100644 index 0000000..f84b189 --- /dev/null +++ b/ports/poppler-glib/depends @@ -0,0 +1,6 @@ +cmake make +fontconfig +libjpeg-turbo +libpng +nss +tiff diff --git a/ports/poppler-glib/sources b/ports/poppler-glib/sources new file mode 100644 index 0000000..1dc3b66 --- /dev/null +++ b/ports/poppler-glib/sources @@ -0,0 +1 @@ +https://github.com/freedesktop/poppler/archive/refs/tags/poppler-21.03.0.tar.gz diff --git a/ports/poppler-glib/version b/ports/poppler-glib/version new file mode 100644 index 0000000..18ab3a3 --- /dev/null +++ b/ports/poppler-glib/version @@ -0,0 +1 @@ +21.03.0 2 diff --git a/ports/psmisc-git/build b/ports/psmisc-git/build new file mode 100755 index 0000000..08732d9 --- /dev/null +++ b/ports/psmisc-git/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./autogen.sh + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/psmisc-git/depends b/ports/psmisc-git/depends new file mode 100644 index 0000000..c8101f8 --- /dev/null +++ b/ports/psmisc-git/depends @@ -0,0 +1,4 @@ +autoconf make +automake make +gettext-tiny make +ncurses diff --git a/ports/psmisc-git/sources b/ports/psmisc-git/sources new file mode 100644 index 0000000..d5a17a2 --- /dev/null +++ b/ports/psmisc-git/sources @@ -0,0 +1 @@ +git+https://gitlab.com/psmisc/psmisc diff --git a/ports/psmisc-git/version b/ports/psmisc-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/psmisc-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/purple-discord-git/build b/ports/purple-discord-git/build new file mode 100755 index 0000000..5178f58 --- /dev/null +++ b/ports/purple-discord-git/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +DESTDIR="$1" + +make +install -Dm 0644 libdiscord.so $DESTDIR/usr/lib/purple-2/libdiscord.so diff --git a/ports/purple-discord-git/sources b/ports/purple-discord-git/sources new file mode 100644 index 0000000..d9d0795 --- /dev/null +++ b/ports/purple-discord-git/sources @@ -0,0 +1 @@ +git+https://github.com/EionRobb/purple-discord.git diff --git a/ports/purple-discord-git/version b/ports/purple-discord-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/purple-discord-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/qdbm/build b/ports/qdbm/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/qdbm/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/qdbm/checksums b/ports/qdbm/checksums new file mode 100644 index 0000000..7e71f8c --- /dev/null +++ b/ports/qdbm/checksums @@ -0,0 +1 @@ +b466fe730d751e4bfc5900d1f37b0fb955f2826ac456e70012785e012cdcb73e diff --git a/ports/qdbm/sources b/ports/qdbm/sources new file mode 100644 index 0000000..8e303da --- /dev/null +++ b/ports/qdbm/sources @@ -0,0 +1 @@ +https://dbmx.net/qdbm/qdbm-1.8.78.tar.gz diff --git a/ports/qdbm/version b/ports/qdbm/version new file mode 100644 index 0000000..410d447 --- /dev/null +++ b/ports/qdbm/version @@ -0,0 +1 @@ +1.8.78 1 diff --git a/ports/redshift/build b/ports/redshift/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/redshift/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/redshift/checksums b/ports/redshift/checksums new file mode 100644 index 0000000..0df0618 --- /dev/null +++ b/ports/redshift/checksums @@ -0,0 +1 @@ +5111145773f1ade10c5967c531f8c1938b42171399bf48126db10162a04b4a48 diff --git a/ports/redshift/depends b/ports/redshift/depends new file mode 100644 index 0000000..d4c0265 --- /dev/null +++ b/ports/redshift/depends @@ -0,0 +1,5 @@ +intltool make +libX11 +libXxf86vm +libdrm +libxcb diff --git a/ports/redshift/sources b/ports/redshift/sources new file mode 100644 index 0000000..c6498c7 --- /dev/null +++ b/ports/redshift/sources @@ -0,0 +1 @@ +https://github.com/jonls/redshift/releases/download/v1.12/redshift-1.12.tar.gz diff --git a/ports/redshift/version b/ports/redshift/version new file mode 100644 index 0000000..44724bd --- /dev/null +++ b/ports/redshift/version @@ -0,0 +1 @@ +1.12 1 diff --git a/ports/rxvt-unicode/build b/ports/rxvt-unicode/build new file mode 100755 index 0000000..9daa156 --- /dev/null +++ b/ports/rxvt-unicode/build @@ -0,0 +1,26 @@ +#!/bin/sh -e + +patch -p1 < rxvt-unicode-kerning.patch +patch -p1 < gentables.patch + +./configure \ + --prefix=/usr \ + --with-terminfo=/usr/share/terminfo \ + --enable-256-color \ + --enable-font-styles \ + --enable-xim \ + --enable-keepscrolling \ + --enable-selectionscrolling \ + --enable-smart-resize \ + --enable-transparency \ + --disable-frills \ + --disable-perl \ + --enable-mousewheel \ + --enable-text-blink \ + --enable-fading \ + --enable-unicode3 \ + --disable-utmp \ + --disable-wtmp \ + --disable-lastlog + +make DESTDIR="$1" install diff --git a/ports/rxvt-unicode/checksums b/ports/rxvt-unicode/checksums new file mode 100644 index 0000000..552c698 --- /dev/null +++ b/ports/rxvt-unicode/checksums @@ -0,0 +1,3 @@ +e94628e9bcfa0adb1115d83649f898d6edb4baced44f5d5b769c2eeb8b95addd rxvt-unicode-9.22.tar.bz2 +f1dc6defe4bd6bedaf0f4b4425da353e2e3a86bbc936369392938db8c3fade31 gentables.patch +b3db15563addedf5bf770336a2a4a1c5b0c0306f8d37e77e59d1940babe82812 rxvt-unicode-kerning.patch diff --git a/ports/rxvt-unicode/depends b/ports/rxvt-unicode/depends new file mode 100644 index 0000000..fae1f5d --- /dev/null +++ b/ports/rxvt-unicode/depends @@ -0,0 +1,5 @@ +fontconfig +libX11 +libXft +libXrender +ncurses diff --git a/ports/rxvt-unicode/patches/gentables.patch b/ports/rxvt-unicode/patches/gentables.patch new file mode 100644 index 0000000..4ae8a33 --- /dev/null +++ b/ports/rxvt-unicode/patches/gentables.patch @@ -0,0 +1,7 @@ +--- ./src/gentables.orig Wed Aug 4 04:59:09 2004 ++++ ./src/gentables Tue Aug 10 00:03:21 2004 +@@ -1,4 +1,4 @@ +-#!/opt/bin/perl ++#!/usr/bin/perl + + # the generated tables mostly have NOT been checked so far! diff --git a/ports/rxvt-unicode/patches/rxvt-unicode-kerning.patch b/ports/rxvt-unicode/patches/rxvt-unicode-kerning.patch new file mode 100644 index 0000000..b0e64ca --- /dev/null +++ b/ports/rxvt-unicode/patches/rxvt-unicode-kerning.patch @@ -0,0 +1,21 @@ +--- a/src/rxvtfont.C 2008-07-09 12:21:45.000000000 +0400 ++++ b/src/rxvtfont.C 2009-10-30 14:32:53.000000000 +0300 +@@ -1195,12 +1195,14 @@ + XGlyphInfo g; + XftTextExtents16 (disp, f, &ch, 1, &g); + +- g.width -= g.x; +- ++/* ++ * bukind: don't use g.width as a width of a character! ++ * instead use g.xOff, see e.g.: http://keithp.com/~keithp/render/Xft.tutorial ++ */ + int wcw = WCWIDTH (ch); +- if (wcw > 0) g.width = (g.width + wcw - 1) / wcw; ++ if (wcw > 1) g.xOff = g.xOff / wcw; ++ if (width < g.xOff) width = g.xOff; + +- if (width < g.width ) width = g.width; + if (height < g.height ) height = g.height; + if (glheight < g.height - g.y) glheight = g.height - g.y; + } diff --git a/ports/rxvt-unicode/sources b/ports/rxvt-unicode/sources new file mode 100644 index 0000000..2880341 --- /dev/null +++ b/ports/rxvt-unicode/sources @@ -0,0 +1,3 @@ +http://dist.schmorp.de/rxvt-unicode/rxvt-unicode-9.22.tar.bz2 +patches/gentables.patch +patches/rxvt-unicode-kerning.patch diff --git a/ports/rxvt-unicode/version b/ports/rxvt-unicode/version new file mode 100644 index 0000000..b0c1c92 --- /dev/null +++ b/ports/rxvt-unicode/version @@ -0,0 +1 @@ +9.22 2 diff --git a/ports/sbase-git/build b/ports/sbase-git/build new file mode 100755 index 0000000..2f5d9e7 --- /dev/null +++ b/ports/sbase-git/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +# Make sbase tar accept arguments without dash +patch -p1 < tar-dash-remove.patch + +make LDFLAGS="$LDFLAGS -static" +make DESTDIR="$1" PREFIX=/usr install + +# Prevent hostname from installed +unlink "$1/usr/bin/hostname" +unlink "$1/usr/share/man/man1/hostname.1" + +# Unlink sed, because '-i' is widely used +unlink "$1/usr/bin/sed" diff --git a/ports/sbase-git/checksums b/ports/sbase-git/checksums new file mode 100644 index 0000000..87406b3 --- /dev/null +++ b/ports/sbase-git/checksums @@ -0,0 +1 @@ +e3db05a871c6344960ed05eb848557937d0f01070833a885eb06113966d74a10 diff --git a/ports/sbase-git/patches/tar-dash-remove.patch b/ports/sbase-git/patches/tar-dash-remove.patch new file mode 100644 index 0000000..ec498b5 --- /dev/null +++ b/ports/sbase-git/patches/tar-dash-remove.patch @@ -0,0 +1,29 @@ +From d50db4931d75ed1c8100f6a933175deb5976a196 Mon Sep 17 00:00:00 2001 +From: Ethan Sommer +Date: Thu, 14 May 2020 12:02:51 -0400 +Subject: [PATCH] tar: if first argument doesn't have a leading dash, prepend + one + +this allows tar to be called in the common form "tar " instead of only +allowing "tar -" +--- + tar.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/tar.c b/tar.c +index 603e544..759402e 100644 +--- a/tar.c ++++ b/tar.c +@@ -520,6 +520,12 @@ main(int argc, char *argv[]) + char *file = NULL, *dir = ".", mode = '\0'; + int fd; + ++ if (argc >= 2 && argv[1][0] != '-') { ++ char *argv1 = emalloc(strlen(argv[1] + 2)); ++ sprintf(argv1, "-%s", argv[1]); ++ argv[1] = argv1; ++ } ++ + ARGBEGIN { + case 'x': + case 'c': diff --git a/ports/sbase-git/sources b/ports/sbase-git/sources new file mode 100644 index 0000000..d2dd60b --- /dev/null +++ b/ports/sbase-git/sources @@ -0,0 +1,2 @@ +git+git://git.suckless.org/sbase +patches/tar-dash-remove.patch diff --git a/ports/sbase-git/version b/ports/sbase-git/version new file mode 100644 index 0000000..8202611 --- /dev/null +++ b/ports/sbase-git/version @@ -0,0 +1 @@ +git 2 diff --git a/ports/sbase/build b/ports/sbase/build new file mode 100755 index 0000000..2f5d9e7 --- /dev/null +++ b/ports/sbase/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +# Make sbase tar accept arguments without dash +patch -p1 < tar-dash-remove.patch + +make LDFLAGS="$LDFLAGS -static" +make DESTDIR="$1" PREFIX=/usr install + +# Prevent hostname from installed +unlink "$1/usr/bin/hostname" +unlink "$1/usr/share/man/man1/hostname.1" + +# Unlink sed, because '-i' is widely used +unlink "$1/usr/bin/sed" diff --git a/ports/sbase/checksums b/ports/sbase/checksums new file mode 100644 index 0000000..87406b3 --- /dev/null +++ b/ports/sbase/checksums @@ -0,0 +1 @@ +e3db05a871c6344960ed05eb848557937d0f01070833a885eb06113966d74a10 diff --git a/ports/sbase/manifest b/ports/sbase/manifest new file mode 100644 index 0000000..e679a93 --- /dev/null +++ b/ports/sbase/manifest @@ -0,0 +1,210 @@ +/var/db/kiss/installed/sbase/version +/var/db/kiss/installed/sbase/sources +/var/db/kiss/installed/sbase/patches/tar-dash-remove.patch +/var/db/kiss/installed/sbase/patches/ +/var/db/kiss/installed/sbase/manifest +/var/db/kiss/installed/sbase/checksums +/var/db/kiss/installed/sbase/build +/var/db/kiss/installed/sbase/ +/var/db/kiss/installed/ +/var/db/kiss/choices/sbase>usr>share>man>man1>kill.1 +/var/db/kiss/choices/sbase>usr>share>man>man1>cmp.1 +/var/db/kiss/choices/sbase>usr>bin>tar +/var/db/kiss/choices/sbase>usr>bin>kill +/var/db/kiss/choices/sbase>usr>bin>cmp +/var/db/kiss/choices/ +/var/db/kiss/ +/var/db/ +/var/ +/usr/share/man/man1/yes.1 +/usr/share/man/man1/xargs.1 +/usr/share/man/man1/whoami.1 +/usr/share/man/man1/which.1 +/usr/share/man/man1/wc.1 +/usr/share/man/man1/uuencode.1 +/usr/share/man/man1/uudecode.1 +/usr/share/man/man1/unlink.1 +/usr/share/man/man1/uniq.1 +/usr/share/man/man1/unexpand.1 +/usr/share/man/man1/uname.1 +/usr/share/man/man1/tty.1 +/usr/share/man/man1/tsort.1 +/usr/share/man/man1/true.1 +/usr/share/man/man1/tr.1 +/usr/share/man/man1/touch.1 +/usr/share/man/man1/time.1 +/usr/share/man/man1/tftp.1 +/usr/share/man/man1/test.1 +/usr/share/man/man1/tee.1 +/usr/share/man/man1/tar.1 +/usr/share/man/man1/tail.1 +/usr/share/man/man1/sync.1 +/usr/share/man/man1/strings.1 +/usr/share/man/man1/sponge.1 +/usr/share/man/man1/split.1 +/usr/share/man/man1/sort.1 +/usr/share/man/man1/sleep.1 +/usr/share/man/man1/sha512sum.1 +/usr/share/man/man1/sha512-256sum.1 +/usr/share/man/man1/sha512-224sum.1 +/usr/share/man/man1/sha384sum.1 +/usr/share/man/man1/sha256sum.1 +/usr/share/man/man1/sha224sum.1 +/usr/share/man/man1/sha1sum.1 +/usr/share/man/man1/setsid.1 +/usr/share/man/man1/seq.1 +/usr/share/man/man1/sed.1 +/usr/share/man/man1/rmdir.1 +/usr/share/man/man1/rm.1 +/usr/share/man/man1/rev.1 +/usr/share/man/man1/renice.1 +/usr/share/man/man1/readlink.1 +/usr/share/man/man1/pwd.1 +/usr/share/man/man1/printf.1 +/usr/share/man/man1/printenv.1 +/usr/share/man/man1/pathchk.1 +/usr/share/man/man1/paste.1 +/usr/share/man/man1/od.1 +/usr/share/man/man1/nohup.1 +/usr/share/man/man1/nl.1 +/usr/share/man/man1/nice.1 +/usr/share/man/man1/mv.1 +/usr/share/man/man1/mktemp.1 +/usr/share/man/man1/mknod.1 +/usr/share/man/man1/mkfifo.1 +/usr/share/man/man1/mkdir.1 +/usr/share/man/man1/md5sum.1 +/usr/share/man/man1/ls.1 +/usr/share/man/man1/logname.1 +/usr/share/man/man1/logger.1 +/usr/share/man/man1/ln.1 +/usr/share/man/man1/link.1 +/usr/share/man/man1/join.1 +/usr/share/man/man1/install.1 +/usr/share/man/man1/head.1 +/usr/share/man/man1/grep.1 +/usr/share/man/man1/getconf.1 +/usr/share/man/man1/fold.1 +/usr/share/man/man1/flock.1 +/usr/share/man/man1/find.1 +/usr/share/man/man1/false.1 +/usr/share/man/man1/expr.1 +/usr/share/man/man1/expand.1 +/usr/share/man/man1/env.1 +/usr/share/man/man1/ed.1 +/usr/share/man/man1/echo.1 +/usr/share/man/man1/du.1 +/usr/share/man/man1/dirname.1 +/usr/share/man/man1/dd.1 +/usr/share/man/man1/date.1 +/usr/share/man/man1/cut.1 +/usr/share/man/man1/cron.1 +/usr/share/man/man1/cp.1 +/usr/share/man/man1/comm.1 +/usr/share/man/man1/cols.1 +/usr/share/man/man1/cksum.1 +/usr/share/man/man1/chroot.1 +/usr/share/man/man1/chown.1 +/usr/share/man/man1/chmod.1 +/usr/share/man/man1/chgrp.1 +/usr/share/man/man1/cat.1 +/usr/share/man/man1/cal.1 +/usr/share/man/man1/basename.1 +/usr/share/man/man1/ +/usr/share/man/ +/usr/share/ +/usr/bin/yes +/usr/bin/xargs +/usr/bin/whoami +/usr/bin/which +/usr/bin/wc +/usr/bin/uuencode +/usr/bin/uudecode +/usr/bin/unlink +/usr/bin/uniq +/usr/bin/unexpand +/usr/bin/uname +/usr/bin/tty +/usr/bin/tsort +/usr/bin/true +/usr/bin/tr +/usr/bin/touch +/usr/bin/time +/usr/bin/tftp +/usr/bin/test +/usr/bin/tee +/usr/bin/tail +/usr/bin/sync +/usr/bin/strings +/usr/bin/sponge +/usr/bin/split +/usr/bin/sort +/usr/bin/sleep +/usr/bin/sha512sum +/usr/bin/sha512-256sum +/usr/bin/sha512-224sum +/usr/bin/sha384sum +/usr/bin/sha256sum +/usr/bin/sha224sum +/usr/bin/sha1sum +/usr/bin/setsid +/usr/bin/seq +/usr/bin/rmdir +/usr/bin/rm +/usr/bin/rev +/usr/bin/renice +/usr/bin/readlink +/usr/bin/pwd +/usr/bin/printf +/usr/bin/printenv +/usr/bin/pathchk +/usr/bin/paste +/usr/bin/od +/usr/bin/nohup +/usr/bin/nl +/usr/bin/nice +/usr/bin/mv +/usr/bin/mktemp +/usr/bin/mknod +/usr/bin/mkfifo +/usr/bin/mkdir +/usr/bin/md5sum +/usr/bin/ls +/usr/bin/logname +/usr/bin/logger +/usr/bin/ln +/usr/bin/link +/usr/bin/join +/usr/bin/install +/usr/bin/head +/usr/bin/grep +/usr/bin/getconf +/usr/bin/fold +/usr/bin/flock +/usr/bin/find +/usr/bin/false +/usr/bin/expr +/usr/bin/expand +/usr/bin/env +/usr/bin/ed +/usr/bin/echo +/usr/bin/du +/usr/bin/dirname +/usr/bin/dd +/usr/bin/date +/usr/bin/cut +/usr/bin/cron +/usr/bin/cp +/usr/bin/comm +/usr/bin/cols +/usr/bin/cksum +/usr/bin/chroot +/usr/bin/chown +/usr/bin/chmod +/usr/bin/chgrp +/usr/bin/cat +/usr/bin/cal +/usr/bin/basename +/usr/bin/[ +/usr/bin/ +/usr/ diff --git a/ports/sbase/patches/tar-dash-remove.patch b/ports/sbase/patches/tar-dash-remove.patch new file mode 100644 index 0000000..ec498b5 --- /dev/null +++ b/ports/sbase/patches/tar-dash-remove.patch @@ -0,0 +1,29 @@ +From d50db4931d75ed1c8100f6a933175deb5976a196 Mon Sep 17 00:00:00 2001 +From: Ethan Sommer +Date: Thu, 14 May 2020 12:02:51 -0400 +Subject: [PATCH] tar: if first argument doesn't have a leading dash, prepend + one + +this allows tar to be called in the common form "tar " instead of only +allowing "tar -" +--- + tar.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/tar.c b/tar.c +index 603e544..759402e 100644 +--- a/tar.c ++++ b/tar.c +@@ -520,6 +520,12 @@ main(int argc, char *argv[]) + char *file = NULL, *dir = ".", mode = '\0'; + int fd; + ++ if (argc >= 2 && argv[1][0] != '-') { ++ char *argv1 = emalloc(strlen(argv[1] + 2)); ++ sprintf(argv1, "-%s", argv[1]); ++ argv[1] = argv1; ++ } ++ + ARGBEGIN { + case 'x': + case 'c': diff --git a/ports/sbase/sources b/ports/sbase/sources new file mode 100644 index 0000000..d2dd60b --- /dev/null +++ b/ports/sbase/sources @@ -0,0 +1,2 @@ +git+git://git.suckless.org/sbase +patches/tar-dash-remove.patch diff --git a/ports/sbase/version b/ports/sbase/version new file mode 100644 index 0000000..8202611 --- /dev/null +++ b/ports/sbase/version @@ -0,0 +1 @@ +git 2 diff --git a/ports/scheme48/build b/ports/scheme48/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/scheme48/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/scheme48/checksums b/ports/scheme48/checksums new file mode 100644 index 0000000..c6e80fd --- /dev/null +++ b/ports/scheme48/checksums @@ -0,0 +1 @@ +9c4921a90e95daee067cd2e9cc0ffe09e118f4da01c0c0198e577c4f47759df4 diff --git a/ports/scheme48/post-install b/ports/scheme48/post-install new file mode 100644 index 0000000..0b774a5 --- /dev/null +++ b/ports/scheme48/post-install @@ -0,0 +1,3 @@ +#!/bin/sh -e + +ln -s /usr/bin/scheme48 /usr/bin/scheme diff --git a/ports/scheme48/sources b/ports/scheme48/sources new file mode 100644 index 0000000..23d6154 --- /dev/null +++ b/ports/scheme48/sources @@ -0,0 +1 @@ +https://www.s48.org/1.9.2/scheme48-1.9.2.tgz diff --git a/ports/scheme48/version b/ports/scheme48/version new file mode 100644 index 0000000..976abed --- /dev/null +++ b/ports/scheme48/version @@ -0,0 +1 @@ +1.9.2 1 diff --git a/ports/scrot/build b/ports/scrot/build new file mode 100755 index 0000000..bd1eb69 --- /dev/null +++ b/ports/scrot/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +meson build \ + -Dprefix="$1/usr" \ + -Dmandir="$1/usr/share/man/" + +cd build +ninja +ninja install diff --git a/ports/scrot/checksums b/ports/scrot/checksums new file mode 100644 index 0000000..6467a78 --- /dev/null +++ b/ports/scrot/checksums @@ -0,0 +1 @@ +c5f6b1adcd235c5e4368658593eef310385b95fc1a76b68ef6d633ad24800135 diff --git a/ports/scrot/depends b/ports/scrot/depends new file mode 100644 index 0000000..70e22f1 --- /dev/null +++ b/ports/scrot/depends @@ -0,0 +1,2 @@ +meson make +giblib diff --git a/ports/scrot/sources b/ports/scrot/sources new file mode 100644 index 0000000..9a8d683 --- /dev/null +++ b/ports/scrot/sources @@ -0,0 +1 @@ +https://github.com/dreamer/scrot/archive/refs/tags/v0.10.0.tar.gz diff --git a/ports/scrot/version b/ports/scrot/version new file mode 100644 index 0000000..330ad2d --- /dev/null +++ b/ports/scrot/version @@ -0,0 +1 @@ +0.8 1 diff --git a/ports/scsh-git/build b/ports/scsh-git/build new file mode 100755 index 0000000..c082cac --- /dev/null +++ b/ports/scsh-git/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +git submodule update --init +autoreconf + +./configure \ + --prefix=/usr \ + --libdir=/usr/lib + +make +make DESTDIR="$1" install diff --git a/ports/scsh-git/depends b/ports/scsh-git/depends new file mode 100644 index 0000000..7f70fe0 --- /dev/null +++ b/ports/scsh-git/depends @@ -0,0 +1,3 @@ +autoconf make +automake make +scheme48 diff --git a/ports/scsh-git/sources b/ports/scsh-git/sources new file mode 100644 index 0000000..21e6e2f --- /dev/null +++ b/ports/scsh-git/sources @@ -0,0 +1 @@ +git+https://github.com/scheme/scsh diff --git a/ports/scsh-git/version b/ports/scsh-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/scsh-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/shared-mime-info/build b/ports/shared-mime-info/build new file mode 100755 index 0000000..e4430bc --- /dev/null +++ b/ports/shared-mime-info/build @@ -0,0 +1,54 @@ +#!/bin/sh -e +# +# We bypass the build system entirely as it has +# a mandatory dependency on gettext. + +# Grab the package version. +read -r version _ < "${0%/*}/version" + +mkdir -p "$1/usr/share/mime/packages" \ + "$1/usr/share/pkgconfig" \ + "$1/usr/bin" + +# Install with only English support. +sed -e 's/_comment/comment/g' freedesktop.org.xml.in \ + > "$1/usr/share/mime/packages/freedesktop.org.xml" + +# Replace markers in the file. +sed -e 's|@prefix@|/usr|' -e "s|@VERSION@|$version|" shared-mime-info.pc.in \ + > "$1/usr/share/pkgconfig/shared-mime-info.pc" + +# Define our own config.h statically. +cat << EOF > config.h +#define HAVE_BIND_TEXTDOMAIN_CODESET 1 +#define HAVE_FDATASYNC 1 +#define HAVE_GETTEXT 0 +#define HAVE_INTTYPES_H 1 +#define HAVE_LC_MESSAGES 1 +#define HAVE_LOCALE_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_UNISTD_H 1 +#define PACKAGE "shared-mime-info" +#define PACKAGE_BUGREPORT "" +#define PACKAGE_NAME "shared-mime-info" +#define PACKAGE_STRING "shared-mime-info $version" +#define PACKAGE_TARNAME "shared-mime-info" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "$version" +#define STDC_HEADERS 1 +#define VERSION "$version" +EOF + +# Fix config.h include. +sed -i 's//"config.h"/' update-mime-database.c + +# shellcheck disable=2046 +"${CC:-cc}" -o "$1/usr/bin/update-mime-database" \ + $(pkg-config --libs --cflags glib-2.0 libxml-2.0) \ + update-mime-database.c diff --git a/ports/shared-mime-info/checksums b/ports/shared-mime-info/checksums new file mode 100644 index 0000000..5b77ad9 --- /dev/null +++ b/ports/shared-mime-info/checksums @@ -0,0 +1 @@ +2df77d547fa0548def38614f318282bc9937e7bde5f139d35053b605f7fd34df diff --git a/ports/shared-mime-info/depends b/ports/shared-mime-info/depends new file mode 100644 index 0000000..4919fad --- /dev/null +++ b/ports/shared-mime-info/depends @@ -0,0 +1,4 @@ +glib +libxml2 +xz +zlib diff --git a/ports/shared-mime-info/post-install b/ports/shared-mime-info/post-install new file mode 100755 index 0000000..e1d0069 --- /dev/null +++ b/ports/shared-mime-info/post-install @@ -0,0 +1,3 @@ +#!/bin/sh -e + + update-mime-database -V /usr/share/mime diff --git a/ports/shared-mime-info/sources b/ports/shared-mime-info/sources new file mode 100644 index 0000000..4ad8576 --- /dev/null +++ b/ports/shared-mime-info/sources @@ -0,0 +1 @@ +https://github.com/freedesktop/xdg-shared-mime-info/archive/Release-1-15.tar.gz diff --git a/ports/shared-mime-info/version b/ports/shared-mime-info/version new file mode 100644 index 0000000..b5a3e89 --- /dev/null +++ b/ports/shared-mime-info/version @@ -0,0 +1 @@ +1.15 1 diff --git a/ports/smack-utils/build b/ports/smack-utils/build new file mode 100755 index 0000000..6184d1d --- /dev/null +++ b/ports/smack-utils/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./autogen.sh + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/smack-utils/checksums b/ports/smack-utils/checksums new file mode 100644 index 0000000..82d4474 --- /dev/null +++ b/ports/smack-utils/checksums @@ -0,0 +1 @@ +1a607da3b1a661dc76b7a5b8571f4a2d56b4d61d78376088d19f2d8637dc6822 diff --git a/ports/smack-utils/sources b/ports/smack-utils/sources new file mode 100644 index 0000000..611fb85 --- /dev/null +++ b/ports/smack-utils/sources @@ -0,0 +1 @@ +https://github.com/smack-team/smack/archive/refs/tags/v1.3.1.tar.gz diff --git a/ports/smack-utils/version b/ports/smack-utils/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/smack-utils/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/sms-tools/build b/ports/sms-tools/build new file mode 100755 index 0000000..69b66c9 --- /dev/null +++ b/ports/sms-tools/build @@ -0,0 +1,15 @@ +#!/bin/sh -e + +tar xf smstools-3.1.21-r2.apk + +install -Dm644 etc/smsd.conf "$1/etc/smsd.conf" +install -Dm644 etc/logrotate.d/smsd "$1/etc/logrotate.d/smsd" + +install -Dm755 usr/bin/sendsms "$1/usr/bin/sendsms" + +install -Dm 755 usr/sbin/smsd "$1/usr/bin/smsd" + +mkdir -p "$1/var/log/smsd" +mkdir -p "$1/var/spool/sms/outgoing" +mkdir -p "$1/var/spool/sms/incoming" +mkdir -p "$1/var/spool/sms/checked" diff --git a/ports/sms-tools/checksums b/ports/sms-tools/checksums new file mode 100644 index 0000000..bb1a5ee --- /dev/null +++ b/ports/sms-tools/checksums @@ -0,0 +1 @@ +9800592739f570734c4487c4bcdbe57fc4444a0e8b65d9a2c197de638f74c53f diff --git a/ports/sms-tools/sources b/ports/sms-tools/sources new file mode 100644 index 0000000..27173b2 --- /dev/null +++ b/ports/sms-tools/sources @@ -0,0 +1 @@ +http://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/smstools-3.1.21-r2.apk diff --git a/ports/sms-tools/version b/ports/sms-tools/version new file mode 100644 index 0000000..cc338bd --- /dev/null +++ b/ports/sms-tools/version @@ -0,0 +1 @@ +3.1.21 1 diff --git a/ports/stalonetray/build b/ports/stalonetray/build new file mode 100755 index 0000000..61857a6 --- /dev/null +++ b/ports/stalonetray/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install + diff --git a/ports/stalonetray/checksums b/ports/stalonetray/checksums new file mode 100644 index 0000000..d067993 --- /dev/null +++ b/ports/stalonetray/checksums @@ -0,0 +1 @@ +36548a588b2d466913423245dda6ffb6313132cd0cec635a117d37b3dab5fd4c diff --git a/ports/stalonetray/depends b/ports/stalonetray/depends new file mode 100644 index 0000000..1903bba --- /dev/null +++ b/ports/stalonetray/depends @@ -0,0 +1 @@ +libX11 diff --git a/ports/stalonetray/sources b/ports/stalonetray/sources new file mode 100644 index 0000000..dd9d8dc --- /dev/null +++ b/ports/stalonetray/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/project/stalonetray/stalonetray/stalonetray-0.8.3/stalonetray-0.8.3.tar.bz2 diff --git a/ports/stalonetray/version b/ports/stalonetray/version new file mode 100644 index 0000000..e47733e --- /dev/null +++ b/ports/stalonetray/version @@ -0,0 +1 @@ +0.8.3 1 diff --git a/ports/sysklogd-git/build b/ports/sysklogd-git/build new file mode 100755 index 0000000..43f40f4 --- /dev/null +++ b/ports/sysklogd-git/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./autogen.sh + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/sysklogd-git/depends b/ports/sysklogd-git/depends new file mode 100644 index 0000000..83b5e4a --- /dev/null +++ b/ports/sysklogd-git/depends @@ -0,0 +1,3 @@ +autoconf make +automake make +libtool make diff --git a/ports/sysklogd-git/sources b/ports/sysklogd-git/sources new file mode 100644 index 0000000..4854678 --- /dev/null +++ b/ports/sysklogd-git/sources @@ -0,0 +1 @@ +git+https://github.com/troglobit/sysklogd diff --git a/ports/sysklogd-git/version b/ports/sysklogd-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/sysklogd-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/syslinux/build b/ports/syslinux/build new file mode 100755 index 0000000..cf330b6 --- /dev/null +++ b/ports/syslinux/build @@ -0,0 +1,21 @@ +#!/bin/sh -e + +patch -p1 < 0018-prevent-pow-optimization.patch +patch -p1 < fcommon.patch + +# Fix missing include. +sed -i 's@vfs.h>@vfs.h>\n#include @' extlinux/main.c + +# Disable debugging and development "stuff". +: > mk/devel.mk + +make -j1 \ + PYTHON=python \ + bios efi64 installer + +make -j1 \ + INSTALLROOT="$1" \ + MANDIR=/usr/share/man \ + SBINDIR=/usr/bin \ + AUXDIR=/usr/lib/syslinux \ + bios efi64 install diff --git a/ports/syslinux/checksums b/ports/syslinux/checksums new file mode 100644 index 0000000..f02ebe6 --- /dev/null +++ b/ports/syslinux/checksums @@ -0,0 +1,3 @@ +3f6d50a57f3ed47d8234fd0ab4492634eb7c9aaf7dd902f33d3ac33564fd631d +755cd7062fe8495f6f62053ce664451c12ae65dba9fb5c75062a495fbe040fb1 +a4d9e4847a84c663a5c3425ceb1dcddf2328a8e763be21d43ed5cd72760a8aef diff --git a/ports/syslinux/depends b/ports/syslinux/depends new file mode 100644 index 0000000..c9f883d --- /dev/null +++ b/ports/syslinux/depends @@ -0,0 +1,4 @@ +binutils make +perl make +python make +util-linux diff --git a/ports/syslinux/patches/0018-prevent-pow-optimization.patch b/ports/syslinux/patches/0018-prevent-pow-optimization.patch new file mode 100644 index 0000000..0c42c7b --- /dev/null +++ b/ports/syslinux/patches/0018-prevent-pow-optimization.patch @@ -0,0 +1,36 @@ +From: Lukas Schwaighofer +Date: Tue, 26 Feb 2019 23:13:58 +0100 +Subject: Prevent optimizing the pow() function + +With the current GCC 8.2.0 from Debian, a section of code calling pow() in +zzjson_parse.c is turned into a sequence calling exp(). Since no exp() +implementation is available in syslinux those optimizations need to be +disabled. +--- + com32/gpllib/zzjson/zzjson_parse.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/com32/gpllib/zzjson/zzjson_parse.c b/com32/gpllib/zzjson/zzjson_parse.c +index ecb6f61..e66a9d8 100644 +--- a/com32/gpllib/zzjson/zzjson_parse.c ++++ b/com32/gpllib/zzjson/zzjson_parse.c +@@ -138,6 +138,10 @@ static ZZJSON *parse_string2(ZZJSON_CONFIG *config) { + return zzjson; + } + ++static double __attribute__((optimize("O0"))) pow_noopt(double x, double y) { ++ return pow(x, y); ++} ++ + static ZZJSON *parse_number(ZZJSON_CONFIG *config) { + ZZJSON *zzjson; + unsigned long long ival = 0, expo = 0; +@@ -213,7 +217,7 @@ skipexpo: + if (dbl) { + dval = sign * (long long) ival; + dval += sign * frac; +- dval *= pow(10.0, (double) signexpo * expo); ++ dval *= pow_noopt(10.0, (double) signexpo * expo); + } + + zzjson = config->calloc(1, sizeof(ZZJSON)); diff --git a/ports/syslinux/patches/fcommon.patch b/ports/syslinux/patches/fcommon.patch new file mode 100644 index 0000000..0df3dc0 --- /dev/null +++ b/ports/syslinux/patches/fcommon.patch @@ -0,0 +1,50 @@ +--- a/mk/com32.mk ++++ b/mk/com32.mk +@@ -47,6 +47,7 @@ GCCOPT += $(call gcc_ok,-falign-functions=0,-malign-functions=0) + GCCOPT += $(call gcc_ok,-falign-jumps=0,-malign-jumps=0) + GCCOPT += $(call gcc_ok,-falign-labels=0,-malign-labels=0) + GCCOPT += $(call gcc_ok,-falign-loops=0,-malign-loops=0) ++GCCOPT += $(call gcc_ok,-fcommon) + + ifeq ($(FWCLASS),EFI) + GCCOPT += -mno-red-zone +--- a/mk/elf.mk ++++ b/mk/elf.mk +@@ -42,6 +42,7 @@ GCCOPT += $(call gcc_ok,-falign-functions=0,-malign-functions=0) + GCCOPT += $(call gcc_ok,-falign-jumps=0,-malign-jumps=0) + GCCOPT += $(call gcc_ok,-falign-labels=0,-malign-labels=0) + GCCOPT += $(call gcc_ok,-falign-loops=0,-malign-loops=0) ++GCCOPT += $(call gcc_ok,-fcommon) + + com32 = $(topdir)/com32 + core = $(topdir)/core +--- a/mk/embedded.mk ++++ b/mk/embedded.mk +@@ -51,6 +51,7 @@ GCCOPT += $(call gcc_ok,-falign-jumps=0,-malign-jumps=0) + GCCOPT += $(call gcc_ok,-falign-labels=0,-malign-labels=0) + GCCOPT += $(call gcc_ok,-falign-loops=0,-malign-loops=0) + GCCOPT += $(call gcc_ok,-fvisibility=hidden) ++GCCOPT += $(call gcc_ok,-fcommon) + + LIBGCC := $(shell $(CC) $(GCCOPT) --print-libgcc) + +--- a/mk/lib.mk ++++ b/mk/lib.mk +@@ -28,6 +28,7 @@ GCCOPT += $(call gcc_ok,-falign-functions=0,-malign-functions=0) + GCCOPT += $(call gcc_ok,-falign-jumps=0,-malign-jumps=0) + GCCOPT += $(call gcc_ok,-falign-labels=0,-malign-labels=0) + GCCOPT += $(call gcc_ok,-falign-loops=0,-malign-loops=0) ++GCCOPT += $(call gcc_ok,-fcommon) + + INCLUDE = -I$(SRC) + STRIP = strip --strip-all -R .comment -R .note +--- a/mk/efi.mk ++++ b/mk/efi.mk +@@ -7,7 +7,7 @@ core = $(topdir)/core + # Set up architecture specifics; for cross compilation, set ARCH as apt + # gnuefi sets up architecture specifics in ia32 or x86_64 sub directories + # set up the LIBDIR and EFIINC for building for the appropriate architecture +-GCCOPT := $(call gcc_ok,-fno-stack-protector,) ++GCCOPT := $(call gcc_ok,-fno-stack-protector,) $(call gcc_ok,-fcommon) + EFIINC = $(objdir)/include/efi + LIBDIR = $(objdir)/lib diff --git a/ports/syslinux/sources b/ports/syslinux/sources new file mode 100644 index 0000000..1057674 --- /dev/null +++ b/ports/syslinux/sources @@ -0,0 +1,3 @@ +https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/Testing/6.04/syslinux-6.04-pre1.tar.xz +patches/0018-prevent-pow-optimization.patch +patches/fcommon.patch diff --git a/ports/syslinux/version b/ports/syslinux/version new file mode 100644 index 0000000..15f18f1 --- /dev/null +++ b/ports/syslinux/version @@ -0,0 +1 @@ +6.04 1 diff --git a/ports/tcalc/build b/ports/tcalc/build new file mode 100755 index 0000000..9b85250 --- /dev/null +++ b/ports/tcalc/build @@ -0,0 +1,3 @@ +#!/bin/sh -e + +install -Dm755 tcalc "$1/usr/bin/tcalc" diff --git a/ports/tcalc/checksums b/ports/tcalc/checksums new file mode 100644 index 0000000..7afb374 --- /dev/null +++ b/ports/tcalc/checksums @@ -0,0 +1 @@ +91e74bdf684a41dce36b5b823cc7c59a448b392cf7b90906e3f4d6b2ae1bbac5 diff --git a/ports/tcalc/depends b/ports/tcalc/depends new file mode 100644 index 0000000..da02e4b --- /dev/null +++ b/ports/tcalc/depends @@ -0,0 +1,2 @@ +tcl +tk diff --git a/ports/tcalc/sources b/ports/tcalc/sources new file mode 100644 index 0000000..8d6e630 --- /dev/null +++ b/ports/tcalc/sources @@ -0,0 +1 @@ +https://raw.githubusercontent.com/thanoulis/tcalc/master/tcalc diff --git a/ports/tcalc/version b/ports/tcalc/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/tcalc/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/tcl/build b/ports/tcl/build new file mode 100755 index 0000000..6fd8850 --- /dev/null +++ b/ports/tcl/build @@ -0,0 +1,19 @@ +#!/bin/sh -e + +IFS=. read -r maj min _ < "${0%/*}/version" + +rm -rf pkgs/sqlite3* + +unix/configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --enable-threads \ + --enable-64bit \ + --with-system-sqlite + +make +make INSTALL_ROOT="$1" install install-private-headers + +ln -s "/usr/bin/tclsh${maj}.${min}" "$1/usr/bin/tclsh" +ln -s "/usr/lib/libtcl${maj}.${min}.so" "$1/usr/lib/libtcl.so" +install -Dm644 -t "$1/usr/share/aclocal" unix/tcl.m4 diff --git a/ports/tcl/checksums b/ports/tcl/checksums new file mode 100644 index 0000000..b507eb9 --- /dev/null +++ b/ports/tcl/checksums @@ -0,0 +1 @@ +5196dbf6638e3df8d5c87b5815c8c2b758496eb6f0e41446596c9a4e638d87ed tcl8.6.10-src.tar.gz diff --git a/ports/tcl/depends b/ports/tcl/depends new file mode 100644 index 0000000..6be6f07 --- /dev/null +++ b/ports/tcl/depends @@ -0,0 +1,2 @@ +sqlite +zlib diff --git a/ports/tcl/sources b/ports/tcl/sources new file mode 100644 index 0000000..92ef552 --- /dev/null +++ b/ports/tcl/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/sourceforge/tcl/tcl8.6.10-src.tar.gz diff --git a/ports/tcl/version b/ports/tcl/version new file mode 100644 index 0000000..d0539c6 --- /dev/null +++ b/ports/tcl/version @@ -0,0 +1 @@ +8.6.10 2 diff --git a/ports/tcptrace-git/build b/ports/tcptrace-git/build new file mode 100755 index 0000000..1fb772a --- /dev/null +++ b/ports/tcptrace-git/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --mandir=/usr + +make +install -Dm755 tcptrace "$1/usr/bin/tcptrace" +install -Dm644 tcptrace.man "$1/usr/share/man/man1/tcptrace.1" diff --git a/ports/tcptrace-git/sources b/ports/tcptrace-git/sources new file mode 100644 index 0000000..b0885ae --- /dev/null +++ b/ports/tcptrace-git/sources @@ -0,0 +1 @@ +git+https://github.com/alexander-zimmermann/tcptrace diff --git a/ports/tcptrace-git/version b/ports/tcptrace-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/tcptrace-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/telegram-purple/build b/ports/telegram-purple/build new file mode 100755 index 0000000..dcf3dc4 --- /dev/null +++ b/ports/telegram-purple/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +git init +git submodule update --recursive + +./configure --prefix=/usr \ + --disable-libwebp \ + --disable-translation + +make +make DESTDIR="$1" install diff --git a/ports/telegram-purple/checksums b/ports/telegram-purple/checksums new file mode 100644 index 0000000..3b1638e --- /dev/null +++ b/ports/telegram-purple/checksums @@ -0,0 +1 @@ +86da1d0adf8abac84ca0c5eee6882ec1eccf6f0758d61a65683b059a4f9812b2 diff --git a/ports/telegram-purple/depends b/ports/telegram-purple/depends new file mode 100644 index 0000000..05af7b0 --- /dev/null +++ b/ports/telegram-purple/depends @@ -0,0 +1 @@ +pidgin diff --git a/ports/telegram-purple/sources b/ports/telegram-purple/sources new file mode 100644 index 0000000..0185274 --- /dev/null +++ b/ports/telegram-purple/sources @@ -0,0 +1 @@ +https://github.com/majn/telegram-purple/releases/download/v1.4.4/telegram-purple_1.4.4.orig.tar.gz diff --git a/ports/telegram-purple/version b/ports/telegram-purple/version new file mode 100644 index 0000000..e8e30aa --- /dev/null +++ b/ports/telegram-purple/version @@ -0,0 +1 @@ +1 1.4.4 diff --git a/ports/tine-git/build b/ports/tine-git/build new file mode 100755 index 0000000..6dd713d --- /dev/null +++ b/ports/tine-git/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +sed -i s/ncursesw\\/ncurses.h/ncurses.h/ Makefile + +make +make DESTDIR="$1" install all +install -Dm 755 tine.1 "$1/usr/share/man/man1/tine.1" diff --git a/ports/tine-git/depends b/ports/tine-git/depends new file mode 100644 index 0000000..6a470ff --- /dev/null +++ b/ports/tine-git/depends @@ -0,0 +1 @@ +ncurses diff --git a/ports/tine-git/sources b/ports/tine-git/sources new file mode 100644 index 0000000..400e4b3 --- /dev/null +++ b/ports/tine-git/sources @@ -0,0 +1 @@ +git+https://github.com/deadpixi/tine diff --git a/ports/tine-git/version b/ports/tine-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/tine-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/tk/build b/ports/tk/build new file mode 100755 index 0000000..b2c01fe --- /dev/null +++ b/ports/tk/build @@ -0,0 +1,22 @@ +#!/bin/sh -e + +IFS=. read -r maj min _ < "${0%/*}/version" + +unix/configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --enable-threads \ + --disable-rpath \ + --enable-64bit + +make +make INSTALL_ROOT="$1" install install-private-headers + +ln -s "/usr/bin/wish${maj}.${min}" "$1/usr/bin/wish" +ln -s "/usr/lib/libtk${maj}.${min}.so" "$1/usr/lib/libtk.so" + +# Finish installing private headers. +for dir in compat generic generic/ttk unix; do + install -dm755 "$1/usr/include/tk-private/$dir" + install -m644 -t "$1/usr/include/tk-private/$dir" "$dir/"*.h +done diff --git a/ports/tk/checksums b/ports/tk/checksums new file mode 100644 index 0000000..1da53e8 --- /dev/null +++ b/ports/tk/checksums @@ -0,0 +1 @@ +63df418a859d0a463347f95ded5cd88a3dd3aaa1ceecaeee362194bc30f3e386 tk8.6.10-src.tar.gz diff --git a/ports/tk/depends b/ports/tk/depends new file mode 100644 index 0000000..39ab694 --- /dev/null +++ b/ports/tk/depends @@ -0,0 +1,5 @@ +libXScrnSaver +libXext +libXft +tcl +zlib diff --git a/ports/tk/sources b/ports/tk/sources new file mode 100644 index 0000000..514f6fb --- /dev/null +++ b/ports/tk/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/sourceforge/tcl/tk8.6.10-src.tar.gz diff --git a/ports/tk/version b/ports/tk/version new file mode 100644 index 0000000..550409f --- /dev/null +++ b/ports/tk/version @@ -0,0 +1 @@ +8.6.10 1 diff --git a/ports/tt++/build b/ports/tt++/build new file mode 100755 index 0000000..d8facca --- /dev/null +++ b/ports/tt++/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +cd src/ + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/tt++/checksums b/ports/tt++/checksums new file mode 100644 index 0000000..78e5224 --- /dev/null +++ b/ports/tt++/checksums @@ -0,0 +1 @@ +63a70052122d24d69d7bc012395745f1a0412dffd456a8e8aab85704d44bd5a1 diff --git a/ports/tt++/depends b/ports/tt++/depends new file mode 100644 index 0000000..abd501c --- /dev/null +++ b/ports/tt++/depends @@ -0,0 +1 @@ +pcre diff --git a/ports/tt++/sources b/ports/tt++/sources new file mode 100644 index 0000000..70bf567 --- /dev/null +++ b/ports/tt++/sources @@ -0,0 +1 @@ +https://master.dl.sourceforge.net/project/tintin/TinTin%2B%2B%20Source%20Code/2.02.0/tintin-2.02.05.tar.gz diff --git a/ports/tt++/version b/ports/tt++/version new file mode 100644 index 0000000..8ee2627 --- /dev/null +++ b/ports/tt++/version @@ -0,0 +1 @@ +2.02.05 1 diff --git a/ports/ubase-git/build b/ports/ubase-git/build new file mode 100755 index 0000000..d349276 --- /dev/null +++ b/ports/ubase-git/build @@ -0,0 +1,19 @@ +#!/bin/sh -e + +for patch in *.patch; do + patch -p1 < "$patch" +done + +sed -i \ + -e "/^CFLAGS/s/=/= $CFLAGS -static/" \ + -e "/^LDFLAGS/s/=/= $LDFLAGS -static/" \ + config.mk + +# Prevent the following binaries from building +for nobin in hostname +do sed -i s/hostname// Makefile +done + + +make +make DESTDIR="$1" PREFIX=/usr install diff --git a/ports/ubase-git/checksums b/ports/ubase-git/checksums new file mode 100644 index 0000000..6f49547 --- /dev/null +++ b/ports/ubase-git/checksums @@ -0,0 +1,2 @@ +714715936ff5e8a3574a41031cfbf05d4b061f19fcc07175e717f5db70b7f8e4 +4b2932a50164230b0defd4de008e423babf053bac823930258378b0efee64065 diff --git a/ports/ubase-git/patches/f3aa4b156360ce4a18e4a3897f883b663771ba24.patch b/ports/ubase-git/patches/f3aa4b156360ce4a18e4a3897f883b663771ba24.patch new file mode 100644 index 0000000..d998460 --- /dev/null +++ b/ports/ubase-git/patches/f3aa4b156360ce4a18e4a3897f883b663771ba24.patch @@ -0,0 +1,70 @@ +From f3aa4b156360ce4a18e4a3897f883b663771ba24 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Mon, 5 Aug 2019 15:45:17 -0700 +Subject: [PATCH] Include sys/sysmacros.h when major is not defined in + sys/types.h + +--- + libutil/tty.c | 5 ++++- + mknod.c | 3 +++ + mountpoint.c | 3 +++ + stat.c | 3 +++ + 4 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/libutil/tty.c b/libutil/tty.c +index bceb01e..f56388e 100644 +--- a/libutil/tty.c ++++ b/libutil/tty.c +@@ -1,6 +1,9 @@ + /* See LICENSE file for copyright and license details. */ +-#include + #include ++#include ++#ifndef major ++#include ++#endif + + #include + #include +diff --git a/mknod.c b/mknod.c +index 8de35c7..9dbede7 100644 +--- a/mknod.c ++++ b/mknod.c +@@ -1,6 +1,9 @@ + /* See LICENSE file for copyright and license details. */ + #include + #include ++#ifndef major ++#include ++#endif + + #include + #include +diff --git a/mountpoint.c b/mountpoint.c +index 8f205a2..726cc80 100644 +--- a/mountpoint.c ++++ b/mountpoint.c +@@ -1,6 +1,9 @@ + /* See LICENSE file for copyright and license details. */ + #include + #include ++#ifndef major ++#include ++#endif + + #include + #include +diff --git a/stat.c b/stat.c +index 220a659..3a6569b 100644 +--- a/stat.c ++++ b/stat.c +@@ -1,6 +1,9 @@ + /* See LICENSE file for copyright and license details. */ + #include + #include ++#ifndef major ++#include ++#endif + + #include + #include diff --git a/ports/ubase-git/patches/fix-mount.patch b/ports/ubase-git/patches/fix-mount.patch new file mode 100644 index 0000000..965b69d --- /dev/null +++ b/ports/ubase-git/patches/fix-mount.patch @@ -0,0 +1,12 @@ +diff --git a/mount.c b/mount.c +index e3d00b8..172fd05 100644 +--- a/mount.c ++++ b/mount.c +@@ -36,6 +36,7 @@ struct { + { "mand", "nomand", MS_MANDLOCK }, + { "relatime", "norelatime", MS_RELATIME }, + { "bind", NULL, MS_BIND }, ++ { "move", NULL, MS_MOVE }, + { NULL, NULL, 0 } + }; + diff --git a/ports/ubase-git/sources b/ports/ubase-git/sources new file mode 100644 index 0000000..9ace832 --- /dev/null +++ b/ports/ubase-git/sources @@ -0,0 +1,3 @@ +git+git://git.suckless.org/ubase +patches/f3aa4b156360ce4a18e4a3897f883b663771ba24.patch +patches/fix-mount.patch diff --git a/ports/ubase-git/version b/ports/ubase-git/version new file mode 100644 index 0000000..421ae56 --- /dev/null +++ b/ports/ubase-git/version @@ -0,0 +1 @@ +git 4 diff --git a/ports/ubase/build b/ports/ubase/build new file mode 100755 index 0000000..d349276 --- /dev/null +++ b/ports/ubase/build @@ -0,0 +1,19 @@ +#!/bin/sh -e + +for patch in *.patch; do + patch -p1 < "$patch" +done + +sed -i \ + -e "/^CFLAGS/s/=/= $CFLAGS -static/" \ + -e "/^LDFLAGS/s/=/= $LDFLAGS -static/" \ + config.mk + +# Prevent the following binaries from building +for nobin in hostname +do sed -i s/hostname// Makefile +done + + +make +make DESTDIR="$1" PREFIX=/usr install diff --git a/ports/ubase/checksums b/ports/ubase/checksums new file mode 100644 index 0000000..6f49547 --- /dev/null +++ b/ports/ubase/checksums @@ -0,0 +1,2 @@ +714715936ff5e8a3574a41031cfbf05d4b061f19fcc07175e717f5db70b7f8e4 +4b2932a50164230b0defd4de008e423babf053bac823930258378b0efee64065 diff --git a/ports/ubase/manifest b/ports/ubase/manifest new file mode 100644 index 0000000..d6d222a --- /dev/null +++ b/ports/ubase/manifest @@ -0,0 +1,122 @@ +/var/db/kiss/installed/ubase/version +/var/db/kiss/installed/ubase/sources +/var/db/kiss/installed/ubase/patches/fix-mount.patch +/var/db/kiss/installed/ubase/patches/f3aa4b156360ce4a18e4a3897f883b663771ba24.patch +/var/db/kiss/installed/ubase/patches/ +/var/db/kiss/installed/ubase/manifest +/var/db/kiss/installed/ubase/checksums +/var/db/kiss/installed/ubase/build +/var/db/kiss/installed/ubase/ +/var/db/kiss/installed/ +/var/db/kiss/choices/ubase>usr>share>man>man8>sysctl.8 +/var/db/kiss/choices/ubase>usr>share>man>man8>nologin.8 +/var/db/kiss/choices/ubase>usr>share>man>man8>mkswap.8 +/var/db/kiss/choices/ubase>usr>share>man>man8>lsusb.8 +/var/db/kiss/choices/ubase>usr>share>man>man8>lastlog.8 +/var/db/kiss/choices/ubase>usr>share>man>man1>watch.1 +/var/db/kiss/choices/ubase>usr>share>man>man1>uptime.1 +/var/db/kiss/choices/ubase>usr>share>man>man1>su.1 +/var/db/kiss/choices/ubase>usr>share>man>man1>pwdx.1 +/var/db/kiss/choices/ubase>usr>share>man>man1>ps.1 +/var/db/kiss/choices/ubase>usr>share>man>man1>pidof.1 +/var/db/kiss/choices/ubase>usr>share>man>man1>passwd.1 +/var/db/kiss/choices/ubase>usr>share>man>man1>mknod.1 +/var/db/kiss/choices/ubase>usr>share>man>man1>login.1 +/var/db/kiss/choices/ubase>usr>share>man>man1>free.1 +/var/db/kiss/choices/ubase>usr>share>man>man1>dd.1 +/var/db/kiss/choices/ubase>usr>share>man>man1>clear.1 +/var/db/kiss/choices/ubase>usr>bin>watch +/var/db/kiss/choices/ubase>usr>bin>uptime +/var/db/kiss/choices/ubase>usr>bin>sysctl +/var/db/kiss/choices/ubase>usr>bin>su +/var/db/kiss/choices/ubase>usr>bin>respawn +/var/db/kiss/choices/ubase>usr>bin>pwdx +/var/db/kiss/choices/ubase>usr>bin>ps +/var/db/kiss/choices/ubase>usr>bin>pidof +/var/db/kiss/choices/ubase>usr>bin>passwd +/var/db/kiss/choices/ubase>usr>bin>nologin +/var/db/kiss/choices/ubase>usr>bin>mkswap +/var/db/kiss/choices/ubase>usr>bin>mknod +/var/db/kiss/choices/ubase>usr>bin>lsusb +/var/db/kiss/choices/ubase>usr>bin>login +/var/db/kiss/choices/ubase>usr>bin>lastlog +/var/db/kiss/choices/ubase>usr>bin>free +/var/db/kiss/choices/ubase>usr>bin>dd +/var/db/kiss/choices/ubase>usr>bin>clear +/var/db/kiss/choices/ +/var/db/kiss/ +/var/db/ +/var/ +/usr/share/man/man8/umount.8 +/usr/share/man/man8/switch_root.8 +/usr/share/man/man8/swapon.8 +/usr/share/man/man8/swapoff.8 +/usr/share/man/man8/swaplabel.8 +/usr/share/man/man8/rmmod.8 +/usr/share/man/man8/readahead.8 +/usr/share/man/man8/pivot_root.8 +/usr/share/man/man8/mount.8 +/usr/share/man/man8/lsmod.8 +/usr/share/man/man8/killall5.8 +/usr/share/man/man8/insmod.8 +/usr/share/man/man8/hwclock.8 +/usr/share/man/man8/halt.8 +/usr/share/man/man8/getty.8 +/usr/share/man/man8/fsfreeze.8 +/usr/share/man/man8/freeramdisk.8 +/usr/share/man/man8/ctrlaltdel.8 +/usr/share/man/man8/ +/usr/share/man/man1/who.1 +/usr/share/man/man1/vtallow.1 +/usr/share/man/man1/unshare.1 +/usr/share/man/man1/truncate.1 +/usr/share/man/man1/stat.1 +/usr/share/man/man1/respawn.1 +/usr/share/man/man1/pagesize.1 +/usr/share/man/man1/mountpoint.1 +/usr/share/man/man1/mesg.1 +/usr/share/man/man1/id.1 +/usr/share/man/man1/fallocate.1 +/usr/share/man/man1/eject.1 +/usr/share/man/man1/dmesg.1 +/usr/share/man/man1/df.1 +/usr/share/man/man1/chvt.1 +/usr/share/man/man1/ +/usr/share/man/ +/usr/share/ +/usr/bin/who +/usr/bin/vtallow +/usr/bin/unshare +/usr/bin/umount +/usr/bin/truncate +/usr/bin/switch_root +/usr/bin/swapon +/usr/bin/swapoff +/usr/bin/swaplabel +/usr/bin/stat +/usr/bin/rmmod +/usr/bin/readahead +/usr/bin/pivot_root +/usr/bin/pagesize +/usr/bin/mountpoint +/usr/bin/mount +/usr/bin/mesg +/usr/bin/lsmod +/usr/bin/last +/usr/bin/killall5 +/usr/bin/insmod +/usr/bin/id +/usr/bin/hwclock +/usr/bin/halt +/usr/bin/getty +/usr/bin/fsfreeze +/usr/bin/freeramdisk +/usr/bin/fallocate +/usr/bin/eject +/usr/bin/dmesg +/usr/bin/df +/usr/bin/ctrlaltdel +/usr/bin/chvt +/usr/bin/blkdiscard +/usr/bin/ +/usr/ diff --git a/ports/ubase/patches/f3aa4b156360ce4a18e4a3897f883b663771ba24.patch b/ports/ubase/patches/f3aa4b156360ce4a18e4a3897f883b663771ba24.patch new file mode 100644 index 0000000..d998460 --- /dev/null +++ b/ports/ubase/patches/f3aa4b156360ce4a18e4a3897f883b663771ba24.patch @@ -0,0 +1,70 @@ +From f3aa4b156360ce4a18e4a3897f883b663771ba24 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Mon, 5 Aug 2019 15:45:17 -0700 +Subject: [PATCH] Include sys/sysmacros.h when major is not defined in + sys/types.h + +--- + libutil/tty.c | 5 ++++- + mknod.c | 3 +++ + mountpoint.c | 3 +++ + stat.c | 3 +++ + 4 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/libutil/tty.c b/libutil/tty.c +index bceb01e..f56388e 100644 +--- a/libutil/tty.c ++++ b/libutil/tty.c +@@ -1,6 +1,9 @@ + /* See LICENSE file for copyright and license details. */ +-#include + #include ++#include ++#ifndef major ++#include ++#endif + + #include + #include +diff --git a/mknod.c b/mknod.c +index 8de35c7..9dbede7 100644 +--- a/mknod.c ++++ b/mknod.c +@@ -1,6 +1,9 @@ + /* See LICENSE file for copyright and license details. */ + #include + #include ++#ifndef major ++#include ++#endif + + #include + #include +diff --git a/mountpoint.c b/mountpoint.c +index 8f205a2..726cc80 100644 +--- a/mountpoint.c ++++ b/mountpoint.c +@@ -1,6 +1,9 @@ + /* See LICENSE file for copyright and license details. */ + #include + #include ++#ifndef major ++#include ++#endif + + #include + #include +diff --git a/stat.c b/stat.c +index 220a659..3a6569b 100644 +--- a/stat.c ++++ b/stat.c +@@ -1,6 +1,9 @@ + /* See LICENSE file for copyright and license details. */ + #include + #include ++#ifndef major ++#include ++#endif + + #include + #include diff --git a/ports/ubase/patches/fix-mount.patch b/ports/ubase/patches/fix-mount.patch new file mode 100644 index 0000000..965b69d --- /dev/null +++ b/ports/ubase/patches/fix-mount.patch @@ -0,0 +1,12 @@ +diff --git a/mount.c b/mount.c +index e3d00b8..172fd05 100644 +--- a/mount.c ++++ b/mount.c +@@ -36,6 +36,7 @@ struct { + { "mand", "nomand", MS_MANDLOCK }, + { "relatime", "norelatime", MS_RELATIME }, + { "bind", NULL, MS_BIND }, ++ { "move", NULL, MS_MOVE }, + { NULL, NULL, 0 } + }; + diff --git a/ports/ubase/sources b/ports/ubase/sources new file mode 100644 index 0000000..9ace832 --- /dev/null +++ b/ports/ubase/sources @@ -0,0 +1,3 @@ +git+git://git.suckless.org/ubase +patches/f3aa4b156360ce4a18e4a3897f883b663771ba24.patch +patches/fix-mount.patch diff --git a/ports/ubase/version b/ports/ubase/version new file mode 100644 index 0000000..421ae56 --- /dev/null +++ b/ports/ubase/version @@ -0,0 +1 @@ +git 4 diff --git a/ports/util-linux/build b/ports/util-linux/build new file mode 100755 index 0000000..4ccdfa2 --- /dev/null +++ b/ports/util-linux/build @@ -0,0 +1,23 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --localstatedir=/var \ + --bindir=/usr/bin \ + --sbindir=/usr/bin \ + --libdir=/usr/lib \ + --enable-libuuid \ + --enable-libblkid \ + --disable-makeinstall-chown \ + --disable-rpath \ + --without-udev \ + --without-python \ + --without-systemd \ + --disable-more + +make +make DESTDIR="$1" install + +# Fix broken --sbindir. +mv -f "$1/usr/sbin/"* "$1/usr/bin" +rmdir "$1/usr/sbin" diff --git a/ports/util-linux/checksums b/ports/util-linux/checksums new file mode 100644 index 0000000..7a41163 --- /dev/null +++ b/ports/util-linux/checksums @@ -0,0 +1 @@ +09fac242172cd8ec27f0739d8d192402c69417617091d8c6e974841568f37eed diff --git a/ports/util-linux/depends b/ports/util-linux/depends new file mode 100644 index 0000000..709a840 --- /dev/null +++ b/ports/util-linux/depends @@ -0,0 +1,2 @@ +linux-headers make +zlib diff --git a/ports/util-linux/sources b/ports/util-linux/sources new file mode 100644 index 0000000..feda5b3 --- /dev/null +++ b/ports/util-linux/sources @@ -0,0 +1 @@ +https://cdn.kernel.org/pub/linux/utils/util-linux/v2.36/util-linux-2.36.1.tar.xz diff --git a/ports/util-linux/version b/ports/util-linux/version new file mode 100644 index 0000000..acefb62 --- /dev/null +++ b/ports/util-linux/version @@ -0,0 +1 @@ +2.36.1 1 diff --git a/ports/viewres-git/build b/ports/viewres-git/build new file mode 100755 index 0000000..3303506 --- /dev/null +++ b/ports/viewres-git/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +autoupdate + +./autogen.sh \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/viewres-git/depends b/ports/viewres-git/depends new file mode 100644 index 0000000..62f05b9 --- /dev/null +++ b/ports/viewres-git/depends @@ -0,0 +1,3 @@ +autoconf make +automake make +xorg-util-macros make diff --git a/ports/viewres-git/sources b/ports/viewres-git/sources new file mode 100644 index 0000000..54105c0 --- /dev/null +++ b/ports/viewres-git/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/app/viewres diff --git a/ports/viewres-git/version b/ports/viewres-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/viewres-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/vorbis-tools-git/build b/ports/vorbis-tools-git/build new file mode 100755 index 0000000..6184d1d --- /dev/null +++ b/ports/vorbis-tools-git/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./autogen.sh + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/vorbis-tools-git/depends b/ports/vorbis-tools-git/depends new file mode 100644 index 0000000..0f8ac55 --- /dev/null +++ b/ports/vorbis-tools-git/depends @@ -0,0 +1,8 @@ +autoconf make +automake make +curl +gettext make +libao-git +libogg +libtool make +libvorbis diff --git a/ports/vorbis-tools-git/sources b/ports/vorbis-tools-git/sources new file mode 100644 index 0000000..d8cf3ab --- /dev/null +++ b/ports/vorbis-tools-git/sources @@ -0,0 +1 @@ +git+https://github.com/xiph/vorbis-tools diff --git a/ports/vorbis-tools-git/version b/ports/vorbis-tools-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/vorbis-tools-git/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/webbrowser/build b/ports/webbrowser/build new file mode 100755 index 0000000..468625d --- /dev/null +++ b/ports/webbrowser/build @@ -0,0 +1,14 @@ +#!/bin/sh -e + +git submodule update --init --recursive + +cp doc/mozconfig.example ./.mozconfig + +sed -i 's/enable-jack/disable-jack/g' .mozconfig +sed -i 's/$HOME/\/tmp/g' .mozconfig + +./mach build +./mach package + +tar xf /tmp/build/wbobjects/dist/webbrowser-29.2.0.linux-x86_64-gtk2.tar.xz "$1/wdir" +ln -s "/usr/bin/wdir/webbrowser" "$1/webbrowser" diff --git a/ports/webbrowser/checksums b/ports/webbrowser/checksums new file mode 100644 index 0000000..ad5e35b --- /dev/null +++ b/ports/webbrowser/checksums @@ -0,0 +1 @@ +1dc83726f329cff82a155e4c40cb327ee10fea0b803e58f25dfb8694152eaa3b diff --git a/ports/webbrowser/depends b/ports/webbrowser/depends new file mode 100644 index 0000000..43cf5c9 --- /dev/null +++ b/ports/webbrowser/depends @@ -0,0 +1,20 @@ +#ccache make #optional +alsa-lib +autoconf-2.13 make +dbus +dbus-glib +ffmpeg +fontconfig +freetype-harfbuzz +gcc make +gtk+2 +libXt +libevent +libffi +libvpx +m4 make +perl make +python2 make +sqlite +yasm make +zip diff --git a/ports/webbrowser/sources b/ports/webbrowser/sources new file mode 100644 index 0000000..5cd3e40 --- /dev/null +++ b/ports/webbrowser/sources @@ -0,0 +1 @@ +git+http://git.nuegia.net/webbrowser.git diff --git a/ports/webbrowser/version b/ports/webbrowser/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/webbrowser/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/wireless-tools/build b/ports/wireless-tools/build new file mode 100755 index 0000000..51d928e --- /dev/null +++ b/ports/wireless-tools/build @@ -0,0 +1,18 @@ +#!/bin/sh -e + +make + +for bin in iwconfig iwlist iwpriv iwspy iwgetid iwevent ifrename + do install -Dm755 $bin "$1/usr/bin/$bin" +done + +install -Dm755 libiw.so.29 "$1/usr/lib/libiw.so.29" ; ln -s "$1/usr/lib/libiw.so.29" "$1/usr/lib/libiw.so" +install -Dm755 iwlib.h "$1/usr/include/iwlib.h" +install -Dm755 wireless.h "$1/usr/include/wireless.h" + +install -Dm755 wireless.7 "$1/usr/share/man/man7/wireless.7" +install -Dm755 iftab.5 "$1/usr/share/man/man5/iftab.5" + +for man in iwconfig.8 iwlist.8 iwpriv.8 iwspy.8 iwgetid.8 iwevent.8 ifrename.8 + do install -Dm755 $man "$1/usr/share/man/man8/$man" +done diff --git a/ports/wireless-tools/checksums b/ports/wireless-tools/checksums new file mode 100644 index 0000000..4a491c5 --- /dev/null +++ b/ports/wireless-tools/checksums @@ -0,0 +1 @@ +6fb80935fe208538131ce2c4178221bab1078a1656306bce8909c19887e2e5a1 diff --git a/ports/wireless-tools/sources b/ports/wireless-tools/sources new file mode 100644 index 0000000..25cf19b --- /dev/null +++ b/ports/wireless-tools/sources @@ -0,0 +1 @@ +https://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.29.tar.gz diff --git a/ports/wireless-tools/version b/ports/wireless-tools/version new file mode 100644 index 0000000..f80f8f9 --- /dev/null +++ b/ports/wireless-tools/version @@ -0,0 +1 @@ +29 1 diff --git a/ports/xbitmaps/build b/ports/xbitmaps/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/xbitmaps/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xbitmaps/checksums b/ports/xbitmaps/checksums new file mode 100644 index 0000000..6b68a18 --- /dev/null +++ b/ports/xbitmaps/checksums @@ -0,0 +1 @@ +b9f0c71563125937776c8f1f25174ae9685314cbd130fb4c2efce811981e07ee diff --git a/ports/xbitmaps/sources b/ports/xbitmaps/sources new file mode 100644 index 0000000..6b03aae --- /dev/null +++ b/ports/xbitmaps/sources @@ -0,0 +1 @@ +https://www.x.org/pub/individual/data/xbitmaps-1.1.2.tar.bz2 diff --git a/ports/xbitmaps/version b/ports/xbitmaps/version new file mode 100644 index 0000000..909c707 --- /dev/null +++ b/ports/xbitmaps/version @@ -0,0 +1 @@ +1.1.2 1 diff --git a/ports/xcalc/build b/ports/xcalc/build new file mode 100755 index 0000000..7850bbe --- /dev/null +++ b/ports/xcalc/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./autogen.sh \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xcalc/depends b/ports/xcalc/depends new file mode 100644 index 0000000..b45bd92 --- /dev/null +++ b/ports/xcalc/depends @@ -0,0 +1,3 @@ +autoconf make +automake make +libX11 diff --git a/ports/xcalc/sources b/ports/xcalc/sources new file mode 100644 index 0000000..790b9ba --- /dev/null +++ b/ports/xcalc/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/app/xcalc.git diff --git a/ports/xcalc/version b/ports/xcalc/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/xcalc/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/xcalendar/build b/ports/xcalendar/build new file mode 100755 index 0000000..36bb251 --- /dev/null +++ b/ports/xcalendar/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +make + +sed 's;%%XCALENDAR_LIBDIR%%;/usr/lib/X11/xcalendar;' < XCalendar.sed > XCalendar.ad + +install -Dm755 xcalendar "$1/usr/bin/xcalendar" +install -Dm0444 XCalendar.ad "$1/usr/lib/X11/app-defaults/XCalendar" +install -Dm0444 larrow.xbm "$1/usr/lib/X11/xcalendar" +install -Dm0444 qmark.xbm "$1/usr/lib/X11/xcalendar" +install -Dm0444 quit.xbm "$1/usr/lib/X11/xcalendar" +install -Dm0444 rarrow.xbm "$1/usr/lib/X11/xcalendar" +install -Dm0444 xcalendar.hlp "$1/usr/lib/X11/xcalendar" diff --git a/ports/xcalendar/checksums b/ports/xcalendar/checksums new file mode 100644 index 0000000..a6a9fc4 --- /dev/null +++ b/ports/xcalendar/checksums @@ -0,0 +1 @@ +cc467e3694cbf418465254da01b72ee6fec88382f03f7c57c9352324335f66cb diff --git a/ports/xcalendar/depends b/ports/xcalendar/depends new file mode 100644 index 0000000..242af62 --- /dev/null +++ b/ports/xcalendar/depends @@ -0,0 +1,3 @@ +gccmakedep make +imake-git make +xorg-cf make diff --git a/ports/xcalendar/sources b/ports/xcalendar/sources new file mode 100644 index 0000000..deae07e --- /dev/null +++ b/ports/xcalendar/sources @@ -0,0 +1 @@ +http://midfavila.chaosnet.org/files/archives/xcalendar.tar.gz diff --git a/ports/xcalendar/version b/ports/xcalendar/version new file mode 100644 index 0000000..f5e1c91 --- /dev/null +++ b/ports/xcalendar/version @@ -0,0 +1 @@ +4.0.0 1 diff --git a/ports/xclipboard/build b/ports/xclipboard/build new file mode 100755 index 0000000..6184d1d --- /dev/null +++ b/ports/xclipboard/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./autogen.sh + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xclipboard/sources b/ports/xclipboard/sources new file mode 100644 index 0000000..8ad0caf --- /dev/null +++ b/ports/xclipboard/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/app/xclipboard diff --git a/ports/xclipboard/version b/ports/xclipboard/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/xclipboard/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/xclock/build b/ports/xclock/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/xclock/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xclock/checksums b/ports/xclock/checksums new file mode 100644 index 0000000..de9f610 --- /dev/null +++ b/ports/xclock/checksums @@ -0,0 +1 @@ +cf461fb2c6f2ac42c54d8429ee2010fdb9a1442a370adfbfe8a7bfaf33c123bb diff --git a/ports/xclock/depends b/ports/xclock/depends new file mode 100644 index 0000000..6fba80d --- /dev/null +++ b/ports/xclock/depends @@ -0,0 +1,13 @@ +libICE +libSM +libX11 +libXau +libXaw make +libXext +libXft +libXmu +libXrender +libXt +libxcb +libxkbfile +xorg-util-macros make diff --git a/ports/xclock/sources b/ports/xclock/sources new file mode 100644 index 0000000..c13333c --- /dev/null +++ b/ports/xclock/sources @@ -0,0 +1 @@ +https://xorg.freedesktop.org/archive/individual/app/xclock-1.0.9.tar.bz2 diff --git a/ports/xclock/version b/ports/xclock/version new file mode 100644 index 0000000..7773763 --- /dev/null +++ b/ports/xclock/version @@ -0,0 +1 @@ +1.0.9 1 diff --git a/ports/xdm/build b/ports/xdm/build new file mode 100755 index 0000000..5bb75ed --- /dev/null +++ b/ports/xdm/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --with-xdmconfigdir=/etc/X11/xdm + +make +make DESTDIR="$1" install diff --git a/ports/xdm/checksums b/ports/xdm/checksums new file mode 100644 index 0000000..8394b05 --- /dev/null +++ b/ports/xdm/checksums @@ -0,0 +1 @@ +0dd283f72dda098d09e2925b9278c95e21551e693a5802ab442d1b577d8327f4 diff --git a/ports/xdm/depends b/ports/xdm/depends new file mode 100644 index 0000000..6d81acd --- /dev/null +++ b/ports/xdm/depends @@ -0,0 +1,3 @@ +libXdmcp +libXpm +xrdb diff --git a/ports/xdm/sources b/ports/xdm/sources new file mode 100644 index 0000000..a68b0a3 --- /dev/null +++ b/ports/xdm/sources @@ -0,0 +1 @@ +https://www.x.org/releases/individual/app/xdm-1.1.12.tar.bz2 diff --git a/ports/xdm/version b/ports/xdm/version new file mode 100644 index 0000000..b33b03e --- /dev/null +++ b/ports/xdm/version @@ -0,0 +1 @@ +1.1.12 1 diff --git a/ports/xedit/build b/ports/xedit/build new file mode 100755 index 0000000..7850bbe --- /dev/null +++ b/ports/xedit/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./autogen.sh \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xedit/depends b/ports/xedit/depends new file mode 100644 index 0000000..f42b144 --- /dev/null +++ b/ports/xedit/depends @@ -0,0 +1,4 @@ +libX11 +libXaw make +libXmu +libXt diff --git a/ports/xedit/sources b/ports/xedit/sources new file mode 100644 index 0000000..faa49bf --- /dev/null +++ b/ports/xedit/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/app/xedit diff --git a/ports/xedit/version b/ports/xedit/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/xedit/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/xf86-input-kbd/build b/ports/xf86-input-kbd/build new file mode 100755 index 0000000..6184d1d --- /dev/null +++ b/ports/xf86-input-kbd/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./autogen.sh + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xf86-input-kbd/depends b/ports/xf86-input-kbd/depends new file mode 100644 index 0000000..2d45f45 --- /dev/null +++ b/ports/xf86-input-kbd/depends @@ -0,0 +1,2 @@ +autoconf make +automake make diff --git a/ports/xf86-input-kbd/sources b/ports/xf86-input-kbd/sources new file mode 100644 index 0000000..b983143 --- /dev/null +++ b/ports/xf86-input-kbd/sources @@ -0,0 +1 @@ +git+https://github.com/freedesktop/xorg-driver-xf86-input-keyboard diff --git a/ports/xf86-input-kbd/version b/ports/xf86-input-kbd/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/xf86-input-kbd/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/xf86-input-wacom/build b/ports/xf86-input-wacom/build new file mode 100755 index 0000000..6184d1d --- /dev/null +++ b/ports/xf86-input-wacom/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./autogen.sh + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xf86-input-wacom/checksums b/ports/xf86-input-wacom/checksums new file mode 100644 index 0000000..7fe59b8 --- /dev/null +++ b/ports/xf86-input-wacom/checksums @@ -0,0 +1 @@ +5b0befd0e1270942026813c303ec26fd7ca8955eeb75e2055b37deac92b7c142 diff --git a/ports/xf86-input-wacom/depends b/ports/xf86-input-wacom/depends new file mode 100644 index 0000000..2d45f45 --- /dev/null +++ b/ports/xf86-input-wacom/depends @@ -0,0 +1,2 @@ +autoconf make +automake make diff --git a/ports/xf86-input-wacom/manifest b/ports/xf86-input-wacom/manifest new file mode 100644 index 0000000..eaee322 --- /dev/null +++ b/ports/xf86-input-wacom/manifest @@ -0,0 +1,44 @@ +/var/db/kiss/installed/xf86-input-wacom/version +/var/db/kiss/installed/xf86-input-wacom/sources +/var/db/kiss/installed/xf86-input-wacom/manifest +/var/db/kiss/installed/xf86-input-wacom/depends +/var/db/kiss/installed/xf86-input-wacom/checksums +/var/db/kiss/installed/xf86-input-wacom/build +/var/db/kiss/installed/xf86-input-wacom/ +/var/db/kiss/installed/ +/var/db/kiss/ +/var/db/ +/var/ +/usr/share/man/man4/wacom.4 +/usr/share/man/man4/ +/usr/share/man/man1/xsetwacom.1 +/usr/share/man/man1/ +/usr/share/man/ +/usr/share/X11/xorg.conf.d/70-wacom.conf +/usr/share/X11/xorg.conf.d/ +/usr/share/X11/ +/usr/share/ +/usr/lib/xorg/modules/input/wacom_drv.so +/usr/lib/xorg/modules/input/ +/usr/lib/xorg/modules/ +/usr/lib/xorg/ +/usr/lib/udev/rules.d/wacom.rules +/usr/lib/udev/rules.d/ +/usr/lib/udev/ +/usr/lib/systemd/system/wacom-inputattach@.service +/usr/lib/systemd/system/ +/usr/lib/systemd/ +/usr/lib/pkgconfig/xorg-wacom.pc +/usr/lib/pkgconfig/ +/usr/lib/ +/usr/include/xorg/wacom-util.h +/usr/include/xorg/wacom-properties.h +/usr/include/xorg/isdv4.h +/usr/include/xorg/Xwacom.h +/usr/include/xorg/ +/usr/include/ +/usr/bin/xsetwacom +/usr/bin/isdv4-serial-inputattach +/usr/bin/isdv4-serial-debugger +/usr/bin/ +/usr/ diff --git a/ports/xf86-input-wacom/sources b/ports/xf86-input-wacom/sources new file mode 100644 index 0000000..9932a06 --- /dev/null +++ b/ports/xf86-input-wacom/sources @@ -0,0 +1 @@ +https://github.com/linuxwacom/xf86-input-wacom/archive/xf86-input-wacom-0.40.0.tar.gz diff --git a/ports/xf86-input-wacom/version b/ports/xf86-input-wacom/version new file mode 100644 index 0000000..950c002 --- /dev/null +++ b/ports/xf86-input-wacom/version @@ -0,0 +1 @@ +0.40.0 1 diff --git a/ports/xfd/build b/ports/xfd/build new file mode 100755 index 0000000..3345062 --- /dev/null +++ b/ports/xfd/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./autogen.sh \ + -prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xfd/depends b/ports/xfd/depends new file mode 100644 index 0000000..07684cd --- /dev/null +++ b/ports/xfd/depends @@ -0,0 +1,8 @@ +fontconfig +freetype-harfbuzz +libX11 +libXft +libXmu +libXrender +libXt +libxkbfile diff --git a/ports/xfd/sources b/ports/xfd/sources new file mode 100644 index 0000000..b8eeae9 --- /dev/null +++ b/ports/xfd/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/app/xfd.git diff --git a/ports/xfd/version b/ports/xfd/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/xfd/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/xfontsel/build b/ports/xfontsel/build new file mode 100755 index 0000000..7850bbe --- /dev/null +++ b/ports/xfontsel/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./autogen.sh \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xfontsel/depends b/ports/xfontsel/depends new file mode 100644 index 0000000..a8dab00 --- /dev/null +++ b/ports/xfontsel/depends @@ -0,0 +1,5 @@ +autoconf make +automake make +libX11 +libXmu +libXt diff --git a/ports/xfontsel/sources b/ports/xfontsel/sources new file mode 100644 index 0000000..6aac5a3 --- /dev/null +++ b/ports/xfontsel/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/app/xfontsel.git diff --git a/ports/xfontsel/version b/ports/xfontsel/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/xfontsel/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/xless/build b/ports/xless/build new file mode 100755 index 0000000..ac5554e --- /dev/null +++ b/ports/xless/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +xmkmf -a +make +install -Dm755 xless "$1/usr/bin/xless" +install -Dm755 xless.man "$1/usr/share/man/man1/xless.1" diff --git a/ports/xless/checksums b/ports/xless/checksums new file mode 100644 index 0000000..25b70b3 --- /dev/null +++ b/ports/xless/checksums @@ -0,0 +1 @@ +d533477445cdd8c9f902e40eb5ae5448fb695649527116ac989dbcb0796213cc diff --git a/ports/xless/depends b/ports/xless/depends new file mode 100644 index 0000000..242af62 --- /dev/null +++ b/ports/xless/depends @@ -0,0 +1,3 @@ +gccmakedep make +imake-git make +xorg-cf make diff --git a/ports/xless/files/Imake.tmpl b/ports/xless/files/Imake.tmpl new file mode 100644 index 0000000..3f89ebf --- /dev/null +++ b/ports/xless/files/Imake.tmpl @@ -0,0 +1,2320 @@ +XCOMM ---------------------------------------------------------------------- +XCOMM Makefile generated from IMAKE_TEMPLATE and INCLUDE_IMAKEFILE +XCOMM $Xorg: Imake.tmpl,v 1.4 2000/08/17 19:41:46 cpqbld Exp $ +XCOMM $XdotOrg: xc/config/cf/Imake.tmpl,v 1.9 2005/01/24 06:37:31 daniels Exp $ +XCOMM +XCOMM +XCOMM +XCOMM +XCOMM $XFree86: xc/config/cf/Imake.tmpl,v 3.155 2003/12/24 18:58:41 dickey Exp $ +XCOMM ---------------------------------------------------------------------- + +/* + * generic imake template + */ + +/* + * Modify Imake.cf when adding a new architecture, do not modify this file. + * Platform-specific parameters may be set in the appropriate .cf + * configuration files. Site-specific parameters should be set in the file + * site.def. Full rebuilds are recommended if any parameters are changed. + * If your C preprocessor does not define any unique symbols, you will need + * to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing + * "make World" the first time). + */ + +#define ImakeConfigRelease 6 + +#define YES 1 +#define NO 0 + +/* Ensure that "all" is the default target in the Makefile. */ +all:: + +.SUFFIXES: .i + +/* Intercept clean rules for current directory */ +#undef clean +#define clean cleandir + +#include + +XCOMM ----------------------------------------------------------------------- +XCOMM site-specific configuration parameters that need to come before +XCOMM the platform-specific parameters - edit site.def to change +#define BeforeVendorCF +#include +#undef BeforeVendorCF + +#if defined(HasGcc3) && !defined(HasGcc2) +# define HasGcc2 HasGcc3 +#endif +#if defined(HasGcc2) && !defined(HasGcc) +# define HasGcc HasGcc2 +#endif + +#ifndef HasCenterLineC +#define HasCenterLineC NO +#endif +#ifndef HasCenterLineCplusplus +#define HasCenterLineCplusplus NO +#endif + +#ifndef HasClearmake +# define HasClearmake NO +#endif + +#ifndef ProPoliceSupport +#define ProPoliceSupport NO +#endif + +/* + * ClearmakeOSName - insert the current OS type into the clearmake + * build script, so .o files from different platforms cannot be winked in. + * If clearmake finds the build script for two .o files is the same, it + * will share the .o, even across different architectures. Inserting the + * O/S name into the build script in a comment prevents unwanted sharing. + * Note the trailing double-@ in the macro: end a line using this macro + * with backslash without the double-@ usually used. + * Like this: + * + * #define SomeRule() @@\ + * something or other @@\ + * ClearmakeOSName \ + * something else @@\ + * and more + */ +#ifndef ClearmakeOSName +# if HasClearmake +# define ClearmakeOSName @ XCOMM $(OSNAME) @@ +# else +# define ClearmakeOSName /**/ +# endif +#endif + +#if HasClearmake +# ifndef MakeCmd +# define MakeCmd clearmake +# endif +#endif + +#if HasClearmake +XCOMM ---------------------------------------------------------------------- +.c.o: + ClearmakeOSName $(CC) -c $(CFLAGS) $*.c +#endif + +XCOMM ---------------------------------------------------------------------- +XCOMM platform-specific configuration parameters - edit MacroFile to change +#include MacroIncludeFile + +XCOMM ---------------------------------------------------------------------- +XCOMM site-specific configuration parameters that go after +XCOMM the platform-specific parameters - edit site.def to change +#define AfterVendorCF +#include +#undef AfterVendorCF + +/* + * defaults for various generic parameters; set in site.def if needed + */ + +/* the following are needed before we can include Imake.rules */ + +#ifndef NothingOutsideProjectRoot +#define NothingOutsideProjectRoot NO +#endif + +#ifndef RemoveObsoleteFiles +#define RemoveObsoleteFiles YES +#endif + +#ifndef HasVarDirectory +#define HasVarDirectory YES +#endif +#ifndef UseEtcX11 +#define UseEtcX11 YES +#endif +#ifndef UseInstalledX11 +# define UseInstalledX11 NO +#endif +#ifdef UseInstalled +# undef UseInstalledX11 +# define UseInstalledX11 YES +#endif +#if NothingOutsideProjectRoot +#undef UseEtcX11 +#define UseEtcX11 NO +#endif +#ifndef UseSeparateConfDir +#define UseSeparateConfDir (UseEtcX11 || HasVarDirectory) +#endif +#if NothingOutsideProjectRoot +#undef UseSeparateConfDir +#define UseSeparateConfDir NO +#endif +#ifndef SystemV +#define SystemV NO /* SYSV (R3) */ +#endif +#ifndef SystemV4 +#define SystemV4 NO /* SVR4 */ +#endif +#ifndef HasCodeCenter +#define HasCodeCenter NO +#endif +#ifndef HasSentinel +#define HasSentinel NO +#endif +#ifndef HasPurify +#define HasPurify NO +#endif +#ifndef HasTestCenter +#define HasTestCenter NO +#endif +#ifndef HasGnuMake +#define HasGnuMake NO +#endif +/* + * The following fixes a glitch with GNU make -j + */ +#ifndef ForceServerRemake +#define ForceServerRemake HasGnuMake +#endif +#ifndef HasBsdMake +#define HasBsdMake NO +#endif +#ifndef HasParallelMake +#define HasParallelMake NO +#endif +#ifndef RemoveTargetProgramByMoving +#define RemoveTargetProgramByMoving NO +#endif +#ifndef DoRanlibCmd +#if SystemV || SystemV4 +#define DoRanlibCmd NO +#else +#define DoRanlibCmd YES +#endif +#endif +#ifndef ExecableScripts +#if SystemV +#define ExecableScripts NO +#else +#define ExecableScripts YES /* kernel exec() can handle #! */ +#endif +#endif + +#ifndef HasMakefileSafeInclude /* -include or sinclude in a Makefile */ +#if HasClearmake || HasBsdMake +#define HasMakefileSafeInclude YES +#else +#define HasMakefileSafeInclude NO /* see also vendor-specific .cf files */ +#endif +#endif + +#ifndef HasSymLinks +#define HasSymLinks YES +#endif + +#ifndef HasPerl +#define HasPerl YES +#endif + +#ifndef HasPerl5 +#define HasPerl5 HasPerl +#endif + +#ifndef PerlCmd +#define PerlCmd perl +#endif + +#ifndef PerlOptions +#define PerlOptions /**/ +#endif + +#ifndef PerlEnvSetup +#define PerlEnvSetup env LC_ALL=C +#endif + +#ifndef BuildRman +#define BuildRman NO +#endif + +#ifndef HasGperf +#define HasGperf NO +#endif + +#ifndef GperfCmd +#define GperfCmd gperf +#endif + +#ifndef RmanCmd +#if BuildRman +#ifdef UseInstalled /* assume BINDIR in path */ +#define RmanCmd rman +#else +#define RmanCmd $(TOP)/config/util/rman +#endif +#endif +#endif + +#ifndef RmanOptions +#if BuildRman +#define RmanOptions -f HTML +#endif +#endif + +#ifndef BuildHtmlManPages +#ifdef RmanCmd +#define BuildHtmlManPages YES +#else +#define BuildHtmlManPages NO +#endif +#endif +/* Can't do this while bootstrapping imake */ +#ifdef BootStrap +#undef BuildHtmlManPages +#define BuildHtmlManPages NO +#endif + +#ifndef DontPreprocessManPages +#ifdef UseInstalled +#define DontPreprocessManPages YES +#else +#define DontPreprocessManPages NO +#endif +#endif + +#ifndef CompressManPages +#define CompressManPages NO +#endif + +#ifndef HasGroff +#define HasGroff NO +#endif +#ifndef HasGroffHtml +#define HasGroffHtml NO +#endif + +#ifndef HasCookieMaker +#define HasCookieMaker NO +#endif + +#ifndef DoLoadableServer +#define DoLoadableServer NO +#endif +#ifndef MakeDllModules +#define MakeDllModules NO +#endif +#ifndef StripInstalledPrograms +#define StripInstalledPrograms NO /* leave symbol table just in case */ +#endif +#ifndef StaticNeedsPicForShared +#define StaticNeedsPicForShared NO +#endif + +#include + +#ifndef HasSharedLibraries +#define HasSharedLibraries NO +#endif +#ifndef OSMajorVersion +#define OSMajorVersion 0 +#endif +#ifndef OSMinorVersion +#define OSMinorVersion 0 +#endif +#ifndef OSTeenyVersion +#define OSTeenyVersion 0 +#endif +#ifndef UnalignedReferencesAllowed +#define UnalignedReferencesAllowed NO /* if arbitrary deref is okay */ +#endif +#ifndef AvoidNullMakeCommand +#if !HasBsdMake +#define AvoidNullMakeCommand NO +#else +#define AvoidNullMakeCommand YES +#endif +#endif +#if AvoidNullMakeCommand +#ifndef NullMakeCommand +#define NullMakeCommand @ echo -n +#endif +/* + * An obscure bug in BSD4.3's original make causes it not to recognize a + * macro definition if the macro name starts with a non-alpha and in + * column one. + */ + _NULLCMD_ = NullMakeCommand +#endif + +#ifndef CrossCompiling +#define CrossCompiling NO +#undef CrossCompileDir +#endif +#ifndef BourneShell /* to force shell in makefile */ +#define BourneShell /bin/sh +#endif +#ifndef ConstructMFLAGS +#if SystemV +#define ConstructMFLAGS YES /* build MFLAGS from MAKEFLAGS */ +#else +#define ConstructMFLAGS NO /* build MFLAGS from MAKEFLAGS */ +#endif +#endif + +#ifndef ConstructMAKEFLAGS /* needed on old BSD-based? */ +#define ConstructMAKEFLAGS NO /* build MAKEFLAGS from MFLAGS */ +#endif + +#ifndef HasLargeTmp +#define HasLargeTmp NO /* be paranoid */ +#endif + +#ifndef HasMotif +#define HasMotif NO +#endif +#ifndef HasMotif2 +#define HasMotif2 NO /* only if system has working Motif2 or OpenMotif */ +#endif +#ifndef HasBSDAuth +#define HasBSDAuth NO +#endif + +#ifndef HasBSD44Sockets +#define HasBSD44Sockets NO +#endif +#ifndef HasSockets +#define HasSockets YES +#endif +#ifndef HasStreams +#define HasStreams !HasSockets +#endif +#ifndef HasDECnet +#define HasDECnet NO +#endif +#ifndef HasPoll +#if SystemV || SystemV4 +#define HasPoll YES +#else +#define HasPoll NO +#endif +#endif +#ifndef HasVFork +#if SystemV +#define HasVFork NO /* not yet... */ +#else +#define HasVFork YES +#endif +#endif +#ifndef HasSetProcTitle +#define HasSetProcTitle NO +#endif +#ifndef HasSetUserContext +#define HasSetUserContext NO +#endif +#ifndef HasLibCrypt +#define HasLibCrypt NO +#endif +#ifndef HasPutenv +#define HasPutenv NO /* assume not */ +#endif +/* setenv(3) and unsetenv(3) */ +#ifndef HasSetenv +#define HasSetenv YES /* assume yes */ +#endif +#ifndef HasVoidSignalReturn +#define HasVoidSignalReturn YES /* assume yes */ +#endif +#ifndef HasBsearch +#define HasBsearch YES /* assume yes */ +#endif +#ifndef HasSnprintf +#define HasSnprintf NO /* assume not */ +#endif +#ifndef HasStrlcat +#define HasStrlcat NO /* assume not */ +#endif +#ifndef HasDlopen +#define HasDlopen NO /* assume not */ +#endif +#ifndef HasWeakSymbols +#define HasWeakSymbols NO /* assume not */ +#endif +#ifndef HasIssetugid +#define HasIssetugid NO /* assume not */ +#endif +#ifndef HasGetresuid +#define HasGetresuid NO /* assume not */ +#endif +#ifndef HasMkstemp +#define HasMkstemp NO /* assume not */ +#endif +#ifndef HasUsableFileMmap +#define HasUsableFileMmap NO /* assume not */ +#endif +#ifndef HasGetIfAddrs +#define HasGetIfAddrs NO /* assume not */ +#endif +#ifndef HasStickyDirBit +#define HasStickyDirBit YES +#endif +#ifndef HasFchown +#define HasFchown YES +#endif +#ifndef HasPam +#define HasPam NO +#endif +#ifndef HasPamMisc +#define HasPamMisc NO +#endif +#ifndef HasGetpeereid +#define HasGetpeereid NO +#endif +#ifndef HasGetpeerucred +#define HasGetpeerucred NO +#endif +#ifndef NoStrstr +#define NoStrstr NO +#endif +#ifndef HasShadowPasswd +#define HasShadowPasswd NO +#endif +#ifndef HasBasename +#define HasBasename YES +#endif +#ifndef HasGetopt +# if !defined(Win32Architecture) && !defined(OS2Architecture) +# define HasGetopt YES +# else +# define HasGetopt NO +# endif +#endif +#ifndef HasGetoptLong +# define HasGetoptLong NO +#endif +/* byte-order defaults */ +#ifndef ByteOrder +#if defined(VaxArchitecture) +#define ByteOrder X_LITTLE_ENDIAN +#elif defined(MipsArchitecture) && defined(MipselArchitecture) +#define ByteOrder X_LITTLE_ENDIAN +#elif defined(MipsArchitecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(i386Architecture) +#define ByteOrder X_LITTLE_ENDIAN +#elif defined(ia64Architecture) +#define ByteOrder X_LITTLE_ENDIAN +#elif defined(AMD64Architecture) +#define ByteOrder X_LITTLE_ENDIAN +#elif defined(SparcArchitecture) || defined(Sparc64Architecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(AlphaArchitecture) +#define ByteOrder X_LITTLE_ENDIAN +#elif defined(Mc68000Architecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(Mc68020Architecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(Mc88000Architecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(s390Architecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(s390xArchitecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(Arm32ebArchitecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(Arm32Architecture) +#define ByteOrder X_LITTLE_ENDIAN +#elif defined(RsArchitecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(PpcArchitecture) || defined(Ppc64Architecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(HPArchitecture) +#define ByteOrder X_BIG_ENDIAN +#elif defined(SuperHArchitecture) +#define ByteOrder X_LITTLE_ENDIAN +#elif defined(SuperHebArchitecture) +#define ByteOrder X_BIG_ENDIAN +#endif +#endif /* ByteOrder */ +X_BYTE_ORDER = ByteOrder + +#ifndef HasFortran +#define HasFortran NO +#endif +#ifndef HasGcc2ForCplusplus +#define HasGcc2ForCplusplus NO +#endif +#ifndef HasCplusplus +#if HasGcc2ForCplusplus +#define HasCplusplus YES +#else +#define HasCplusplus NO +#endif +#endif +#ifndef HasMktemp +#define HasMktemp NO /* if you have the mktemp command */ +#endif +#ifndef HasNdbm +#define HasNdbm NO +#endif +#ifndef HasSecureRPC +#define HasSecureRPC NO /* if you have Secure RPC */ +#endif +#ifndef HasKrbIV +#define HasKrbIV NO /* if you have Kerberos IV */ +#endif +#ifndef HasKrb5 +#define HasKrb5 NO /* if you have Kerberos V5 */ +#endif +#ifndef HasLatex +#define HasLatex NO +#endif +#ifndef HasShm +#if SystemV || SystemV4 +#define HasShm YES +#else +#define HasShm NO +#endif +#endif +#ifndef HasCbrt +#define HasCbrt YES +#endif +#ifndef HasFfs +#define HasFfs YES +#endif +#ifndef HasZlib +#define HasZlib YES +#endif +#ifndef OsNeedZlibHeaders +#define OsNeedZlibHeaders !HasZlib +#endif +#if !HasZlib /* if OS doesn't have it, we'll build it */ +XCOMM Building your own zlib can be a harmful security risk and is +XCOMM deprecated; please strongly consider using vendor-supplied packages. +#undef GzipLibrary /* GzipLibrary was valid only if HasZlib */ +#endif +#ifndef GzipLibrary /* if OS config didn't define it, assume it's -lz */ +#define GzipLibrary -lz +#endif +/* If the system has the Freetype2 library - if NO, the copy in extras is built */ +#ifndef HasFreetype2 +#define HasFreetype2 YES +#endif +/* If the system has the Fontconfig library - if NO, the copy in extras is built */ +#ifndef HasFontconfig +#define HasFontconfig NO +#endif +/* If the system has the PNG library - if NO, xcursorgen is not built */ +#ifndef HasLibpng +#define HasLibpng NO +#endif +#if HasKrbIV +#ifndef KrbIVIncludes +#define KrbIVIncludes /**/ +#endif +#ifndef KrbIVLibraries +#define KrbIVLibraries -lkrb -ldes +#endif +#endif +#if HasKrb5 +#ifndef Krb5Includes +#define Krb5Includes -I/krb5/include +#endif +#ifndef Krb5Libraries +#define Krb5Libraries -L/krb5/lib -L/usr/isode/lib -lkrb5 -lcrypto -lisode -lcom_err -ldbm +#endif +#else +#undef Krb5Includes +#define Krb5Includes /**/ +#undef Krb5Libraries +#define Krb5Libraries /**/ +#endif +#ifndef UseGnuMalloc +#define UseGnuMalloc NO +#endif +#ifndef GnuMallocLibrary +#define GnuMallocLibrary -lgmalloc +#endif +#ifndef MallocLibraries +#if UseGnuMalloc +#define MallocLibraries GnuMallocLibrary +#else +#define MallocLibraries /**/ +#endif +#endif +#ifndef HasPosixRegex /* Most modern platforms have it */ +#define HasPosixRegex YES +#endif +#ifndef RegexLibrary +#if HasPosixRegex +#define RegexLibrary /**/ +#else +#define RegexLibrary -lregex +#endif +#endif +#ifndef HasNCurses +#define HasNCurses NO +#endif +#ifndef NCursesLibName +#if HasNCurses +#define NCursesLibName -lncurses +#else +#define NCursesLibName +#endif +#endif +#ifdef NCursesLibDir +NCURSESLIBDIR = NCursesLibDir +#endif +#ifdef NCursesIncDir +NCURSESINCDIR = NCursesIncDir +#endif +#ifndef HasGlide2 +#define HasGlide2 NO +#endif +#ifndef Glide2IncDir +#if HasGlide2 +#define Glide2IncDir /usr/include/glide +#else +#define Glide2IncDir +#endif +#endif +GLIDE2INCDIR = Glide2IncDir +#ifndef HasGlide3 +#define HasGlide3 NO +#endif +#ifndef Glide3IncDir +#if HasGlide3 +#define Glide3IncDir /usr/include/glide3 +#else +#define Glide3IncDir +#endif +#endif +GLIDE3INCDIR = Glide3IncDir +#ifndef Glide3LibName +#if HasGlide3 +#define Glide3LibName glide3 +#else +#define Glide3LibName +#endif +#endif +GLIDE3LIBNAME = Glide3LibName +#ifndef HasTk +#define HasTk NO +#endif +#ifndef TkLibName +#if HasTk +#define TkLibName tk +#else +#define TkLibName +#endif +#endif +TKLIBNAME = TkLibName +#ifndef TkLibDir +#if HasTk +#define TkLibDir /usr/local/lib +#else +#define TkLibDir +#endif +#endif +TKLIBDIR = TkLibDir +#ifndef TkIncDir +#if HasTk +#define TkIncDir /usr/local/include +#else +#define TkIncDir +#endif +#endif +#ifndef TkLibrary +#ifdef HasTk +#define TkLibrary Concat(-L,$(TKLIBDIR)) Concat(-l,$(TKLIBNAME)) +#else +#define TkLibrary +#endif +#endif +#ifndef HasTcl +#define HasTcl NO +#endif +#ifndef TclLibName +#if HasTcl +#define TclLibName tcl +#else +#define TclLibName +#endif +#endif +TCLLIBNAME = TclLibName +#ifndef TclLibDir +#if HasTcl +#define TclLibDir /usr/local/lib +#else +#define TclLibDir +#endif +#endif +TCLIBDIR = TclLibDir +#ifndef TclIncDir +#if HasTcl +#define TclIncDir /usr/local/include +#else +#define TclIncDir +#endif +#endif +#ifndef TclLibrary +#ifdef HasTcl +#define TclLibrary Concat(-L,$(TCLLIBDIR)) Concat(-l,$(TCLLIBNAME)) +#else +#define TclLibrary +#endif +#endif +#ifndef HasTsLib +#define HasTsLib NO +#endif +/* + * Libtool has two different behaviours for version numbers. + * On platforms which support a minor number, the library + * version is (version - minor).minor, on those that don't, + * the version if version.0. Linux and Darwin support minor + * numbers; some BSDs do as well. Set this to YES if libtool + * uses minor numbers on your platform. + */ +#ifndef LibtoolMinorVersions +#define LibtoolMinorVersions NO +#endif +#ifndef NeedConstPrototypes +#define NeedConstPrototypes NO +#endif +#ifndef NeedVarargsPrototypes +#define NeedVarargsPrototypes NO +#endif +#ifndef NeedNestedPrototypes +#define NeedNestedPrototypes NO +#endif +#ifndef NeedFunctionPrototypes +#define NeedFunctionPrototypes (NeedVarargsPrototypes || NeedNestedPrototypes) +#endif +#ifndef NeedWidePrototypes +#define NeedWidePrototypes YES /* mix and match ANSI-C, non-ANSI */ +#endif + +#ifndef UseCCMakeDepend /* use slow cc -E script */ +#define UseCCMakeDepend NO +#endif +#ifndef UseGccMakeDepend /* use slowish but correct gcc -M */ +#define UseGccMakeDepend NO +#endif + +#ifndef CaseSensitiveFileSystem +#define CaseSensitiveFileSystem YES +#endif + +/* DefaultUsrBin is independent of ProjectRoot. + This is a directory where programs will be found even if PATH + is not set, for example when coming in remotely via rsh. */ +#ifndef DefaultUsrBin +#define DefaultUsrBin /usr/bin +#endif + +#ifndef LibDirName +# define LibDirName lib +#endif + +#ifndef UsrLibDir +#ifdef ProjectRoot +#define UsrLibDir Concat3(ProjectRoot,/,LibDirName) +#ifndef AlternateUsrLibDir +#define AlternateUsrLibDir YES +#endif +#else +#define UsrLibDir Concat3(/usr,/,LibDirName) +#ifndef AlternateUsrLibDir +#define AlternateUsrLibDir NO +#endif +#endif +#else +#ifndef AlternateUsrLibDir +#define AlternateUsrLibDir YES +#endif +#endif +#ifndef VarDirectory +#ifdef ProjectVar +#define VarDirectory ProjectVar +#else +#define VarDirectory /var +#endif +#endif +#ifndef VarLibDir +#define VarLibDir $(VARDIR)/lib +#endif + +/* + * SystemUsrLibDir is independent of ProjectRoot. It is used primarily + * to allow links for shared libraries in /usr/lib for compliance to + * various standards (e.g., Linux/OpenGL). + */ +#ifndef SystemUsrLibDir +#define SystemUsrLibDir /usr/LibDirName +#endif +#ifndef SystemUsrIncDir +#define SystemUsrIncDir /usr/include +#endif + +#ifndef ShLibDir +#define ShLibDir UsrLibDir +#endif +#ifndef IncRoot +#ifdef ProjectRoot +#define IncRoot Concat(ProjectRoot,/include) +#ifndef AlternateIncRoot +#define AlternateIncRoot YES +#endif +#else +#define IncRoot /usr/include +#ifndef AlternateIncRoot +#define AlternateIncRoot NO +#endif +#endif +#else +#ifndef AlternateIncRoot +#define AlternateIncRoot YES +#endif +#endif +#ifndef LintlibDir +#define LintlibDir $(USRLIBDIR)/lint +#endif +#ifndef SystemManDirectory +#if SystemV4 +#define SystemManDirectory /usr/share/man +#else +#define SystemManDirectory /usr/man +#endif +#endif +#ifndef ManDirectoryRoot +#ifdef ProjectRoot +#define ManDirectoryRoot Concat(ProjectRoot,/man) +#else +#define ManDirectoryRoot SystemManDirectory +#endif +#endif +#ifndef ManPath +#define ManPath ManDirectoryRoot +#endif +#ifndef ManSourcePath +#define ManSourcePath $(MANPATH)/man +#endif +#ifndef ManDir +#define ManDir $(MANSOURCEPATH)$(MANSUFFIX) +#endif +#ifndef LibmanDir +#define LibmanDir $(MANSOURCEPATH)$(LIBMANSUFFIX) +#endif +#ifndef FileManDir +#define FileManDir $(MANSOURCEPATH)$(FILEMANSUFFIX) +#endif +#ifndef MiscManDir +#define MiscManDir $(MANSOURCEPATH)$(MISCMANSUFFIX) +#endif +#ifndef DriverManDir +#define DriverManDir $(MANSOURCEPATH)$(DRIVERMANSUFFIX) +#endif +#ifndef AppLoadDefs +#define AppLoadDefs -D__apploaddir__=$(XAPPLOADDIR) +#endif +#ifndef AppManDefs +#define AppManDefs -D__appmansuffix__=$(MANSUFFIX) +#endif +#ifndef LibManDefs +#define LibManDefs -D__libmansuffix__=$(LIBMANSUFFIX) +#endif +#ifndef FileManDefs +#define FileManDefs -D__filemansuffix__=$(FILEMANSUFFIX) +#endif +#ifndef MiscManDefs +#define MiscManDefs -D__miscmansuffix__=$(MISCMANSUFFIX) +#endif +#ifndef DriverManDefs +#define DriverManDefs -D__drivermansuffix__=$(DRIVERMANSUFFIX) +#endif +#ifndef AdminManDefs +#define AdminManDefs -D__adminmansuffix__=$(ADMINMANSUFFIX) +#endif +#ifndef ProjectManDefs +#define ProjectManDefs -D__projectroot__=$(PROJECTROOT) +#endif +#ifndef XConfigFileManDefs +#define XConfigFileManDefs -D__xconfigfile__=$(XCONFIGFILE) +#endif +#ifndef XConfigDirManDefs +#define XConfigDirManDefs -D__xconfigdir__=$(XCONFIGDIR) +#endif +#ifndef XLogFileManDefs +#define XLogFileManDefs -D__xlogfile__=$(XLOGFILE) +#endif +#ifndef XServerManDefs +#define XServerManDefs -D__xservername__=$(XSERVERNAME) +#endif + +#ifndef CompressManCmd +#define CompressManCmd gzip -n +#endif + +#ifndef HtmlIndexCmd +#if BuildHtmlManPages +#define HtmlIndexCmd $(MKHTMLINDEX) +#endif +#endif + +#ifndef LogDirectory +#if HasVarDirectory +#define LogDirectory $(VARDIR)/log +#else +#define LogDirectory /usr/adm +#endif +#endif + +#ifndef HasVarRun +#define HasVarRun NO +#endif + +#ifndef VarRunDirectory +#if HasVarRun +#define VarRunDirectory $(VARDIR)/run +#endif +#endif + +#ifndef HasVarDb +#define HasVarDb NO +#endif + +#ifndef VarDbDirectory +#if HasVarDb +#define VarDbDirectory $(VARDIR)/db +#endif +#endif + +#ifndef ConfigSrc +#define ConfigSrc $(TOP)/config +#endif +#ifndef DependDir +#if UseCCMakeDepend || UseGccMakeDepend +#define DependDir $(CONFIGSRC)/util +#else +#define DependDir $(CONFIGSRC)/makedepend +#endif +#endif +#ifndef UNCOMPRESSPATH +#define UNCOMPRESSPATH /usr/ucb/uncompress /* obsolete */ +#endif +#ifndef OptimizedCDebugFlags +#define OptimizedCDebugFlags -O +#endif +#ifndef OptimizedCplusplusDebugFlags +#define OptimizedCplusplusDebugFlags OptimizedCDebugFlags +#endif +#ifndef DebuggableCDebugFlags +#define DebuggableCDebugFlags -g +#endif +#ifndef DebuggableCplusplusDebugFlags +#define DebuggableCplusplusDebugFlags DebuggableCDebugFlags +#endif +#ifndef ProfiledCDebugFlags +#define ProfiledCDebugFlags -pg +#endif +#ifndef ProfiledCplusplusDebugFlags +#define ProfiledCplusplusDebugFlags ProfiledCDebugFlags +#endif +#ifndef NoOpCDebugFlags +#define NoOpCDebugFlags /**/ +#endif +#ifndef DefaultCDebugFlags +#define DefaultCDebugFlags OptimizedCDebugFlags +#endif +#ifndef DefaultCplusplusDebugFlags +#define DefaultCplusplusDebugFlags OptimizedCplusplusDebugFlags +#endif +#ifndef DefaultCCOptions +#define DefaultCCOptions /* floating point, etc. */ +#endif +#ifndef DefaultCplusplusOptions +#define DefaultCplusplusOptions /* floating point, etc. */ +#endif +#ifndef HardCodeLibdirFlag +#define HardCodeLibdirFlag /**/ +#endif +#ifndef NoRConst +#define NoRConst NO /* YES if const for structs of funcs is bad */ +#endif +#ifndef InstPgmFlags +# if CrossCompiling +# define InstPgmFlags +# else +# define InstPgmFlags -s +# endif +#endif +#ifndef InstBinFlags +#define InstBinFlags -m 0755 +#endif +#ifndef InstUidFlags +#define InstUidFlags -m 4711 +#endif +#ifndef InstLibFlags +#define InstLibFlags -m 0644 +#endif +#ifndef InstIncFlags +#define InstIncFlags -m 0444 +#endif +#ifndef InstManFlags +#define InstManFlags -m 0444 +#endif +#ifndef InstDatFlags +#define InstDatFlags -m 0444 +#endif +#ifndef InstKmemFlags /* put -g kmem -m 2711 in site.def... */ +#define InstKmemFlags InstUidFlags +#endif +#ifndef ParallelMakeFlags +#define ParallelMakeFlags /**/ +#endif +#ifndef ArCmdBase +#define ArCmdBase ar +#endif +#ifndef ArCmd +#if HasLargeTmp || SystemV4 || LinuxBinUtilsMajorVersion +#define ArCmd ArCmdBase cq +#else +#define ArCmd ArCmdBase clq +#endif +#endif +#ifndef ArAddCmd +#if HasLargeTmp || SystemV4 +#define ArAddCmd ArCmdBase ru +#else +#define ArAddCmd ArCmdBase rul +#endif +#endif +#ifndef ArExtCmd +#if HasLargeTmp || SystemV4 +#define ArExtCmd ArCmdBase x +#else +#define ArExtCmd ArCmdBase xl +#endif +#endif +#ifndef BootstrapCFlags +#define BootstrapCFlags /**/ +#endif +#ifndef HasGcc3 +#define HasGcc3 NO +#endif +#ifndef HasGcc2 +#define HasGcc2 HasGcc3 +#endif +#ifndef HasGcc +#define HasGcc HasGcc2 +#endif +#ifndef HasIntelC +#define HasIntelC NO +#endif +#ifndef HasSunC +#define HasSunC NO +#endif +#ifndef HasBrokenCCForLink +#define HasBrokenCCForLink NO +#endif +#ifndef CcCmd +#if HasGcc2 +#define CcCmd gcc -fpcc-struct-return +#else +#if HasGcc +#define CcCmd gcc -fstrength-reduce -fpcc-struct-return +#else +#if HasCenterLineC +#define CcCmd clcc +#else +#define CcCmd cc +#endif +#endif +#endif +#endif +#ifndef CplusplusCmd +#if HasGcc2ForCplusplus +#define CplusplusCmd g++ +#else +#define CplusplusCmd CC +#endif +#endif +#ifndef CplusplusFilt +# define CplusplusFilt c++filt +#endif +#ifndef CplusplusLibC +#if HasGcc2ForCplusplus +#define CplusplusLibC -lstdc++ +#else +#define CplusplusLibC /**/ +#endif +#endif +#ifndef CplusplusStandardDefines +#define CplusplusStandardDefines StandardDefines +#endif +#ifndef CplusplusExtraDefines +#define CplusplusExtraDefines /**/ +#endif +#ifndef CplusplusExtraIncludes +#define CplusplusExtraIncludes /**/ +#endif +#ifndef CplusplusDependIncludes +#define CplusplusDependIncludes /**/ +#endif +#ifndef CplusplusOptions +#define CplusplusOptions DefaultCplusplusOptions +#endif +#ifndef CplusplusSpecialOptions +#define CplusplusSpecialOptions /**/ +#endif +#if HasFortran +#ifndef FortranCmd +#define FortranCmd f77 +#endif +#ifndef FortranFlags +#define FortranFlags /**/ +#endif +#ifndef FortranDebugFlags /* for -O or -g */ +#define FortranDebugFlags /**/ +#endif +#endif +#ifndef AsCmd +#define AsCmd as +#endif +#ifndef AsmDefines +#define AsmDefines /**/ +#endif +#ifndef CompressCmd +#define CompressCmd compress +#endif +#ifndef GzipCmd +#define GzipCmd gzip -n +#endif +#ifndef CppCmd +#define CppCmd /LibDirName/cpp +#endif +#ifndef RawCppCmd +#define RawCppCmd CppCmd -undef +#endif +#ifndef CppNoLineInfoOption +#define CppNoLineInfoOption /**/ +#endif +#ifndef PreProcessCmd +#define PreProcessCmd CcCmd -E +#endif +#ifndef InstallCmd /* hack should be in project */ +#if SystemV || SystemV4 +#ifdef UseInstalled /* assume BINDIR in path */ +#define InstallCmd bsdinst +#else +#define InstallCmd $(SHELL) $(CONFIGSRC)/util/bsdinst.sh +#endif +#else +#define InstallCmd install +#endif +#endif +#ifndef InstallFlags +#define InstallFlags -c +#endif +#ifndef StripCmd +#define StripCmd strip +#endif +#ifndef LdCmd +#define LdCmd ld +#endif +#ifndef M4Cmd +#define M4Cmd m4 +#endif +#ifndef M4Flags +#define M4Flags /**/ +#endif +#ifndef LexCmd +#define LexCmd lex +#endif +#ifndef LexLib +#define LexLib -ll +#endif +#ifndef HasFlex +#define HasFlex NO +#endif +#ifndef YaccCmd +#define YaccCmd yacc +#endif +#ifndef CplusplusYaccCmd +#define CplusplusYaccCmd YaccCmd +#endif +#ifndef LintCmd +#define LintCmd lint +#endif +#ifndef LintLibFlag +#if SystemV || SystemV4 +#define LintLibFlag -o +#else +#define LintLibFlag -C +#endif +#endif +#ifndef LintOpts +#if SystemV || SystemV4 +#define LintOpts -bh +#else +#define LintOpts -axz +#endif +#endif +#ifndef CpCmd +#define CpCmd cp +#endif +#ifndef LnCmd /* can use cp instead of ln if necessary */ +#if HasSymLinks +#define LnCmd ln -s +#else +#define LnCmd ln +#endif +#endif +#ifndef MakeCmd +#define MakeCmd make +#endif +#ifndef MvCmd +#define MvCmd mv -f +#endif +#ifndef RanlibCmd +#define RanlibCmd ranlib +#endif +#ifndef RanlibInstFlags +#define RanlibInstFlags /**/ +#endif +#ifndef RmCmd +#define RmCmd rm -f +#endif + +/* + * Module cross-compile stuff. By default they are defined to be exactly the + * same as the non-module versions. + */ +#ifndef ModuleCcCmd +#define ModuleCcCmd CcCmd +#endif +#ifndef ModuleCppCmd +#define ModuleCppCmd CppCmd +#endif +#ifndef ModuleCFlags +#define ModuleCFlags $(CFLAGS) +#endif +#ifndef ModuleAsCmd +#define ModuleAsCmd AsCmd +#endif +#ifndef ModuleAsFlags +#define ModuleAsFlags /**/ +#endif +#ifndef ModuleLdCmd +#define ModuleLdCmd LdCmd +#endif +#ifndef ModuleLdFlags +#define ModuleLdFlags /**/ +#endif +#ifndef ModuleLdCombineFlags +#define ModuleLdCombineFlags LdCombineFlags +#endif +#ifndef ModuleArCmd +#define ModuleArCmd ArCmd +#endif +#ifndef NeedModuleRanlib +#define NeedModuleRanlib NO +#endif +#ifndef ModuleRanlibCmd +#define ModuleRanlibCmd RanlibCmd +#endif + +#ifndef HostCcCmd +#define HostCcCmd cc +#endif +#ifndef StandardIncludes /* for platform-specifics */ +#define StandardIncludes /**/ +#endif +#ifndef StandardDefines +#if SystemV +#define StandardDefines -DSYSV +#else +#if SystemV4 +#define StandardDefines -DSVR4 +#else +#define StandardDefines /**/ +#endif +#endif +#endif +#ifndef StandardCppOptions +#define StandardCppOptions /**/ +#endif +#ifndef StandardCppDefines +#define StandardCppDefines StandardCppOptions StandardDefines +#endif +#ifndef Malloc0ReturnsNull +#if UseGnuMalloc +#define Malloc0ReturnsNull YES +#else +#define Malloc0ReturnsNull NO +#endif +#endif +#if Malloc0ReturnsNull +#ifndef Malloc0ReturnsNullDefines +#define Malloc0ReturnsNullDefines -DMALLOC_0_RETURNS_NULL +#endif +#endif +#ifndef ToolkitStringsABIOptions +#define ToolkitStringsABIOptions /**/ +#endif +#ifndef NdbmDefines +#if HasNdbm +#define NdbmDefines -DNDBM +#else +#define NdbmDefines /**/ +#endif +#endif +#ifndef HasLdRunPath +#define HasLdRunPath NO +#endif +#ifndef LdPreLib +# if !defined(UseInstalled) +# define LdPreLib -L$(BUILDLIBDIR) +# else +# if AlternateUsrLibDir +# define LdPreLib -L$(USRLIBDIR) +# else +# define LdPreLib /**/ +# endif +#endif +#endif +#ifndef LdPostLib +#if !defined(UseInstalled) && AlternateUsrLibDir && !HasLdRunPath && !defined(CrossCompileDir) +#define LdPostLib -L$(USRLIBDIR) +#else +#define LdPostLib /**/ +#endif +#endif +#ifndef MathLibrary +#define MathLibrary -lm +#endif +#ifndef DBMLibrary +#define DBMLibrary -ldbm +#endif +#ifndef DlLibrary +#define DlLibrary -ldl +#endif +#ifndef ExtraLibraries +#if SystemV4 +#if HasSockets +#define ExtraLibraries -lsocket -lnsl -lw +#else +#define ExtraLibraries -lnsl -lw +#endif +#else +#define ExtraLibraries /**/ +#endif +#endif +#ifndef ExtraLoadOptions +#define ExtraLoadOptions /**/ +#endif +#ifndef ExtraLoadFlags +#define ExtraLoadFlags /**/ +#endif +#ifndef LdCombineFlags +#if SystemV4 +#define LdCombineFlags -r +#else +#define LdCombineFlags -X -r +#endif +#endif +#ifndef LdStripFlags +#define LdStripFlags -x +#endif +#ifndef TagsCmd +#define TagsCmd ctags +#endif +#ifndef LoaderLibPrefix +#define LoaderLibPrefix /**/ +#endif +#ifndef ImakeCmd +#ifdef UseInstalled /* assume BINDIR in path */ +#define ImakeCmd imake +#else +#define ImakeCmd $(IMAKESRC)/imake +#endif +#endif +#ifndef ImakeWarningFlags +#define ImakeWarningFlags /* Nothing */ +#endif +#ifndef DependCmd +#if UseGccMakeDepend +#ifdef UseInstalled /* assume BINDIR in path */ +#define DependCmd gccmakedep +#else +#define DependCmd $(DEPENDSRC)/gccmakedep +#endif +#elif UseCCMakeDepend +#ifdef UseInstalled /* assume BINDIR in path */ +#define DependCmd ccmakedep +#else +#define DependCmd $(DEPENDSRC)/ccmakedep +#endif +#else +#ifdef UseInstalled /* assume BINDIR in path */ +#define DependCmd makedepend +#else +#define DependCmd $(DEPENDSRC)/makedepend +#endif +#endif +#endif +#ifndef DependDefines +# if UseCCMakeDepend || UseGccMakeDepend +# define DependDefines /**/ +# else +# define DependDefines -DUSE_MAKEDEPEND +# endif +#endif +#ifndef DependFlags +#define DependFlags /**/ +#endif +#ifndef DependFileName +#if !HasBsdMake +#define DependFileName Makefile.dep +#else +#define DependFileName .depend +#endif +#endif +#ifndef ExportListCmd +# ifndef ExportListGenSource +# define ExportListCmd /**/ +# elif !defined(UseInstalled) +# define ExportListCmd $(CONFIGSRC)/util/exportlistgen +# else +# define ExportListCmd exportlistgen +# endif +#endif +#ifndef MkdirHierCmd +#ifdef UseInstalled /* assume BINDIR in path */ +#define MkdirHierCmd mkdirhier +#else +#define MkdirHierCmd $(SHELL) $(CONFIGSRC)/util/mkdirhier.sh +#endif +#endif +#ifndef RevPathCmd +#ifdef UseInstalled /* assume BINDIR in path */ +#define RevPathCmd revpath +#else +#define RevPathCmd $(CONFIGSRC)/util/revpath +#endif +#endif +#ifndef TroffCmd +#if HasGroff +#define TroffCmd groff -Tps +#else +#define TroffCmd troff -Tps +#endif +#endif +#ifndef NroffCmd +#define NroffCmd nroff +#endif +#ifndef HTMLroffCmd +#if HasGroff && HasGroffHtml +#define HTMLroffCmd groff -Thtml +#endif +#endif +#ifdef HTMLroffCmd +#ifndef DocFilesToClean +#define DocFilesToClean grohtml*.png *-auto-*.png +#endif +#endif +#ifndef MsMacros +#define MsMacros -ms +#endif +#ifndef ManMacros +#define ManMacros -man +#endif +#ifndef TblCmd +#define TblCmd tbl +#endif +#ifndef EqnCmd +#define EqnCmd eqn +#endif +#ifndef NeqnCmd +#define NeqnCmd neqn +#endif +#ifndef ColCmd +#define ColCmd col +#endif +#ifndef ColFlags +#define ColFlags -b +#endif +#ifndef DvipsCmd +#define DvipsCmd dvips +#endif +#ifndef LatexCmd +#define LatexCmd latex +#endif +#ifndef HasPdfLatex +#define HasPdfLatex NO +#endif +#ifndef PdfLatexCmd +#define PdfLatexCmd pdflatex +#endif +#ifndef GhostScriptCmd +#define GhostScriptCmd gs +#endif +#ifndef HasGhostPCL +#define HasGhostPCL NO +#endif +#ifndef HasGhostScript +#define HasGhostScript NO +#endif +#ifndef BuildPDFdocs +#define BuildPDFdocs (HasGhostScript) +#endif +#if BuildPDFdocs +#define PsToPdfCmd GhostScriptCmd -q -sOutputFile=- -sDEVICE=pdfwrite -dSAFER -dNOPAUSE - +#endif +#if HasSentinel +#ifndef SentinelCmd +#define SentinelCmd sentinel +#endif +#ifndef SentinelOptions +#define SentinelOptions /**/ +#endif +#endif +#if HasPurify +#ifndef PurifyCmd +#define PurifyCmd purify +#endif +#ifndef PurifyOptions +#define PurifyOptions /**/ +#endif +#endif +#if HasTestCenter +#ifndef ProofCmd +#define ProofCmd proof +#endif +#ifndef ProofOptions +#define ProofOptions /**/ +#endif +#endif +#ifndef PathSeparator +#define PathSeparator / +#endif +#ifndef Osuf +#define Osuf o +#endif +#ifndef CCsuf +#define CCsuf cc +#endif +#ifndef SHsuf +#define SHsuf sh +#endif +#ifndef ManSuffix +#define ManSuffix n /* use just one tab or cpp will die */ +#endif +#ifndef LibManSuffix +#define LibManSuffix 3 /* use just one tab or cpp will die */ +#endif +#ifndef FileManSuffix +#if SystemV || SystemV4 || defined(OSF1Architecture) +#define FileManSuffix 4 /* use just one tab or cpp will die */ +#else +#define FileManSuffix 5 /* use just one tab or cpp will die */ +#endif +#endif +#ifndef MiscManSuffix +#if SystemV || SystemV4 || defined(OSF1Architecture) +#define MiscManSuffix 5 /* use just one tab or cpp will die */ +#else +#define MiscManSuffix 7 /* use just one tab or cpp will die */ +#endif +#endif +#ifndef DriverManSuffix +#if SystemV || SystemV4 || defined(OSF1Architecture) +#define DriverManSuffix 7 /* use just one tab or cpp will die */ +#else +#define DriverManSuffix 4 /* use just one tab or cpp will die */ +#endif +#endif +#ifndef AdminManSuffix +#if SystemV || SystemV4 +#define AdminManSuffix 1m /* use just one tab or cpp will die */ +#else +#define AdminManSuffix 8 /* use just one tab or cpp will die */ +#endif +#endif +#ifndef ExpandManNames +#if SystemV +#define ExpandManNames NO +#else +#define ExpandManNames YES +#endif +#endif +#ifndef ManSrcSuffix +#define ManSrcSuffix man +#endif +#ifndef ManNewSuffix +#define ManNewSuffix _man +#endif +#ifndef TOPDIR +#define TOPDIR . +#endif +#ifndef CURDIR +#define CURDIR . +#endif +#ifndef SiteIConfigFiles +#define SiteIConfigFiles /**/ +#endif +#ifndef OtherIConfigFiles +#define OtherIConfigFiles /**/ +#endif +#ifndef ExtraFilesToClean +#define ExtraFilesToClean /**/ +#endif +#ifndef DocFilesToClean +#define DocFilesToClean /**/ +#endif +#ifndef FilesToClean +#define FilesToClean *.CKP *.ln *.BAK *.bak *.Osuf core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut +#endif + +#ifdef CrossCompileDir +# ifndef StripPath +# define StripPath(x) `echo x|sed "s%.*/%%"` +# endif +# ifndef CrossArCmd +# define CrossArCmd Concat3(CrossCompileDir,/,StripPath(ArCmd)) +# endif +# ifndef CrossCcCmd +# define CrossCcCmd Concat3(CrossCompileDir,/,StripPath(CcCmd)) +# endif +# ifndef CrossAsCmd +# define CrossAsCmd Concat3(CrossCompileDir,/,StripPath(AsCmd)) +# endif +# ifdef HasFortran +# ifndef CrossFortranCmd +# define CrossFortranCmd Concat3(CrossCompileDir,/,StripPath(FortranCmd)) +# endif +# endif +# ifndef CrossCplusplusCmd +# define CrossCplusplusCmd Concat3(CrossCompileDir,/,StripPath(CplusplusCmd)) +# endif +# ifndef CrossCppCmd +# define CrossCppCmd Concat3(CrossCompileDir,/,StripPath(CppCmd)) +# endif +# ifndef CrossRawCppCmdCmd +# define CrossRawCppCmd Concat3(CrossCompileDir,/,StripPath(RawCppCmd)) +# endif +# ifndef CrossPreProcessCmd +# define CrossPreProcessCmd Concat3(CrossCompileDir,/,StripPath(PreProcessCmd)) +# endif +# ifndef CrossAsCmd +# define CrossAsCmd Concat3(CrossCompileDir,/,StripPath(AsCmd)) +# endif +# ifndef CrossLdCmd +# define CrossLdCmd Concat3(CrossCompileDir,/,StripPath(LdCmd)) +# endif +# ifndef CrossModuleLdCmd +# define CrossModuleLdCmd CrossLdCmd +# endif +# ifndef CrossLintCmd +# define CrossLintCmd Concat3(CrossCompileDir,/,StripPath(LintCmd)) +# endif +# ifndef CrossRanlibCmd +# define CrossRanlibCmd Concat3(CrossCompileDir,/,StripPath(RanlibCmd)) +# endif +# ifndef CrossModuleCcCmd +# define CrossModuleCcCmd Concat3(CrossCompileDir,/,StripPath(ModuleCcCmd)) +# endif +# ifndef CrossAsCmd +# define CrossAsCmd Concat3(CrossCompileDir,/,StripPath(AsCmd)) +# endif +# ifndef CrossStripCmd +# define CrossStripCmd Concat3(CrossCompileDir,/,StripPath(StripCmd)) +# endif +#endif + + PATHSEP = PathSeparator + SHELL = BourneShell + + TOP = TOPDIR + CURRENT_DIR = CURDIR + + IMAKE = ImakeCmd + DEPEND = DependCmd + MKDIRHIER = MkdirHierCmd + REVPATH = RevPathCmd + EXPORTLISTGEN = ExportListCmd + RMAN = RmanCmd + RMANBASENAME = HostProgramTargetName(rman) + RMANOPTIONS = RmanOptions + CONFIGSRC = ConfigSrc + IMAKESRC = $(CONFIGSRC)/imake + DEPENDSRC = DependDir + + INCROOT = IncRoot /* base of where to put header files */ + USRLIBDIR = UsrLibDir /* nonshared libraries */ + VARDIR = VarDirectory /* usually /var */ + VARLIBDIR = VarLibDir /* xdm runtime files */ + SYSTEMUSRLIBDIR = SystemUsrLibDir /* system's "/usr/lib" */ + SYSTEMUSRINCDIR = SystemUsrIncDir /* system's "/usr/include" */ + SHLIBDIR = ShLibDir /* shared libraries */ + LINTLIBDIR = LintlibDir /* lint libraries */ + MANPATH = ManPath /* top of manual page tree */ + MANSOURCEPATH = ManSourcePath /* prefix for man page sources */ + MANDIR = ManDir /* man pages for commands */ + LIBMANDIR = LibmanDir /* man pages for library routines */ + FILEMANDIR = FileManDir /* man pages for config files */ + MISCMANDIR = MiscManDir /* man pages for miscellaneous files */ + DRIVERMANDIR = DriverManDir /* man pages for drivers */ + LOGDIRECTORY = LogDirectory /* OS location of log files */ +#ifdef VarRunDirectory + VARRUNDIR = VarRunDirectory /* OS location of PID files */ +#endif +#ifdef VarDbDirectory + VARDBDIR = VarDbDirectory /* OS location of db/state files */ +#endif +#ifdef CrossCompileDir + AR = CrossArCmd +#else + AR = ArCmd +#endif +XCOMM Nice try but useless: make will inherit BOOTSTRAPCFLAGS +XCOMM from top Makefile + BOOTSTRAPCFLAGS = BootstrapCFlags /* set if cpp does not have uniq sym */ +#ifdef CrossCompileDir + CC = CrossCcCmd + AS = CrossAsCmd +#else + CC = CcCmd + AS = AsCmd +#endif +#if HasFortran +# ifdef CrossCompileDir + FC = CrossFortranCmd +# else + FC = FortranCmd +# endif + FDEBUGFLAGS = FortranDebugFlags + FCFLAGS = FortranFlags $(FDEBUGFLAGS) +#endif +#if HasCplusplus + +.SUFFIXES: Concat(.,CCsuf) + +#ifdef CrossCompileDir + CXX = CrossCplusplusCmd +#else + CXX = CplusplusCmd +#endif + CXXFILT = CplusplusFilt +#ifdef CplusplusLibCDir + CXXLIBDIR = CplusplusLibCDir + CXXLIB = -L$(CXXLIBDIR) CplusplusLibC +#else + CXXLIB = CplusplusLibC +#endif + + CXXDEBUGFLAGS = DefaultCplusplusDebugFlags +CXXDEPENDINCLUDES = CplusplusDependIncludes + CXXEXTRA_DEFINES = CplusplusExtraDefines +CXXEXTRA_INCLUDES = CplusplusExtraIncludes + CXXSTD_DEFINES = CplusplusStandardDefines $(CXXPROJECT_DEFINES) + CXXOPTIONS = CplusplusOptions + CXXINCLUDES = $(INCLUDES) $(TOP_INCLUDES) $(CXXEXTRA_INCLUDES) + CXXDEFINES = $(CXXINCLUDES) $(CXXSTD_DEFINES) $(THREADS_CXXDEFINES) $(DEFINES) $(CXXEXTRA_DEFINES) + CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES) +#endif + COMPRESS = CompressCmd + GZIPCMD = GzipCmd +#ifdef CrossCompileDir + CPP = CrossCppCmd $(STD_CPP_DEFINES) + RAWCPP = CrossRawCppCmd $(STD_CPP_OPTIONS) + PREPROCESSCMD = CrossPreProcessCmd $(STD_CPP_DEFINES) +#else + CPP = CppCmd $(STD_CPP_DEFINES) /* simple filters */ + RAWCPP = RawCppCmd $(STD_CPP_OPTIONS) + PREPROCESSCMD = PreProcessCmd $(STD_CPP_DEFINES) /* prefered; mdep */ +#endif + INSTALL = InstallCmd + INSTALLFLAGS = InstallFlags +#ifdef CrossCompileDir + LD = CrossLdCmd +#else + LD = LdCmd +#endif + LEX = LexCmd + M4 = M4Cmd + M4FLAGS = M4Flags + LEXLIB = LexLib + YACC = YaccCmd + CCYACC = CplusplusYaccCmd +#ifdef CrossCompileDir + LINT = CrossLintCmd +#else + LINT = LintCmd +#endif + LINTLIBFLAG = LintLibFlag + LINTOPTS = LintOpts + LN = LnCmd + MAKE = MakeCmd + MV = MvCmd + CP = CpCmd +#if DoRanlibCmd +#ifdef CrossCompileDir + RANLIB = CrossCompileDir/RanlibCmd +#else + RANLIB = RanlibCmd +#endif + RANLIBINSTFLAGS = RanlibInstFlags +#endif + RM = RmCmd + PERL = PerlCmd + PERLOPTS = PerlOptions + PERLENVSETUP = PerlEnvSetup + MANSUFFIX = ManSuffix /* suffix for command man pages */ + LIBMANSUFFIX = LibManSuffix /* suffix for library man pages */ + FILEMANSUFFIX = FileManSuffix /* suffix for file format man pages */ + MISCMANSUFFIX = MiscManSuffix /* suffix for misc man pages */ + DRIVERMANSUFFIX = DriverManSuffix /* suffix for driver man pages */ + ADMINMANSUFFIX = AdminManSuffix /* suffix for admin command man pages */ + MANSRCSUFFIX = ManSrcSuffix /* suffix for man page source */ + MANNEWSUFFIX = ManNewSuffix /* suffix for preprocessed man source */ + MANDEFS = AppLoadDefs AppManDefs FileManDefs LibManDefs MiscManDefs DriverManDefs AdminManDefs ProjectManDefs XConfigFileManDefs XConfigDirManDefs XLogFileManDefs XServerManDefs $(XORGMANDEFS) $(VENDORMANDEFS) + + COMPRESSMANCMD = CompressManCmd + + TROFF = TroffCmd + NROFF = NroffCmd +#ifdef HTMLroffCmd + HTMLROFF = HTMLroffCmd +#endif +#ifdef PsToPdfCmd + PSTOPDFCMD = PsToPdfCmd +#endif + MSMACROS = MsMacros + MANMACROS = ManMacros + TBL = TblCmd + EQN = EqnCmd + NEQN = NeqnCmd + COL = ColCmd + COLFLAGS = ColFlags +#ifdef CrossCompileDir + MODCC = CrossModuleCcCmd +#else + MODCC = ModuleCcCmd +#endif + MODCPP = ModuleCppCmd + MODCFLAGS = ModuleCFlags + MODAS = ModuleAsCmd + MODASFLAGS = ModuleAsFlags +#ifdef CrossCompileDir + MODLD = CrossModuleLdCmd +#else + MODLD = ModuleLdCmd +#endif + MODLDFLAGS = ModuleLdFlags +MODLDCOMBINEFLAGS = ModuleLdCombineFlags + MODAR = ModuleArCmd +#ifdef CrossCompileDir + MODRANLIB = CrossCompileDir/ModuleRanlibCmd +#else + MODRANLIB = ModuleRanlibCmd +#endif +#if HasLatex + DVIPS = DvipsCmd + LATEX = LatexCmd +#endif +#if HasPdfLatex + PDFLATEXCMD = PdfLatexCmd +#endif +#if HasSentinel + SENTINEL = SentinelCmd + SENTINELOPTIONS = SentinelOptions +#endif +#if HasPurify + PURIFY = PurifyCmd + PURIFYOPTIONS = PurifyOptions +#endif +#if HasTestCenter + PROOF = ProofCmd + PROOFOPTIONS = ProofOptions +#endif +#if CrossCompiling + HOST_CC = HostCcCmd +#endif + STD_INCLUDES = StandardIncludes + STD_CPP_OPTIONS = StandardCppOptions + STD_CPP_DEFINES = StandardCppOptions StandardCppDefines $(PROJECT_DEFINES) + STD_DEFINES = StandardDefines $(PROJECT_DEFINES) + EXTRA_LOAD_FLAGS = ExtraLoadFlags + EXTRA_LDOPTIONS = ExtraLoadOptions + EXTRA_LIBRARIES = MallocLibraries ExtraLibraries Krb5Libraries + TAGS = TagsCmd +#if ConstructMFLAGS + MFLAGS = -$(MAKEFLAGS) +#endif +#if ConstructMAKEFLAGS + MAKEFLAGS = $(MFLAGS) +#endif + PARALLELMFLAGS = ParallelMakeFlags +#if HasSharedLibraries + SHAREDCODEDEF = SharedCodeDef + SHLIBDEF = SharedLibraryDef +#ifdef SharedLibraryLoadFlags + SHLIBLDFLAGS = SharedLibraryLoadFlags $(SHLIBGLOBALSFLAGS) +#if HasGcc + NOSTDLIB = -nostdlib + POSTNOSTDLIB = -Wl,-Bstatic -lgcc -Wl,-Bdynamic +#elif HasIntelC + NOSTDLIB = -nostdlib + POSTNOSTDLIB = +#elif HasSunC + NOSTDLIB = -xnolib + POSTNOSTDLIB = +#endif +#endif +/* + * Here we set up flags needed to produce position-independent code + * when doing C and C++ compilation. The default if you specify C + * PIC flags without also specifying C++ PIC flags is to assume that + * the C flags work for both. If your C++ compiler requires different + * flags, specify them explicitly in PositionIndependentCplusplusFlags. + */ +#ifdef PositionIndependentCFlags + PICFLAGS = PositionIndependentCFlags +#endif +#ifdef PositionIndependentCplusplusFlags + CXXPICFLAGS = PositionIndependentCplusplusFlags +#else +#ifdef PositionIndependentCFlags + CXXPICFLAGS = PositionIndependentCFlags +#endif +#endif +#endif +#if !HasVoidSignalReturn + SIGNAL_DEFINES = -DSIGNALRETURNSINT +#endif +/* + * The following supports forcing of function prototypes + */ +#if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes && NeedNestedPrototypes +#define _funcprotodef -DFUNCPROTO=15 +#else +#if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedNestedPrototypes +#define _funcprotodef -DFUNCPROTO=11 +#else +#if NeedFunctionPrototypes && NeedNestedPrototypes +#define _funcprotodef -DFUNCPROTO=9 +#else +#if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes +#define _funcprotodef -DFUNCPROTO=7 +#else +#if NeedFunctionPrototypes && NeedConstPrototypes +#define _funcprotodef -DFUNCPROTO=5 +#else +#if NeedFunctionPrototypes && NeedVarargsPrototypes +#define _funcprotodef -DFUNCPROTO=3 +#else +#if NeedFunctionPrototypes +#define _funcprotodef -DFUNCPROTO +#else +#define _funcprotodef /**/ +#endif +#endif +#endif +#endif +#endif +#endif +#endif +#if NeedWidePrototypes +#define _wideprotodef /**/ +#else +#define _wideprotodef -DNARROWPROTO +#endif + PROTO_DEFINES = _funcprotodef _wideprotodef +#undef _funcprotodef +#undef _wideprotodef + +#if StripInstalledPrograms + INSTPGMFLAGS = InstPgmFlags /* install flags for stripping */ +#else + INSTPGMFLAGS = +#endif + INSTBINFLAGS = InstBinFlags /* install flags for programs */ + INSTUIDFLAGS = InstUidFlags /* install flags for setuid programs */ + INSTLIBFLAGS = InstLibFlags /* install flags for libraries */ + INSTINCFLAGS = InstIncFlags /* install flags for headers */ + INSTMANFLAGS = InstManFlags /* install flags for man pages */ + INSTDATFLAGS = InstDatFlags /* install flags for data files */ + INSTKMEMFLAGS = InstKmemFlags /* install flags for /dev/kmem progs */ + +#ifdef ProjectRoot + PROJECTROOT = ProjectRoot +#endif +#ifdef UseInstalled +# if AlternateIncRoot +# define TopInclude -I$(INCROOT) +# else +# define TopInclude /**/ +# endif +#else +# define TopInclude -I$(TOP) +#endif + + CDEBUGFLAGS = DefaultCDebugFlags + CCOPTIONS = DefaultCCOptions /* to distinguish from param flags */ +/* + * STD_INCLUDES contains system-specific includes + * TOP_INCLUDES specifies how to get to /usr/include or its build substitute + * EXTRA_INCLUDES contains project-specific includes set in project incfiles + * INCLUDES contains client-specific includes set in Imakefile + * LOCAL_LDFLAGS contains client-specific ld flags flags set in Imakefile + */ + ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(INSTALLED_INCLUDES) $(STD_INCLUDES) + ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(MODULE_DEFINES) $(DEFINES) $(EXTRA_DEFINES) + CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES) + LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES) + LDPRELIB = LdPreLib $(INSTALLED_LIBS) + LDPOSTLIB = LdPostLib + LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) + CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) + + LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) +#if HasBrokenCCForLink + CCLINK = LdCmd +#else +#if AlternateUsrLibDir && HasLdRunPath + CCENVSETUP = LD_RUN_PATH=$(USRLIBDIRPATH) + CCLINK = $(CCENVSETUP) $(CC) +#else + CCLINK = $(CC) +#endif +#endif +#if AlternateUsrLibDir && HasLdRunPath + CXXENVSETUP = LD_RUN_PATH=$(USRLIBDIRPATH) + CXXLINK = $(CXXENVSETUP) $(CXX) +#else + CXXLINK = $(CXX) +#endif + LDSTRIPFLAGS = LdStripFlags + LDCOMBINEFLAGS = LdCombineFlags + DEPENDFLAGS = DependFlags + DEPEND_DEFINES = DependDefines + +XCOMM Not sure this belongs here + TKLIBDIR = TkLibDir + TKINCDIR = TkIncDir + TKLIBNAME = TkLibName + TKLIBRARY = TkLibrary + TCLLIBDIR = TclLibDir + TCLINCDIR = TclIncDir + TCLLIBNAME = TclLibName + TCLLIBRARY = TclLibrary + + MACROFILE = MacroFile + RM_CMD = $(RM) + + IMAKE_DEFINES = /* leave blank, for command line use only */ + IMAKE_WARNINGS = ImakeWarningFlags +#ifdef UseInstalled + IRULESRC = $(CONFIGDIR) /* used in rules file */ + IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES) \ + $(IMAKE_WARNINGS) +#else + IRULESRC = $(CONFIGSRC)/cf + IMAKE_CMD = $(IMAKE) -I$(IRULESRC) $(IMAKE_DEFINES) $(IMAKE_WARNINGS) +#endif +#if !HasClearmake + /* clearmake records relevant defines and flags in the build script, + so it knows when they change and we don't need this coarser-level + dependency. We also don't want it, since it prevents sharing if + even one config file, say site.def or host.def, changes. */ + ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/X11.tmpl \ + $(IRULESRC)/site.def $(IRULESRC)/$(MACROFILE) \ + OtherIConfigFiles SiteIConfigFiles $(EXTRA_ICONFIGFILES) +#endif + +#ifndef TopLevelProject +# define TopLevelProject X11 +#endif +#ifndef ProjectRulesFile +# define ProjectRulesFile Concat3(<,TopLevelProject,.rules>) +#endif +#include ProjectRulesFile +#ifndef LocalRulesFile +/* need this to make ANSI-style preprocessors happy */ +#define LocalRulesFile +#endif +#include LocalRulesFile + +/* + * get project-specific configuration and rules + */ +#ifndef ProjectTmplFile +#define ProjectTmplFile Concat3(<,TopLevelProject,.tmpl>) +#endif +#include ProjectTmplFile +#ifndef LocalTmplFile +/* need this to make ANSI-style preprocessors happy */ +#define LocalTmplFile +#endif +#include LocalTmplFile + +#if !BuildLibraries && AlternateIncRoot && !defined(CrossCompileDir) +INSTALLED_INCLUDES = -I$(INCROOT) +#endif + +#if !defined(UseInstalled) && !BuildLibraries && AlternateUsrLibDir && !defined(CrossCompileDir) +INSTALLED_LIBS = -L$(USRLIBDIR) +#endif + +#ifdef FixupLibReferences +FixupLibReferences() +#endif + +/* ConfigDir comes from X11.tmpl */ + CONFIGDIR = ConfigDir /* build configuration information */ +#if HasClearmake + OSNAME = OSName +#endif + USRLIBDIRPATH = UsrLibDirPath + LDPRELIBS = LdPreLibs $(INSTALLED_LIBS) + LDPOSTLIBS = LdPostLibs + TOP_INCLUDES = TopIncludes + PROJECT_DEFINES = ProjectDefines + VENDOR_DEFINES = VendorDefines +#if HasCplusplus +CXXPROJECT_DEFINES = CplusplusProjectDefines +#endif + +XCOMM ---------------------------------------------------------------------- +XCOMM start of Imakefile +#include INCLUDE_IMAKEFILE + +XCOMM ---------------------------------------------------------------------- +XCOMM common rules for all Makefiles - do not edit + +.c.i: + CPPOnlyCompile($*.c,$(_NOOP_)) + +.SUFFIXES: .ii + +.cc.ii: + CPPOnlyCompile($*.cc,$(_NOOP_)) + +.SUFFIXES: .s + +.c.s: + CompileCToAsm($(_NOOP_)) + +.cc.s: + CompileCplusplusToAsm($(_NOOP_)) + +/* + * These need to be here so that rules in Imakefile occur first; the blank + * emptyrule is to make sure that an empty Imakefile does not default to make + * clean. + */ +emptyrule:: + +CleanTarget() + +#ifndef IHaveSpecialMakefileTarget +MakefileTarget() +#endif + +#if BuildHtmlManPages +RmanDependency() +#endif + +TagsTarget() +#ifdef MakefileAdditions +MakefileAdditions() +#endif + +CenterLoadTarget(debug_src,$(SRCS),NullParameter,$(ALLDEFINES)) + +CenterLoadTarget(debug_obj,$(OBJS),NullParameter,$(ALLDEFINES)) + +ManKeywordsTarget($(MANPATH)) + +HtmlManIndex + +/* Generate the "real" clean rules */ +#undef clean + +clean:: cleandir + +distclean:: cleandir + +#ifdef IHaveSubdirs +XCOMM ---------------------------------------------------------------------- +XCOMM rules for building in SUBDIRS - do not edit + +InstallSubdirs($(SUBDIRS)) +InstallManSubdirs($(SUBDIRS)) +InstallDriverSDKSubdirs($(SUBDIRS)) +CleanSubdirs($(SUBDIRS)) +TagSubdirs($(SUBDIRS)) +MakefileSubdirs($(SUBDIRS)) +IncludesSubdirs($(SUBDIRS)) + +/* "distclean" subdirectories */ +#undef BootstrapCleanSubdirs +#define BootstrapCleanSubdirs /**/ +#define clean distclean +CleanSubdirs($(SUBDIRS)) +#undef clean + +#endif + +#if !DontPreprocessManPages || defined(PreprocessManPages) + PREPROCESSMANPAGES = true +#endif +/* must be after all install.man rules that install anything */ +#ifndef MakeManKeywords +#define MakeManKeywords NO +#endif +#if MakeManKeywords /* typically only at top level */ +install.man:: man_keywords +#endif + +/* must be after all install.man rules that install anything */ +#ifndef MakeHtmlManIndex +#define MakeHtmlManIndex NO +#endif +#if MakeHtmlManIndex /* typically only at top level */ +install.man:: html_index +#endif + +#ifndef IHaveSubdirs +XCOMM ---------------------------------------------------------------------- +XCOMM empty rules for directories that do not have SUBDIRS - do not edit + +install:: + @echo "install in $(CURRENT_DIR) done" + +install.man:: + @echo "install.man in $(CURRENT_DIR) done" + +install.sdk:: + @echo "install.sdk in $(CURRENT_DIR) done" + +Makefiles:: + +includes:: + +depend:: + +#endif /* if subdirectory rules are needed */ + +#ifndef IHaveSpecialMakefileTarget +/* "distclean" also removes the Makefile and the depend file */ +distclean:: + RemoveFiles(Makefile DependFileName) +#endif + +XCOMM ---------------------------------------------------------------------- +XCOMM dependencies generated by makedepend +IncludeMakefile(DependFileName) diff --git a/ports/xless/sources b/ports/xless/sources new file mode 100644 index 0000000..8c4ad67 --- /dev/null +++ b/ports/xless/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/project/sf-xpaint/xaw3dxft-progs/xless-xft-1.10.tar.bz2 diff --git a/ports/xless/version b/ports/xless/version new file mode 100644 index 0000000..46b73ae --- /dev/null +++ b/ports/xless/version @@ -0,0 +1 @@ +1.7 1 diff --git a/ports/xman/build b/ports/xman/build new file mode 100755 index 0000000..7850bbe --- /dev/null +++ b/ports/xman/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./autogen.sh \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xman/depends b/ports/xman/depends new file mode 100644 index 0000000..0a3a9d9 --- /dev/null +++ b/ports/xman/depends @@ -0,0 +1,4 @@ +autoconf make +automake make +libX11 +libXt diff --git a/ports/xman/sources b/ports/xman/sources new file mode 100644 index 0000000..fe8bf93 --- /dev/null +++ b/ports/xman/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/app/xman.git diff --git a/ports/xman/version b/ports/xman/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/xman/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/xmessage/build b/ports/xmessage/build new file mode 100755 index 0000000..7850bbe --- /dev/null +++ b/ports/xmessage/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./autogen.sh \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xmessage/depends b/ports/xmessage/depends new file mode 100644 index 0000000..1373e0c --- /dev/null +++ b/ports/xmessage/depends @@ -0,0 +1,7 @@ +autoconf make +automake make +libX11 +libXmu +libXt +libtool make +pkgconf make diff --git a/ports/xmessage/sources b/ports/xmessage/sources new file mode 100644 index 0000000..76bf2f4 --- /dev/null +++ b/ports/xmessage/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/app/xmessage.git diff --git a/ports/xmessage/version b/ports/xmessage/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/xmessage/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/xmh/build b/ports/xmh/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/ports/xmh/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xmh/checksums b/ports/xmh/checksums new file mode 100644 index 0000000..902f183 --- /dev/null +++ b/ports/xmh/checksums @@ -0,0 +1 @@ +b92f4f912a5fb6346d52cc2b639aea087b347f3b2e4e1a4fc7a165b1345f5689 diff --git a/ports/xmh/depends b/ports/xmh/depends new file mode 100644 index 0000000..abb1e94 --- /dev/null +++ b/ports/xmh/depends @@ -0,0 +1 @@ +xbitmaps make diff --git a/ports/xmh/sources b/ports/xmh/sources new file mode 100644 index 0000000..2797745 --- /dev/null +++ b/ports/xmh/sources @@ -0,0 +1 @@ +https://xorg.freedesktop.org/releases/individual/app/xmh-1.0.3.tar.bz2 diff --git a/ports/xmh/version b/ports/xmh/version new file mode 100644 index 0000000..4ee872a --- /dev/null +++ b/ports/xmh/version @@ -0,0 +1 @@ +1.0.3 1 diff --git a/ports/xmlto/build b/ports/xmlto/build new file mode 100755 index 0000000..5895332 --- /dev/null +++ b/ports/xmlto/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +./configure --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xmlto/checksums b/ports/xmlto/checksums new file mode 100644 index 0000000..c440e16 --- /dev/null +++ b/ports/xmlto/checksums @@ -0,0 +1 @@ +1130df3a7957eb9f6f0d29e4aa1c75732a7dfb6d639be013859b5c7ec5421276 diff --git a/ports/xmlto/depends b/ports/xmlto/depends new file mode 100644 index 0000000..0542e7e --- /dev/null +++ b/ports/xmlto/depends @@ -0,0 +1 @@ +libxslt diff --git a/ports/xmlto/sources b/ports/xmlto/sources new file mode 100644 index 0000000..dff389e --- /dev/null +++ b/ports/xmlto/sources @@ -0,0 +1 @@ +https://releases.pagure.org/xmlto/xmlto-0.0.28.tar.bz2 diff --git a/ports/xmlto/version b/ports/xmlto/version new file mode 100644 index 0000000..ac69675 --- /dev/null +++ b/ports/xmlto/version @@ -0,0 +1 @@ +0.0.28 1 diff --git a/ports/xmore/build b/ports/xmore/build new file mode 100755 index 0000000..9074f50 --- /dev/null +++ b/ports/xmore/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./autogen.sh +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xmore/sources b/ports/xmore/sources new file mode 100644 index 0000000..546e2cd --- /dev/null +++ b/ports/xmore/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/app/xmore.git diff --git a/ports/xmore/version b/ports/xmore/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/xmore/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/xorg-cf/build b/ports/xorg-cf/build new file mode 100755 index 0000000..7850bbe --- /dev/null +++ b/ports/xorg-cf/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./autogen.sh \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xorg-cf/depends b/ports/xorg-cf/depends new file mode 100644 index 0000000..a675a56 --- /dev/null +++ b/ports/xorg-cf/depends @@ -0,0 +1,4 @@ +autoconf make +automake make +xorg-fontutil make +xorg-util-macros make diff --git a/ports/xorg-cf/sources b/ports/xorg-cf/sources new file mode 100644 index 0000000..0c4489f --- /dev/null +++ b/ports/xorg-cf/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/util/cf diff --git a/ports/xorg-cf/version b/ports/xorg-cf/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/xorg-cf/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/xorg-fontutil/build b/ports/xorg-fontutil/build new file mode 100755 index 0000000..7850bbe --- /dev/null +++ b/ports/xorg-fontutil/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./autogen.sh \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xorg-fontutil/depends b/ports/xorg-fontutil/depends new file mode 100644 index 0000000..37342ab --- /dev/null +++ b/ports/xorg-fontutil/depends @@ -0,0 +1 @@ +xorg-util-macros diff --git a/ports/xorg-fontutil/sources b/ports/xorg-fontutil/sources new file mode 100644 index 0000000..2c4c471 --- /dev/null +++ b/ports/xorg-fontutil/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/font/util.git diff --git a/ports/xorg-fontutil/version b/ports/xorg-fontutil/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/xorg-fontutil/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/xorg-mkfontscale/build b/ports/xorg-mkfontscale/build new file mode 100755 index 0000000..ed699eb --- /dev/null +++ b/ports/xorg-mkfontscale/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./autogen.sh \ + --prefix=/usr \ + --disable-dependency-tracking + +make +make DESTDIR="$1" install diff --git a/ports/xorg-mkfontscale/sources b/ports/xorg-mkfontscale/sources new file mode 100644 index 0000000..21ffe0e --- /dev/null +++ b/ports/xorg-mkfontscale/sources @@ -0,0 +1 @@ +git+https://github.com/freedesktop/xorg-mkfontscale.git diff --git a/ports/xorg-mkfontscale/version b/ports/xorg-mkfontscale/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/xorg-mkfontscale/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/xosview/build b/ports/xosview/build new file mode 100755 index 0000000..fbcd090 --- /dev/null +++ b/ports/xosview/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +yes "linux/serialmeter.cc" | patch -p1 < musl-fix.patch +sed -i 's/\/usr\/local/\/usr/' Makefile + +make +make DESTDIR="$1" install diff --git a/ports/xosview/checksums b/ports/xosview/checksums new file mode 100644 index 0000000..9727dff --- /dev/null +++ b/ports/xosview/checksums @@ -0,0 +1,2 @@ +901b75af2676b11b28b88f0c79c5bd0f4f01de4790c0c5385edf6d71aee1f83a +f65bdbab30e7e50a9aeff72e22cecd3489d29d5fbdc56ffd76a604a9101e03db diff --git a/ports/xosview/patches/musl-fix.patch b/ports/xosview/patches/musl-fix.patch new file mode 100644 index 0000000..2538bdf --- /dev/null +++ b/ports/xosview/patches/musl-fix.patch @@ -0,0 +1,14 @@ +--- ./linux/serialmeter.cc 2016-01-02 10:39:10.279496776 +0100 ++++ ./linux/serialmeter.cc 2016-01-02 10:37:54.667491325 +0100 +@@ -39,9 +39,11 @@ + #endif + #else + #if !defined(__alpha__) && !defined(__sparc__) && !defined(__powerpc__) && !defined(__ia64__) && !defined(__m68k__) ++#if defined(HAVE_ASM_IO_H) + #include + #endif + #endif ++#endif + #include + + diff --git a/ports/xosview/sources b/ports/xosview/sources new file mode 100644 index 0000000..809d124 --- /dev/null +++ b/ports/xosview/sources @@ -0,0 +1,2 @@ +http://www.pogo.org.uk/~mark/xosview/releases/xosview-1.22.tar.gz +patches/musl-fix.patch diff --git a/ports/xosview/version b/ports/xosview/version new file mode 100644 index 0000000..d8d7075 --- /dev/null +++ b/ports/xosview/version @@ -0,0 +1 @@ +1.22 1 diff --git a/ports/xrestop/build b/ports/xrestop/build new file mode 100755 index 0000000..7850bbe --- /dev/null +++ b/ports/xrestop/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./autogen.sh \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xrestop/depends b/ports/xrestop/depends new file mode 100644 index 0000000..6b42b75 --- /dev/null +++ b/ports/xrestop/depends @@ -0,0 +1,2 @@ + +libXRes-git diff --git a/ports/xrestop/sources b/ports/xrestop/sources new file mode 100644 index 0000000..9737503 --- /dev/null +++ b/ports/xrestop/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/app/xrestop.git diff --git a/ports/xrestop/version b/ports/xrestop/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/xrestop/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/xrn/build b/ports/xrn/build new file mode 100755 index 0000000..1677279 --- /dev/null +++ b/ports/xrn/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +for autojunk in aclocal.m4 Makefile.am Makefile.in +do touch $autojunk +done + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/xrn/sources b/ports/xrn/sources new file mode 100644 index 0000000..502b2ae --- /dev/null +++ b/ports/xrn/sources @@ -0,0 +1 @@ +git+https://github.com/jikamens/xrn diff --git a/ports/xrn/version b/ports/xrn/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/xrn/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/xsetroot/build b/ports/xsetroot/build new file mode 100755 index 0000000..373bcee --- /dev/null +++ b/ports/xsetroot/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --localstatedir=/var + +make +make DESTDIR="$1" install diff --git a/ports/xsetroot/checksums b/ports/xsetroot/checksums new file mode 100644 index 0000000..b95d6eb --- /dev/null +++ b/ports/xsetroot/checksums @@ -0,0 +1 @@ +9d007f5119be09924ac3a5d2bd506f32e6c164b82633c88d2aff26311e1a2a2b xsetroot-1.1.2.tar.gz diff --git a/ports/xsetroot/depends b/ports/xsetroot/depends new file mode 100644 index 0000000..695325a --- /dev/null +++ b/ports/xsetroot/depends @@ -0,0 +1,6 @@ +libXcursor +libXfixes +libXmu +libXrender +pkgconf make +xbitmaps diff --git a/ports/xsetroot/sources b/ports/xsetroot/sources new file mode 100644 index 0000000..70fede1 --- /dev/null +++ b/ports/xsetroot/sources @@ -0,0 +1 @@ +https://x.org/archive//individual/app/xsetroot-1.1.2.tar.gz diff --git a/ports/xsetroot/version b/ports/xsetroot/version new file mode 100644 index 0000000..909c707 --- /dev/null +++ b/ports/xsetroot/version @@ -0,0 +1 @@ +1.1.2 1 diff --git a/ports/xsm/build b/ports/xsm/build new file mode 100755 index 0000000..978abf7 --- /dev/null +++ b/ports/xsm/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./autogen.sh \ + --prefix=/usr \ + --disable-dependency-tracking + +make +make DESTDIR="$1" install diff --git a/ports/xsm/depends b/ports/xsm/depends new file mode 100644 index 0000000..3bf14c3 --- /dev/null +++ b/ports/xsm/depends @@ -0,0 +1,8 @@ +autoconf make +automake make +libICE +libSM +libX11 +libXaw +libXt +xorg-server diff --git a/ports/xsm/sources b/ports/xsm/sources new file mode 100644 index 0000000..acf44df --- /dev/null +++ b/ports/xsm/sources @@ -0,0 +1 @@ +git+https://gitlab.freedesktop.org/xorg/app/xsm.git diff --git a/ports/xsm/version b/ports/xsm/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/xsm/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/xssstart/build b/ports/xssstart/build new file mode 100755 index 0000000..e412c2c --- /dev/null +++ b/ports/xssstart/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make +install -Dm755 xssstart "$1/usr/bin/xssstart" diff --git a/ports/xssstart/depends b/ports/xssstart/depends new file mode 100644 index 0000000..98e1cd0 --- /dev/null +++ b/ports/xssstart/depends @@ -0,0 +1 @@ +libXScrnSaver diff --git a/ports/xssstart/sources b/ports/xssstart/sources new file mode 100644 index 0000000..93804c2 --- /dev/null +++ b/ports/xssstart/sources @@ -0,0 +1 @@ +git+https://github.com/unixdj/xssstart.git diff --git a/ports/xssstart/version b/ports/xssstart/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/ports/xssstart/version @@ -0,0 +1 @@ +git 1 diff --git a/ports/xterm/build b/ports/xterm/build new file mode 100755 index 0000000..8fab41f --- /dev/null +++ b/ports/xterm/build @@ -0,0 +1,20 @@ +#!/bin/sh -e + +patch -p1 < posix-ptys.patch + +./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --with-x \ + --enable-doublechars \ + --enable-widechars \ + --enable-freetype \ + --enable-ansi-color \ + --enable-88-color \ + --enable-256-color \ + --enable-exec-xterm \ + --enable-sixel-graphics \ + --enable-regis-graphics \ + --enable-toolbar +make +make DESTDIR="$1" install diff --git a/ports/xterm/checksums b/ports/xterm/checksums new file mode 100644 index 0000000..a6e8bf6 --- /dev/null +++ b/ports/xterm/checksums @@ -0,0 +1,2 @@ +31ca56a94c6567e56f764aa791bbfdbfdc3e0804bada26dc4f491e01be8b9251 xterm-359.tgz +c90d715cb7667ac91fd2697caaf1abce70e46ca0cf14eabf5e17dc305e3cb84c posix-ptys.patch diff --git a/ports/xterm/depends b/ports/xterm/depends new file mode 100644 index 0000000..4ce1e47 --- /dev/null +++ b/ports/xterm/depends @@ -0,0 +1,20 @@ +bzip2 +expat +fontconfig +freetype-harfbuzz +glib +libICE +libSM +libX11 +libXau +libXext +libXft +libXinerama +libXmu +libXpm +libXrender +libXt +libpng +libxcb +ncurses +zlib diff --git a/ports/xterm/patches/posix-ptys.patch b/ports/xterm/patches/posix-ptys.patch new file mode 100644 index 0000000..596699f --- /dev/null +++ b/ports/xterm/patches/posix-ptys.patch @@ -0,0 +1,21 @@ +diff -upr xterm-323.orig/main.c xterm-323/main.c +--- xterm-323.orig/main.c 2016-03-09 15:30:51.191053881 +0100 ++++ xterm-323/main.c 2016-03-09 15:31:17.961635229 +0100 +@@ -2654,7 +2654,7 @@ get_pty(int *pty, char *from GCC_UNUSED) + close(opened_tty); + opened_tty = -1; + } +-#elif defined(HAVE_POSIX_OPENPT) && defined(HAVE_PTSNAME) && defined(HAVE_GRANTPT_PTY_ISATTY) ++#elif defined(HAVE_POSIX_OPENPT) && defined(HAVE_PTSNAME) + if ((*pty = posix_openpt(O_RDWR)) >= 0) { + char *name = ptsname(*pty); + if (name != 0) { +@@ -3735,7 +3735,7 @@ spawnXTerm(XtermWidget xw) + /* + * now in child process + */ +-#if defined(_POSIX_SOURCE) || defined(SVR4) || defined(__convex__) || defined(__SCO__) || defined(__QNX__) ++#if defined(_POSIX_VERSION) || defined(SVR4) || defined(__convex__) || defined(__SCO__) || defined(__QNX__) + int pgrp = setsid(); /* variable may not be used... */ + #else + int pgrp = getpid(); diff --git a/ports/xterm/sources b/ports/xterm/sources new file mode 100644 index 0000000..ef7248f --- /dev/null +++ b/ports/xterm/sources @@ -0,0 +1,2 @@ +https://invisible-mirror.net/archives/xterm/xterm-359.tgz +patches/posix-ptys.patch diff --git a/ports/xterm/version b/ports/xterm/version new file mode 100644 index 0000000..a8efc59 --- /dev/null +++ b/ports/xterm/version @@ -0,0 +1 @@ +359 1 diff --git a/ports/xvkbd/build b/ports/xvkbd/build new file mode 100755 index 0000000..20d8f0b --- /dev/null +++ b/ports/xvkbd/build @@ -0,0 +1,9 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +# Work around a bug in the generated install script +mkdir -p "$1/usr/share/X11/app-defaults" +make DESTDIR="$1" install diff --git a/ports/xvkbd/checksums b/ports/xvkbd/checksums new file mode 100644 index 0000000..2890f45 --- /dev/null +++ b/ports/xvkbd/checksums @@ -0,0 +1 @@ +952d07df0fe1e45286520b7c98b4fd00fd60dbf3e3e8ff61e12c259f76a3bef4 diff --git a/ports/xvkbd/depends b/ports/xvkbd/depends new file mode 100644 index 0000000..4c1ce88 --- /dev/null +++ b/ports/xvkbd/depends @@ -0,0 +1 @@ +libXtst diff --git a/ports/xvkbd/sources b/ports/xvkbd/sources new file mode 100644 index 0000000..7049a57 --- /dev/null +++ b/ports/xvkbd/sources @@ -0,0 +1 @@ +http://t-sato.in.coocan.jp/xvkbd/xvkbd-4.1.tar.gz diff --git a/ports/xvkbd/version b/ports/xvkbd/version new file mode 100644 index 0000000..60d2ac6 --- /dev/null +++ b/ports/xvkbd/version @@ -0,0 +1 @@ +4.1 1 diff --git a/ports/yasm/build b/ports/yasm/build new file mode 100755 index 0000000..b09f976 --- /dev/null +++ b/ports/yasm/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +sed -i 's#) ytasm.*#)#' Makefile.in && + +./configure --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/ports/yasm/checksums b/ports/yasm/checksums new file mode 100644 index 0000000..c20ef6d --- /dev/null +++ b/ports/yasm/checksums @@ -0,0 +1 @@ +768ffab457b90a20a6d895c39749adb547c1b7cb5c108e84b151a838a23ccf31 diff --git a/ports/yasm/sources b/ports/yasm/sources new file mode 100644 index 0000000..b2a4038 --- /dev/null +++ b/ports/yasm/sources @@ -0,0 +1 @@ +http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz diff --git a/ports/yasm/version b/ports/yasm/version new file mode 100644 index 0000000..8b9a47f --- /dev/null +++ b/ports/yasm/version @@ -0,0 +1 @@ +1.2.0 1 diff --git a/testing/Ted/Ted/build b/testing/Ted/Ted/build new file mode 100755 index 0000000..c4a1565 --- /dev/null +++ b/testing/Ted/Ted/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make compile.shared +make DESTDIR="$1" install diff --git a/testing/Ted/Ted/checksums b/testing/Ted/Ted/checksums new file mode 100644 index 0000000..01417bb --- /dev/null +++ b/testing/Ted/Ted/checksums @@ -0,0 +1 @@ +3fa992c2bc96af3ca788ef941cb5314f4a1d843202efd0201b8b4ee9adbf316c diff --git a/testing/Ted/Ted/sources b/testing/Ted/Ted/sources new file mode 100644 index 0000000..b6cfb62 --- /dev/null +++ b/testing/Ted/Ted/sources @@ -0,0 +1 @@ +http://ftp.nluug.nl/pub/editors/ted/ted-2.23.src.tar.gz diff --git a/testing/Ted/Ted/version b/testing/Ted/Ted/version new file mode 100644 index 0000000..638f155 --- /dev/null +++ b/testing/Ted/Ted/version @@ -0,0 +1 @@ +2.23 1 diff --git a/testing/Ted/build b/testing/Ted/build new file mode 100755 index 0000000..c4a1565 --- /dev/null +++ b/testing/Ted/build @@ -0,0 +1,4 @@ +#!/bin/sh -e + +make compile.shared +make DESTDIR="$1" install diff --git a/testing/Ted/checksums b/testing/Ted/checksums new file mode 100644 index 0000000..01417bb --- /dev/null +++ b/testing/Ted/checksums @@ -0,0 +1 @@ +3fa992c2bc96af3ca788ef941cb5314f4a1d843202efd0201b8b4ee9adbf316c diff --git a/testing/Ted/sources b/testing/Ted/sources new file mode 100644 index 0000000..b6cfb62 --- /dev/null +++ b/testing/Ted/sources @@ -0,0 +1 @@ +http://ftp.nluug.nl/pub/editors/ted/ted-2.23.src.tar.gz diff --git a/testing/Ted/version b/testing/Ted/version new file mode 100644 index 0000000..638f155 --- /dev/null +++ b/testing/Ted/version @@ -0,0 +1 @@ +2.23 1 diff --git a/testing/allegro/build b/testing/allegro/build new file mode 100755 index 0000000..77fab9c --- /dev/null +++ b/testing/allegro/build @@ -0,0 +1,10 @@ +#!/bin/sh -e + +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX=/usr ../ + +make +make addons +make DESTDIR="$1" install +make DESTDIR="$1" addons install diff --git a/testing/allegro/checksums b/testing/allegro/checksums new file mode 100644 index 0000000..e1e3ad6 --- /dev/null +++ b/testing/allegro/checksums @@ -0,0 +1 @@ +c1e3b319d99cb453b39d393572ba2b9f3de42a96de424aee7d4a1abceaaa970c diff --git a/testing/allegro/depends b/testing/allegro/depends new file mode 100644 index 0000000..b5c50cf --- /dev/null +++ b/testing/allegro/depends @@ -0,0 +1 @@ +gtk+3 diff --git a/testing/allegro/sources b/testing/allegro/sources new file mode 100644 index 0000000..829da91 --- /dev/null +++ b/testing/allegro/sources @@ -0,0 +1 @@ +https://github.com/liballeg/allegro5/releases/download/5.2.7.0/allegro-5.2.7.0.tar.gz diff --git a/testing/allegro/version b/testing/allegro/version new file mode 100644 index 0000000..9b39735 --- /dev/null +++ b/testing/allegro/version @@ -0,0 +1 @@ +5.2.7.0 1 diff --git a/testing/alsa-lib b/testing/alsa-lib new file mode 120000 index 0000000..2cd31d5 --- /dev/null +++ b/testing/alsa-lib @@ -0,0 +1 @@ +../kiss-repo/extra/alsa-lib \ No newline at end of file diff --git a/testing/autoconf-2.13/build b/testing/autoconf-2.13/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/testing/autoconf-2.13/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/testing/autoconf-2.13/checksums b/testing/autoconf-2.13/checksums new file mode 100644 index 0000000..9d1540b --- /dev/null +++ b/testing/autoconf-2.13/checksums @@ -0,0 +1 @@ +f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e diff --git a/testing/autoconf-2.13/depends b/testing/autoconf-2.13/depends new file mode 100644 index 0000000..8fd1a89 --- /dev/null +++ b/testing/autoconf-2.13/depends @@ -0,0 +1,2 @@ +m4 +perl diff --git a/testing/autoconf-2.13/sources b/testing/autoconf-2.13/sources new file mode 100644 index 0000000..981ed30 --- /dev/null +++ b/testing/autoconf-2.13/sources @@ -0,0 +1 @@ +https://ftp.gnu.org/pub/gnu/autoconf/autoconf-2.13.tar.gz diff --git a/testing/autoconf-2.13/version b/testing/autoconf-2.13/version new file mode 100644 index 0000000..dd67130 --- /dev/null +++ b/testing/autoconf-2.13/version @@ -0,0 +1 @@ +2.13 2 diff --git a/testing/c-kermit/build b/testing/c-kermit/build new file mode 100755 index 0000000..270ae64 --- /dev/null +++ b/testing/c-kermit/build @@ -0,0 +1 @@ +#!/bin/sh -e diff --git a/testing/c-kermit/checksums b/testing/c-kermit/checksums new file mode 100644 index 0000000..5ad58c3 --- /dev/null +++ b/testing/c-kermit/checksums @@ -0,0 +1 @@ +0d5f2cd12bdab9401b4c836854ebbf241675051875557783c332a6a40dac0711 diff --git a/testing/c-kermit/sources b/testing/c-kermit/sources new file mode 100644 index 0000000..6f0f83b --- /dev/null +++ b/testing/c-kermit/sources @@ -0,0 +1 @@ +http://www.kermitproject.org/ftp/kermit/archives/cku302.tar.gz diff --git a/testing/c-kermit/version b/testing/c-kermit/version new file mode 100644 index 0000000..0cb1eb3 --- /dev/null +++ b/testing/c-kermit/version @@ -0,0 +1 @@ +302 1 diff --git a/testing/ffmpeg/build b/testing/ffmpeg/build new file mode 100755 index 0000000..a20b536 --- /dev/null +++ b/testing/ffmpeg/build @@ -0,0 +1,29 @@ +#!/bin/sh -e + +./configure \ + --cc="${CC:-cc}" \ + --cxx="${CXX:-c++}" \ + --prefix=/usr \ + --enable-shared \ + --enable-gpl \ + --enable-version3 \ + --enable-nonfree \ + --enable-openssl \ + --enable-libass \ + --enable-libmp3lame \ + --enable-libopus \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libx265 \ + --enable-libxvid \ + --enable-libdrm \ + --x86asmexe=nasm \ + --disable-debug \ + --enable-libtheora \ + --disable-libxml2 \ + --enable-ffplay + +make +make DESTDIR="$1" install + +rm -rf "$1/usr/share/ffmpeg/examples" diff --git a/testing/ffmpeg/checksums b/testing/ffmpeg/checksums new file mode 100644 index 0000000..7e62b05 --- /dev/null +++ b/testing/ffmpeg/checksums @@ -0,0 +1 @@ +ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb ffmpeg-4.3.1.tar.xz diff --git a/testing/ffmpeg/depends b/testing/ffmpeg/depends new file mode 100644 index 0000000..f6187db --- /dev/null +++ b/testing/ffmpeg/depends @@ -0,0 +1,20 @@ +alsa-lib +bzip2 +lame +libass +libdrm +libogg +libressl +libtheora +libvorbis +libvpx +libxcb +linux-headers make +nasm make +opus +pkgconf make +sdl2 +x265 +xvidcore +xz +zlib diff --git a/testing/ffmpeg/manifest b/testing/ffmpeg/manifest new file mode 100644 index 0000000..00ce912 --- /dev/null +++ b/testing/ffmpeg/manifest @@ -0,0 +1,222 @@ +/var/db/kiss/installed/ffmpeg/version +/var/db/kiss/installed/ffmpeg/sources +/var/db/kiss/installed/ffmpeg/manifest +/var/db/kiss/installed/ffmpeg/depends +/var/db/kiss/installed/ffmpeg/checksums +/var/db/kiss/installed/ffmpeg/build +/var/db/kiss/installed/ffmpeg/ +/var/db/kiss/installed/ +/var/db/kiss/ +/var/db/ +/var/ +/usr/share/man/man3/libswscale.3 +/usr/share/man/man3/libswresample.3 +/usr/share/man/man3/libavutil.3 +/usr/share/man/man3/libavformat.3 +/usr/share/man/man3/libavfilter.3 +/usr/share/man/man3/libavdevice.3 +/usr/share/man/man3/libavcodec.3 +/usr/share/man/man3/ +/usr/share/man/man1/ffprobe.1 +/usr/share/man/man1/ffprobe-all.1 +/usr/share/man/man1/ffmpeg.1 +/usr/share/man/man1/ffmpeg-utils.1 +/usr/share/man/man1/ffmpeg-scaler.1 +/usr/share/man/man1/ffmpeg-resampler.1 +/usr/share/man/man1/ffmpeg-protocols.1 +/usr/share/man/man1/ffmpeg-formats.1 +/usr/share/man/man1/ffmpeg-filters.1 +/usr/share/man/man1/ffmpeg-devices.1 +/usr/share/man/man1/ffmpeg-codecs.1 +/usr/share/man/man1/ffmpeg-bitstream-filters.1 +/usr/share/man/man1/ffmpeg-all.1 +/usr/share/man/man1/ +/usr/share/man/ +/usr/share/ffmpeg/libvpx-720p50_60.ffpreset +/usr/share/ffmpeg/libvpx-720p.ffpreset +/usr/share/ffmpeg/libvpx-360p.ffpreset +/usr/share/ffmpeg/libvpx-1080p50_60.ffpreset +/usr/share/ffmpeg/libvpx-1080p.ffpreset +/usr/share/ffmpeg/ffprobe.xsd +/usr/share/ffmpeg/ +/usr/share/ +/usr/lib/pkgconfig/libswscale.pc +/usr/lib/pkgconfig/libswresample.pc +/usr/lib/pkgconfig/libpostproc.pc +/usr/lib/pkgconfig/libavutil.pc +/usr/lib/pkgconfig/libavformat.pc +/usr/lib/pkgconfig/libavfilter.pc +/usr/lib/pkgconfig/libavdevice.pc +/usr/lib/pkgconfig/libavcodec.pc +/usr/lib/pkgconfig/ +/usr/lib/libswscale.so.5.7.100 +/usr/lib/libswscale.so.5 +/usr/lib/libswscale.so +/usr/lib/libswscale.a +/usr/lib/libswresample.so.3.7.100 +/usr/lib/libswresample.so.3 +/usr/lib/libswresample.so +/usr/lib/libswresample.a +/usr/lib/libpostproc.so.55.7.100 +/usr/lib/libpostproc.so.55 +/usr/lib/libpostproc.so +/usr/lib/libpostproc.a +/usr/lib/libavutil.so.56.51.100 +/usr/lib/libavutil.so.56 +/usr/lib/libavutil.so +/usr/lib/libavutil.a +/usr/lib/libavformat.so.58.45.100 +/usr/lib/libavformat.so.58 +/usr/lib/libavformat.so +/usr/lib/libavformat.a +/usr/lib/libavfilter.so.7.85.100 +/usr/lib/libavfilter.so.7 +/usr/lib/libavfilter.so +/usr/lib/libavfilter.a +/usr/lib/libavdevice.so.58.10.100 +/usr/lib/libavdevice.so.58 +/usr/lib/libavdevice.so +/usr/lib/libavdevice.a +/usr/lib/libavcodec.so.58.91.100 +/usr/lib/libavcodec.so.58 +/usr/lib/libavcodec.so +/usr/lib/libavcodec.a +/usr/lib/ +/usr/include/libswscale/version.h +/usr/include/libswscale/swscale.h +/usr/include/libswscale/ +/usr/include/libswresample/version.h +/usr/include/libswresample/swresample.h +/usr/include/libswresample/ +/usr/include/libpostproc/version.h +/usr/include/libpostproc/postprocess.h +/usr/include/libpostproc/ +/usr/include/libavutil/xtea.h +/usr/include/libavutil/video_enc_params.h +/usr/include/libavutil/version.h +/usr/include/libavutil/tx.h +/usr/include/libavutil/twofish.h +/usr/include/libavutil/tree.h +/usr/include/libavutil/timestamp.h +/usr/include/libavutil/timecode.h +/usr/include/libavutil/time.h +/usr/include/libavutil/threadmessage.h +/usr/include/libavutil/tea.h +/usr/include/libavutil/stereo3d.h +/usr/include/libavutil/spherical.h +/usr/include/libavutil/sha512.h +/usr/include/libavutil/sha.h +/usr/include/libavutil/samplefmt.h +/usr/include/libavutil/ripemd.h +/usr/include/libavutil/replaygain.h +/usr/include/libavutil/rc4.h +/usr/include/libavutil/rational.h +/usr/include/libavutil/random_seed.h +/usr/include/libavutil/pixfmt.h +/usr/include/libavutil/pixelutils.h +/usr/include/libavutil/pixdesc.h +/usr/include/libavutil/parseutils.h +/usr/include/libavutil/opt.h +/usr/include/libavutil/murmur3.h +/usr/include/libavutil/motion_vector.h +/usr/include/libavutil/mem.h +/usr/include/libavutil/md5.h +/usr/include/libavutil/mathematics.h +/usr/include/libavutil/mastering_display_metadata.h +/usr/include/libavutil/macros.h +/usr/include/libavutil/lzo.h +/usr/include/libavutil/log.h +/usr/include/libavutil/lfg.h +/usr/include/libavutil/intreadwrite.h +/usr/include/libavutil/intfloat.h +/usr/include/libavutil/imgutils.h +/usr/include/libavutil/hwcontext_vulkan.h +/usr/include/libavutil/hwcontext_videotoolbox.h +/usr/include/libavutil/hwcontext_vdpau.h +/usr/include/libavutil/hwcontext_vaapi.h +/usr/include/libavutil/hwcontext_qsv.h +/usr/include/libavutil/hwcontext_opencl.h +/usr/include/libavutil/hwcontext_mediacodec.h +/usr/include/libavutil/hwcontext_dxva2.h +/usr/include/libavutil/hwcontext_drm.h +/usr/include/libavutil/hwcontext_d3d11va.h +/usr/include/libavutil/hwcontext_cuda.h +/usr/include/libavutil/hwcontext.h +/usr/include/libavutil/hmac.h +/usr/include/libavutil/hdr_dynamic_metadata.h +/usr/include/libavutil/hash.h +/usr/include/libavutil/frame.h +/usr/include/libavutil/file.h +/usr/include/libavutil/fifo.h +/usr/include/libavutil/ffversion.h +/usr/include/libavutil/eval.h +/usr/include/libavutil/error.h +/usr/include/libavutil/encryption_info.h +/usr/include/libavutil/downmix_info.h +/usr/include/libavutil/dovi_meta.h +/usr/include/libavutil/display.h +/usr/include/libavutil/dict.h +/usr/include/libavutil/des.h +/usr/include/libavutil/crc.h +/usr/include/libavutil/cpu.h +/usr/include/libavutil/common.h +/usr/include/libavutil/channel_layout.h +/usr/include/libavutil/cast5.h +/usr/include/libavutil/camellia.h +/usr/include/libavutil/buffer.h +/usr/include/libavutil/bswap.h +/usr/include/libavutil/bprint.h +/usr/include/libavutil/blowfish.h +/usr/include/libavutil/base64.h +/usr/include/libavutil/avutil.h +/usr/include/libavutil/avstring.h +/usr/include/libavutil/avconfig.h +/usr/include/libavutil/avassert.h +/usr/include/libavutil/audio_fifo.h +/usr/include/libavutil/attributes.h +/usr/include/libavutil/aes_ctr.h +/usr/include/libavutil/aes.h +/usr/include/libavutil/adler32.h +/usr/include/libavutil/ +/usr/include/libavformat/version.h +/usr/include/libavformat/avio.h +/usr/include/libavformat/avformat.h +/usr/include/libavformat/ +/usr/include/libavfilter/version.h +/usr/include/libavfilter/buffersrc.h +/usr/include/libavfilter/buffersink.h +/usr/include/libavfilter/avfilter.h +/usr/include/libavfilter/ +/usr/include/libavdevice/version.h +/usr/include/libavdevice/avdevice.h +/usr/include/libavdevice/ +/usr/include/libavcodec/xvmc.h +/usr/include/libavcodec/vorbis_parser.h +/usr/include/libavcodec/videotoolbox.h +/usr/include/libavcodec/version.h +/usr/include/libavcodec/vdpau.h +/usr/include/libavcodec/vaapi.h +/usr/include/libavcodec/qsv.h +/usr/include/libavcodec/packet.h +/usr/include/libavcodec/mediacodec.h +/usr/include/libavcodec/jni.h +/usr/include/libavcodec/dxva2.h +/usr/include/libavcodec/dv_profile.h +/usr/include/libavcodec/dirac.h +/usr/include/libavcodec/d3d11va.h +/usr/include/libavcodec/codec_par.h +/usr/include/libavcodec/codec_id.h +/usr/include/libavcodec/codec_desc.h +/usr/include/libavcodec/codec.h +/usr/include/libavcodec/bsf.h +/usr/include/libavcodec/avfft.h +/usr/include/libavcodec/avdct.h +/usr/include/libavcodec/avcodec.h +/usr/include/libavcodec/adts_parser.h +/usr/include/libavcodec/ac3_parser.h +/usr/include/libavcodec/ +/usr/include/ +/usr/bin/ffprobe +/usr/bin/ffmpeg +/usr/bin/ +/usr/ diff --git a/testing/ffmpeg/sources b/testing/ffmpeg/sources new file mode 100644 index 0000000..6d74558 --- /dev/null +++ b/testing/ffmpeg/sources @@ -0,0 +1 @@ +https://www.ffmpeg.org/releases/ffmpeg-4.3.1.tar.xz diff --git a/testing/ffmpeg/version b/testing/ffmpeg/version new file mode 100644 index 0000000..bbb23c3 --- /dev/null +++ b/testing/ffmpeg/version @@ -0,0 +1 @@ +4.3.1 1 diff --git a/testing/fontconfig b/testing/fontconfig new file mode 120000 index 0000000..fd38602 --- /dev/null +++ b/testing/fontconfig @@ -0,0 +1 @@ +../kiss-repo/extra/fontconfig \ No newline at end of file diff --git a/testing/freetype-harfbuzz b/testing/freetype-harfbuzz new file mode 120000 index 0000000..00d16aa --- /dev/null +++ b/testing/freetype-harfbuzz @@ -0,0 +1 @@ +../kiss-repo/extra/freetype-harfbuzz \ No newline at end of file diff --git a/testing/fvwm3/build b/testing/fvwm3/build new file mode 100755 index 0000000..5895332 --- /dev/null +++ b/testing/fvwm3/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +./configure --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/testing/fvwm3/depends b/testing/fvwm3/depends new file mode 100644 index 0000000..4786696 --- /dev/null +++ b/testing/fvwm3/depends @@ -0,0 +1,2 @@ +libXpm +libbson diff --git a/testing/fvwm3/sources b/testing/fvwm3/sources new file mode 100644 index 0000000..2121ee6 --- /dev/null +++ b/testing/fvwm3/sources @@ -0,0 +1 @@ +git+https://github.com/fvwmorg/fvwm3.git diff --git a/testing/fvwm3/version b/testing/fvwm3/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/testing/fvwm3/version @@ -0,0 +1 @@ +git 1 diff --git a/testing/gtk+2/build b/testing/gtk+2/build new file mode 100755 index 0000000..0050461 --- /dev/null +++ b/testing/gtk+2/build @@ -0,0 +1,25 @@ +#!/bin/sh -e + +patch -Np1 < gtk2-filechooser-icon-view.patch + + +export CFLAGS="$CFLAGS -UGDK_PIXBUF_DISABLE_DEPRECATED" + +# Don't build GTK examples/demos/testsuite. +sed -i 's/modules demos tests/modules/' Makefile.am Makefile.in +sed -i 's/docs m4macros/m4macros/' Makefile.am Makefile.in + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --enable-debug=no \ + --disable-gtk-doc \ + --with-xinput=yes + +make +make DESTDIR="$1" install + +rm -f "$1/usr/bin/gtk-update-icon-cache" +rm -f "$1/usr/bin/gtk-demo" +rm -rf "$1/usr/share/gtk-2.0/demo" diff --git a/testing/gtk+2/checksums b/testing/gtk+2/checksums new file mode 100644 index 0000000..16a1c5c --- /dev/null +++ b/testing/gtk+2/checksums @@ -0,0 +1,2 @@ +b6c8a93ddda5eabe3bfee1eb39636c9a03d2a56c7b62828b359bf197943c582e +45a6533c89e4bc5b84b2a50473b560503a7cc6a45b30bac1a4b83807c5f85b7d diff --git a/testing/gtk+2/depends b/testing/gtk+2/depends new file mode 100644 index 0000000..a3af63c --- /dev/null +++ b/testing/gtk+2/depends @@ -0,0 +1,10 @@ +atk +fribidi +gdk-pixbuf +libXcomposite +libXi +libXinerama +libepoxy +pango +pkgconf make +python make diff --git a/testing/gtk+2/patches/gtk2-filechooser-icon-view.patch b/testing/gtk+2/patches/gtk2-filechooser-icon-view.patch new file mode 100644 index 0000000..7673c60 --- /dev/null +++ b/testing/gtk+2/patches/gtk2-filechooser-icon-view.patch @@ -0,0 +1,2488 @@ +diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c +index c11354248e..a994aa9c6f 100644 +--- a/gtk/gtkfilechooserdefault.c ++++ b/gtk/gtkfilechooserdefault.c +@@ -80,6 +80,7 @@ + #include + #include + #include ++#include + + #ifdef HAVE_UNISTD_H + #include +@@ -205,7 +206,8 @@ enum { + MODEL_COL_NAME_COLLATED, + MODEL_COL_IS_FOLDER, + MODEL_COL_IS_SENSITIVE, +- MODEL_COL_PIXBUF, ++ MODEL_COL_LIST_PIXBUF, ++ MODEL_COL_ICON_PIXBUF, + MODEL_COL_SIZE_TEXT, + MODEL_COL_MTIME_TEXT, + MODEL_COL_ELLIPSIZE, +@@ -222,7 +224,8 @@ enum { + G_TYPE_STRING, /* MODEL_COL_NAME_COLLATED */ \ + G_TYPE_BOOLEAN, /* MODEL_COL_IS_FOLDER */ \ + G_TYPE_BOOLEAN, /* MODEL_COL_IS_SENSITIVE */ \ +- GDK_TYPE_PIXBUF, /* MODEL_COL_PIXBUF */ \ ++ GDK_TYPE_PIXBUF, /* MODEL_COL_LIST_PIXBUF */ \ ++ GDK_TYPE_PIXBUF, /* MODEL_COL_ICON_PIXBUF */ \ + G_TYPE_STRING, /* MODEL_COL_SIZE_TEXT */ \ + G_TYPE_STRING, /* MODEL_COL_MTIME_TEXT */ \ + PANGO_TYPE_ELLIPSIZE_MODE /* MODEL_COL_ELLIPSIZE */ +@@ -249,7 +252,10 @@ typedef enum { + } ShortcutsIndex; + + /* Icon size for if we can't get it from the theme */ +-#define FALLBACK_ICON_SIZE 16 ++#define FALLBACK_LIST_VIEW_ICON_SIZE 16 ++#define FALLBACK_ICON_VIEW_ICON_SIZE 48 ++ ++#define ICON_VIEW_ITEM_WIDTH 128 + + #define PREVIEW_HBOX_SPACING 12 + #define NUM_LINES 45 +@@ -337,6 +343,7 @@ static void show_hidden_handler (GtkFileChooserDefault *impl); + static void search_shortcut_handler (GtkFileChooserDefault *impl); + static void recent_shortcut_handler (GtkFileChooserDefault *impl); + static void update_appearance (GtkFileChooserDefault *impl); ++static void set_sort_column (GtkFileChooserDefault *impl); + + static void set_current_filter (GtkFileChooserDefault *impl, + GtkFileFilter *filter); +@@ -371,12 +378,18 @@ static gboolean list_select_func (GtkTreeSelection *selection, + gboolean path_currently_selected, + gpointer data); + +-static void list_selection_changed (GtkTreeSelection *tree_selection, ++static void list_selection_changed (void *tree_or_icon_selection, + GtkFileChooserDefault *impl); + static void list_row_activated (GtkTreeView *tree_view, + GtkTreePath *path, + GtkTreeViewColumn *column, + GtkFileChooserDefault *impl); ++static void icon_item_activated (GtkIconView *icon_view, ++ GtkTreePath *path, ++ GtkFileChooserDefault *impl); ++static void item_activated (GtkTreeModel *model, ++ GtkTreePath *path, ++ GtkFileChooserDefault *impl); + + static void path_bar_clicked (GtkPathBar *path_bar, + GFile *file, +@@ -394,6 +407,13 @@ static void update_cell_renderer_attributes (GtkFileChooserDefault *impl); + static void load_remove_timer (GtkFileChooserDefault *impl, LoadState new_load_state); + static void browse_files_center_selected_row (GtkFileChooserDefault *impl); + ++static void view_mode_set (GtkFileChooserDefault *impl, ViewMode view_mode); ++static void view_mode_combo_box_changed_cb (GtkComboBox *combo, ++ GtkFileChooserDefault *impl); ++ ++static void icon_view_scale_value_changed_cb (GtkRange *range, ++ GtkFileChooserDefault *impl); ++ + static void location_button_toggled_cb (GtkToggleButton *toggle, + GtkFileChooserDefault *impl); + static void location_switch_to_path_bar (GtkFileChooserDefault *impl); +@@ -422,7 +442,27 @@ static GSList * recent_get_selected_files (GtkFileChooserDefault *impl); + static void set_file_system_backend (GtkFileChooserDefault *impl); + static void unset_file_system_backend (GtkFileChooserDefault *impl); + +- ++static gboolean get_selected_tree_iter_from_icon_view (GtkFileChooserDefault *impl, ++ GtkTreeIter *iter_out); ++static void current_selection_selected_foreach (GtkFileChooserDefault *impl, ++ GtkTreeSelectionForeachFunc func, ++ gpointer data); ++static guint current_selection_count_selected_rows (GtkFileChooserDefault *impl); ++static void current_selection_select_iter (GtkFileChooserDefault *impl, ++ GtkTreeIter *iter); ++static void copy_old_selection_to_current_view (GtkFileChooserDefault *impl, ++ ViewMode old_view_mode); ++static void current_selection_unselect_iter (GtkFileChooserDefault *impl, ++ GtkTreeIter *iter); ++static void current_selection_unselect_all (GtkFileChooserDefault *impl); ++static void current_view_set_file_model (GtkFileChooserDefault *impl, ++ GtkTreeModel *model); ++static void current_view_set_cursor (GtkFileChooserDefault *impl, ++ GtkTreePath *path); ++static void current_view_set_select_multiple (GtkFileChooserDefault *impl, ++ gboolean select_multiple); ++ ++static GSource *add_idle_while_impl_is_alive (GtkFileChooserDefault *impl, GCallback callback); + + + +@@ -723,7 +763,8 @@ _gtk_file_chooser_default_init (GtkFileChooserDefault *impl) + impl->select_multiple = FALSE; + impl->show_hidden = FALSE; + impl->show_size_column = TRUE; +- impl->icon_size = FALLBACK_ICON_SIZE; ++ impl->list_view_icon_size = FALLBACK_LIST_VIEW_ICON_SIZE; ++ impl->icon_view_icon_size = FALLBACK_ICON_VIEW_ICON_SIZE; + impl->load_state = LOAD_EMPTY; + impl->reload_state = RELOAD_EMPTY; + impl->pending_select_files = NULL; +@@ -733,6 +774,7 @@ _gtk_file_chooser_default_init (GtkFileChooserDefault *impl) + impl->sort_order = GTK_SORT_ASCENDING; + impl->recent_manager = gtk_recent_manager_get_default (); + impl->create_folders = TRUE; ++ impl->view_mode = VIEW_MODE_LIST; + + gtk_box_set_spacing (GTK_BOX (impl), 12); + +@@ -1159,7 +1201,7 @@ render_recent_icon (GtkFileChooserDefault *impl) + theme = gtk_icon_theme_get_default (); + + retval = gtk_icon_theme_load_icon (theme, "document-open-recent", +- impl->icon_size, 0, ++ impl->list_view_icon_size, 0, + NULL); + + /* fallback */ +@@ -1197,7 +1239,7 @@ shortcuts_reload_icons_get_info_cb (GCancellable *cancellable, + if (cancelled || error) + goto out; + +- pixbuf = _gtk_file_info_render_icon (info, GTK_WIDGET (data->impl), data->impl->icon_size); ++ pixbuf = _gtk_file_info_render_icon (info, GTK_WIDGET (data->impl), data->impl->list_view_icon_size); + + path = gtk_tree_row_reference_get_path (data->row_ref); + if (path) +@@ -1261,7 +1303,7 @@ shortcuts_reload_icons (GtkFileChooserDefault *impl) + + volume = data; + pixbuf = _gtk_file_system_volume_render_icon (volume, GTK_WIDGET (impl), +- impl->icon_size, NULL); ++ impl->list_view_icon_size, NULL); + } + else if (shortcut_type == SHORTCUT_TYPE_FILE) + { +@@ -1297,7 +1339,7 @@ shortcuts_reload_icons (GtkFileChooserDefault *impl) + */ + icon_theme = gtk_icon_theme_get_for_screen (gtk_widget_get_screen (GTK_WIDGET (impl))); + pixbuf = gtk_icon_theme_load_icon (icon_theme, "folder-remote", +- impl->icon_size, 0, NULL); ++ impl->list_view_icon_size, 0, NULL); + } + } + else if (shortcut_type == SHORTCUT_TYPE_SEARCH) +@@ -1508,7 +1550,7 @@ get_file_info_finished (GCancellable *cancellable, + if (!request->label_copy) + request->label_copy = g_strdup (g_file_info_get_display_name (info)); + pixbuf = _gtk_file_info_render_icon (info, GTK_WIDGET (request->impl), +- request->impl->icon_size); ++ request->impl->list_view_icon_size); + + gtk_list_store_set (request->impl->shortcuts_model, &iter, + SHORTCUTS_COL_PIXBUF, pixbuf, +@@ -1616,7 +1658,7 @@ shortcuts_insert_file (GtkFileChooserDefault *impl, + data = volume; + label_copy = _gtk_file_system_volume_get_display_name (volume); + pixbuf = _gtk_file_system_volume_render_icon (volume, GTK_WIDGET (impl), +- impl->icon_size, NULL); ++ impl->list_view_icon_size, NULL); + } + else if (shortcut_type == SHORTCUT_TYPE_FILE) + { +@@ -1675,7 +1717,7 @@ shortcuts_insert_file (GtkFileChooserDefault *impl, + */ + icon_theme = gtk_icon_theme_get_for_screen (gtk_widget_get_screen (GTK_WIDGET (impl))); + pixbuf = gtk_icon_theme_load_icon (icon_theme, "folder-remote", +- impl->icon_size, 0, NULL); ++ impl->list_view_icon_size, 0, NULL); + } + } + else +@@ -2235,6 +2277,52 @@ shortcuts_model_create (GtkFileChooserDefault *impl) + NULL); + } + ++static gboolean ++start_editing_icon_view_idle_cb (GtkFileChooserDefault *impl) ++{ ++ GDK_THREADS_ENTER (); ++ ++ g_source_destroy (impl->start_editing_icon_view_idle); ++ impl->start_editing_icon_view_idle = NULL; ++ ++ gtk_icon_view_scroll_to_path (GTK_ICON_VIEW (impl->browse_files_icon_view), ++ impl->start_editing_icon_view_path, ++ TRUE, ++ 0.5, ++ 0.0); ++ ++ g_object_set (impl->list_name_renderer, "editable", TRUE, NULL); ++ gtk_icon_view_set_cursor (GTK_ICON_VIEW (impl->browse_files_icon_view), ++ impl->start_editing_icon_view_path, ++ impl->list_name_renderer, ++ TRUE); ++ ++ gtk_tree_path_free (impl->start_editing_icon_view_path); ++ impl->start_editing_icon_view_path = NULL; ++ ++ GDK_THREADS_LEAVE (); ++ ++ return FALSE; ++} ++ ++static void ++add_idle_to_edit_icon_view (GtkFileChooserDefault *impl, GtkTreePath *path) ++{ ++ /* Normally we would run the code in the start_editing_icon_view_idle_cb() synchronously, ++ * but GtkIconView doesn't like to start editing itself immediately after getting an item ++ * added - it wants to run its layout loop first. So, we add the editable item first, and ++ * only start editing it until an idle handler. ++ */ ++ ++ g_assert (impl->start_editing_icon_view_idle == NULL); ++ g_assert (impl->start_editing_icon_view_path == NULL); ++ ++ impl->start_editing_icon_view_path = path; ++ impl->start_editing_icon_view_idle = add_idle_while_impl_is_alive (impl, ++ G_CALLBACK (start_editing_icon_view_idle_cb)); ++} ++ ++ + /* Callback used when the "New Folder" button is clicked */ + static void + new_folder_button_clicked (GtkButton *button, +@@ -2252,17 +2340,26 @@ new_folder_button_clicked (GtkButton *button, + _gtk_file_system_model_add_editable (impl->browse_files_model, &iter); + + path = gtk_tree_model_get_path (GTK_TREE_MODEL (impl->browse_files_model), &iter); +- gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (impl->browse_files_tree_view), +- path, impl->list_name_column, +- FALSE, 0.0, 0.0); + +- g_object_set (impl->list_name_renderer, "editable", TRUE, NULL); +- gtk_tree_view_set_cursor (GTK_TREE_VIEW (impl->browse_files_tree_view), +- path, +- impl->list_name_column, +- TRUE); ++ if (impl->view_mode == VIEW_MODE_LIST) ++ { ++ gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (impl->browse_files_tree_view), ++ path, impl->list_name_column, ++ FALSE, 0.0, 0.0); + +- gtk_tree_path_free (path); ++ g_object_set (impl->list_name_renderer, "editable", TRUE, NULL); ++ gtk_tree_view_set_cursor (GTK_TREE_VIEW (impl->browse_files_tree_view), ++ path, ++ impl->list_name_column, ++ TRUE); ++ gtk_tree_path_free (path); ++ } ++ else if (impl->view_mode == VIEW_MODE_ICON) ++ { ++ add_idle_to_edit_icon_view (impl, path); ++ } ++ else ++ g_assert_not_reached (); + } + + static GSource * +@@ -2355,6 +2452,17 @@ renderer_edited_cb (GtkCellRendererText *cell_renderer_text, + queue_edited_idle (impl, new_text); + } + ++/* Callback used from the icon view text renderer to center editable text */ ++static void ++renderer_editing_started_cb (GtkCellRendererText *cell_renderer_text, ++ GtkCellEditable *editable, ++ const gchar *path, ++ GtkFileChooserDefault *impl) ++{ ++ if (GTK_IS_ENTRY (editable)) ++ gtk_entry_set_alignment (GTK_ENTRY (editable), 0.5); ++} ++ + /* Callback used from the text cell renderer when the new folder edition gets + * canceled. + */ +@@ -2525,16 +2633,10 @@ add_bookmark_foreach_cb (GtkTreeModel *model, + static void + bookmarks_add_selected_folder (GtkFileChooserDefault *impl) + { +- GtkTreeSelection *selection; +- +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- +- if (gtk_tree_selection_count_selected_rows (selection) == 0) ++ if (current_selection_count_selected_rows (impl) == 0) + shortcuts_add_bookmark_from_file (impl, impl->current_folder, -1); + else +- gtk_tree_selection_selected_foreach (selection, +- add_bookmark_foreach_cb, +- impl); ++ current_selection_selected_foreach (impl, add_bookmark_foreach_cb, impl); + } + + /* Callback used when the "Add bookmark" button is clicked */ +@@ -2650,17 +2752,16 @@ selection_check (GtkFileChooserDefault *impl, + gboolean *all_folders) + { + struct selection_check_closure closure; +- GtkTreeSelection *selection; + + closure.impl = impl; + closure.num_selected = 0; + closure.all_files = TRUE; + closure.all_folders = TRUE; + +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- gtk_tree_selection_selected_foreach (selection, +- selection_check_foreach_cb, +- &closure); ++ current_selection_selected_foreach (impl, ++ selection_check_foreach_cb, ++ &closure); ++ + + g_assert (closure.num_selected == 0 || !(closure.all_files && closure.all_folders)); + +@@ -2704,15 +2805,13 @@ static GFile * + get_selected_file (GtkFileChooserDefault *impl) + { + struct get_selected_file_closure closure; +- GtkTreeSelection *selection; + + closure.impl = impl; + closure.file = NULL; + +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- gtk_tree_selection_selected_foreach (selection, +- get_selected_file_foreach_cb, +- &closure); ++ current_selection_selected_foreach(impl, ++ get_selected_file_foreach_cb, ++ &closure); + + return closure.file; + } +@@ -2787,13 +2886,11 @@ bookmarks_check_add_sensitivity (GtkFileChooserDefault *impl) + tip = g_strdup_printf (_("Add the selected folders to the bookmarks")); + else + { +- GtkTreeSelection *selection; + UpdateTooltipData data; + +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); + data.impl = impl; + data.tip = NULL; +- gtk_tree_selection_selected_foreach (selection, update_tooltip, &data); ++ current_selection_selected_foreach(impl, update_tooltip, &data); + tip = data.tip; + } + +@@ -3775,7 +3872,7 @@ browse_files_key_press_event_cb (GtkWidget *widget, + return TRUE; + } + +- if (key_is_left_or_right (event)) ++ if (impl->view_mode == VIEW_MODE_LIST && key_is_left_or_right (event)) + { + gtk_widget_grab_focus (impl->browse_shortcuts_tree_view); + return TRUE; +@@ -3857,6 +3954,145 @@ show_size_column_toggled_cb (GtkCheckMenuItem *item, + impl->show_size_column); + } + ++/* Callback used when "Sort by Name" menu item is toggled */ ++static void ++sort_by_name_toggled_cb (GtkCheckMenuItem *item, ++ GtkFileChooserDefault *impl) ++{ ++ GtkCheckMenuItem *size_item = GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_sort_by_size_item), ++ *mtime_item = GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_sort_by_mtime_item); ++ ++ // This could be avoided if we used GtkAction's ++ if (!gtk_check_menu_item_get_active (item) && ++ !gtk_check_menu_item_get_active (size_item) && ++ !gtk_check_menu_item_get_active (mtime_item)) ++ { ++ gtk_check_menu_item_set_active (item, TRUE); ++ return; ++ } ++ ++ if (gtk_check_menu_item_get_active (item)) ++ { ++ gtk_check_menu_item_set_active (size_item, FALSE); ++ gtk_check_menu_item_set_active (mtime_item, FALSE); ++ ++ impl->sort_column = MODEL_COL_NAME; ++ set_sort_column (impl); ++ } ++} ++ ++/* Callback used when "Sort by Size" menu item is toggled */ ++static void ++sort_by_size_toggled_cb (GtkCheckMenuItem *item, ++ GtkFileChooserDefault *impl) ++{ ++ GtkCheckMenuItem *name_item = GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_sort_by_name_item), ++ *mtime_item = GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_sort_by_mtime_item); ++ ++ // This could be avoided if we used GtkAction's ++ if (!gtk_check_menu_item_get_active (item) && ++ !gtk_check_menu_item_get_active (name_item) && ++ !gtk_check_menu_item_get_active (mtime_item)) ++ { ++ gtk_check_menu_item_set_active (item, TRUE); ++ return; ++ } ++ ++ if (gtk_check_menu_item_get_active (item)) ++ { ++ gtk_check_menu_item_set_active (name_item, FALSE); ++ gtk_check_menu_item_set_active (mtime_item, FALSE); ++ ++ impl->sort_column = MODEL_COL_SIZE; ++ set_sort_column (impl); ++ } ++} ++ ++/* Callback used when "Sort by Modification Date" menu item is toggled */ ++static void ++sort_by_mtime_toggled_cb (GtkCheckMenuItem *item, ++ GtkFileChooserDefault *impl) ++{ ++ GtkCheckMenuItem *name_item = GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_sort_by_name_item), ++ *size_item = GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_sort_by_size_item); ++ ++ // This could be avoided if we used GtkAction's ++ if (!gtk_check_menu_item_get_active (item) && ++ !gtk_check_menu_item_get_active (name_item) && ++ !gtk_check_menu_item_get_active (size_item)) ++ { ++ gtk_check_menu_item_set_active (item, TRUE); ++ return; ++ } ++ ++ if (gtk_check_menu_item_get_active (item)) ++ { ++ gtk_check_menu_item_set_active (name_item, FALSE); ++ gtk_check_menu_item_set_active (size_item, FALSE); ++ ++ impl->sort_column = MODEL_COL_MTIME; ++ set_sort_column (impl); ++ } ++} ++ ++/* Callback used when "Ascending" menu item is toggled */ ++static void ++sort_ascending_toggled_cb (GtkCheckMenuItem *item, ++ GtkFileChooserDefault *impl) ++{ ++ GtkCheckMenuItem *desc_item = GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_sort_descending_item); ++ ++ // This could be avoided if we used GtkAction's ++ if (!gtk_check_menu_item_get_active (item) && ++ !gtk_check_menu_item_get_active (desc_item)) ++ { ++ gtk_check_menu_item_set_active (item, TRUE); ++ return; ++ } ++ ++ if (gtk_check_menu_item_get_active (item)) ++ { ++ gtk_check_menu_item_set_active (desc_item, FALSE); ++ ++ // The sort column is explicitly set to mtime for the recent model ++ // This prevents it from switching when changing sort order ++ if (impl->view_mode == VIEW_MODE_ICON && impl->current_model == GTK_TREE_MODEL (impl->recent_model)) ++ gtk_tree_sortable_get_sort_column_id (GTK_TREE_SORTABLE (impl->current_model), &impl->sort_column, NULL); ++ ++ impl->sort_order = GTK_SORT_ASCENDING; ++ set_sort_column (impl); ++ } ++} ++ ++/* Callback used when "Descending" menu item is toggled */ ++static void ++sort_descending_toggled_cb (GtkCheckMenuItem *item, ++ GtkFileChooserDefault *impl) ++{ ++ GtkCheckMenuItem *asc_item = GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_sort_ascending_item); ++ ++ // This could be avoided if we used GtkAction's ++ if (!gtk_check_menu_item_get_active (item) && ++ !gtk_check_menu_item_get_active (asc_item)) ++ { ++ gtk_check_menu_item_set_active (item, TRUE); ++ return; ++ } ++ ++ if (gtk_check_menu_item_get_active (item)) ++ { ++ gtk_check_menu_item_set_active (asc_item, FALSE); ++ ++ // The sort column is explicitly set to mtime for the recent model ++ // This prevents it from switching when changing sort order ++ if (impl->view_mode == VIEW_MODE_ICON && impl->current_model == GTK_TREE_MODEL (impl->recent_model)) ++ gtk_tree_sortable_get_sort_column_id (GTK_TREE_SORTABLE (impl->current_model), &impl->sort_column, NULL); ++ ++ impl->sort_order = GTK_SORT_DESCENDING; ++ set_sort_column (impl); ++ } ++} ++ + /* Shows an error dialog about not being able to select a dragged file */ + static void + error_selecting_dragged_file_dialog (GtkFileChooserDefault *impl, +@@ -3928,9 +4164,9 @@ file_list_drag_data_received_get_info_cb (GCancellable *cancellable, + gtk_file_chooser_default_unselect_all (chooser); + gtk_file_chooser_default_select_file (chooser, data->file, &error); + if (error) +- error_selecting_dragged_file_dialog (data->impl, data->file, error); ++ error_selecting_dragged_file_dialog (data->impl, data->file, error); + else +- browse_files_center_selected_row (data->impl); ++ browse_files_center_selected_row (data->impl); + } + + if (data->impl->select_multiple) +@@ -4034,7 +4270,7 @@ file_list_build_popup_menu (GtkFileChooserDefault *impl) + + impl->browse_files_popup_menu = gtk_menu_new (); + gtk_menu_attach_to_widget (GTK_MENU (impl->browse_files_popup_menu), +- impl->browse_files_tree_view, ++ impl->browse_files_current_view, + popup_menu_detach_cb); + + item = gtk_image_menu_item_new_with_mnemonic (_("_Add to Bookmarks")); +@@ -4057,12 +4293,72 @@ file_list_build_popup_menu (GtkFileChooserDefault *impl) + gtk_widget_show (item); + gtk_menu_shell_append (GTK_MENU_SHELL (impl->browse_files_popup_menu), item); + +- item = gtk_check_menu_item_new_with_mnemonic (_("Show _Size Column")); +- impl->browse_files_popup_menu_size_column_item = item; +- g_signal_connect (item, "toggled", +- G_CALLBACK (show_size_column_toggled_cb), impl); +- gtk_widget_show (item); +- gtk_menu_shell_append (GTK_MENU_SHELL (impl->browse_files_popup_menu), item); ++ if (impl->view_mode == VIEW_MODE_LIST) ++ { ++ item = gtk_check_menu_item_new_with_mnemonic (_("Show _Size Column")); ++ impl->browse_files_popup_menu_size_column_item = item; ++ g_signal_connect (item, "toggled", ++ G_CALLBACK (show_size_column_toggled_cb), impl); ++ gtk_widget_show (item); ++ gtk_menu_shell_append (GTK_MENU_SHELL (impl->browse_files_popup_menu), item); ++ } ++ else if (impl->view_mode == VIEW_MODE_ICON) ++ { ++ GtkWidget *menu, *subitem; ++ ++ item = gtk_menu_item_new_with_label (_("Arrange Items")); ++ menu = gtk_menu_new (); ++ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu); ++ ++ subitem = gtk_check_menu_item_new_with_mnemonic (_("Sort by _Name")); ++ impl->browse_files_popup_menu_sort_by_name_item = subitem; ++ gtk_check_menu_item_set_draw_as_radio (GTK_CHECK_MENU_ITEM (subitem), TRUE); ++ g_signal_connect (subitem, "toggled", ++ G_CALLBACK (sort_by_name_toggled_cb), impl); ++ gtk_widget_show (subitem); ++ gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem); ++ ++ subitem = gtk_check_menu_item_new_with_mnemonic (_("Sort by _Size")); ++ impl->browse_files_popup_menu_sort_by_size_item = subitem; ++ gtk_check_menu_item_set_draw_as_radio (GTK_CHECK_MENU_ITEM (subitem), TRUE); ++ g_signal_connect (subitem, "toggled", ++ G_CALLBACK (sort_by_size_toggled_cb), impl); ++ gtk_widget_show (subitem); ++ gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem); ++ ++ subitem = gtk_check_menu_item_new_with_mnemonic (_("Sort by Modification _Date")); ++ impl->browse_files_popup_menu_sort_by_mtime_item = subitem; ++ gtk_check_menu_item_set_draw_as_radio (GTK_CHECK_MENU_ITEM (subitem), TRUE); ++ g_signal_connect (subitem, "toggled", ++ G_CALLBACK (sort_by_mtime_toggled_cb), impl); ++ gtk_widget_show (subitem); ++ gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem); ++ ++ subitem = gtk_separator_menu_item_new (); ++ gtk_widget_show (subitem); ++ gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem); ++ ++ subitem = gtk_check_menu_item_new_with_mnemonic (_("_Ascending")); ++ impl->browse_files_popup_menu_sort_ascending_item = subitem; ++ gtk_check_menu_item_set_draw_as_radio (GTK_CHECK_MENU_ITEM (subitem), TRUE); ++ g_signal_connect (subitem, "toggled", ++ G_CALLBACK (sort_ascending_toggled_cb), impl); ++ gtk_widget_show (subitem); ++ gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem); ++ ++ subitem = gtk_check_menu_item_new_with_mnemonic (_("_Descending")); ++ impl->browse_files_popup_menu_sort_descending_item = subitem; ++ gtk_check_menu_item_set_draw_as_radio (GTK_CHECK_MENU_ITEM (subitem), TRUE); ++ g_signal_connect (subitem, "toggled", ++ G_CALLBACK (sort_descending_toggled_cb), impl); ++ gtk_widget_show (subitem); ++ gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem); ++ ++ gtk_widget_show (item); ++ gtk_menu_shell_append (GTK_MENU_SHELL (impl->browse_files_popup_menu), item); ++ } ++ else ++ g_assert_not_reached (); + + bookmarks_check_add_sensitivity (impl); + } +@@ -4087,13 +4383,61 @@ file_list_update_popup_menu (GtkFileChooserDefault *impl) + g_signal_handlers_unblock_by_func (impl->browse_files_popup_menu_hidden_files_item, + G_CALLBACK (show_hidden_toggled_cb), impl); + +- /* 'Show Size Column' */ +- g_signal_handlers_block_by_func (impl->browse_files_popup_menu_size_column_item, +- G_CALLBACK (show_size_column_toggled_cb), impl); +- gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_size_column_item), +- impl->show_size_column); +- g_signal_handlers_unblock_by_func (impl->browse_files_popup_menu_size_column_item, +- G_CALLBACK (show_size_column_toggled_cb), impl); ++ if (impl->view_mode == VIEW_MODE_LIST) ++ { ++ /* 'Show Size Column' */ ++ g_signal_handlers_block_by_func (impl->browse_files_popup_menu_size_column_item, ++ G_CALLBACK (show_size_column_toggled_cb), impl); ++ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_size_column_item), ++ impl->show_size_column); ++ g_signal_handlers_unblock_by_func (impl->browse_files_popup_menu_size_column_item, ++ G_CALLBACK (show_size_column_toggled_cb), impl); ++ } ++ else if (impl->view_mode == VIEW_MODE_ICON) ++ { ++ gint column = impl->sort_column; ++ GtkSortType order = impl->sort_order; ++ ++ if (impl->current_model == GTK_TREE_MODEL (impl->recent_model)) ++ gtk_tree_sortable_get_sort_column_id (GTK_TREE_SORTABLE (impl->current_model), &column, &order); ++ ++ g_signal_handlers_block_by_func (impl->browse_files_popup_menu_sort_by_name_item, ++ G_CALLBACK (sort_by_name_toggled_cb), impl); ++ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_sort_by_name_item), ++ column == MODEL_COL_NAME); ++ g_signal_handlers_unblock_by_func (impl->browse_files_popup_menu_sort_by_name_item, ++ G_CALLBACK (sort_by_name_toggled_cb), impl); ++ ++ g_signal_handlers_block_by_func (impl->browse_files_popup_menu_sort_by_size_item, ++ G_CALLBACK (sort_by_size_toggled_cb), impl); ++ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_sort_by_size_item), ++ column == MODEL_COL_SIZE); ++ g_signal_handlers_unblock_by_func (impl->browse_files_popup_menu_sort_by_size_item, ++ G_CALLBACK (sort_by_size_toggled_cb), impl); ++ ++ g_signal_handlers_block_by_func (impl->browse_files_popup_menu_sort_by_mtime_item, ++ G_CALLBACK (sort_by_mtime_toggled_cb), impl); ++ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_sort_by_mtime_item), ++ column == MODEL_COL_MTIME); ++ g_signal_handlers_unblock_by_func (impl->browse_files_popup_menu_sort_by_mtime_item, ++ G_CALLBACK (sort_by_mtime_toggled_cb), impl); ++ ++ g_signal_handlers_block_by_func (impl->browse_files_popup_menu_sort_ascending_item, ++ G_CALLBACK (sort_ascending_toggled_cb), impl); ++ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_sort_ascending_item), ++ order == GTK_SORT_ASCENDING); ++ g_signal_handlers_unblock_by_func (impl->browse_files_popup_menu_sort_ascending_item, ++ G_CALLBACK (sort_ascending_toggled_cb), impl); ++ ++ g_signal_handlers_block_by_func (impl->browse_files_popup_menu_sort_descending_item, ++ G_CALLBACK (sort_descending_toggled_cb), impl); ++ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (impl->browse_files_popup_menu_sort_descending_item), ++ order == GTK_SORT_DESCENDING); ++ g_signal_handlers_unblock_by_func (impl->browse_files_popup_menu_sort_descending_item, ++ G_CALLBACK (sort_descending_toggled_cb), impl); ++ } ++ else ++ g_assert_not_reached (); + } + + static void +@@ -4141,7 +4485,7 @@ file_list_popup_menu (GtkFileChooserDefault *impl, + { + gtk_menu_popup (GTK_MENU (impl->browse_files_popup_menu), + NULL, NULL, +- popup_position_func, impl->browse_files_tree_view, ++ popup_position_func, impl->browse_files_current_view, + 0, GDK_CURRENT_TIME); + gtk_menu_shell_select_first (GTK_MENU_SHELL (impl->browse_files_popup_menu), + FALSE); +@@ -4175,28 +4519,25 @@ list_button_press_event_cb (GtkWidget *widget, + return FALSE; + + in_press = TRUE; +- gtk_widget_event (impl->browse_files_tree_view, (GdkEvent *) event); ++ gtk_widget_event (widget, (GdkEvent *) event); + in_press = FALSE; + + file_list_popup_menu (impl, event); + return TRUE; + } + +-typedef struct { +- OperationMode operation_mode; +- gint general_column; +- gint model_column; +-} ColumnMap; +- + /* Sets the sort column IDs for the file list; needs to be done whenever we + * change the model on the treeview. + */ + static void + file_list_set_sort_column_ids (GtkFileChooserDefault *impl) + { +- gtk_tree_view_column_set_sort_column_id (impl->list_name_column, MODEL_COL_NAME); +- gtk_tree_view_column_set_sort_column_id (impl->list_mtime_column, MODEL_COL_MTIME); +- gtk_tree_view_column_set_sort_column_id (impl->list_size_column, MODEL_COL_SIZE); ++ if (impl->view_mode == VIEW_MODE_LIST) ++ { ++ gtk_tree_view_column_set_sort_column_id (impl->list_name_column, MODEL_COL_NAME); ++ gtk_tree_view_column_set_sort_column_id (impl->list_mtime_column, MODEL_COL_MTIME); ++ gtk_tree_view_column_set_sort_column_id (impl->list_size_column, MODEL_COL_SIZE); ++ } + } + + static gboolean +@@ -4248,32 +4589,34 @@ file_list_query_tooltip_cb (GtkWidget *widget, + } + + static void +-set_icon_cell_renderer_fixed_size (GtkFileChooserDefault *impl, GtkCellRenderer *renderer) ++set_icon_cell_renderer_fixed_size (GtkFileChooserDefault *impl, ++ GtkCellRenderer *renderer, ++ ViewMode view_mode) + { ++ int icon_size; + gint xpad, ypad; + ++ if (view_mode == VIEW_MODE_LIST) ++ icon_size = impl->list_view_icon_size; ++ else if (view_mode == VIEW_MODE_ICON) ++ icon_size = impl->icon_view_icon_size; ++ else ++ g_assert_not_reached (); ++ + gtk_cell_renderer_get_padding (renderer, &xpad, &ypad); + gtk_cell_renderer_set_fixed_size (renderer, +- xpad * 2 + impl->icon_size, +- ypad * 2 + impl->icon_size); ++ xpad * 2 + icon_size, ++ ypad * 2 + icon_size); + } + +-/* Creates the widgets for the file list */ ++/* Creates the list view */ + static GtkWidget * +-create_file_list (GtkFileChooserDefault *impl) ++create_browse_files_tree_view (GtkFileChooserDefault *impl) + { +- GtkWidget *swin; + GtkTreeSelection *selection; + GtkTreeViewColumn *column; + GtkCellRenderer *renderer; + +- /* Scrolled window */ +- swin = gtk_scrolled_window_new (NULL, NULL); +- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), +- GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); +- gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (swin), +- GTK_SHADOW_IN); +- + /* Tree/list view */ + + impl->browse_files_tree_view = gtk_tree_view_new (); +@@ -4284,7 +4627,6 @@ create_file_list (GtkFileChooserDefault *impl) + atk_object_set_name (gtk_widget_get_accessible (impl->browse_files_tree_view), _("Files")); + + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (impl->browse_files_tree_view), TRUE); +- gtk_container_add (GTK_CONTAINER (swin), impl->browse_files_tree_view); + + gtk_drag_dest_set (impl->browse_files_tree_view, + GTK_DEST_DEFAULT_ALL, +@@ -4336,7 +4678,7 @@ create_file_list (GtkFileChooserDefault *impl) + + renderer = gtk_cell_renderer_pixbuf_new (); + /* We set a fixed size so that we get an empty slot even if no icons are loaded yet */ +- set_icon_cell_renderer_fixed_size (impl, renderer); ++ set_icon_cell_renderer_fixed_size (impl, renderer, VIEW_MODE_LIST); + gtk_tree_view_column_pack_start (impl->list_name_column, renderer, FALSE); + + impl->list_name_renderer = gtk_cell_renderer_text_new (); +@@ -4379,6 +4721,101 @@ create_file_list (GtkFileChooserDefault *impl) + file_list_set_sort_column_ids (impl); + update_cell_renderer_attributes (impl); + ++ return impl->browse_files_tree_view; ++} ++ ++/* Creates icon view (alternative for the list view) */ ++static GtkWidget * ++create_browse_files_icon_view (GtkFileChooserDefault *impl) ++{ ++ impl->browse_files_icon_view = gtk_icon_view_new (); ++ ++ g_object_set_data (G_OBJECT (impl->browse_files_icon_view), I_("GtkFileChooserDefault"), impl); ++ gtk_icon_view_set_item_padding (GTK_ICON_VIEW (impl->browse_files_icon_view), 0); ++ ++ g_signal_connect (impl->browse_files_icon_view, "item-activated", ++ G_CALLBACK (icon_item_activated), impl); ++ g_signal_connect (impl->browse_files_icon_view, "key-press-event", ++ G_CALLBACK (browse_files_key_press_event_cb), impl); ++ g_signal_connect (impl->browse_files_icon_view, "selection-changed", ++ G_CALLBACK (list_selection_changed), impl); ++ g_signal_connect (impl->browse_files_icon_view, "popup-menu", ++ G_CALLBACK (list_popup_menu_cb), impl); ++ g_signal_connect (impl->browse_files_icon_view, "button-press-event", ++ G_CALLBACK (list_button_press_event_cb), impl); ++ ++ gtk_drag_dest_set (impl->browse_files_icon_view, ++ GTK_DEST_DEFAULT_ALL, ++ NULL, 0, ++ GDK_ACTION_COPY | GDK_ACTION_MOVE); ++ gtk_drag_dest_add_uri_targets (impl->browse_files_icon_view); ++ g_signal_connect (impl->browse_files_icon_view, "drag-data-received", ++ G_CALLBACK (file_list_drag_data_received_cb), impl); ++ g_signal_connect (impl->browse_files_icon_view, "drag-drop", ++ G_CALLBACK (file_list_drag_drop_cb), impl); ++ g_signal_connect (impl->browse_files_icon_view, "drag-motion", ++ G_CALLBACK (file_list_drag_motion_cb), impl); ++ gtk_icon_view_enable_model_drag_source (GTK_ICON_VIEW (impl->browse_files_icon_view), ++ GDK_BUTTON1_MASK, ++ NULL, 0, ++ GDK_ACTION_COPY | GDK_ACTION_MOVE); ++ gtk_drag_source_add_uri_targets (impl->browse_files_icon_view); ++ ++ impl->list_icon_renderer = gtk_cell_renderer_pixbuf_new (); ++ g_object_set (G_OBJECT (impl->list_icon_renderer), ++ "ypad", 3u, ++ NULL); ++ ++ set_icon_cell_renderer_fixed_size (impl, GTK_CELL_RENDERER (impl->list_icon_renderer), ++ VIEW_MODE_ICON); ++ ++ gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (impl->browse_files_icon_view), ++ impl->list_icon_renderer, TRUE); ++ gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (impl->browse_files_icon_view), ++ impl->list_icon_renderer, "pixbuf", MODEL_COL_ICON_PIXBUF); ++ ++ impl->list_name_renderer = gtk_cell_renderer_text_new (); ++ g_object_set (G_OBJECT (impl->list_name_renderer), ++ "alignment", PANGO_ALIGN_CENTER, ++ "wrap-mode", PANGO_WRAP_WORD_CHAR, ++ "wrap-width", ICON_VIEW_ITEM_WIDTH - 6, ++ "yalign", 0.0f, ++ NULL); ++ gtk_cell_renderer_set_fixed_size (GTK_CELL_RENDERER (impl->list_name_renderer), ICON_VIEW_ITEM_WIDTH, -1); ++ ++ g_signal_connect (impl->list_name_renderer, "edited", ++ G_CALLBACK (renderer_edited_cb), impl); ++ g_signal_connect (impl->list_name_renderer, "editing-started", ++ G_CALLBACK (renderer_editing_started_cb), impl); ++ g_signal_connect (impl->list_name_renderer, "editing-canceled", ++ G_CALLBACK (renderer_editing_canceled_cb), impl); ++ gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (impl->browse_files_icon_view), ++ impl->list_name_renderer, TRUE); ++ gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (impl->browse_files_icon_view), ++ impl->list_name_renderer, "text", MODEL_COL_NAME); ++ ++ return impl->browse_files_icon_view; ++} ++ ++/* Creates the widgets for the file list */ ++static GtkWidget * ++create_file_list (GtkFileChooserDefault *impl) ++{ ++ GtkWidget *swin; ++ ++ /* Scrolled window */ ++ swin = gtk_scrolled_window_new (NULL, NULL); ++ impl->browse_files_scrolled_window = swin; ++ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), ++ GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); ++ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (swin), ++ GTK_SHADOW_IN); ++ ++ /* Initially VIEW_MODE_LIST is used, settings_load may change this later. */ ++ create_browse_files_tree_view (impl); ++ impl->browse_files_current_view = impl->browse_files_tree_view; ++ gtk_container_add (GTK_CONTAINER (swin), impl->browse_files_tree_view); ++ + gtk_widget_show_all (swin); + + return swin; +@@ -4601,7 +5038,7 @@ location_mode_set (GtkFileChooserDefault *impl, + location_switch_to_path_bar (impl); + + if (switch_to_file_list) +- gtk_widget_grab_focus (impl->browse_files_tree_view); ++ gtk_widget_grab_focus (impl->browse_files_current_view); + + break; + +@@ -4661,6 +5098,108 @@ location_toggle_popup_handler (GtkFileChooserDefault *impl) + } + } + ++static void ++view_mode_set (GtkFileChooserDefault *impl, ViewMode view_mode) ++{ ++ GtkWidget *old_view = NULL; ++ ViewMode old_view_mode = impl->view_mode; ++ ++ if (old_view_mode == view_mode) ++ return; ++ ++ impl->view_mode = view_mode; ++ gtk_combo_box_set_active (GTK_COMBO_BOX (impl->view_mode_combo_box), ++ view_mode); ++ ++ /* Creating the target view */ ++ if (view_mode == VIEW_MODE_ICON) ++ { ++ create_browse_files_icon_view (impl); ++ impl->browse_files_current_view = impl->browse_files_icon_view; ++ old_view = impl->browse_files_tree_view; ++ } ++ else if (view_mode == VIEW_MODE_LIST) ++ { ++ create_browse_files_tree_view (impl); ++ impl->browse_files_current_view = impl->browse_files_tree_view; ++ old_view = impl->browse_files_icon_view; ++ } ++ else ++ g_assert_not_reached (); ++ ++ /* Set model and selection */ ++ current_view_set_file_model (impl, impl->current_model); ++ current_view_set_select_multiple (impl, impl->select_multiple); ++ copy_old_selection_to_current_view (impl, old_view_mode); ++ ++ /* Destroy the old view */ ++ if (view_mode == VIEW_MODE_ICON) ++ { ++ impl->browse_files_tree_view = NULL; ++ impl->list_name_column = NULL; ++ impl->list_mtime_column = NULL; ++ impl->list_size_column = NULL; ++ gtk_widget_show (impl->icon_view_scale_hbox); ++ } ++ else if (view_mode == VIEW_MODE_LIST) ++ { ++ impl->browse_files_icon_view = NULL; ++ gtk_widget_hide (impl->icon_view_scale_hbox); ++ } ++ else ++ g_assert_not_reached (); ++ ++ if (impl->browse_files_popup_menu) ++ gtk_menu_detach (GTK_MENU (impl->browse_files_popup_menu)); ++ ++ gtk_widget_destroy (old_view); ++ ++ /* Display the new view */ ++ gtk_container_add (GTK_CONTAINER (impl->browse_files_scrolled_window), ++ impl->browse_files_current_view); ++ gtk_widget_show (impl->browse_files_current_view); ++ ++ browse_files_center_selected_row (impl); ++} ++ ++/* Callback used when view mode combo box active item is changed */ ++static void ++view_mode_combo_box_changed_cb (GtkComboBox *combo, ++ GtkFileChooserDefault *impl) ++{ ++ ViewMode target = gtk_combo_box_get_active (combo); ++ ++ view_mode_set (impl, target); ++} ++ ++/* Callback used when the icon view scale is changed */ ++static void ++icon_view_scale_value_changed_cb (GtkRange *range, ++ GtkFileChooserDefault *impl) ++{ ++ gdouble value = gtk_range_get_value (range); ++ value = round (value / 16) * 16; ++ ++ if (impl->icon_view_icon_size == (gint)value) ++ return; ++ ++ impl->icon_view_icon_size = (gint)value; ++ ++ if (impl->view_mode != VIEW_MODE_ICON) ++ return; ++ ++ set_icon_cell_renderer_fixed_size (impl, impl->list_icon_renderer, VIEW_MODE_ICON); ++ ++ if (impl->browse_files_model) ++ _gtk_file_system_model_clear_cache (impl->browse_files_model, MODEL_COL_ICON_PIXBUF); ++ if (impl->search_model) ++ _gtk_file_system_model_clear_cache (impl->search_model, MODEL_COL_ICON_PIXBUF); ++ if (impl->recent_model) ++ _gtk_file_system_model_clear_cache (impl->recent_model, MODEL_COL_ICON_PIXBUF); ++ ++ gtk_widget_queue_resize (impl->browse_files_current_view); ++} ++ + /* Callback used when one of the location mode buttons is toggled */ + static void + location_button_toggled_cb (GtkToggleButton *toggle, +@@ -4685,6 +5224,53 @@ location_button_toggled_cb (GtkToggleButton *toggle, + location_mode_set (impl, new_mode, FALSE); + } + ++/* Creates a combo box with two items: List View and Icon View. */ ++static void ++view_mode_combo_box_create (GtkFileChooserDefault *impl) ++{ ++ impl->view_mode_combo_box = gtk_combo_box_text_new (); ++ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT(impl->view_mode_combo_box), ++ _("List View")); /* VIEW_MODE_LIST */ ++ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT(impl->view_mode_combo_box), ++ _("Icon View")); /* VIEW_MODE_ICON */ ++ gtk_combo_box_set_active (GTK_COMBO_BOX(impl->view_mode_combo_box), ++ VIEW_MODE_LIST); ++ ++ g_signal_connect (impl->view_mode_combo_box, "changed", ++ G_CALLBACK (view_mode_combo_box_changed_cb), impl); ++} ++ ++/* Creates a hscale for the icon view. */ ++static void ++icon_view_scale_create (GtkFileChooserDefault *impl) ++{ ++ GtkObject *adj; ++ ++ impl->icon_view_scale_hbox = gtk_hbox_new (FALSE, 12); ++ ++ impl->icon_view_scale_zoom_out_icon = gtk_image_new_from_stock (GTK_STOCK_ZOOM_OUT, GTK_ICON_SIZE_BUTTON); ++ gtk_size_group_add_widget (impl->browse_path_bar_size_group, impl->icon_view_scale_zoom_out_icon); ++ gtk_box_pack_start (GTK_BOX (impl->icon_view_scale_hbox), impl->icon_view_scale_zoom_out_icon, FALSE, FALSE, 0); ++ gtk_widget_show (impl->icon_view_scale_zoom_out_icon); ++ ++ adj = gtk_adjustment_new (32, 32, 256, 16, 16, 0); ++ impl->icon_view_scale = gtk_hscale_new (GTK_ADJUSTMENT (adj)); ++ gtk_scale_set_draw_value (GTK_SCALE (impl->icon_view_scale), FALSE); ++ gtk_widget_set_size_request (impl->icon_view_scale, 100, -1); ++ gtk_box_pack_start (GTK_BOX (impl->icon_view_scale_hbox), impl->icon_view_scale, FALSE, FALSE, 0); ++ gtk_widget_show (impl->icon_view_scale); ++ ++ impl->icon_view_scale_zoom_in_icon = gtk_image_new_from_stock (GTK_STOCK_ZOOM_IN, GTK_ICON_SIZE_BUTTON); ++ gtk_size_group_add_widget (impl->browse_path_bar_size_group, impl->icon_view_scale_zoom_in_icon); ++ gtk_box_pack_start (GTK_BOX (impl->icon_view_scale_hbox), impl->icon_view_scale_zoom_in_icon, FALSE, FALSE, 0); ++ gtk_widget_show (impl->icon_view_scale_zoom_in_icon); ++ ++ g_signal_connect (impl->icon_view_scale, "value-changed", ++ G_CALLBACK (icon_view_scale_value_changed_cb), impl); ++ ++} ++ ++ + /* Creates a toggle button for the location entry. */ + static void + location_button_create (GtkFileChooserDefault *impl) +@@ -4804,6 +5390,10 @@ path_bar_widgets_create (GtkFileChooserDefault *impl) + impl->browse_path_bar_size_group = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL); + gtk_size_group_set_ignore_hidden (impl->browse_path_bar_size_group, FALSE); + ++ /* View mode combo box */ ++ view_mode_combo_box_create (impl); ++ gtk_box_pack_start (GTK_BOX (impl->browse_path_bar_hbox), impl->view_mode_combo_box, FALSE, FALSE, 0); ++ + /* Location button */ + location_button_create (impl); + gtk_size_group_add_widget (impl->browse_path_bar_size_group, impl->location_button); +@@ -4825,6 +5415,10 @@ path_bar_widgets_create (GtkFileChooserDefault *impl) + /* Widgets for special modes (recently-used in Open mode, Search mode) */ + special_mode_widgets_create (impl); + ++ /* Icon view scale */ ++ icon_view_scale_create (impl); ++ gtk_box_pack_end (GTK_BOX (impl->browse_path_bar_hbox), impl->icon_view_scale_hbox, FALSE, FALSE, 0); ++ + /* Create Folder */ + impl->browse_new_folder_button = gtk_button_new_with_mnemonic (_("Create Fo_lder")); + g_signal_connect (impl->browse_new_folder_button, "clicked", +@@ -5067,18 +5661,10 @@ set_select_multiple (GtkFileChooserDefault *impl, + gboolean select_multiple, + gboolean property_notify) + { +- GtkTreeSelection *selection; +- GtkSelectionMode mode; +- + if (select_multiple == impl->select_multiple) + return; + +- mode = select_multiple ? GTK_SELECTION_MULTIPLE : GTK_SELECTION_BROWSE; +- +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- gtk_tree_selection_set_mode (selection, mode); +- +- gtk_tree_view_set_rubber_banding (GTK_TREE_VIEW (impl->browse_files_tree_view), select_multiple); ++ current_view_set_select_multiple (impl, select_multiple); + + impl->select_multiple = select_multiple; + g_object_notify (G_OBJECT (impl), "select-multiple"); +@@ -5186,27 +5772,27 @@ path_bar_update (GtkFileChooserDefault *impl) + break; + + case OPERATION_MODE_RECENT: +- if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE) +- { +- GtkTreeSelection *selection; +- gboolean have_selected; +- GtkTreeIter iter; ++ if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE && impl->view_mode == VIEW_MODE_LIST) ++ { ++ GtkTreeSelection *selection; ++ gboolean have_selected; ++ GtkTreeIter iter; + +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); + +- /* Save mode means single-selection mode, so the following is valid */ +- have_selected = gtk_tree_selection_get_selected (selection, NULL, &iter); ++ /* Save mode means single-selection mode, so the following is valid */ ++ have_selected = gtk_tree_selection_get_selected (selection, NULL, &iter); + +- if (have_selected) +- { +- mode = PATH_BAR_FOLDER_PATH; +- put_recent_folder_in_pathbar (impl, &iter); +- } +- else +- mode = PATH_BAR_SELECT_A_FOLDER; +- } ++ if (have_selected) ++ { ++ mode = PATH_BAR_FOLDER_PATH; ++ put_recent_folder_in_pathbar (impl, &iter); ++ } ++ else ++ mode = PATH_BAR_SELECT_A_FOLDER; ++ } + else +- mode = PATH_BAR_RECENTLY_USED; ++ mode = PATH_BAR_RECENTLY_USED; + + break; + +@@ -5396,6 +5982,12 @@ update_appearance (GtkFileChooserDefault *impl) + location_mode_set (impl, impl->location_mode, TRUE); + } + ++ if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN || ++ impl->action == GTK_FILE_CHOOSER_ACTION_SAVE) ++ gtk_widget_show (impl->view_mode_combo_box); ++ else ++ gtk_widget_hide (impl->view_mode_combo_box); ++ + if (impl->location_entry) + _gtk_file_chooser_entry_set_action (GTK_FILE_CHOOSER_ENTRY (impl->location_entry), impl->action); + +@@ -5405,7 +5997,7 @@ update_appearance (GtkFileChooserDefault *impl) + /* This *is* needed; we need to redraw the file list because the "sensitivity" + * of files may change depending whether we are in a file or folder-only mode. + */ +- gtk_widget_queue_draw (impl->browse_files_tree_view); ++ gtk_widget_queue_draw (impl->browse_files_current_view); + + emit_default_size_changed (impl); + } +@@ -5787,20 +6379,36 @@ change_icon_theme (GtkFileChooserDefault *impl) + settings = gtk_settings_get_for_screen (gtk_widget_get_screen (GTK_WIDGET (impl))); + + if (gtk_icon_size_lookup_for_settings (settings, GTK_ICON_SIZE_MENU, &width, &height)) +- impl->icon_size = MAX (width, height); ++ impl->list_view_icon_size = MAX (width, height); + else +- impl->icon_size = FALLBACK_ICON_SIZE; ++ impl->list_view_icon_size = FALLBACK_LIST_VIEW_ICON_SIZE; + + shortcuts_reload_icons (impl); + /* the first cell in the first column is the icon column, and we have a fixed size there */ +- cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT ( +- gtk_tree_view_get_column (GTK_TREE_VIEW (impl->browse_files_tree_view), 0))); +- renderer = GTK_CELL_RENDERER (cells->data); +- set_icon_cell_renderer_fixed_size (impl, renderer); +- g_list_free (cells); ++ if (impl->view_mode == VIEW_MODE_LIST) ++ { ++ cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT ( ++ gtk_tree_view_get_column (GTK_TREE_VIEW (impl->browse_files_tree_view), 0))); ++ renderer = GTK_CELL_RENDERER (cells->data); ++ set_icon_cell_renderer_fixed_size (impl, renderer, VIEW_MODE_LIST); ++ g_list_free (cells); ++ } + if (impl->browse_files_model) +- _gtk_file_system_model_clear_cache (impl->browse_files_model, MODEL_COL_PIXBUF); +- gtk_widget_queue_resize (impl->browse_files_tree_view); ++ { ++ _gtk_file_system_model_clear_cache (impl->browse_files_model, MODEL_COL_LIST_PIXBUF); ++ _gtk_file_system_model_clear_cache (impl->browse_files_model, MODEL_COL_ICON_PIXBUF); ++ } ++ if (impl->search_model) ++ { ++ _gtk_file_system_model_clear_cache (impl->search_model, MODEL_COL_LIST_PIXBUF); ++ _gtk_file_system_model_clear_cache (impl->search_model, MODEL_COL_ICON_PIXBUF); ++ } ++ if (impl->recent_model) ++ { ++ _gtk_file_system_model_clear_cache (impl->recent_model, MODEL_COL_LIST_PIXBUF); ++ _gtk_file_system_model_clear_cache (impl->recent_model, MODEL_COL_ICON_PIXBUF); ++ } ++ gtk_widget_queue_resize (impl->browse_files_current_view); + + profile_end ("end", NULL); + } +@@ -5900,7 +6508,7 @@ set_sort_column (GtkFileChooserDefault *impl) + { + GtkTreeSortable *sortable; + +- sortable = GTK_TREE_SORTABLE (gtk_tree_view_get_model (GTK_TREE_VIEW (impl->browse_files_tree_view))); ++ sortable = GTK_TREE_SORTABLE (impl->current_model); + /* can happen when we're still populating the model */ + if (sortable == NULL) + return; +@@ -5915,15 +6523,18 @@ settings_load (GtkFileChooserDefault *impl) + { + GtkFileChooserSettings *settings; + LocationMode location_mode; ++ ViewMode view_mode; + gboolean show_hidden; + gboolean show_size_column; +- gint sort_column; ++ gint sort_column, icon_view_scale; + GtkSortType sort_order; + StartupMode startup_mode; + + settings = _gtk_file_chooser_settings_new (); + + location_mode = _gtk_file_chooser_settings_get_location_mode (settings); ++ view_mode = _gtk_file_chooser_settings_get_view_mode (settings); ++ icon_view_scale = _gtk_file_chooser_settings_get_icon_view_scale (settings); + show_hidden = _gtk_file_chooser_settings_get_show_hidden (settings); + show_size_column = _gtk_file_chooser_settings_get_show_size_column (settings); + sort_column = _gtk_file_chooser_settings_get_sort_column (settings); +@@ -5933,11 +6544,16 @@ settings_load (GtkFileChooserDefault *impl) + g_object_unref (settings); + + location_mode_set (impl, location_mode, TRUE); ++ view_mode_set (impl, view_mode); ++ ++ gtk_range_set_value (GTK_RANGE (impl->icon_view_scale), icon_view_scale); ++ impl->icon_view_icon_size = icon_view_scale; + + gtk_file_chooser_set_show_hidden (GTK_FILE_CHOOSER (impl), show_hidden); + + impl->show_size_column = show_size_column; +- gtk_tree_view_column_set_visible (impl->list_size_column, show_size_column); ++ if (impl->list_size_column) ++ gtk_tree_view_column_set_visible (impl->list_size_column, show_size_column); + + impl->sort_column = sort_column; + impl->sort_order = sort_order; +@@ -5976,6 +6592,8 @@ settings_save (GtkFileChooserDefault *impl) + /* All the other state */ + + _gtk_file_chooser_settings_set_location_mode (settings, impl->location_mode); ++ _gtk_file_chooser_settings_set_view_mode (settings, impl->view_mode); ++ _gtk_file_chooser_settings_set_icon_view_scale (settings, impl->icon_view_icon_size); + _gtk_file_chooser_settings_set_show_hidden (settings, gtk_file_chooser_get_show_hidden (GTK_FILE_CHOOSER (impl))); + _gtk_file_chooser_settings_set_show_size_column (settings, impl->show_size_column); + _gtk_file_chooser_settings_set_sort_column (settings, impl->sort_column); +@@ -6213,12 +6831,16 @@ load_set_model (GtkFileChooserDefault *impl) + g_assert (impl->browse_files_model != NULL); + + profile_msg (" gtk_tree_view_set_model start", NULL); +- gtk_tree_view_set_model (GTK_TREE_VIEW (impl->browse_files_tree_view), +- GTK_TREE_MODEL (impl->browse_files_model)); +- gtk_tree_view_columns_autosize (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- gtk_tree_view_set_search_column (GTK_TREE_VIEW (impl->browse_files_tree_view), +- MODEL_COL_NAME); +- file_list_set_sort_column_ids (impl); ++ current_view_set_file_model (impl, GTK_TREE_MODEL (impl->browse_files_model)); ++ ++ if (impl->view_mode == VIEW_MODE_LIST) ++ { ++ gtk_tree_view_columns_autosize (GTK_TREE_VIEW (impl->browse_files_tree_view)); ++ gtk_tree_view_set_search_column (GTK_TREE_VIEW (impl->browse_files_tree_view), ++ MODEL_COL_NAME); ++ file_list_set_sort_column_ids (impl); ++ } ++ + set_sort_column (impl); + profile_msg (" gtk_tree_view_set_model end", NULL); + impl->list_sort_ascending = TRUE; +@@ -6290,7 +6912,7 @@ browse_files_select_first_row (GtkFileChooserDefault *impl) + GtkTreeIter dummy_iter; + GtkTreeModel *tree_model; + +- tree_model = gtk_tree_view_get_model (GTK_TREE_VIEW (impl->browse_files_tree_view)); ++ tree_model = impl->current_model; + + if (!tree_model) + return; +@@ -6299,7 +6921,7 @@ browse_files_select_first_row (GtkFileChooserDefault *impl) + + /* If the list is empty, do nothing. */ + if (gtk_tree_model_get_iter (tree_model, &dummy_iter, path)) +- gtk_tree_view_set_cursor (GTK_TREE_VIEW (impl->browse_files_tree_view), path, NULL, FALSE); ++ current_view_set_cursor (impl, path); + + gtk_tree_path_free (path); + } +@@ -6310,7 +6932,7 @@ struct center_selected_row_closure { + }; + + /* Callback used from gtk_tree_selection_selected_foreach(); centers the +- * selected row in the tree view. ++ * selected row in the current view. + */ + static void + center_selected_row_foreach_cb (GtkTreeModel *model, +@@ -6324,7 +6946,13 @@ center_selected_row_foreach_cb (GtkTreeModel *model, + if (closure->already_centered) + return; + +- gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (closure->impl->browse_files_tree_view), path, NULL, TRUE, 0.5, 0.0); ++ if (closure->impl->view_mode == VIEW_MODE_LIST) ++ gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (closure->impl->browse_files_tree_view), path, NULL, TRUE, 0.5, 0.0); ++ else if (closure->impl->view_mode == VIEW_MODE_ICON) ++ gtk_icon_view_scroll_to_path (GTK_ICON_VIEW (closure->impl->browse_files_icon_view), path, TRUE, 0.5, 0.0); ++ else ++ g_assert_not_reached (); ++ + closure->already_centered = TRUE; + } + +@@ -6333,20 +6961,17 @@ static void + browse_files_center_selected_row (GtkFileChooserDefault *impl) + { + struct center_selected_row_closure closure; +- GtkTreeSelection *selection; + + closure.impl = impl; + closure.already_centered = FALSE; + +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- gtk_tree_selection_selected_foreach (selection, center_selected_row_foreach_cb, &closure); ++ current_selection_selected_foreach(impl, center_selected_row_foreach_cb, &closure); + } + + static gboolean + show_and_select_files (GtkFileChooserDefault *impl, + GSList *files) + { +- GtkTreeSelection *selection; + GtkFileSystemModel *fsmodel; + gboolean enabled_hidden, removed_filters; + gboolean selected_a_file; +@@ -6355,8 +6980,7 @@ show_and_select_files (GtkFileChooserDefault *impl, + g_assert (impl->load_state == LOAD_FINISHED); + g_assert (impl->browse_files_model != NULL); + +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- fsmodel = GTK_FILE_SYSTEM_MODEL (gtk_tree_view_get_model (GTK_TREE_VIEW (impl->browse_files_tree_view))); ++ fsmodel = GTK_FILE_SYSTEM_MODEL (impl->current_model); + + g_assert (fsmodel == impl->browse_files_model); + +@@ -6412,11 +7036,10 @@ show_and_select_files (GtkFileChooserDefault *impl, + { + GtkTreePath *path; + +- gtk_tree_selection_select_iter (selection, &iter); ++ current_selection_select_iter (impl, &iter); + + path = gtk_tree_model_get_path (GTK_TREE_MODEL (fsmodel), &iter); +- gtk_tree_view_set_cursor (GTK_TREE_VIEW (impl->browse_files_tree_view), +- path, NULL, FALSE); ++ current_view_set_cursor (impl, path); + gtk_tree_path_free (path); + + selected_a_file = TRUE; +@@ -6452,7 +7075,7 @@ pending_select_files_process (GtkFileChooserDefault *impl) + */ + if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN && + gtk_widget_get_mapped (GTK_WIDGET (impl))) +- browse_files_select_first_row (impl); ++ browse_files_select_first_row (impl); + } + + g_assert (impl->pending_select_files == NULL); +@@ -6531,12 +7154,14 @@ stop_loading_and_clear_list_model (GtkFileChooserDefault *impl, + + if (impl->browse_files_model) + { ++ if (impl->current_model == GTK_TREE_MODEL (impl->browse_files_model)) ++ impl->current_model = NULL; + g_object_unref (impl->browse_files_model); + impl->browse_files_model = NULL; + } + + if (remove_from_treeview) +- gtk_tree_view_set_model (GTK_TREE_VIEW (impl->browse_files_tree_view), NULL); ++ current_view_set_file_model (impl, NULL); + } + + static char * +@@ -6690,6 +7315,17 @@ file_system_model_got_thumbnail (GObject *object, GAsyncResult *res, gpointer da + GDK_THREADS_LEAVE (); + } + ++static gboolean ++get_visible_range (GtkTreePath **start, GtkTreePath **end, ++ GtkFileChooserDefault *impl) ++{ ++ if (impl->view_mode == VIEW_MODE_LIST) ++ return gtk_tree_view_get_visible_range (GTK_TREE_VIEW (impl->browse_files_tree_view), start, end); ++ if (impl->view_mode == VIEW_MODE_ICON) ++ return gtk_icon_view_get_visible_range (GTK_ICON_VIEW (impl->browse_files_icon_view), start, end); ++ g_assert_not_reached (); ++} ++ + static gboolean + file_system_model_set (GtkFileSystemModel *model, + GFile *file, +@@ -6747,38 +7383,59 @@ file_system_model_set (GtkFileSystemModel *model, + else + g_value_set_boolean (value, TRUE); + break; +- case MODEL_COL_PIXBUF: ++ case MODEL_COL_LIST_PIXBUF: ++ case MODEL_COL_ICON_PIXBUF: + if (info) + { ++ GtkTreeModel *tree_model; ++ GtkTreePath *path, *start, *end; ++ GtkTreeIter iter; ++ gboolean file_visible; ++ ++ /* not loading icon view's icon in the list view */ ++ if (column == MODEL_COL_ICON_PIXBUF && impl->view_mode == VIEW_MODE_LIST) ++ return FALSE; ++ ++ tree_model = impl->current_model; ++ if (tree_model != GTK_TREE_MODEL (model)) ++ return FALSE; ++ ++ /* #1 use standard icon if it is loaded */ + if (g_file_info_has_attribute (info, G_FILE_ATTRIBUTE_STANDARD_ICON)) + { +- g_value_take_object (value, _gtk_file_info_render_icon (info, GTK_WIDGET (impl), impl->icon_size)); ++ gint icon_size; ++ ++ if (column == MODEL_COL_ICON_PIXBUF) ++ icon_size = impl->icon_view_icon_size; ++ else ++ icon_size = impl->list_view_icon_size; ++ ++ g_value_take_object (value, _gtk_file_info_render_icon (info, GTK_WIDGET (impl), icon_size)); ++ return TRUE; + } +- else +- { +- GtkTreeModel *tree_model; +- GtkTreePath *path, *start, *end; +- GtkTreeIter iter; + +- if (impl->browse_files_tree_view == NULL || +- g_file_info_has_attribute (info, "filechooser::queried")) +- return FALSE; ++ if (!get_visible_range (&start, &end, impl)) ++ return FALSE; + +- tree_model = gtk_tree_view_get_model (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- if (tree_model != GTK_TREE_MODEL (model)) +- return FALSE; ++ if (!_gtk_file_system_model_get_iter_for_file (model, ++ &iter, ++ file)) ++ g_assert_not_reached (); + +- if (!_gtk_file_system_model_get_iter_for_file (model, +- &iter, +- file)) +- g_assert_not_reached (); +- if (!gtk_tree_view_get_visible_range (GTK_TREE_VIEW (impl->browse_files_tree_view), &start, &end)) +- return FALSE; +- path = gtk_tree_model_get_path (tree_model, &iter); +- if (gtk_tree_path_compare (start, path) != 1 && +- gtk_tree_path_compare (path, end) != 1) ++ path = gtk_tree_model_get_path (tree_model, &iter); ++ file_visible = (gtk_tree_path_compare (start, path) != 1 && ++ gtk_tree_path_compare (path, end) != 1); ++ ++ gtk_tree_path_free (path); ++ gtk_tree_path_free (start); ++ gtk_tree_path_free (end); ++ ++ if (file_visible) ++ { ++ /* #2 start loading standard icon (callback will be handled by #1) */ ++ if (!g_file_info_has_attribute (info, "filechooser::icon_queried")) + { +- g_file_info_set_attribute_boolean (info, "filechooser::queried", TRUE); ++ g_file_info_set_attribute_boolean (info, "filechooser::icon_queried", TRUE); + g_file_query_info_async (file, + G_FILE_ATTRIBUTE_THUMBNAIL_PATH "," + G_FILE_ATTRIBUTE_THUMBNAILING_FAILED "," +@@ -6789,14 +7446,23 @@ file_system_model_set (GtkFileSystemModel *model, + file_system_model_got_thumbnail, + model); + } +- gtk_tree_path_free (path); +- gtk_tree_path_free (start); +- gtk_tree_path_free (end); +- return FALSE; + } ++ return FALSE; + } + else +- g_value_set_object (value, NULL); ++ { ++ if (column == MODEL_COL_ICON_PIXBUF) ++ { ++ g_value_take_object (value, ++ gtk_icon_theme_load_icon (gtk_icon_theme_get_for_screen (gtk_widget_get_screen (GTK_WIDGET (impl))), ++ "inode-directory", ++ impl->icon_view_icon_size, ++ 0, ++ NULL)); ++ } ++ else ++ g_value_set_object (value, NULL); ++ } + break; + case MODEL_COL_SIZE: + g_value_set_int64 (value, info ? g_file_info_get_size (info) : 0); +@@ -6922,7 +7588,6 @@ update_chooser_entry_selected_foreach (GtkTreeModel *model, + static void + update_chooser_entry (GtkFileChooserDefault *impl) + { +- GtkTreeSelection *selection; + struct update_chooser_entry_selected_foreach_closure closure; + + /* no need to update the file chooser's entry if there's no entry */ +@@ -6939,9 +7604,8 @@ update_chooser_entry (GtkFileChooserDefault *impl) + + g_assert (impl->location_entry != NULL); + +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); + closure.num_selected = 0; +- gtk_tree_selection_selected_foreach (selection, update_chooser_entry_selected_foreach, &closure); ++ current_selection_selected_foreach (impl, update_chooser_entry_selected_foreach, &closure); + + if (closure.num_selected == 0) + { +@@ -7413,7 +8077,6 @@ gtk_file_chooser_default_unselect_file (GtkFileChooser *chooser, + GFile *file) + { + GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser); +- GtkTreeView *tree_view = GTK_TREE_VIEW (impl->browse_files_tree_view); + GtkTreeIter iter; + + if (!impl->browse_files_model) +@@ -7424,8 +8087,7 @@ gtk_file_chooser_default_unselect_file (GtkFileChooser *chooser, + file)) + return; + +- gtk_tree_selection_unselect_iter (gtk_tree_view_get_selection (tree_view), +- &iter); ++ current_selection_unselect_iter (impl, &iter); + } + + static gboolean +@@ -7435,12 +8097,9 @@ maybe_select (GtkTreeModel *model, + gpointer data) + { + GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (data); +- GtkTreeSelection *selection; + gboolean is_sensitive; + gboolean is_folder; + +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- + gtk_tree_model_get (model, iter, + MODEL_COL_IS_FOLDER, &is_folder, + MODEL_COL_IS_SENSITIVE, &is_sensitive, +@@ -7449,9 +8108,9 @@ maybe_select (GtkTreeModel *model, + if (is_sensitive && + ((is_folder && impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER) || + (!is_folder && impl->action == GTK_FILE_CHOOSER_ACTION_OPEN))) +- gtk_tree_selection_select_iter (selection, iter); ++ current_selection_select_iter (impl, iter); + else +- gtk_tree_selection_unselect_iter (selection, iter); ++ current_selection_unselect_iter (impl, iter); + + return FALSE; + } +@@ -7466,8 +8125,15 @@ gtk_file_chooser_default_select_all (GtkFileChooser *chooser) + { + GtkTreeSelection *selection; + +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- gtk_tree_selection_select_all (selection); ++ if (impl->view_mode == VIEW_MODE_LIST) ++ { ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); ++ gtk_tree_selection_select_all (selection); ++ } ++ else if (impl->view_mode == VIEW_MODE_ICON) ++ gtk_icon_view_select_all (GTK_ICON_VIEW (impl->browse_files_icon_view)); ++ else ++ g_assert_not_reached (); + return; + } + +@@ -7480,9 +8146,8 @@ static void + gtk_file_chooser_default_unselect_all (GtkFileChooser *chooser) + { + GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser); +- GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); + +- gtk_tree_selection_unselect_all (selection); ++ current_selection_unselect_all (impl); + pending_select_files_free (impl); + } + +@@ -7635,15 +8300,13 @@ gtk_file_chooser_default_get_files (GtkFileChooser *chooser) + current_focus = NULL; + + file_list_seen = FALSE; +- if (current_focus == impl->browse_files_tree_view) ++ if (current_focus == impl->browse_files_current_view) + { +- GtkTreeSelection *selection; +- + file_list: + + file_list_seen = TRUE; +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- gtk_tree_selection_selected_foreach (selection, get_files_foreach, &info); ++ ++ current_selection_selected_foreach (impl, get_files_foreach, &info); + + /* If there is no selection in the file list, we probably have this situation: + * +@@ -7683,7 +8346,7 @@ gtk_file_chooser_default_get_files (GtkFileChooser *chooser) + else + return NULL; + } +- else if (impl->toplevel_last_focus_widget == impl->browse_files_tree_view) ++ else if (impl->toplevel_last_focus_widget == impl->browse_files_current_view) + goto file_list; + else if (impl->location_entry && impl->toplevel_last_focus_widget == impl->location_entry) + goto file_entry; +@@ -8147,7 +8810,6 @@ switch_folder_foreach_cb (GtkTreeModel *model, + static void + switch_to_selected_folder (GtkFileChooserDefault *impl) + { +- GtkTreeSelection *selection; + struct switch_folder_closure closure; + + /* We do this with foreach() rather than get_selected() as we may be in +@@ -8158,8 +8820,7 @@ switch_to_selected_folder (GtkFileChooserDefault *impl) + closure.file = NULL; + closure.num_selected = 0; + +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- gtk_tree_selection_selected_foreach (selection, switch_folder_foreach_cb, &closure); ++ current_selection_selected_foreach (impl, switch_folder_foreach_cb, &closure); + + g_assert (closure.file && closure.num_selected == 1); + +@@ -8178,14 +8839,28 @@ get_selected_file_info_from_file_list (GtkFileChooserDefault *impl, + GFileInfo *info; + + g_assert (!impl->select_multiple); +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- if (!gtk_tree_selection_get_selected (selection, NULL, &iter)) ++ ++ if (impl->view_mode == VIEW_MODE_LIST) ++ { ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); ++ if (!gtk_tree_selection_get_selected (selection, NULL, &iter)) ++ { ++ *had_selection = FALSE; ++ return NULL; ++ } ++ *had_selection = TRUE; ++ } ++ else if (impl->view_mode == VIEW_MODE_ICON) + { +- *had_selection = FALSE; +- return NULL; ++ if (!get_selected_tree_iter_from_icon_view (impl, &iter)) ++ { ++ *had_selection = FALSE; ++ return NULL; ++ } ++ *had_selection = TRUE; + } +- +- *had_selection = TRUE; ++ else ++ g_assert_not_reached (); + + info = _gtk_file_system_model_get_info (impl->browse_files_model, &iter); + return info; +@@ -8561,7 +9236,7 @@ file_exists_get_info_cb (GCancellable *cancellable, + } + else + { +- g_assert_not_reached(); ++ g_assert_not_reached (); + } + + if (needs_parent_check) +@@ -8667,7 +9342,7 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed) + + current_focus = gtk_window_get_focus (GTK_WINDOW (toplevel)); + +- if (current_focus == impl->browse_files_tree_view) ++ if (current_focus == impl->browse_files_current_view) + { + /* The following array encodes what we do based on the impl->action and the + * number of files selected. +@@ -8877,7 +9552,7 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed) + + g_object_unref (file); + } +- else if (impl->toplevel_last_focus_widget == impl->browse_files_tree_view) ++ else if (impl->toplevel_last_focus_widget == impl->browse_files_current_view) + { + /* The focus is on a dialog's action area button, *and* the widget that + * was focused immediately before it is the file list. +@@ -8926,7 +9601,7 @@ gtk_file_chooser_default_initial_focus (GtkFileChooserEmbed *chooser_embed) + { + if (impl->location_mode == LOCATION_MODE_PATH_BAR + || impl->operation_mode == OPERATION_MODE_RECENT) +- widget = impl->browse_files_tree_view; ++ widget = impl->browse_files_current_view; + else + widget = impl->location_entry; + } +@@ -8964,12 +9639,10 @@ static GSList * + search_get_selected_files (GtkFileChooserDefault *impl) + { + GSList *result; +- GtkTreeSelection *selection; + + result = NULL; + +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- gtk_tree_selection_selected_foreach (selection, search_selected_foreach_get_file_cb, &result); ++ current_selection_selected_foreach (impl, search_selected_foreach_get_file_cb, &result); + result = g_slist_reverse (result); + + return result; +@@ -8981,12 +9654,9 @@ search_get_selected_files (GtkFileChooserDefault *impl) + static gboolean + search_should_respond (GtkFileChooserDefault *impl) + { +- GtkTreeSelection *selection; +- + g_assert (impl->operation_mode == OPERATION_MODE_SEARCH); + +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- return (gtk_tree_selection_count_selected_rows (selection) != 0); ++ return (current_selection_count_selected_rows (impl) != 0); + } + + /* Adds one hit from the search engine to the search_model */ +@@ -9043,6 +9713,7 @@ search_engine_finished_cb (GtkSearchEngine *engine, + */ + gtk_tree_view_set_model (GTK_TREE_VIEW (impl->browse_files_tree_view), + GTK_TREE_MODEL (impl->search_model)); ++ current_view_set_file_model (impl, GTK_TREE_MODEL (impl->search_model)); + file_list_set_sort_column_ids (impl); + #endif + +@@ -9090,7 +9761,7 @@ search_clear_model (GtkFileChooserDefault *impl, + impl->search_model = NULL; + + if (remove_from_treeview) +- gtk_tree_view_set_model (GTK_TREE_VIEW (impl->browse_files_tree_view), NULL); ++ current_view_set_file_model (impl, NULL); + } + + /* Stops any ongoing searches; does not touch the search_model */ +@@ -9141,8 +9812,7 @@ search_setup_model (GtkFileChooserDefault *impl) + * more "alive" than setting the model at the end of the search + * run + */ +- gtk_tree_view_set_model (GTK_TREE_VIEW (impl->browse_files_tree_view), +- GTK_TREE_MODEL (impl->search_model)); ++ current_view_set_file_model (impl, GTK_TREE_MODEL (impl->search_model)); + file_list_set_sort_column_ids (impl); + } + +@@ -9306,7 +9976,7 @@ recent_clear_model (GtkFileChooserDefault *impl, + return; + + if (remove_from_treeview) +- gtk_tree_view_set_model (GTK_TREE_VIEW (impl->browse_files_tree_view), NULL); ++ current_view_set_file_model (impl, NULL); + + g_object_unref (impl->recent_model); + impl->recent_model = NULL; +@@ -9363,8 +10033,7 @@ recent_idle_cleanup (gpointer data) + RecentLoadData *load_data = data; + GtkFileChooserDefault *impl = load_data->impl; + +- gtk_tree_view_set_model (GTK_TREE_VIEW (impl->browse_files_tree_view), +- GTK_TREE_MODEL (impl->recent_model)); ++ current_view_set_file_model (impl, GTK_TREE_MODEL (impl->recent_model)); + file_list_set_sort_column_ids (impl); + gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (impl->recent_model), MODEL_COL_MTIME, GTK_SORT_DESCENDING); + +@@ -9509,12 +10178,10 @@ static GSList * + recent_get_selected_files (GtkFileChooserDefault *impl) + { + GSList *result; +- GtkTreeSelection *selection; + + result = NULL; + +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- gtk_tree_selection_selected_foreach (selection, recent_selected_foreach_get_file_cb, &result); ++ current_selection_selected_foreach (impl, recent_selected_foreach_get_file_cb, &result); + result = g_slist_reverse (result); + + return result; +@@ -9526,12 +10193,9 @@ recent_get_selected_files (GtkFileChooserDefault *impl) + static gboolean + recent_should_respond (GtkFileChooserDefault *impl) + { +- GtkTreeSelection *selection; +- + g_assert (impl->operation_mode == OPERATION_MODE_RECENT); + +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- return (gtk_tree_selection_count_selected_rows (selection) != 0); ++ return (current_selection_count_selected_rows (impl) != 0); + } + + static void +@@ -9591,9 +10255,16 @@ check_preview_change (GtkFileChooserDefault *impl) + char *new_display_name; + GtkTreeModel *model; + +- gtk_tree_view_get_cursor (GTK_TREE_VIEW (impl->browse_files_tree_view), &cursor_path, NULL); +- model = gtk_tree_view_get_model (GTK_TREE_VIEW (impl->browse_files_tree_view)); +- if (cursor_path) ++ if (impl->view_mode == VIEW_MODE_LIST) ++ gtk_tree_view_get_cursor (GTK_TREE_VIEW (impl->browse_files_tree_view), &cursor_path, NULL); ++ else if (impl->view_mode == VIEW_MODE_ICON) ++ cursor_path = NULL; ++ else ++ g_assert_not_reached (); ++ ++ model = impl->current_model; ++ ++ if (cursor_path && model) + { + GtkTreeIter iter; + +@@ -9903,7 +10574,7 @@ shortcuts_key_press_event_cb (GtkWidget *widget, + + if (key_is_left_or_right (event)) + { +- gtk_widget_grab_focus (impl->browse_files_tree_view); ++ gtk_widget_grab_focus (impl->browse_files_current_view); + return TRUE; + } + +@@ -9974,8 +10645,9 @@ list_select_func (GtkTreeSelection *selection, + return TRUE; + } + ++/* GtkTreeSelection or GtkIconView selection changed. */ + static void +-list_selection_changed (GtkTreeSelection *selection, ++list_selection_changed (void *selection, + GtkFileChooserDefault *impl) + { + /* See if we are in the new folder editable row for Save mode */ +@@ -10012,15 +10684,34 @@ list_row_activated (GtkTreeView *tree_view, + GtkTreePath *path, + GtkTreeViewColumn *column, + GtkFileChooserDefault *impl) ++{ ++ GtkTreeModel *model; ++ model = gtk_tree_view_get_model (tree_view); ++ item_activated (model, path, impl); ++} ++ ++/* Callback used when a item in the icon file list is activated. */ ++static void ++icon_item_activated (GtkIconView *icon_view, ++ GtkTreePath *path, ++ GtkFileChooserDefault *impl) ++{ ++ GtkTreeModel *model; ++ model = gtk_icon_view_get_model (icon_view); ++ item_activated (model, path, impl); ++} ++ ++/* Common implementation for list_row_activated and icon_item_activated */ ++static void ++item_activated (GtkTreeModel *model, ++ GtkTreePath *path, ++ GtkFileChooserDefault *impl) + { + GFile *file; + GtkTreeIter iter; +- GtkTreeModel *model; + gboolean is_folder; + gboolean is_sensitive; + +- model = gtk_tree_view_get_model (tree_view); +- + if (!gtk_tree_model_get_iter (model, &iter, path)) + return; + +@@ -10070,6 +10761,10 @@ update_cell_renderer_attributes (GtkFileChooserDefault *impl) + { + GtkTreeViewColumn *column; + GtkCellRenderer *renderer; ++ /* only applicable in the tree view (i.e. list view) */ ++ if (!impl->browse_files_tree_view) ++ return; ++ + GList *walk, *list; + + /* Keep the following column numbers in sync with create_file_list() */ +@@ -10083,7 +10778,7 @@ update_cell_renderer_attributes (GtkFileChooserDefault *impl) + if (GTK_IS_CELL_RENDERER_PIXBUF (renderer)) + { + gtk_tree_view_column_set_attributes (column, renderer, +- "pixbuf", MODEL_COL_PIXBUF, ++ "pixbuf", MODEL_COL_LIST_PIXBUF, + NULL); + } + else +@@ -10148,7 +10843,7 @@ location_popup_handler (GtkFileChooserDefault *impl, + change_folder_and_display_error (impl, impl->current_folder, FALSE); + + if (impl->location_mode == LOCATION_MODE_PATH_BAR) +- widget_to_focus = impl->browse_files_tree_view; ++ widget_to_focus = impl->browse_files_current_view; + else + widget_to_focus = impl->location_entry; + +@@ -10350,3 +11045,241 @@ shortcuts_pane_model_filter_new (GtkFileChooserDefault *impl, + return GTK_TREE_MODEL (model); + } + ++static gboolean ++get_selected_tree_iter_from_icon_view (GtkFileChooserDefault *impl, ++ GtkTreeIter *iter_out) ++{ ++ GList *icon_selection; ++ GtkTreePath *icon_selection_path; ++ ++ icon_selection = gtk_icon_view_get_selected_items (GTK_ICON_VIEW (impl->browse_files_icon_view)); ++ if (!icon_selection) ++ return FALSE; ++ ++ icon_selection_path = g_list_nth_data (icon_selection, 0); ++ gtk_tree_model_get_iter (GTK_TREE_MODEL (impl->current_model), ++ iter_out, ++ icon_selection_path); ++ ++ g_list_foreach (icon_selection, (GFunc) gtk_tree_path_free, NULL); ++ g_list_free (icon_selection); ++ return TRUE; ++} ++ ++static void ++icon_view_selection_selected_foreach (GtkFileChooserDefault *impl, ++ GtkTreeSelectionForeachFunc func, ++ gpointer data) ++{ ++ GtkTreeIter iter; ++ GList *icon_selection; ++ GList *elem; ++ GtkTreePath *icon_selection_path; ++ ++ icon_selection = gtk_icon_view_get_selected_items (GTK_ICON_VIEW (impl->browse_files_icon_view)); ++ for (elem = icon_selection; elem; elem = elem->next) ++ { ++ icon_selection_path = elem->data; ++ gtk_tree_model_get_iter (GTK_TREE_MODEL (impl->current_model), ++ &iter, ++ icon_selection_path); ++ (* func) (GTK_TREE_MODEL (impl->current_model), ++ icon_selection_path, ++ &iter, ++ data); ++ } ++ ++ g_list_foreach (icon_selection, (GFunc) gtk_tree_path_free, NULL); ++ g_list_free (icon_selection); ++} ++ ++static void ++selection_selected_foreach (GtkFileChooserDefault *impl, ++ ViewMode view, ++ GtkTreeSelectionForeachFunc func, ++ gpointer data) ++{ ++ if (impl->current_model == NULL) ++ return; ++ ++ if (view == VIEW_MODE_LIST) ++ { ++ GtkTreeSelection *selection; ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); ++ gtk_tree_selection_selected_foreach (selection, func, data); ++ } ++ else if (view == VIEW_MODE_ICON) ++ icon_view_selection_selected_foreach (impl, func, data); ++ else ++ g_assert_not_reached (); ++} ++ ++static void ++current_selection_selected_foreach (GtkFileChooserDefault *impl, ++ GtkTreeSelectionForeachFunc func, ++ gpointer data) ++{ ++ selection_selected_foreach (impl, impl->view_mode, func, data); ++} ++ ++static guint ++current_selection_count_selected_rows (GtkFileChooserDefault *impl) ++{ ++ if (impl->view_mode == VIEW_MODE_LIST) ++ { ++ GtkTreeSelection *selection; ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); ++ return gtk_tree_selection_count_selected_rows (selection); ++ } ++ if (impl->view_mode == VIEW_MODE_ICON) ++ { ++ GList *icon_selection; ++ icon_selection = gtk_icon_view_get_selected_items (GTK_ICON_VIEW (impl->browse_files_icon_view)); ++ guint count = g_list_length (icon_selection); ++ g_list_foreach (icon_selection, (GFunc) gtk_tree_path_free, NULL); ++ g_list_free (icon_selection); ++ return count; ++ } ++ g_assert_not_reached (); ++ return 0; ++} ++ ++static void ++selection_select_iter (GtkFileChooserDefault *impl, ++ GtkTreeIter *iter, ++ ViewMode target) ++{ ++ if (target == VIEW_MODE_LIST) ++ { ++ GtkTreeSelection *selection; ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); ++ gtk_tree_selection_select_iter (selection, iter); ++ } ++ else if (target == VIEW_MODE_ICON) ++ { ++ GtkTreePath *path; ++ path = gtk_tree_model_get_path (impl->current_model, iter); ++ gtk_icon_view_select_path (GTK_ICON_VIEW (impl->browse_files_icon_view), path); ++ gtk_tree_path_free (path); ++ } ++ else ++ g_assert_not_reached (); ++} ++ ++static void ++current_selection_select_iter (GtkFileChooserDefault *impl, ++ GtkTreeIter *iter) ++{ ++ selection_select_iter (impl, iter, impl->view_mode); ++} ++ ++struct copy_old_selection_to_current_view_closure { ++ GtkFileChooserDefault *impl; ++}; ++ ++static void ++copy_old_selection_to_current_view_foreach_cp (GtkTreeModel *model, ++ GtkTreePath *path, ++ GtkTreeIter *iter, ++ gpointer data) ++{ ++ struct copy_old_selection_to_current_view_closure *closure; ++ closure = data; ++ selection_select_iter (closure->impl, iter, closure->impl->view_mode); ++} ++ ++static void ++copy_old_selection_to_current_view (GtkFileChooserDefault *impl, ++ ViewMode old_view_mode) ++{ ++ struct copy_old_selection_to_current_view_closure closure; ++ closure.impl = impl; ++ ++ selection_selected_foreach(impl, ++ old_view_mode, ++ copy_old_selection_to_current_view_foreach_cp, ++ &closure); ++} ++ ++static void ++current_selection_unselect_iter (GtkFileChooserDefault *impl, ++ GtkTreeIter *iter) ++{ ++ if (impl->view_mode == VIEW_MODE_LIST) ++ { ++ GtkTreeSelection *selection; ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); ++ gtk_tree_selection_unselect_iter (selection, iter); ++ } ++ else if (impl->view_mode == VIEW_MODE_ICON) ++ { ++ GtkTreePath *path; ++ path = gtk_tree_model_get_path (impl->current_model, iter); ++ gtk_icon_view_unselect_path (GTK_ICON_VIEW (impl->browse_files_icon_view), path); ++ gtk_tree_path_free (path); ++ } ++ else ++ g_assert_not_reached (); ++} ++ ++static void ++current_selection_unselect_all (GtkFileChooserDefault *impl) ++{ ++ if (impl->view_mode == VIEW_MODE_LIST) ++ { ++ GtkTreeSelection *selection; ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); ++ gtk_tree_selection_unselect_all (selection); ++ } ++ else if (impl->view_mode == VIEW_MODE_ICON) ++ gtk_icon_view_unselect_all (GTK_ICON_VIEW (impl->browse_files_icon_view)); ++ else ++ g_assert_not_reached (); ++} ++ ++static void ++current_view_set_file_model (GtkFileChooserDefault *impl, GtkTreeModel *model) ++{ ++ GtkWidget *view; ++ ++ impl->current_model = model; ++ ++ if (impl->view_mode == VIEW_MODE_LIST) ++ view = impl->browse_files_tree_view; ++ else if (impl->view_mode == VIEW_MODE_ICON) ++ view = impl->browse_files_icon_view; ++ else ++ g_assert_not_reached (); ++ ++ g_object_set (view, "model", impl->current_model, NULL); ++} ++ ++static void ++current_view_set_cursor (GtkFileChooserDefault *impl, GtkTreePath *path) ++{ ++ if (impl->view_mode == VIEW_MODE_LIST) ++ gtk_tree_view_set_cursor (GTK_TREE_VIEW (impl->browse_files_tree_view), path, NULL, FALSE); ++ else if (impl->view_mode == VIEW_MODE_ICON) ++ gtk_icon_view_set_cursor (GTK_ICON_VIEW (impl->browse_files_icon_view), path, NULL, FALSE); ++ else ++ g_assert_not_reached (); ++} ++ ++static void ++current_view_set_select_multiple (GtkFileChooserDefault *impl, gboolean select_multiple) ++{ ++ GtkTreeSelection *selection; ++ GtkSelectionMode mode; ++ mode = select_multiple ? GTK_SELECTION_MULTIPLE : GTK_SELECTION_BROWSE; ++ ++ if (impl->view_mode == VIEW_MODE_LIST) ++ { ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); ++ gtk_tree_selection_set_mode (selection, mode); ++ gtk_tree_view_set_rubber_banding (GTK_TREE_VIEW (impl->browse_files_tree_view), select_multiple); ++ } ++ else if (impl->view_mode == VIEW_MODE_ICON) ++ gtk_icon_view_set_selection_mode (GTK_ICON_VIEW (impl->browse_files_icon_view), mode); ++ else ++ g_assert_not_reached (); ++} +diff --git a/gtk/gtkfilechooserprivate.h b/gtk/gtkfilechooserprivate.h +index dab74c3bdd..ba09a55364 100644 +--- a/gtk/gtkfilechooserprivate.h ++++ b/gtk/gtkfilechooserprivate.h +@@ -33,6 +33,8 @@ + #include "gtktreestore.h" + #include "gtktreeview.h" + #include "gtkvbox.h" ++#include "gtkiconview.h" ++#include "gtkhscale.h" + + G_BEGIN_DECLS + +@@ -135,6 +137,11 @@ typedef enum { + LOCATION_MODE_FILENAME_ENTRY + } LocationMode; + ++typedef enum { ++ VIEW_MODE_LIST, ++ VIEW_MODE_ICON ++} ViewMode; ++ + typedef enum { + OPERATION_MODE_BROWSE, + OPERATION_MODE_SEARCH, +@@ -170,10 +177,18 @@ struct _GtkFileChooserDefault + GtkWidget *browse_shortcuts_popup_menu_remove_item; + GtkWidget *browse_shortcuts_popup_menu_rename_item; + GtkWidget *browse_files_tree_view; ++ GtkWidget *browse_files_scrolled_window; ++ GtkWidget *browse_files_current_view; ++ GtkWidget *browse_files_icon_view; + GtkWidget *browse_files_popup_menu; + GtkWidget *browse_files_popup_menu_add_shortcut_item; + GtkWidget *browse_files_popup_menu_hidden_files_item; + GtkWidget *browse_files_popup_menu_size_column_item; ++ GtkWidget *browse_files_popup_menu_sort_by_name_item; ++ GtkWidget *browse_files_popup_menu_sort_by_size_item; ++ GtkWidget *browse_files_popup_menu_sort_by_mtime_item; ++ GtkWidget *browse_files_popup_menu_sort_ascending_item; ++ GtkWidget *browse_files_popup_menu_sort_descending_item; + GtkWidget *browse_new_folder_button; + GtkWidget *browse_path_bar_hbox; + GtkSizeGroup *browse_path_bar_size_group; +@@ -186,6 +201,7 @@ struct _GtkFileChooserDefault + + gulong toplevel_unmapped_id; + ++ GtkTreeModel *current_model; + GtkFileSystemModel *browse_files_model; + char *browse_files_last_selected_name; + +@@ -211,6 +227,13 @@ struct _GtkFileChooserDefault + GtkWidget *extra_align; + GtkWidget *extra_widget; + ++ GtkWidget *view_mode_combo_box; ++ GtkWidget *icon_view_scale_hbox; ++ GtkWidget *icon_view_scale; ++ GtkWidget *icon_view_scale_zoom_in_icon; ++ GtkWidget *icon_view_scale_zoom_out_icon; ++ ViewMode view_mode; ++ + GtkWidget *location_button; + GtkWidget *location_entry_box; + GtkWidget *location_label; +@@ -259,6 +282,7 @@ struct _GtkFileChooserDefault + + GtkTreeViewColumn *list_name_column; + GtkCellRenderer *list_name_renderer; ++ GtkCellRenderer *list_icon_renderer; + GtkTreeViewColumn *list_mtime_column; + GtkTreeViewColumn *list_size_column; + +@@ -266,10 +290,14 @@ struct _GtkFileChooserDefault + char *edited_new_text; + + gulong settings_signal_id; +- int icon_size; ++ int list_view_icon_size; ++ int icon_view_icon_size; + + GSource *focus_entry_idle; + ++ GSource *start_editing_icon_view_idle; ++ GtkTreePath *start_editing_icon_view_path; ++ + gulong toplevel_set_focus_id; + GtkWidget *toplevel_last_focus_widget; + +diff --git a/gtk/gtkfilechoosersettings.c b/gtk/gtkfilechoosersettings.c +index 5b8fb87611..ce34291ef0 100644 +--- a/gtk/gtkfilechoosersettings.c ++++ b/gtk/gtkfilechoosersettings.c +@@ -39,6 +39,8 @@ + + #define SETTINGS_GROUP "Filechooser Settings" + #define LOCATION_MODE_KEY "LocationMode" ++#define VIEW_MODE_KEY "ViewMode" ++#define ICON_VIEW_SCALE_KEY "IconViewScale" + #define SHOW_HIDDEN_KEY "ShowHidden" + #define SHOW_SIZE_COLUMN_KEY "ShowSizeColumn" + #define GEOMETRY_X_KEY "GeometryX" +@@ -58,8 +60,11 @@ + #define STARTUP_MODE_RECENT_STRING "recent" + #define STARTUP_MODE_CWD_STRING "cwd" + +-#define MODE_PATH_BAR "path-bar" +-#define MODE_FILENAME_ENTRY "filename-entry" ++#define MODE_PATH_BAR "path-bar" ++#define MODE_FILENAME_ENTRY "filename-entry" ++ ++#define MODE_LIST_VIEW "list-view" ++#define MODE_ICON_VIEW "icon-view" + + #define EQ(a, b) (g_ascii_strcasecmp ((a), (b)) == 0) + +@@ -114,7 +119,7 @@ ensure_settings_read (GtkFileChooserSettings *settings) + { + GError *error; + GKeyFile *key_file; +- gchar *location_mode_str, *filename; ++ gchar *location_mode_str, *view_mode_str, *filename; + gchar *sort_column, *sort_order; + gchar *startup_mode; + gboolean value; +@@ -159,6 +164,27 @@ ensure_settings_read (GtkFileChooserSettings *settings) + g_free (location_mode_str); + } + ++ /* View mode */ ++ ++ view_mode_str = g_key_file_get_string (key_file, SETTINGS_GROUP, ++ VIEW_MODE_KEY, NULL); ++ if (view_mode_str) ++ { ++ if (EQ (view_mode_str, MODE_LIST_VIEW)) ++ settings->view_mode = VIEW_MODE_LIST; ++ else if (EQ (view_mode_str, MODE_ICON_VIEW)) ++ settings->view_mode = VIEW_MODE_ICON; ++ else ++ g_warning ("Unknown view mode '%s' encountered in filechooser settings", ++ view_mode_str); ++ ++ g_free (view_mode_str); ++ } ++ ++ /* Icon view scale */ ++ ++ get_int_key (key_file, SETTINGS_GROUP, ICON_VIEW_SCALE_KEY, &settings->icon_view_scale); ++ + /* Show hidden */ + + value = g_key_file_get_boolean (key_file, SETTINGS_GROUP, +@@ -256,6 +282,8 @@ static void + _gtk_file_chooser_settings_init (GtkFileChooserSettings *settings) + { + settings->location_mode = LOCATION_MODE_PATH_BAR; ++ settings->view_mode = VIEW_MODE_LIST; ++ settings->icon_view_scale = 48; + settings->sort_order = GTK_SORT_ASCENDING; + settings->sort_column = FILE_LIST_COL_NAME; + settings->show_hidden = FALSE; +@@ -287,6 +315,34 @@ _gtk_file_chooser_settings_set_location_mode (GtkFileChooserSettings *settings, + settings->location_mode = location_mode; + } + ++ViewMode ++_gtk_file_chooser_settings_get_view_mode (GtkFileChooserSettings *settings) ++{ ++ ensure_settings_read (settings); ++ return settings->view_mode; ++} ++ ++void ++_gtk_file_chooser_settings_set_view_mode (GtkFileChooserSettings *settings, ++ ViewMode view_mode) ++{ ++ settings->view_mode = view_mode; ++} ++ ++gint ++_gtk_file_chooser_settings_get_icon_view_scale (GtkFileChooserSettings *settings) ++{ ++ ensure_settings_read (settings); ++ return settings->icon_view_scale; ++} ++ ++void ++_gtk_file_chooser_settings_set_icon_view_scale (GtkFileChooserSettings *settings, ++ gint icon_view_scale) ++{ ++ settings->icon_view_scale = icon_view_scale; ++} ++ + gboolean + _gtk_file_chooser_settings_get_show_hidden (GtkFileChooserSettings *settings) + { +@@ -389,7 +445,7 @@ gboolean + _gtk_file_chooser_settings_save (GtkFileChooserSettings *settings, + GError **error) + { +- const gchar *location_mode_str; ++ const gchar *location_mode_str, *view_mode_str; + gchar *filename; + gchar *dirname; + gchar *contents; +@@ -417,6 +473,16 @@ _gtk_file_chooser_settings_save (GtkFileChooserSettings *settings, + return FALSE; + } + ++ if (settings->view_mode == VIEW_MODE_LIST) ++ view_mode_str = MODE_LIST_VIEW; ++ else if (settings->view_mode == VIEW_MODE_ICON) ++ view_mode_str = MODE_ICON_VIEW; ++ else ++ { ++ g_assert_not_reached (); ++ return FALSE; ++ } ++ + switch (settings->sort_column) + { + case FILE_LIST_COL_NAME: +@@ -473,6 +539,10 @@ _gtk_file_chooser_settings_save (GtkFileChooserSettings *settings, + + g_key_file_set_string (key_file, SETTINGS_GROUP, + LOCATION_MODE_KEY, location_mode_str); ++ g_key_file_set_string (key_file, SETTINGS_GROUP, ++ VIEW_MODE_KEY, view_mode_str); ++ g_key_file_set_integer (key_file, SETTINGS_GROUP, ++ ICON_VIEW_SCALE_KEY, settings->icon_view_scale); + g_key_file_set_boolean (key_file, SETTINGS_GROUP, + SHOW_HIDDEN_KEY, settings->show_hidden); + g_key_file_set_boolean (key_file, SETTINGS_GROUP, +diff --git a/gtk/gtkfilechoosersettings.h b/gtk/gtkfilechoosersettings.h +index 2283192c01..b987fca8c3 100644 +--- a/gtk/gtkfilechoosersettings.h ++++ b/gtk/gtkfilechoosersettings.h +@@ -45,9 +45,10 @@ struct _GtkFileChooserSettings + GObject object; + + LocationMode location_mode; ++ ViewMode view_mode; + + GtkSortType sort_order; +- gint sort_column; ++ gint sort_column, icon_view_scale; + StartupMode startup_mode; + + int geometry_x; +@@ -73,6 +74,14 @@ LocationMode _gtk_file_chooser_settings_get_location_mode (GtkFileChooserSetting + void _gtk_file_chooser_settings_set_location_mode (GtkFileChooserSettings *settings, + LocationMode location_mode); + ++ViewMode _gtk_file_chooser_settings_get_view_mode (GtkFileChooserSettings *settings); ++void _gtk_file_chooser_settings_set_view_mode (GtkFileChooserSettings *settings, ++ ViewMode view_mode); ++ ++gint _gtk_file_chooser_settings_get_icon_view_scale (GtkFileChooserSettings *settings); ++void _gtk_file_chooser_settings_set_icon_view_scale (GtkFileChooserSettings *settings, ++ gint icon_view_scale); ++ + gboolean _gtk_file_chooser_settings_get_show_hidden (GtkFileChooserSettings *settings); + void _gtk_file_chooser_settings_set_show_hidden (GtkFileChooserSettings *settings, + gboolean show_hidden); diff --git a/testing/gtk+2/sources b/testing/gtk+2/sources new file mode 100644 index 0000000..747b8fc --- /dev/null +++ b/testing/gtk+2/sources @@ -0,0 +1,2 @@ +https://download.gnome.org/sources/gtk+/2.24/gtk+-2.24.32.tar.xz +patches/gtk2-filechooser-icon-view.patch diff --git a/testing/gtk+2/version b/testing/gtk+2/version new file mode 100644 index 0000000..2885a4a --- /dev/null +++ b/testing/gtk+2/version @@ -0,0 +1 @@ +2.24.32 3 diff --git a/testing/gtk2-experimental/build b/testing/gtk2-experimental/build new file mode 100755 index 0000000..5cb9870 --- /dev/null +++ b/testing/gtk2-experimental/build @@ -0,0 +1,22 @@ +#!/bin/sh -e + +export CFLAGS="$CFLAGS -UGDK_PIXBUF_DISABLE_DEPRECATED" + +# Don't build GTK examples/demos/testsuite. +sed -i 's/modules demos tests/modules/' Makefile.am Makefile.in +sed -i 's/docs m4macros/m4macros/' Makefile.am Makefile.in + +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --enable-debug=no \ + --disable-gtk-doc \ + --with-xinput=yes + +make +make DESTDIR="$1" install + +rm -f "$1/usr/bin/gtk-update-icon-cache" +rm -f "$1/usr/bin/gtk-demo" +rm -rf "$1/usr/share/gtk-2.0/demo" diff --git a/testing/gtk2-experimental/sources b/testing/gtk2-experimental/sources new file mode 100644 index 0000000..335b56a --- /dev/null +++ b/testing/gtk2-experimental/sources @@ -0,0 +1 @@ +git+https://github.com/Dudemanguy/gtk.git diff --git a/testing/gtk2-experimental/version b/testing/gtk2-experimental/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/testing/gtk2-experimental/version @@ -0,0 +1 @@ +git 1 diff --git a/testing/itcl/build b/testing/itcl/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/testing/itcl/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/testing/itcl/checksums b/testing/itcl/checksums new file mode 100644 index 0000000..5a41d9b --- /dev/null +++ b/testing/itcl/checksums @@ -0,0 +1 @@ +63860438ca22f70049aecff70dc607b31bb1bea0edcc736e36ac6e36c24aecde diff --git a/testing/itcl/sources b/testing/itcl/sources new file mode 100644 index 0000000..859e11b --- /dev/null +++ b/testing/itcl/sources @@ -0,0 +1 @@ +https://downloads.sourceforge.net/project/incrtcl/%5Bincr%20Tcl_Tk%5D-4-source/itcl%204.0.4/itcl4.0.4.tar.gz diff --git a/testing/itcl/version b/testing/itcl/version new file mode 100644 index 0000000..325d094 --- /dev/null +++ b/testing/itcl/version @@ -0,0 +1 @@ +4.0.4 1 diff --git a/testing/libXt b/testing/libXt new file mode 120000 index 0000000..0014066 --- /dev/null +++ b/testing/libXt @@ -0,0 +1 @@ +../kiss-repo/xorg/libXt \ No newline at end of file diff --git a/testing/liberation-circuit/build b/testing/liberation-circuit/build new file mode 100755 index 0000000..771f2b1 --- /dev/null +++ b/testing/liberation-circuit/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./do + +printf "Fuck +" +make DESTDIR="$1" install diff --git a/testing/liberation-circuit/depends b/testing/liberation-circuit/depends new file mode 100644 index 0000000..aba56e0 --- /dev/null +++ b/testing/liberation-circuit/depends @@ -0,0 +1 @@ +allegro diff --git a/testing/liberation-circuit/sources b/testing/liberation-circuit/sources new file mode 100644 index 0000000..fdcc805 --- /dev/null +++ b/testing/liberation-circuit/sources @@ -0,0 +1 @@ +git+https://github.com/linleyh/liberation-circuit diff --git a/testing/liberation-circuit/version b/testing/liberation-circuit/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/testing/liberation-circuit/version @@ -0,0 +1 @@ +git 1 diff --git a/testing/libevent/build b/testing/libevent/build new file mode 100755 index 0000000..7ca84fc --- /dev/null +++ b/testing/libevent/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --disable-static + +make +make DESTDIR="$1" install diff --git a/testing/libevent/checksums b/testing/libevent/checksums new file mode 100644 index 0000000..dc8fe3c --- /dev/null +++ b/testing/libevent/checksums @@ -0,0 +1 @@ +92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb libevent-2.1.12-stable.tar.gz diff --git a/testing/libevent/sources b/testing/libevent/sources new file mode 100644 index 0000000..ab57f04 --- /dev/null +++ b/testing/libevent/sources @@ -0,0 +1 @@ +https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz diff --git a/testing/libevent/version b/testing/libevent/version new file mode 100644 index 0000000..19d8e60 --- /dev/null +++ b/testing/libevent/version @@ -0,0 +1 @@ +2.1.12 1 diff --git a/testing/libffi b/testing/libffi new file mode 120000 index 0000000..4196506 --- /dev/null +++ b/testing/libffi @@ -0,0 +1 @@ +../kiss-repo/extra/libffi \ No newline at end of file diff --git a/testing/libvpx b/testing/libvpx new file mode 120000 index 0000000..eb05a7e --- /dev/null +++ b/testing/libvpx @@ -0,0 +1 @@ +../kiss-repo/extra/libvpx \ No newline at end of file diff --git a/testing/luarocks/build b/testing/luarocks/build new file mode 100755 index 0000000..bbda8d5 --- /dev/null +++ b/testing/luarocks/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +#ls +#tar xf v3.4.0 +#ls +#cd v3.4.0 + +./configure --with-lua-include=/usr/include/luajit-2.0 --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/testing/luarocks/checksums b/testing/luarocks/checksums new file mode 100644 index 0000000..4e2de78 --- /dev/null +++ b/testing/luarocks/checksums @@ -0,0 +1 @@ +982b00ad0d56d3f48a512000efeac88e9d6e663a62768d8a024a7cec9a665f45 diff --git a/testing/luarocks/depends b/testing/luarocks/depends new file mode 100644 index 0000000..df66435 --- /dev/null +++ b/testing/luarocks/depends @@ -0,0 +1 @@ +luajit diff --git a/testing/luarocks/sources b/testing/luarocks/sources new file mode 100644 index 0000000..605cc7c --- /dev/null +++ b/testing/luarocks/sources @@ -0,0 +1 @@ +https://github.com/luarocks/luarocks/archive/v3.4.0.tar.gz diff --git a/testing/luarocks/version b/testing/luarocks/version new file mode 100644 index 0000000..2d80e27 --- /dev/null +++ b/testing/luarocks/version @@ -0,0 +1 @@ +3.4.0 1 diff --git a/testing/nuegia-browser-bin/build b/testing/nuegia-browser-bin/build new file mode 100755 index 0000000..c3bda12 --- /dev/null +++ b/testing/nuegia-browser-bin/build @@ -0,0 +1,5 @@ +#!/bin/sh -e + +mkdir -p "$1/usr/bin/wdir" +mv ../* "$1/usr/bin/wdir" +ln -s /usr/bin/wdir/nuegia-browser-bin/webbrowser "$1/usr/bin/Navigator" diff --git a/testing/nuegia-browser-bin/checksums b/testing/nuegia-browser-bin/checksums new file mode 100644 index 0000000..e42a736 --- /dev/null +++ b/testing/nuegia-browser-bin/checksums @@ -0,0 +1 @@ +b1a0274c058fc6c748ec9fad6afb6e21123bc055b48842e8818283e24aa6a009 diff --git a/testing/nuegia-browser-bin/depends b/testing/nuegia-browser-bin/depends new file mode 100644 index 0000000..6794bd2 --- /dev/null +++ b/testing/nuegia-browser-bin/depends @@ -0,0 +1,11 @@ +alsa-lib +dbus-glib +freetype-harfbuzz +gdk-pixbuf +glib +gtk+2 +libevent +libjpeg-turbo +libvpx +libxcb +pango diff --git a/testing/nuegia-browser-bin/sources b/testing/nuegia-browser-bin/sources new file mode 100644 index 0000000..6eeb7b3 --- /dev/null +++ b/testing/nuegia-browser-bin/sources @@ -0,0 +1 @@ +http://midfavila.chaosnet.org/files/archives/webbrowser.tar.xz diff --git a/testing/nuegia-browser-bin/version b/testing/nuegia-browser-bin/version new file mode 100644 index 0000000..510ddb8 --- /dev/null +++ b/testing/nuegia-browser-bin/version @@ -0,0 +1 @@ +29.2 1 diff --git a/testing/procps-ng/build b/testing/procps-ng/build new file mode 100755 index 0000000..ea93017 --- /dev/null +++ b/testing/procps-ng/build @@ -0,0 +1,11 @@ +#!/bin/sh -e + +./autogen.sh + +./configure \ + --prefix=/usr \ + --bindir=/usr/bin/ \ + --sbindir=/usr/bin/ + +make +make DESTDIR="$1" install diff --git a/testing/procps-ng/depends b/testing/procps-ng/depends new file mode 100644 index 0000000..36de2f9 --- /dev/null +++ b/testing/procps-ng/depends @@ -0,0 +1,4 @@ +autoconf make +automake make +gnu-gettext make +libtool make diff --git a/testing/procps-ng/sources b/testing/procps-ng/sources new file mode 100644 index 0000000..bc90816 --- /dev/null +++ b/testing/procps-ng/sources @@ -0,0 +1 @@ +git+https://gitlab.com/procps-ng/procps/ diff --git a/testing/procps-ng/version b/testing/procps-ng/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/testing/procps-ng/version @@ -0,0 +1 @@ +git 1 diff --git a/testing/scrot-git/build b/testing/scrot-git/build new file mode 100755 index 0000000..13959c4 --- /dev/null +++ b/testing/scrot-git/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --mandir=/usr/share/man + +make +make DESTDIR="$1" install diff --git a/testing/scrot-git/checksums b/testing/scrot-git/checksums new file mode 100644 index 0000000..24aeda4 --- /dev/null +++ b/testing/scrot-git/checksums @@ -0,0 +1 @@ +ca9156a06b468334e18220040b2984da60136f6a2e0e979f668eda6e3f1e1c05 scrot-0.8.tar.gz diff --git a/testing/scrot-git/depends b/testing/scrot-git/depends new file mode 100644 index 0000000..d72e854 --- /dev/null +++ b/testing/scrot-git/depends @@ -0,0 +1,3 @@ +giblib +imlib2 +libX11 diff --git a/testing/scrot-git/manifest b/testing/scrot-git/manifest new file mode 100644 index 0000000..268b31f --- /dev/null +++ b/testing/scrot-git/manifest @@ -0,0 +1,24 @@ +/var/db/kiss/installed/scrot/version +/var/db/kiss/installed/scrot/sources +/var/db/kiss/installed/scrot/manifest +/var/db/kiss/installed/scrot/depends +/var/db/kiss/installed/scrot/checksums +/var/db/kiss/installed/scrot/build +/var/db/kiss/installed/scrot/ +/var/db/kiss/installed/ +/var/db/kiss/ +/var/db/ +/var/ +/usr/share/man/man1/scrot.1 +/usr/share/man/man1/ +/usr/share/man/ +/usr/share/ +/usr/doc/scrot/TODO +/usr/doc/scrot/README +/usr/doc/scrot/ChangeLog +/usr/doc/scrot/AUTHORS +/usr/doc/scrot/ +/usr/doc/ +/usr/bin/scrot +/usr/bin/ +/usr/ diff --git a/testing/scrot-git/sources b/testing/scrot-git/sources new file mode 100644 index 0000000..f6d2752 --- /dev/null +++ b/testing/scrot-git/sources @@ -0,0 +1 @@ +git+https://github.com/dreamer/scrot diff --git a/testing/scrot-git/version b/testing/scrot-git/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/testing/scrot-git/version @@ -0,0 +1 @@ +git 1 diff --git a/testing/spacefm/build b/testing/spacefm/build new file mode 100755 index 0000000..576302c --- /dev/null +++ b/testing/spacefm/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +patch -p1 < sfm.patch + +./configure --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/testing/spacefm/checksums b/testing/spacefm/checksums new file mode 100644 index 0000000..2defad3 --- /dev/null +++ b/testing/spacefm/checksums @@ -0,0 +1,2 @@ +fedea9fcad776e0af4b8d90c5a1c86684a9c96ef1cdd4e959530ce93bdebe7c9 +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 diff --git a/testing/spacefm/patches/patch1.patch b/testing/spacefm/patches/patch1.patch new file mode 100644 index 0000000..1c32087 --- /dev/null +++ b/testing/spacefm/patches/patch1.patch @@ -0,0 +1,91 @@ +diff --git a/src/settings.c b/src/settings.c +index 280196f..9d8e880 100644 +--- a/src/settings.c ++++ b/src/settings.c +@@ -52,6 +52,24 @@ + /* Dirty hack: check whether we are under LXDE or not */ + #define is_under_LXDE() (g_getenv( "_LXSESSION_PID" ) != NULL) + ++/* GCC 10.1+ */ ++char* settings_terminal_su = NULL; ++char* settings_graphical_su = NULL; ++GList* xset_cmd_history = NULL; ++XSet* evt_win_focus = NULL; ++XSet* evt_win_move = NULL; ++XSet* evt_win_click = NULL; ++XSet* evt_win_key = NULL; ++XSet* evt_win_close = NULL; ++XSet* evt_pnl_show = NULL; ++XSet* evt_pnl_focus = NULL; ++XSet* evt_pnl_sel = NULL; ++XSet* evt_tab_new = NULL; ++XSet* evt_tab_chdir = NULL; ++XSet* evt_tab_focus = NULL; ++XSet* evt_tab_close = NULL; ++XSet* evt_device = NULL; ++ + AppSettings app_settings = {0}; + /* const gboolean singleInstance_default = TRUE; */ + const gboolean show_hidden_files_default = FALSE; +diff --git a/src/settings.h b/src/settings.h +index 07419b8..4591d48 100644 +--- a/src/settings.h ++++ b/src/settings.h +@@ -130,7 +130,7 @@ const char* xset_get_user_tmp_dir(); + /////////////////////////////////////////////////////////////////////////////// + //MOD extra settings below + +-GList* xsets; ++extern GList* xsets; + + enum { + XSET_B_UNSET, +@@ -333,22 +333,22 @@ typedef struct + } XMenuItem; + + // cache these for speed in event handlers +-XSet* evt_win_focus; +-XSet* evt_win_move; +-XSet* evt_win_click; +-XSet* evt_win_key; +-XSet* evt_win_close; +-XSet* evt_pnl_show; +-XSet* evt_pnl_focus; +-XSet* evt_pnl_sel; +-XSet* evt_tab_new; +-XSet* evt_tab_chdir; +-XSet* evt_tab_focus; +-XSet* evt_tab_close; +-XSet* evt_device; ++extern XSet* evt_win_focus; ++extern XSet* evt_win_move; ++extern XSet* evt_win_click; ++extern XSet* evt_win_key; ++extern XSet* evt_win_close; ++extern XSet* evt_pnl_show; ++extern XSet* evt_pnl_focus; ++extern XSet* evt_pnl_sel; ++extern XSet* evt_tab_new; ++extern XSet* evt_tab_chdir; ++extern XSet* evt_tab_focus; ++extern XSet* evt_tab_close; ++extern XSet* evt_device; + + // instance-wide command history +-GList* xset_cmd_history; ++extern GList* xset_cmd_history; + + static const char* terminal_programs[] = //for pref-dialog.c + { +@@ -396,8 +396,8 @@ static const char* gsu_commands[] = // order and contents must match prefdlg.ui + }; + + // These will contain the su and gsu settings from /etc/spacefm/spacefm.conf +-char* settings_terminal_su; +-char* settings_graphical_su; ++extern char* settings_terminal_su; ++extern char* settings_graphical_su; + + typedef struct + { + diff --git a/testing/spacefm/patches/sfm.patch b/testing/spacefm/patches/sfm.patch new file mode 100644 index 0000000..e69de29 diff --git a/testing/spacefm/sources b/testing/spacefm/sources new file mode 100644 index 0000000..30d4b4c --- /dev/null +++ b/testing/spacefm/sources @@ -0,0 +1,2 @@ +https://github.com/IgnorantGuru/spacefm/archive/1.0.6.tar.gz +patches/sfm.patch diff --git a/testing/spacefm/version b/testing/spacefm/version new file mode 100644 index 0000000..1cc91c9 --- /dev/null +++ b/testing/spacefm/version @@ -0,0 +1 @@ +1.0.6 1 diff --git a/testing/sqlite b/testing/sqlite new file mode 120000 index 0000000..e19e8d1 --- /dev/null +++ b/testing/sqlite @@ -0,0 +1 @@ +../kiss-repo/extra/sqlite \ No newline at end of file diff --git a/testing/transmission-gtk2/build b/testing/transmission-gtk2/build new file mode 100755 index 0000000..1150b65 --- /dev/null +++ b/testing/transmission-gtk2/build @@ -0,0 +1,8 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr \ + --with-gtk2 + +make +make DESTDIR="$1" install diff --git a/testing/transmission-gtk2/checksums b/testing/transmission-gtk2/checksums new file mode 100644 index 0000000..ac4b065 --- /dev/null +++ b/testing/transmission-gtk2/checksums @@ -0,0 +1 @@ +e46540c5e9098eecc2d00c1b0c1defd687a01a1dc4bc3e2fc64722ef236d55e5 diff --git a/testing/transmission-gtk2/depends b/testing/transmission-gtk2/depends new file mode 100644 index 0000000..179558c --- /dev/null +++ b/testing/transmission-gtk2/depends @@ -0,0 +1,13 @@ +atk +cairo +curl +fontconfig +freetype-harfbuzz +gdk-pixbuf +glib +gtk+2 +intltool make +libevent +libressl +pango +zlib diff --git a/testing/transmission-gtk2/manifest b/testing/transmission-gtk2/manifest new file mode 100644 index 0000000..a3b8a33 --- /dev/null +++ b/testing/transmission-gtk2/manifest @@ -0,0 +1,128 @@ +/var/db/kiss/installed/transmission-gtk2/version +/var/db/kiss/installed/transmission-gtk2/sources +/var/db/kiss/installed/transmission-gtk2/manifest +/var/db/kiss/installed/transmission-gtk2/depends +/var/db/kiss/installed/transmission-gtk2/checksums +/var/db/kiss/installed/transmission-gtk2/build +/var/db/kiss/installed/transmission-gtk2/ +/var/db/kiss/installed/ +/var/db/kiss/ +/var/db/ +/var/ +/usr/share/transmission/web/style/transmission/mobile.css +/usr/share/transmission/web/style/transmission/images/wrench.png +/usr/share/transmission/web/style/transmission/images/turtle.png +/usr/share/transmission/web/style/transmission/images/toolbar-start.png +/usr/share/transmission/web/style/transmission/images/toolbar-start-all.png +/usr/share/transmission/web/style/transmission/images/toolbar-pause.png +/usr/share/transmission/web/style/transmission/images/toolbar-pause-all.png +/usr/share/transmission/web/style/transmission/images/toolbar-info.png +/usr/share/transmission/web/style/transmission/images/toolbar-folder.png +/usr/share/transmission/web/style/transmission/images/toolbar-close.png +/usr/share/transmission/web/style/transmission/images/settings.png +/usr/share/transmission/web/style/transmission/images/progress.png +/usr/share/transmission/web/style/transmission/images/logo.png +/usr/share/transmission/web/style/transmission/images/lock_icon.png +/usr/share/transmission/web/style/transmission/images/inspector-trackers.png +/usr/share/transmission/web/style/transmission/images/inspector-peers.png +/usr/share/transmission/web/style/transmission/images/inspector-info.png +/usr/share/transmission/web/style/transmission/images/inspector-files.png +/usr/share/transmission/web/style/transmission/images/filter_icon.png +/usr/share/transmission/web/style/transmission/images/filter_bar.png +/usr/share/transmission/web/style/transmission/images/file-priority-normal.png +/usr/share/transmission/web/style/transmission/images/file-priority-low.png +/usr/share/transmission/web/style/transmission/images/file-priority-high.png +/usr/share/transmission/web/style/transmission/images/compact.png +/usr/share/transmission/web/style/transmission/images/buttons/torrent_buttons.png +/usr/share/transmission/web/style/transmission/images/buttons/ +/usr/share/transmission/web/style/transmission/images/blue-turtle.png +/usr/share/transmission/web/style/transmission/images/arrow-up.png +/usr/share/transmission/web/style/transmission/images/arrow-down.png +/usr/share/transmission/web/style/transmission/images/ +/usr/share/transmission/web/style/transmission/common.css +/usr/share/transmission/web/style/transmission/ +/usr/share/transmission/web/style/jqueryui/jqueryui-1.8.16.css +/usr/share/transmission/web/style/jqueryui/images/ui-icons_454545_256x240.png +/usr/share/transmission/web/style/jqueryui/images/ui-icons_222222_256x240.png +/usr/share/transmission/web/style/jqueryui/images/ui-bg_highlight-soft_75_cccccc_1x100.png +/usr/share/transmission/web/style/jqueryui/images/ui-bg_glass_75_e6e6e6_1x400.png +/usr/share/transmission/web/style/jqueryui/images/ui-bg_glass_75_dadada_1x400.png +/usr/share/transmission/web/style/jqueryui/images/ui-bg_glass_65_ffffff_1x400.png +/usr/share/transmission/web/style/jqueryui/images/ui-bg_flat_75_ffffff_40x100.png +/usr/share/transmission/web/style/jqueryui/images/ +/usr/share/transmission/web/style/jqueryui/ +/usr/share/transmission/web/style/ +/usr/share/transmission/web/javascript/transmission.js +/usr/share/transmission/web/javascript/torrent.js +/usr/share/transmission/web/javascript/torrent-row.js +/usr/share/transmission/web/javascript/remote.js +/usr/share/transmission/web/javascript/prefs-dialog.js +/usr/share/transmission/web/javascript/notifications.js +/usr/share/transmission/web/javascript/jquery/json2.min.js +/usr/share/transmission/web/javascript/jquery/jqueryui-1.8.16.min.js +/usr/share/transmission/web/javascript/jquery/jquery.transmenu.min.js +/usr/share/transmission/web/javascript/jquery/jquery.min.js +/usr/share/transmission/web/javascript/jquery/jquery.form.min.js +/usr/share/transmission/web/javascript/jquery/jquery.form.js +/usr/share/transmission/web/javascript/jquery/jquery.contextmenu.min.js +/usr/share/transmission/web/javascript/jquery/ +/usr/share/transmission/web/javascript/inspector.js +/usr/share/transmission/web/javascript/formatter.js +/usr/share/transmission/web/javascript/file-row.js +/usr/share/transmission/web/javascript/dialog.js +/usr/share/transmission/web/javascript/common.js +/usr/share/transmission/web/javascript/ +/usr/share/transmission/web/index.html +/usr/share/transmission/web/images/webclip-icon.png +/usr/share/transmission/web/images/favicon.png +/usr/share/transmission/web/images/favicon.ico +/usr/share/transmission/web/images/ +/usr/share/transmission/web/LICENSE +/usr/share/transmission/web/ +/usr/share/transmission/ +/usr/share/pixmaps/transmission.png +/usr/share/pixmaps/ +/usr/share/man/man1/transmission-show.1 +/usr/share/man/man1/transmission-remote.1 +/usr/share/man/man1/transmission-gtk.1 +/usr/share/man/man1/transmission-edit.1 +/usr/share/man/man1/transmission-daemon.1 +/usr/share/man/man1/transmission-create.1 +/usr/share/man/man1/transmission-cli.1 +/usr/share/man/man1/ +/usr/share/man/ +/usr/share/icons/hicolor/scalable/apps/transmission.svg +/usr/share/icons/hicolor/scalable/apps/ +/usr/share/icons/hicolor/scalable/ +/usr/share/icons/hicolor/48x48/apps/transmission.png +/usr/share/icons/hicolor/48x48/apps/ +/usr/share/icons/hicolor/48x48/ +/usr/share/icons/hicolor/32x32/apps/transmission.png +/usr/share/icons/hicolor/32x32/apps/ +/usr/share/icons/hicolor/32x32/ +/usr/share/icons/hicolor/256x256/apps/transmission.png +/usr/share/icons/hicolor/256x256/apps/ +/usr/share/icons/hicolor/256x256/ +/usr/share/icons/hicolor/24x24/apps/transmission.png +/usr/share/icons/hicolor/24x24/apps/ +/usr/share/icons/hicolor/24x24/ +/usr/share/icons/hicolor/22x22/apps/transmission.png +/usr/share/icons/hicolor/22x22/apps/ +/usr/share/icons/hicolor/22x22/ +/usr/share/icons/hicolor/16x16/apps/transmission.png +/usr/share/icons/hicolor/16x16/apps/ +/usr/share/icons/hicolor/16x16/ +/usr/share/icons/hicolor/ +/usr/share/icons/ +/usr/share/applications/transmission-gtk.desktop +/usr/share/applications/ +/usr/share/ +/usr/bin/transmission-show +/usr/bin/transmission-remote +/usr/bin/transmission-gtk +/usr/bin/transmission-edit +/usr/bin/transmission-daemon +/usr/bin/transmission-create +/usr/bin/transmission-cli +/usr/bin/ +/usr/ diff --git a/testing/transmission-gtk2/sources b/testing/transmission-gtk2/sources new file mode 100644 index 0000000..7771974 --- /dev/null +++ b/testing/transmission-gtk2/sources @@ -0,0 +1 @@ +https://github.com/transmission/transmission-releases/raw/master/transmission-2.60.tar.xz diff --git a/testing/transmission-gtk2/version b/testing/transmission-gtk2/version new file mode 100644 index 0000000..7f4540c --- /dev/null +++ b/testing/transmission-gtk2/version @@ -0,0 +1 @@ +2.60 1 diff --git a/testing/ucs-fonts/build b/testing/ucs-fonts/build new file mode 100755 index 0000000..270ae64 --- /dev/null +++ b/testing/ucs-fonts/build @@ -0,0 +1 @@ +#!/bin/sh -e diff --git a/testing/ucs-fonts/sources b/testing/ucs-fonts/sources new file mode 100644 index 0000000..473c750 --- /dev/null +++ b/testing/ucs-fonts/sources @@ -0,0 +1 @@ +http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz 1 diff --git a/testing/ucs-fonts/version b/testing/ucs-fonts/version new file mode 100644 index 0000000..2fb73a0 --- /dev/null +++ b/testing/ucs-fonts/version @@ -0,0 +1 @@ +1 1 diff --git a/testing/xterm/build b/testing/xterm/build new file mode 100755 index 0000000..da72907 --- /dev/null +++ b/testing/xterm/build @@ -0,0 +1,21 @@ +#!/bin/sh -e + +patch -p1 < posix-ptys.patch + +./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --with-x \ + --enable-doublechars \ + --enable-widechars \ + --enable-freetype \ + --enable-ansi-color \ + --enable-88-color \ + --enable-256-color \ + --enable-exec-xterm \ + --enable-sixel-graphics \ + --enable-regis-graphics \ + --with-Xaw3dxft \ + --enable-toolbar +make +make DESTDIR="$1" install diff --git a/testing/xterm/checksums b/testing/xterm/checksums new file mode 100644 index 0000000..a6e8bf6 --- /dev/null +++ b/testing/xterm/checksums @@ -0,0 +1,2 @@ +31ca56a94c6567e56f764aa791bbfdbfdc3e0804bada26dc4f491e01be8b9251 xterm-359.tgz +c90d715cb7667ac91fd2697caaf1abce70e46ca0cf14eabf5e17dc305e3cb84c posix-ptys.patch diff --git a/testing/xterm/depends b/testing/xterm/depends new file mode 100644 index 0000000..4ce1e47 --- /dev/null +++ b/testing/xterm/depends @@ -0,0 +1,20 @@ +bzip2 +expat +fontconfig +freetype-harfbuzz +glib +libICE +libSM +libX11 +libXau +libXext +libXft +libXinerama +libXmu +libXpm +libXrender +libXt +libpng +libxcb +ncurses +zlib diff --git a/testing/xterm/patches/posix-ptys.patch b/testing/xterm/patches/posix-ptys.patch new file mode 100644 index 0000000..596699f --- /dev/null +++ b/testing/xterm/patches/posix-ptys.patch @@ -0,0 +1,21 @@ +diff -upr xterm-323.orig/main.c xterm-323/main.c +--- xterm-323.orig/main.c 2016-03-09 15:30:51.191053881 +0100 ++++ xterm-323/main.c 2016-03-09 15:31:17.961635229 +0100 +@@ -2654,7 +2654,7 @@ get_pty(int *pty, char *from GCC_UNUSED) + close(opened_tty); + opened_tty = -1; + } +-#elif defined(HAVE_POSIX_OPENPT) && defined(HAVE_PTSNAME) && defined(HAVE_GRANTPT_PTY_ISATTY) ++#elif defined(HAVE_POSIX_OPENPT) && defined(HAVE_PTSNAME) + if ((*pty = posix_openpt(O_RDWR)) >= 0) { + char *name = ptsname(*pty); + if (name != 0) { +@@ -3735,7 +3735,7 @@ spawnXTerm(XtermWidget xw) + /* + * now in child process + */ +-#if defined(_POSIX_SOURCE) || defined(SVR4) || defined(__convex__) || defined(__SCO__) || defined(__QNX__) ++#if defined(_POSIX_VERSION) || defined(SVR4) || defined(__convex__) || defined(__SCO__) || defined(__QNX__) + int pgrp = setsid(); /* variable may not be used... */ + #else + int pgrp = getpid(); diff --git a/testing/xterm/sources b/testing/xterm/sources new file mode 100644 index 0000000..ef7248f --- /dev/null +++ b/testing/xterm/sources @@ -0,0 +1,2 @@ +https://invisible-mirror.net/archives/xterm/xterm-359.tgz +patches/posix-ptys.patch diff --git a/testing/xterm/version b/testing/xterm/version new file mode 100644 index 0000000..a8efc59 --- /dev/null +++ b/testing/xterm/version @@ -0,0 +1 @@ +359 1 diff --git a/testing/yash/build b/testing/yash/build new file mode 100755 index 0000000..6daf22f --- /dev/null +++ b/testing/yash/build @@ -0,0 +1,7 @@ +#!/bin/sh -e + +./configure \ + --prefix=/usr + +make +make DESTDIR="$1" install diff --git a/testing/yash/sources b/testing/yash/sources new file mode 100644 index 0000000..ad04458 --- /dev/null +++ b/testing/yash/sources @@ -0,0 +1 @@ +git+https://github.com/magicant/yash diff --git a/testing/yash/version b/testing/yash/version new file mode 100644 index 0000000..a383ea1 --- /dev/null +++ b/testing/yash/version @@ -0,0 +1 @@ +git 1 diff --git a/testing/zip b/testing/zip new file mode 120000 index 0000000..27edede --- /dev/null +++ b/testing/zip @@ -0,0 +1 @@ +../kiss-repo/extra/zip \ No newline at end of file