--- fluxbox-devel.org/Makefile 2016-10-25 13:14:26 UTC +++ fluxbox-devel/Makefile @@ -2,14 +2,12 @@ # $FreeBSD$ PORTNAME= fluxbox -PORTVERSION= 1.3.7 -PORTREVISION= 1 +PORTVERSION= 1.3.7.20160724 CATEGORIES= x11-wm -MASTER_SITES= SF -DISTFILES= ${DISTNAME}${EXTRACT_SUFX} +PKGNAMESUFFIX= -devel EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} -MAINTAINER= jgh@FreeBSD.org +MAINTAINER= ports@FreeBSD.org COMMENT= Small and fast window manager based on BlackBox LICENSE= MIT @@ -20,8 +18,13 @@ libfreetype.so:print/freetype2 \ libfontconfig.so:x11-fonts/fontconfig +CONFLICTS_INSTALL= ${PORTNAME}-[0-9]* + +USE_GITHUB= yes +GH_TAGNAME= 50b6102 + USE_XORG= x11 xext xextproto xft xpm xrandr -USES= gmake pkgconfig +USES= autoreconf gmake pkgconfig GNU_CONFIGURE= yes PORTDATA= * @@ -66,13 +69,33 @@ http://people.freebsd.org/~mezz/distfiles/:pdf PDFDOCS_DISTFILES= fluxbook-${DOCSVERSION}.pdf:pdf +.ifmake makesum +# Always include optional distfiles +.MAKEFLAGS: WITH="${OPTIONS_DEFINE}" OPTIONS_EXCLUDE= +.endif + post-patch: - @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ - ${WRKSRC}/util/fluxbox-generate_menu.in ${WRKSRC}/util/fbsetbg + @${REINPLACE_CMD} -e 's|/usr/local/bin:/usr/X11R6|${LOCALBASE}|' \ + ${WRKSRC}/util/fbsetbg + @${REINPLACE_CMD} -e 's|/usr/kde/3.3|${LOCALBASE}| ; \ + s|/opt, /usr, /usr/X11R6 and /usr/local|${LOCALBASE}| ; \ + s|/usr/X11R6, /usr, /usr/local and /opt|${LOCALBASE}| ; \ + s|/usr/local/bin:/usr/X11R6|${LOCALBASE}| ; \ + s|/usr/local /usr/X11R6 /usr /opt|${LOCALBASE}| ; \ + s|/usr/share|${LOCALBASE}/share| ; \ + s|/opt/gnome|${LOCALBASE}| ; s|/opt/kde|${LOCALBASE}| ; \ + s|/usr/local|${LOCALBASE}| ; \ + s|/usr/local/X11R6|${LOCALBASE}| ; \ + /usr\/X11R6\/share/d ; \ + /hash @pkgprefix/d ; \ + /PREFIX=/s#`hash.*`#`which fluxbox | sed 's,/bin/fluxbox$$,,'`# ; \ + /browser in/s/opera/linux-& &/ ; \ + /true opera/s/\(.*\)opera\(.*\)opera\(.*\)opera\(.*\)/\1linux-opera\2linux-opera\3linux-opera\4\${.newline}&/' \ + ${WRKSRC}/util/fluxbox-generate_menu.in post-patch-NLS-off: - @${REINPLACE_CMD} -e 's|iconv_works=yes|iconv_works=no|' \ - ${WRKSRC}/configure + @${REINPLACE_CMD} -e '/^AM_ICONV/d' \ + ${WRKSRC}/configure.ac post-install-DOCS-on: (cd ${WRKSRC} && ${COPYTREE_SHARE} "AUTHORS ChangeLog NEWS README TODO" \ @@ -84,9 +107,7 @@ ${STAGEDIR}${DOCSDIR}/pdf/ post-install-DOCHTML-on: - @${MKDIR} ${STAGEDIR}${DOCSDIR}/html -. for h in *.css *.html - (cd ${WRKDIR}/html && ${INSTALL_DATA} ${h} ${STAGEDIR}${DOCSDIR}/html) -. endfor + (cd ${WRKDIR}/html && ${COPYTREE_SHARE} "*.css *.html" \ + ${STAGEDIR}${DOCSDIR}/html) .include --- fluxbox-devel.org/distinfo 2015-02-16 20:36:50 UTC +++ fluxbox-devel/distinfo @@ -1,6 +1,7 @@ -SHA256 (fluxbox-1.3.7.tar.gz) = c99e2baa06fff1e96342b20415059d12ff1fa2917ade0173c75b2fa570295b9f -SIZE (fluxbox-1.3.7.tar.gz) = 1267833 +TIMESTAMP = 1469896708 SHA256 (fb-doc-mfhtml-20060629.tgz) = 98d37b73dbb1caf1361b098bffc69d1f365f9b324a71f622ba72ed5da5d9b9ec SIZE (fb-doc-mfhtml-20060629.tgz) = 115560 SHA256 (fluxbook-20060629.pdf) = 8f225b101e9ab81543182c83699aeef3fe86370d72da215831321c903eee9cde SIZE (fluxbook-20060629.pdf) = 430351 +SHA256 (fluxbox-fluxbox-1.3.7.20160724-50b6102_GH0.tar.gz) = 375d0554101225edceb19bd974f270e0ed25c77f0007390fb6f5c08169ae3514 +SIZE (fluxbox-fluxbox-1.3.7.20160724-50b6102_GH0.tar.gz) = 879696 --- fluxbox-devel.org/files/patch-src__fluxbox.cc 2015-02-16 20:36:50 UTC +++ fluxbox-devel/files/patch-src__fluxbox.cc @@ -1,11 +0,0 @@ ---- src/fluxbox.cc.orig 2015-02-08 10:44:45 UTC -+++ src/fluxbox.cc -@@ -1316,7 +1316,7 @@ void Fluxbox::revertFocus() { - FocusControl::setFocusedWindow(0); - } - --bool Fluxbox::validateClient(const WinClient *client) const { -+bool Fluxbox::validateClient(WinClient *client) const { - WinClientMap::const_iterator it = - find_if(m_window_search.begin(), - m_window_search.end(), --- fluxbox-devel.org/files/patch-src__fluxbox.hh 2015-02-16 20:36:50 UTC +++ fluxbox-devel/files/patch-src__fluxbox.hh @@ -1,11 +0,0 @@ ---- src/fluxbox.hh.orig 2015-02-08 10:44:45 UTC -+++ src/fluxbox.hh -@@ -103,7 +103,7 @@ public: - WinClient *searchWindow(Window); - BScreen *searchScreen(Window w); - bool validateWindow(Window win) const; -- bool validateClient(const WinClient *client) const; -+ bool validateClient(WinClient *client) const; - - // Not currently implemented until we decide how it'll be used - //WinClient *searchGroup(Window); --- fluxbox-devel.org/files/patch-util__fluxbox-generate_menu.in 2016-09-08 20:07:19 UTC +++ fluxbox-devel/files/patch-util__fluxbox-generate_menu.in @@ -1,209 +0,0 @@ ---- util/fluxbox-generate_menu.in.orig 2015-02-08 10:44:45 UTC -+++ util/fluxbox-generate_menu.in -@@ -68,7 +68,7 @@ Options: - -d Other path(s) to recursively search for *.desktop files - -ds Wider search for *.desktop files (takes more time) - -i Other path(s) to search for icons -- e.g., "/usr/kde/3.3/share/icons/crystalsvg/16x16/*" -+ e.g., "%%LOCALBASE%%/share/icons/crystalsvg/16x16/*" - -is Wider search for icons (worth the extra time) - -in Skip icon search - -@@ -85,7 +85,7 @@ Options: - Only for packagers: - - -p Prefix; default is @PREFIX@ -- -n Gnome-prefix; /opt, /usr, /usr/X11R6 and /usr/local autodetected -+ -n Gnome-prefix; %%LOCALBASE%% autodetected - -q KDE-prefix; idem dito - - -@@ -145,13 +145,42 @@ testoption() { - esac - } - --find_it() { -- [ -n "$1" ] && hash $1 2> /dev/null && shift && "$@" --} -+# some which's have a reliable return code, some don't -+# Lets figure out which which we have. -+if which this_program_does_not_exist-no_really-aA1zZ9 2> /dev/null 1> /dev/null; then -+ # can't rely on return value -+ find_it() { -+ file=`which $1 2> /dev/null` -+ if [ -x "$file" ]; then -+ if [ $# -gt 1 ]; then -+ shift -+ "$@" -+ fi -+ return 0 -+ else -+ return 1 -+ fi -+ } - --find_it_options() { -- [ -n "$1" ] && hash $1 2> /dev/null --} -+ find_it_options() { -+ file=`which $1 2> /dev/null` -+ if [ -x "$file" ]; then -+ return 0 -+ else -+ return 1 -+ fi -+ } -+ -+else -+ # can rely on return value -+ find_it() { -+ which $1 > /dev/null 2>&1 && shift && "$@" -+ } -+ -+ find_it_options() { -+ which $1 > /dev/null 2>&1 -+ } -+fi - - #echo "replaceWithinString: $1, $2, $3" >&2 - #echo ${1//$2/$3} # causes error in BSD even though not used -@@ -203,7 +232,7 @@ convertIcon(){ - if [ -f "${entry_icon}" ]; then - : echo "File exists. To overwrite, type: convert \"$1\" \"$entry_icon\"" >&2 - else -- if hash convert 2> /dev/null; then -+ if which convert &> /dev/null; then - convert "$1" "$entry_icon" - # echo convert "$1" , "$entry_icon" >> $ICONMAPPING - else -@@ -275,7 +304,7 @@ doSearch(){ - # echo -n "for $temp_icon" - eval doSearchLoop $USER_ICONPATHS \ - "$FB_ICONDIR" \ -- "/usr/share/${execname%% *}" \ -+ "%%LOCALBASE%%/share/${execname%% *}" \ - ${OTHER_ICONPATHS} \ - - -@@ -558,7 +587,7 @@ rm -f ${MENUFILENAME}.tmp - - - WHOAMI=`whoami` --[ "$WHOAMI" = root ] && PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin -+[ "$WHOAMI" = root ] && PATH=/bin:/usr/bin:%%LOCALBASE%%/bin - - # Check for Imlib2-support - if @pkgprefix@fluxbox@pkgsuffix@@EXEEXT@ -info 2> /dev/null | grep -q "^IMLIB"; then -@@ -1271,16 +1300,16 @@ if [ ! "${INSTALL}" = Yes ]; then - # These are prefixes; So if fluxbox is installed in @PREFIX@/bin/fluxbox - # your prefix is: @PREFIX@ - --# fluxbox-generate already looks in /usr/X11R6, /usr, /usr/local and /opt so -+# fluxbox-generate already looks in %%LOCALBASE%% so - # there should be no need to specify them. - # - # PREFIX=@PREFIX@ --# GNOME_PREFIX=/opt/gnome --# KDE_PREFIX=/opt/kde -+# GNOME_PREFIX=%%LOCALBASE%% -+# KDE_PREFIX=%%LOCALBASE%% - - - # Separate the list of background dirs with colons ':' --# BACKGROUND_DIRS="${USERFLUXDIR}/backgrounds/:@PREFIX@/share/fluxbox/backgrounds/:/usr/share/wallpapers" -+# BACKGROUND_DIRS="${USERFLUXDIR}/backgrounds/:@PREFIX@/share/fluxbox/backgrounds/:%%LOCALBASE%%/share/wallpapers" - - - # --- Boolean variables. -@@ -1327,29 +1356,21 @@ while [ $# -gt 0 ]; do - -g) GNOMEMENU=yes; shift;; - -in) NO_ICON=yes; shift;; - -is) OTHER_ICONPATHS=" -- /usr/share/icons -- /usr/share/icons/mini -- /usr/share/pixmaps -- /usr/local/share/icons -- /usr/local/share/icons/mini -- /usr/local/share/pixmaps -- /usr/share/xclass/icons -- /usr/share/xclass/pixmaps -- /usr/local/share/xclass/icons -- /usr/local/share/xclass/pixmaps -- /usr/X11R6/share/icons/default/16x16 -- /usr/X11R6/share/icons/kde/16x16 -- /usr/X11R6/share/icons/hicolor/16x16 -- /usr/local/X11R6/share/icons/default/16x16 -- /usr/local/X11R6/share/icons/kde/16x16 -- /usr/local/X11R6/share/icons/hicolor/16x16 -+ %%LOCALBASE%%/share/icons -+ %%LOCALBASE%%/share/icons/mini -+ %%LOCALBASE%%/share/pixmaps -+ %%LOCALBASE%%/share/xclass/icons -+ %%LOCALBASE%%/share/xclass/pixmaps -+ %%LOCALBASE%%/share/icons/default/16x16 -+ %%LOCALBASE%%/share/icons/kde/16x16 -+ %%LOCALBASE%%/share/icons/hicolor/16x16 - " - shift;; - -ds) OTHER_DESKTOP_PATHS=" -- /usr/share/mimelnk -- /usr/share/applications -- /usr/share/xsessions -- /usr/share/services -+ %%LOCALBASE%%/share/mimelnk -+ %%LOCALBASE%%/share/applications -+ %%LOCALBASE%%/share/xsessions -+ %%LOCALBASE%%/share/services - " - # /usr/share/apps \ - shift;; -@@ -1420,13 +1441,12 @@ fi - # prefix - PREFIX="${PREFIX:=@PREFIX@}" - if [ -z "${PREFIX}" -o ! -d "${PREFIX}" ]; then -- hash @pkgprefix@fluxbox@pkgsuffix@@EXEEXT@ -- PREFIX=`hash | grep @pkgprefix@fluxbox@pkgsuffix@ | sed 's,.*\t/,/,' | sed 's,/bin/@pkgprefix@fluxbox@pkgsuffix@@EXEEXT@$,,'` -+ PREFIX=`which fluxbox | sed 's,/bin/fluxbox$,,'` - fi - - - # gnome prefix --for GNOME_PREFIX in "${GNOME_PREFIX}" /usr/local /usr/X11R6 /usr /opt "${PREFIX}"; do -+for GNOME_PREFIX in "${GNOME_PREFIX}" %%LOCALBASE%% "${PREFIX}"; do - if [ -n "${GNOME_PREFIX}" -a -d "$GNOME_PREFIX/share/gnome" ]; then - break; - fi -@@ -1434,7 +1454,7 @@ done - # Will remain $PREFIX if all else fails - - # kde prefix --for KDE_PREFIX in "${KDE_PREFIX}" /usr/local /usr/X11R6 /usr /opt "${PREFIX}"; do -+for KDE_PREFIX in "${KDE_PREFIX}" %%LOCALBASE%% "${PREFIX}"; do - if [ -n "${KDE_PREFIX}" -a -d "$KDE_PREFIX/share/applnk" ]; then - break; - fi -@@ -1522,7 +1542,7 @@ if find_it_options $MY_BROWSER; then - else - [ -n "$MY_BROWSER" ] && echo "Warning: you chose an invalid browser." >&2 - #The precise order is up for debate. -- for browser in firefox mozilla-firefox chrome chromium google-chrome mozilla-firebird MozillaFirebird opera skipstone mozilla seamonkey galeon konqueror dillo netscape w3m amaya links lynx; do -+ for browser in firefox mozilla-firefox chrome chromium google-chrome mozilla-firebird MozillaFirebird linux-opera opera skipstone mozilla seamonkey galeon konqueror dillo netscape w3m amaya links lynx; do - if find_it_options $browser; then - DEFAULT_BROWSER=$browser - break -@@ -1589,6 +1609,7 @@ case "$DEFAULT_BROWSERNAME" in - chrome|chromium) append "[exec] (${DEFAULT_BROWSERNAME}) {${DEFAULT_BROWSER}}" ;; - google-chrome) append "[exec] (${DEFAULT_BROWSERNAME}) {${DEFAULT_BROWSER}}" ;; - konqueror) append "[exec] (konqueror) {kfmclient openProfile webbrowsing}" ;; -+ linux-opera) append "[exec] (linux-opera) {env QT_XFT=true linux-opera}" ;; - opera) append "[exec] (opera) {env QT_XFT=true opera}" ;; - MozillaFirebird) append "[exec] (firebird) {MozillaFirebird}" ;; - MozillaFirefox) append "[exec] (firefox) {MozillaFirefox}" ;; -@@ -1608,6 +1629,7 @@ append_submenu "${NETMENU}" - append_submenu "${BROWSERMENU}" - normal_find chrome chromium firefox google-chrome mozilla-firefox MozillaFirefox galeon mozilla seamonkey dillo netscape vncviewer - find_it links append "[exec] (links-graphic) {links -driver x ${HOMEPAGE}}" -+ find_it linux-opera append "[exec] (linux-opera) {env QT_XFT=true linux-opera}" - find_it opera append "[exec] (opera) {env QT_XFT=true opera}" - find_it konqueror append "[exec] (konqueror) {kfmclient openProfile webbrowsing}" - find_it links append "[exec] (links) {${DEFAULT_TERM} -e links ${HOMEPAGE}}" --- fluxbox-devel.org/files/patch-util_fbsetbg 2014-01-22 17:40:44 UTC +++ fluxbox-devel/files/patch-util_fbsetbg @@ -1,43 +0,0 @@ ---- util/fbsetbg.orig 2008-09-22 13:47:05.000000000 -0500 -+++ util/fbsetbg 2008-09-22 13:52:03.000000000 -0500 -@@ -49,7 +49,7 @@ - - - WHOAMI=`whoami` --[ "$WHOAMI" = root ] && PATH=/bin:/usr/bin/:/usr/local/bin:/usr/X11R6/bin -+[ "$WHOAMI" = root ] && PATH=/bin:/usr/bin:%%LOCALBASE%%/bin - - command="`basename \"$0\"`" - -@@ -129,9 +129,28 @@ - EOF - } - --find_it() { -- [ -n "$1" ] && hash $1 2> /dev/null --} -+# some which's have a reliable return code, some don't -+# Lets figure out which which we have. -+if which this_program_does_not_exist-no_really-aA1zZ9 >/dev/null 2>/dev/null; then -+ # can't rely on return value -+ find_it() { -+ file=`which $1 2> /dev/null` -+ if [ -x "$file" ]; then -+ if [ $# -gt 1 ]; then -+ shift -+ $* -+ fi -+ return 0 -+ else -+ return 1 -+ fi -+ } -+else -+ # can rely on return value -+ find_it() { -+ which $1 > /dev/null 2>&1 && shift && $* -+ } -+fi - - message() { - --- fluxbox-devel.org/pkg-descr 2016-09-08 20:07:19 UTC +++ fluxbox-devel/pkg-descr @@ -1,13 +1,19 @@ -Fluxbox is a window manager based on BlackBox with some new features: +Fluxbox is a stacking window manager for the X Window System, which started as a +fork of Blackbox 0.61.1 in 2001, with the same aim to be lightweight. Its user +interface has only a taskbar, a pop-up menu accessible by right-clicking on the +desktop, and minimal support for graphical icons. All basic configurations are +controlled by text files, including the construction of menus and the mapping of +key-bindings. Fluxbox has high compliance to the Extended Window Manager Hints +specification. - - Transparent menus - - Pixmap themes - - Window snapping - - Integrated bbkeys - - Iconbar - - Configurable titlebar (slit) - - Windows tabs - - Wheel scroll changes workspace - - KDE and partial Gnome support +Features: +- Right-clicking on the desktop gives a root menu +- Customizable root menu +- Support for wallpaper +- Running applications appear in a taskbar +- Support for desktop themes +- Customizable keyboard shortcuts +- Window tabbing +- Slit for applications such as system monitors -WWW: http://fluxbox.org/ +WWW: https://github.com/fluxbox/fluxbox