# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= fluxbox VERSION= 1.3.7 KEYWORDS= x11_wm VARIANTS= standard SDESC[standard]= Fast and lightweight window manager HOMEPAGE= http://www.fluxbox.org/ CONTACT= nobody DOWNLOAD_GROUPS= main SITES[main]= SF/fluxbox/fluxbox/1.3.7 DISTFILE[1]= fluxbox-1.3.7.tar.gz:main DF_INDEX= 1 SPKGS[standard]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BUILD_DEPENDS= imlib2:dev:standard fribidi:dev:standard BUILDRUN_DEPENDS= fribidi:primary:standard imlib2:primary:standard RUN_DEPENDS= xorg-xmessage:single:standard USES= gmake fontconfig pkgconfig XORG_COMPONENTS= x11 xext xft xpm xrandr xinerama xrender LICENSE= MIT:single LICENSE_FILE= MIT:{{WRKSRC}}/COPYING LICENSE_SCHEME= solo FPC_EQUIVALENT= x11-wm/fluxbox MUST_CONFIGURE= gnu CONFIGURE_ARGS= --enable-imlib2 --enable-remember --enable-slit --enable-systray --enable-toolbar --enable-xinerama --enable-xrender --disable-nls post-patch: ${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/util/fluxbox-generate_menu.in ${WRKSRC}/util/fbsetbg # disable NLS for now ${REINPLACE_CMD} -e 's|iconv_works=yes|iconv_works=no|' \ ${WRKSRC}/configure [FILE:275:descriptions/desc.single] Fluxbox is a window manager based on BlackBox with some new features: - Transparent menus - Pixmap themes - Window snapping - Integrated bbkeys - Iconbar - Configurable titlebar (slit) - Windows tabs - Wheel scroll changes workspace - KDE and partial Gnome support [FILE:99:distinfo] c99e2baa06fff1e96342b20415059d12ff1fa2917ade0173c75b2fa570295b9f 1267833 fluxbox-1.3.7.tar.gz [FILE:2815:manifests/plist.single] bin/ fbrun fbsetbg fbsetroot fluxbox fluxbox-generate_menu fluxbox-remote fluxbox-update_configs startfluxbox share/fluxbox/ apps init keys menu overlay windowmenu share/fluxbox/styles/ Artwiz BlueNight Flux LemonSpace Makro MerleyKay Meta Nyz Operation Outcomes Results Shade Twice qnx-photon share/fluxbox/styles/BlueFlux/theme.cfg share/fluxbox/styles/BlueFlux/pixmaps/ button_close_active.xpm button_close_pressed.xpm button_close_unfocus.xpm button_max_active.xpm button_max_pressed.xpm button_max_unfocus.xpm button_min_active.xpm button_min_pressed.xpm button_min_unfocus.xpm button_stick_active.xpm button_stick_pressed.xpm button_stick_unfocus.xpm button_stuck.xpm button_stuck_unfocus.xpm button_toolbar.xpm button_toolbar_pressed.xpm menu_frame.xpm title_bar.xpm title_bar_unfocus.xpm toolbar.xpm toolbar_label.xpm share/fluxbox/styles/Emerge/theme.cfg share/fluxbox/styles/Emerge/pixmaps/ bullet.xpm close-pressed.xpm close-unfocus.xpm close.xpm icon-pressed.xpm icon-unfocus.xpm icon.xpm max-pressed.xpm max-unfocus.xpm max.xpm selected.xpm stick-pressed.xpm stick-unfocus.xpm stick.xpm stuck-pressed.xpm stuck-unfocus.xpm stuck.xpm unselected.xpm share/fluxbox/styles/arch/theme.cfg share/fluxbox/styles/arch/pixmaps/ bullet.xpm closefcs.xpm closepr.xpm closeufcs.xpm frame.xpm gripfcs.xpm maxfcs.xpm maxpr.xpm maxufcs.xpm menuiconfcs.xpm menuiconpr.xpm menuiconufcs.xpm minfcs.xpm minpr.xpm minufcs.xpm selected.xpm shadefcs.xpm shadepr.xpm shadeufcs.xpm stickfcs.xpm stickpr.xpm stickufcs.xpm stuckfcs.xpm stuckufcs.xpm tbarfcs.xpm tbarufcs.xpm unselected.xpm unshadefcs.xpm unshadepr.xpm unshadeufcs.xpm share/fluxbox/styles/bloe/theme.cfg share/fluxbox/styles/bloe/pixmaps/ bullet.xpm closefcs.xpm closepr.xpm closeufcs.xpm frame.xpm maxfcs.xpm maxpr.xpm maxufcs.xpm menuiconfcs.xpm menuiconpr.xpm menuiconufcs.xpm minfcs.xpm minpr.xpm minufcs.xpm selected.xpm shadefcs.xpm shadepr.xpm shadeufcs.xpm stickfcs.xpm stickpr.xpm stickufcs.xpm stuckfcs.xpm stuckufcs.xpm tbarfcs.xpm tbarufcs.xpm unselected.xpm unshadefcs.xpm unshadepr.xpm unshadeufcs.xpm windowlabelfcs.xpm windowlabelufcs.xpm share/fluxbox/styles/bora_black/theme.cfg share/fluxbox/styles/bora_blue/theme.cfg share/fluxbox/styles/bora_green/theme.cfg share/fluxbox/styles/carp/theme.cfg share/fluxbox/styles/green_tea/theme.cfg share/fluxbox/styles/ostrich/theme.cfg share/fluxbox/styles/zimek_bisque/theme.cfg share/fluxbox/styles/zimek_darkblue/theme.cfg share/fluxbox/styles/zimek_green/theme.cfg share/man/man1/ fbrun.1.gz fbsetbg.1.gz fbsetroot.1.gz fluxbox-remote.1.gz fluxbox.1.gz startfluxbox.1.gz share/man/man5/ fluxbox-apps.5.gz fluxbox-keys.5.gz fluxbox-menu.5.gz fluxbox-style.5.gz [FILE:409:patches/patch-src__fluxbox.cc] --- 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(), [FILE:432:patches/patch-src__fluxbox.hh] --- 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); [FILE:8313:patches/patch-util__fluxbox-generate_menu.in] --- 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}}" [FILE:1041:patches/patch-util_fbsetbg] --- util/fbsetbg.orig 2015-02-08 10:44:45 UTC +++ util/fbsetbg @@ -49,7 +49,7 @@ lastwallpaper="${HOME}/.fluxbox/lastwall 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\"`" @@ -133,9 +133,28 @@ Common tips to use with $command: 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() { [FILE:654:patches/patch-util_fluxbox-remote.cc] Upstream fix for bogus pointer comparison: Issue: https://sourceforge.net/p/fluxbox/bugs/1138/ Commit: http://git.fluxbox.org/fluxbox.git/commit/util/fluxbox-remote.cc?id=22866c4d30f5b289c429c5ca88d800200db4fc4f --- util/fluxbox-remote.cc.orig 2015-02-08 10:44:45 UTC +++ util/fluxbox-remote.cc @@ -73,7 +73,7 @@ int main(int argc, char **argv) { if (strcmp(cmd, "result") == 0) { XTextProperty text_prop; if (XGetTextProperty(disp, root, &text_prop, atom_result) != 0 - && text_prop.value > 0 + && text_prop.value != 0 && text_prop.nitems > 0) { printf("%s", text_prop.value);