commit:     bea7682cf4bd9d4e52579bf48d0b1821c018656b
Author:     g3ngr33n <gengreen <AT> tutanota <DOT> com>
AuthorDate: Wed May 22 04:07:30 2019 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed May 22 13:29:04 2019 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=bea7682c

x11-wm/fluxbox: Patch, update, small change

- Update the ebuild to EAPI 7
- Deprecated patch have been removed
- 0001 : Remove from the source feature fluxbox-remote
- 0002 : Fix nls on musl

Package-Manager: Portage-2.3.62, Repoman-2.3.11
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 x11-wm/fluxbox/Manifest                            |   1 +
 .../fluxbox/files/0001-strip-fluxbox-remote.patch  | 467 +++++++++++++++++++++
 x11-wm/fluxbox/files/0002-fix-nls-musl.patch       |  33 ++
 x11-wm/fluxbox/files/fluxbox.desktop               |   8 +
 x11-wm/fluxbox/files/fluxbox.xsession              |  90 ++++
 x11-wm/fluxbox/files/styles-menu-commonbox         |   5 +
 x11-wm/fluxbox/files/styles-menu-fluxbox           |   5 +
 x11-wm/fluxbox/files/styles-menu-user              |   5 +
 x11-wm/fluxbox/fluxbox-1.3.7-r4.ebuild             | 102 +++++
 x11-wm/fluxbox/metadata.xml                        |  27 ++
 10 files changed, 743 insertions(+)

diff --git a/x11-wm/fluxbox/Manifest b/x11-wm/fluxbox/Manifest
new file mode 100644
index 0000000..1419f31
--- /dev/null
+++ b/x11-wm/fluxbox/Manifest
@@ -0,0 +1 @@
+DIST fluxbox-1.3.7.tar.xz 786492 BLAKE2B 
ecf50e2eb19949b4a301366eaffc1d5199c17b116b7d19a31392eea632e6320210e1dff24b1794d3427c14206e31d9722d3c21ce24b584c61288233feb564925
 SHA512 
ab8adb8b5a5e396b6df814c93d7fe5aca3eaaa347ca45c1572ad7da0185dbe1e8981190af9b814112f9831b560e31ba0b7dec7e6af5e3e3e3d9d20f2bd463e01

diff --git a/x11-wm/fluxbox/files/0001-strip-fluxbox-remote.patch 
b/x11-wm/fluxbox/files/0001-strip-fluxbox-remote.patch
new file mode 100644
index 0000000..8b1c970
--- /dev/null
+++ b/x11-wm/fluxbox/files/0001-strip-fluxbox-remote.patch
@@ -0,0 +1,467 @@
+--- a/src/ScreenResource.cc
++++ b/src/ScreenResource.cc
+@@ -103,7 +103,6 @@
+     menu_delay(rm, 200, scrname + ".menuDelay", altscrname+".MenuDelay"),
+     tab_width(rm, 64, scrname + ".tab.width", altscrname+".Tab.Width"),
+     tooltip_delay(rm, 500, scrname + ".tooltipDelay", 
altscrname+".TooltipDelay"),
+-    allow_remote_actions(rm, false, scrname+".allowRemoteActions", 
altscrname+".AllowRemoteActions"),
+     clientmenu_use_pixmap(rm, true, scrname+".clientMenu.usePixmap", 
altscrname+".ClientMenu.UsePixmap"),
+     tabs_use_pixmap(rm, true, scrname+".tabs.usePixmap", 
altscrname+".Tabs.UsePixmap"),
+     max_over_tabs(rm, false, scrname+".tabs.maxOver", 
altscrname+".Tabs.MaxOver"),
+
+--- a/src/Screen.hh
++++ b/src/Screen.hh
+@@ -115,7 +115,6 @@
+     FbWinFrame::TabPlacement getTabPlacement() const { return 
*resource.tab_placement; }
+ 
+     unsigned int noFocusWhileTypingDelay() const { return 
*resource.typing_delay; }
+-    const bool allowRemoteActions() const { return 
*resource.allow_remote_actions; }
+     const bool clientMenuUsePixmap() const { return 
*resource.clientmenu_use_pixmap; }
+     const bool getDefaultInternalTabs() const { return 
*resource.default_internal_tabs; }
+     const bool getTabsUsePixmap() const { return *resource.tabs_use_pixmap; }
+
+--- a/src/ScreenResource.hh
++++ b/src/ScreenResource.hh
+@@ -53,7 +53,6 @@
+         menu_delay,
+         tab_width,
+         tooltip_delay;
+-    FbTk::Resource<bool> allow_remote_actions;
+     FbTk::Resource<bool> clientmenu_use_pixmap;
+     FbTk::Resource<bool> tabs_use_pixmap;
+     FbTk::Resource<bool> max_over_tabs;
+
+--- a/src/Screen.cc
++++ b/src/Screen.cc
+@@ -624,34 +624,7 @@
+ 
+ void BScreen::propertyNotify(Atom atom) {
+ 
+-    if (allowRemoteActions() && atom == atom_fbcmd) {
+-        Atom xa_ret_type;
+-        int ret_format;
+-        unsigned long ret_nitems, ret_bytes_after;
+-        char *str;
+-        if (rootWindow().property(atom_fbcmd, 0l, 64l,
+-                True, XA_STRING, &xa_ret_type, &ret_format, &ret_nitems,
+-                &ret_bytes_after, (unsigned char **)&str) && str) {
+-
+-            if (ret_bytes_after) {
+-                XFree(str);
+-                long len = 64 + (ret_bytes_after + 3)/4;
+-                rootWindow().property(atom_fbcmd, 0l, len,
+-                    True, XA_STRING, &xa_ret_type, &ret_format, &ret_nitems,
+-                    &ret_bytes_after, (unsigned char **)&str);
+-            }
+-
+-            static std::auto_ptr<FbTk::Command<void> > cmd(0);
+-            cmd.reset(FbTk::CommandParser<void>::instance().parse(str, 
false));
+-            if (cmd.get()) {
+-                cmd->execute();
+-            }
+-            XFree(str);
+-
+-        }
+-    // TODO: this doesn't belong in FbPixmap
+-    } else if (FbTk::FbPixmap::rootwinPropertyNotify(screenNumber(), atom))
+-        m_bg_change_sig.emit(*this);
++      return;
+ }
+ 
+ void BScreen::keyPressEvent(XKeyEvent &ke) {
+
+--- a/util/fluxbox-remote.cc
++++ b/util/fluxbox-remote.cc
+@@ -18,79 +18,3 @@
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ // DEALINGS IN THE SOFTWARE.
+-
+-#include <X11/Xlib.h>
+-#include <X11/Xatom.h>
+-#include <X11/Xutil.h>
+-#include <string.h>
+-#include <stdlib.h>
+-#include <stdio.h>
+-
+-
+-bool g_gotError = false;
+-static int HandleIPCError(Display *disp, XErrorEvent*ptr)
+-{
+-      // ptr->error_code contains the actual error flags
+-      g_gotError = true;
+-      return( 0 );
+-}
+-
+-typedef int (*xerror_cb_t)(Display*,XErrorEvent*);
+-
+-
+-int main(int argc, char **argv) {
+-
+-    int         rc;
+-    Display*    disp;
+-    Window      root;
+-    Atom        atom_fbcmd; 
+-    Atom        atom_result;
+-    xerror_cb_t error_cb;
+-    char*       cmd;
+-
+-    if (argc <= 1) {
+-        printf("fluxbox-remote <fluxbox-command>\n");
+-        return EXIT_SUCCESS;
+-    }
+-
+-    disp = XOpenDisplay(NULL);
+-    if (!disp) {
+-        perror("error, can't open display.");
+-        rc = EXIT_FAILURE;
+-        return rc;
+-    }
+-
+-    cmd = argv[1];
+-    atom_fbcmd = XInternAtom(disp, "_FLUXBOX_ACTION", False);
+-    atom_result = XInternAtom(disp, "_FLUXBOX_ACTION_RESULT", False);
+-    root = DefaultRootWindow(disp);
+-
+-    // assign the custom handler, clear the flag, sync the data,
+-    // then check it for success/failure
+-    error_cb = XSetErrorHandler(HandleIPCError);
+-
+-
+-    if (strcmp(cmd, "result") == 0) {
+-        XTextProperty text_prop;
+-        if (XGetTextProperty(disp, root, &text_prop, atom_result) != 0
+-            && text_prop.value > 0
+-            && text_prop.nitems > 0) {
+-
+-            printf("%s", text_prop.value);
+-            XFree(text_prop.value);
+-        }
+-    } else {
+-        XChangeProperty(disp, root, atom_fbcmd,
+-                              XA_STRING, 8, PropModeReplace,
+-                              (unsigned char *)cmd, strlen(cmd));
+-        XSync(disp, false);
+-    }
+-
+-    rc = (g_gotError ? EXIT_FAILURE : EXIT_SUCCESS);
+-
+-    XSetErrorHandler(error_cb);
+-    XCloseDisplay(disp);
+-
+-    return rc;
+-}
+-
+
+--- a/util/Makemodule.am
++++ b/util/Makemodule.am
+@@ -12,7 +12,6 @@
+ 
+ bin_PROGRAMS += \
+       fbsetroot \
+-      fluxbox-remote \
+       fluxbox-update_configs
+ 
+ fbsetroot_SOURCES = \
+@@ -46,9 +45,3 @@
+       libFbTk.a \
+       $(FRIBIDI_LIBS)
+ 
+-fluxbox_remote_SOURCES = \
+-      util/fluxbox-remote.cc
+-fluxbox_remote_CPPFLAGS = \
+-      $(AM_CPPFLAGS) \
+-      -I$(fbtk_incdir)
+-
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -114,8 +114,7 @@
+ build_triplet = @build@
+ host_triplet = @host@
+ bin_PROGRAMS = fluxbox$(EXEEXT) fbsetroot$(EXEEXT) \
+-      fluxbox-remote$(EXEEXT) fluxbox-update_configs$(EXEEXT) \
+-      fbrun$(EXEEXT)
++      fluxbox-update_configs$(EXEEXT) fbrun$(EXEEXT) \
+ DIST_COMMON = $(srcdir)/data/Makemodule.am \
+       $(srcdir)/data/styles/carp/Makemodule.am \
+       $(srcdir)/data/styles/bora_blue/Makemodule.am \
+@@ -467,11 +466,6 @@
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_1)
+-am_fluxbox_remote_OBJECTS =  \
+-      util/fluxbox_remote-fluxbox-remote.$(OBJEXT)
+-fluxbox_remote_OBJECTS = $(am_fluxbox_remote_OBJECTS)
+-fluxbox_remote_LDADD = $(LDADD)
+-fluxbox_remote_DEPENDENCIES = libFbTk.a src/defaults.$(OBJEXT)
+ am_fluxbox_update_configs_OBJECTS =  \
+       src/fluxbox_update_configs-defaults.$(OBJEXT) \
+       src/fluxbox_update_configs-Resources.$(OBJEXT) \
+@@ -594,19 +588,16 @@
+ am__v_CCLD_0 = @echo "  CCLD    " $@;
+ am__v_CCLD_1 = 
+ SOURCES = $(libFbTk_a_SOURCES) $(fbrun_SOURCES) $(fbsetroot_SOURCES) \
+-      $(fluxbox_SOURCES) $(fluxbox_remote_SOURCES) \
+-      $(fluxbox_update_configs_SOURCES) \
++      $(fluxbox_SOURCES) $(fluxbox_update_configs_SOURCES) \
+       $(testDemandAttention_SOURCES) $(testFont_SOURCES) \
+       $(testFullscreen_SOURCES) $(testKeys_SOURCES) \
+       $(testRectangleUtil_SOURCES) $(testStringUtil_SOURCES) \
+       $(testTexture_SOURCES)
+ DIST_SOURCES = $(am__libFbTk_a_SOURCES_DIST) $(fbrun_SOURCES) \
+       $(fbsetroot_SOURCES) $(am__fluxbox_SOURCES_DIST) \
+-      $(fluxbox_remote_SOURCES) $(fluxbox_update_configs_SOURCES) \
+-      $(testDemandAttention_SOURCES) $(testFont_SOURCES) \
++      $(fluxbox_update_configs_SOURCES) $(testDemandAttention_SOURCES) 
$(testFont_SOURCES) \
+       $(testFullscreen_SOURCES) $(testKeys_SOURCES) \
+-      $(testRectangleUtil_SOURCES) $(testStringUtil_SOURCES) \
+-      $(testTexture_SOURCES)
++      $(testRectangleUtil_SOURCES) $(testStringUtil_SOURCES) 
$(testTexture_SOURCES) \
+ RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+       ctags-recursive dvi-recursive html-recursive info-recursive \
+       install-data-recursive install-dvi-recursive \
+@@ -863,12 +854,11 @@
+       data/windowmenu $(style_DATA) doc/CODESTYLE doc/fbrun.1.in \
+       doc/fbsetbg.1.in doc/fbsetroot.1.in doc/fluxbox-apps.5.in \
+       doc/fluxbox-keys.5.in doc/fluxbox-menu.5.in \
+-      doc/fluxbox-remote.1.in doc/fluxbox-style.5.in \
+-      doc/fluxbox.1.in doc/startfluxbox.1.in util/fbsetbg
++      doc/fluxbox-style.5.in doc/fluxbox.1.in \
++      doc/startfluxbox.1.in util/fbsetbg
+ CLEANFILES = $(PATHFILES) doc/fbrun.1 doc/fbsetbg.1 doc/fbsetroot.1 \
+       doc/fluxbox-apps.5 doc/fluxbox-keys.5 doc/fluxbox-menu.5 \
+-      doc/fluxbox-remote.1 doc/fluxbox-style.5 doc/fluxbox.1 \
+-      doc/startfluxbox.1
++      doc/fluxbox-style.5 doc/fluxbox.1 doc/startfluxbox.1 \
+ MAINTAINERCLEANFILES = \
+       aclocal.m4 \
+       config.h.in \
+@@ -1072,7 +1062,6 @@
+       doc/fluxbox-apps.5 \
+       doc/fluxbox-keys.5 \
+       doc/fluxbox-menu.5 \
+-      doc/fluxbox-remote.1 \
+       doc/fluxbox-style.5 \
+       doc/fluxbox.1 \
+       doc/startfluxbox.1
+@@ -1568,13 +1557,6 @@
+       libFbTk.a \
+       $(FRIBIDI_LIBS)
+ 
+-fluxbox_remote_SOURCES = \
+-      util/fluxbox-remote.cc
+-
+-fluxbox_remote_CPPFLAGS = \
+-      $(AM_CPPFLAGS) \
+-      -I$(fbtk_incdir)
+-
+ fbrun_CPPFLAGS = \
+       $(AM_CPPFLAGS) \
+       -I$(src_incdir)
+@@ -1999,12 +1981,7 @@
+ fluxbox$(EXEEXT): $(fluxbox_OBJECTS) $(fluxbox_DEPENDENCIES) 
$(EXTRA_fluxbox_DEPENDENCIES) 
+       @rm -f fluxbox$(EXEEXT)
+       $(AM_V_CXXLD)$(CXXLINK) $(fluxbox_OBJECTS) $(fluxbox_LDADD) $(LIBS)
+-util/fluxbox_remote-fluxbox-remote.$(OBJEXT): util/$(am__dirstamp) \
+-      util/$(DEPDIR)/$(am__dirstamp)
+ 
+-fluxbox-remote$(EXEEXT): $(fluxbox_remote_OBJECTS) 
$(fluxbox_remote_DEPENDENCIES) $(EXTRA_fluxbox_remote_DEPENDENCIES) 
+-      @rm -f fluxbox-remote$(EXEEXT)
+-      $(AM_V_CXXLD)$(CXXLINK) $(fluxbox_remote_OBJECTS) 
$(fluxbox_remote_LDADD) $(LIBS)
+ src/fluxbox_update_configs-defaults.$(OBJEXT): src/$(am__dirstamp) \
+       src/$(DEPDIR)/$(am__dirstamp)
+ src/fluxbox_update_configs-Resources.$(OBJEXT): src/$(am__dirstamp) \
+@@ -2246,7 +2223,6 @@
+ @AMDEP_TRUE@@am__include@ 
@am__quote@src/tests/$(DEPDIR)/testStringUtil-StringUtiltest.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ 
@am__quote@src/tests/$(DEPDIR)/testTexture-texturetest.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ 
@am__quote@util/$(DEPDIR)/fbsetroot-fbsetroot.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ 
@am__quote@util/$(DEPDIR)/fluxbox_remote-fluxbox-remote.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ 
@am__quote@util/$(DEPDIR)/fluxbox_update_configs-fluxbox-update_configs.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ 
@am__quote@util/fbrun/$(DEPDIR)/fbrun-FbRun.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ 
@am__quote@util/fbrun/$(DEPDIR)/fbrun-main.Po@am__quote@
+@@ -4073,20 +4049,6 @@
+ @AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) 
$(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) 
$(DEFAULT_INCLUDES) $(INCLUDES) $(fluxbox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) 
$(CXXFLAGS) -c -o src/fluxbox-SystemTray.obj `if test -f 'src/SystemTray.cc'; 
then $(CYGPATH_W) 'src/SystemTray.cc'; else $(CYGPATH_W) 
'$(srcdir)/src/SystemTray.cc'; fi`
+ 
+-util/fluxbox_remote-fluxbox-remote.o: util/fluxbox-remote.cc
+-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) 
$(INCLUDES) $(fluxbox_remote_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) 
-MT util/fluxbox_remote-fluxbox-remote.o -MD -MP -MF 
util/$(DEPDIR)/fluxbox_remote-fluxbox-remote.Tpo -c -o 
util/fluxbox_remote-fluxbox-remote.o `test -f 'util/fluxbox-remote.cc' || echo 
'$(srcdir)/'`util/fluxbox-remote.cc
+-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) 
util/$(DEPDIR)/fluxbox_remote-fluxbox-remote.Tpo 
util/$(DEPDIR)/fluxbox_remote-fluxbox-remote.Po
+-@AMDEP_TRUE@@am__fastdepCXX_FALSE@    
$(AM_V_CXX)source='util/fluxbox-remote.cc' 
object='util/fluxbox_remote-fluxbox-remote.o' libtool=no @AMDEPBACKSLASH@
+-@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) 
$(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) 
$(DEFAULT_INCLUDES) $(INCLUDES) $(fluxbox_remote_CPPFLAGS) $(CPPFLAGS) 
$(AM_CXXFLAGS) $(CXXFLAGS) -c -o util/fluxbox_remote-fluxbox-remote.o `test -f 
'util/fluxbox-remote.cc' || echo '$(srcdir)/'`util/fluxbox-remote.cc
+-
+-util/fluxbox_remote-fluxbox-remote.obj: util/fluxbox-remote.cc
+-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) 
$(INCLUDES) $(fluxbox_remote_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) 
-MT util/fluxbox_remote-fluxbox-remote.obj -MD -MP -MF 
util/$(DEPDIR)/fluxbox_remote-fluxbox-remote.Tpo -c -o 
util/fluxbox_remote-fluxbox-remote.obj `if test -f 'util/fluxbox-remote.cc'; 
then $(CYGPATH_W) 'util/fluxbox-remote.cc'; else $(CYGPATH_W) 
'$(srcdir)/util/fluxbox-remote.cc'; fi`
+-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) 
util/$(DEPDIR)/fluxbox_remote-fluxbox-remote.Tpo 
util/$(DEPDIR)/fluxbox_remote-fluxbox-remote.Po
+-@AMDEP_TRUE@@am__fastdepCXX_FALSE@    
$(AM_V_CXX)source='util/fluxbox-remote.cc' 
object='util/fluxbox_remote-fluxbox-remote.obj' libtool=no @AMDEPBACKSLASH@
+-@AMDEP_TRUE@@am__fastdepCXX_FALSE@    DEPDIR=$(DEPDIR) $(CXXDEPMODE) 
$(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCXX_FALSE@        $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) 
$(DEFAULT_INCLUDES) $(INCLUDES) $(fluxbox_remote_CPPFLAGS) $(CPPFLAGS) 
$(AM_CXXFLAGS) $(CXXFLAGS) -c -o util/fluxbox_remote-fluxbox-remote.obj `if 
test -f 'util/fluxbox-remote.cc'; then $(CYGPATH_W) 'util/fluxbox-remote.cc'; 
else $(CYGPATH_W) '$(srcdir)/util/fluxbox-remote.cc'; fi`
+-
+ src/fluxbox_update_configs-defaults.o: src/defaults.cc
+ @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) 
$(INCLUDES) $(fluxbox_update_configs_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) 
$(CXXFLAGS) -MT src/fluxbox_update_configs-defaults.o -MD -MP -MF 
src/$(DEPDIR)/fluxbox_update_configs-defaults.Tpo -c -o 
src/fluxbox_update_configs-defaults.o `test -f 'src/defaults.cc' || echo 
'$(srcdir)/'`src/defaults.cc
+ @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) 
src/$(DEPDIR)/fluxbox_update_configs-defaults.Tpo 
src/$(DEPDIR)/fluxbox_update_configs-defaults.Po
+
+--- a/doc/fluxbox-remote.1
++++ /dev/null
+@@ -1,65 +0,0 @@
+-'\" t
+-.\"     Title: fluxbox-remote
+-.\"    Author: Mark Tiefenbruck <m...@fluxbox.org>
+-.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
+-.\"      Date: 08 February 2015
+-.\"    Manual: Fluxbox Manual
+-.\"    Source: fluxbox-remote.txt
+-.\"  Language: English
+-.\"
+-.TH "FLUXBOX\-REMOTE" "1" "08 February 2015" "fluxbox\-remote\&.txt" "Fluxbox 
Manual"
+-.\" -----------------------------------------------------------------
+-.\" * Define some portability stuff
+-.\" -----------------------------------------------------------------
+-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-.\" http://bugs.debian.org/507673
+-.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-.ie \n(.g .ds Aq \(aq
+-.el       .ds Aq '
+-.\" -----------------------------------------------------------------
+-.\" * set default formatting
+-.\" -----------------------------------------------------------------
+-.\" disable hyphenation
+-.nh
+-.\" disable justification (adjust text to left margin only)
+-.ad l
+-.\" -----------------------------------------------------------------
+-.\" * MAIN CONTENT STARTS HERE *
+-.\" -----------------------------------------------------------------
+-.SH "NAME"
+-fluxbox-remote \- command line access to key commands for fluxbox(1)
+-.SH "SYNOPSIS"
+-.sp
+-\fBfluxbox\-remote\fR \fIcommand\fR
+-.SH "DESCRIPTION"
+-.sp
+-\fIfluxbox\-remote(1)\fR is designed to allow scripts to execute most key 
commands from \fIfluxbox(1)\fR\&. \fIfluxbox\-remote(1)\fR will only work with 
\fIfluxbox(1)\fR: its communications with \fIfluxbox(1)\fR are not standardized 
in any way\&. It is recommended that a standards\-based tool such as 
\fIwmctrl(1)\fR be used whenever possible, in order for scripts to work with 
other window managers\&.
+-.SH "CAVEATS"
+-.sp
+-\fIfluxbox\-remote(1)\fR uses the X11 protocol to communicate with 
\fIfluxbox(1)\fR\&. Therefore, it is possible for any user with access to the 
\fIX(7)\fR server to use \fIfluxbox\-remote(1)\fR\&. For this reason, several 
key commands have been disabled\&. Users should be aware of the security 
implications when enabling \fIfluxbox\-remote(1)\fR, especially when using a 
forwarded \fIX(7)\fR connection\&.
+-.SH "RESOURCES"
+-.PP
+-session\&.screen0\&.allowRemoteActions: <boolean>
+-.RS 4
+-This resource in ~/\&.fluxbox/init must be set to \(oqtrue\(cq in order for
+-\fIfluxbox\-remote(1)\fR
+-to function\&. Please read the
+-\fBCAVEATS\fR
+-first\&.
+-.RE
+-.SH "ENVIRONMENT"
+-.sp
+-In order to communicate with \fIfluxbox(1)\fR, the DISPLAY environment 
variable must be set properly\&. Usually, the value should be \(oq:0\&.0\(cq\&.
+-.SH "AUTHORS"
+-.sp
+-This man page written by Mark Tiefenbruck <mark at fluxbox\&.org>
+-.SH "SEE ALSO"
+-.sp
+-fluxbox(1) fluxbox\-keys(5) wmctrl(1)
+-.SH "AUTHOR"
+-.PP
+-\fBMark Tiefenbruck\fR <\&mark@fluxbox\&.org\&>
+-.RS 4
+-Author.
+-.RE
+
+--- a/doc/fluxbox-remote.1.in
++++ /dev/null
+@@ -1,65 +0,0 @@
+-'\" t
+-.\"     Title: fluxbox-remote
+-.\"    Author: Mark Tiefenbruck <m...@fluxbox.org>
+-.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
+-.\"      Date: 08 February 2015
+-.\"    Manual: Fluxbox Manual
+-.\"    Source: fluxbox-remote.txt
+-.\"  Language: English
+-.\"
+-.TH "FLUXBOX\-REMOTE" "1" "08 February 2015" "fluxbox\-remote\&.txt" "Fluxbox 
Manual"
+-.\" -----------------------------------------------------------------
+-.\" * Define some portability stuff
+-.\" -----------------------------------------------------------------
+-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-.\" http://bugs.debian.org/507673
+-.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-.ie \n(.g .ds Aq \(aq
+-.el       .ds Aq '
+-.\" -----------------------------------------------------------------
+-.\" * set default formatting
+-.\" -----------------------------------------------------------------
+-.\" disable hyphenation
+-.nh
+-.\" disable justification (adjust text to left margin only)
+-.ad l
+-.\" -----------------------------------------------------------------
+-.\" * MAIN CONTENT STARTS HERE *
+-.\" -----------------------------------------------------------------
+-.SH "NAME"
+-fluxbox-remote \- command line access to key commands for fluxbox(1)
+-.SH "SYNOPSIS"
+-.sp
+-\fBfluxbox\-remote\fR \fIcommand\fR
+-.SH "DESCRIPTION"
+-.sp
+-\fIfluxbox\-remote(1)\fR is designed to allow scripts to execute most key 
commands from \fIfluxbox(1)\fR\&. \fIfluxbox\-remote(1)\fR will only work with 
\fIfluxbox(1)\fR: its communications with \fIfluxbox(1)\fR are not standardized 
in any way\&. It is recommended that a standards\-based tool such as 
\fIwmctrl(1)\fR be used whenever possible, in order for scripts to work with 
other window managers\&.
+-.SH "CAVEATS"
+-.sp
+-\fIfluxbox\-remote(1)\fR uses the X11 protocol to communicate with 
\fIfluxbox(1)\fR\&. Therefore, it is possible for any user with access to the 
\fIX(7)\fR server to use \fIfluxbox\-remote(1)\fR\&. For this reason, several 
key commands have been disabled\&. Users should be aware of the security 
implications when enabling \fIfluxbox\-remote(1)\fR, especially when using a 
forwarded \fIX(7)\fR connection\&.
+-.SH "RESOURCES"
+-.PP
+-session\&.screen0\&.allowRemoteActions: <boolean>
+-.RS 4
+-This resource in ~/\&.fluxbox/init must be set to \(oqtrue\(cq in order for
+-\fIfluxbox\-remote(1)\fR
+-to function\&. Please read the
+-\fBCAVEATS\fR
+-first\&.
+-.RE
+-.SH "ENVIRONMENT"
+-.sp
+-In order to communicate with \fIfluxbox(1)\fR, the DISPLAY environment 
variable must be set properly\&. Usually, the value should be \(oq:0\&.0\(cq\&.
+-.SH "AUTHORS"
+-.sp
+-This man page written by Mark Tiefenbruck <mark at fluxbox\&.org>
+-.SH "SEE ALSO"
+-.sp
+-fluxbox(1) fluxbox\-keys(5) wmctrl(1)
+-.SH "AUTHOR"
+-.PP
+-\fBMark Tiefenbruck\fR <\&mark@fluxbox\&.org\&>
+-.RS 4
+-Author.
+-.RE
+
+--- a/doc/Makemodule.am
++++ b/doc/Makemodule.am
+@@ -5,7 +5,6 @@
+       doc/fluxbox-apps.5 \
+       doc/fluxbox-keys.5 \
+       doc/fluxbox-menu.5 \
+-      doc/fluxbox-remote.1 \
+       doc/fluxbox-style.5 \
+       doc/fluxbox.1 \
+       doc/startfluxbox.1
+@@ -17,7 +16,6 @@
+       doc/fluxbox-apps.5 \
+       doc/fluxbox-keys.5 \
+       doc/fluxbox-menu.5 \
+-      doc/fluxbox-remote.1 \
+       doc/fluxbox-style.5 \
+       doc/fluxbox.1 \
+       doc/startfluxbox.1
+@@ -30,7 +28,6 @@
+       doc/fluxbox-apps.5.in \
+       doc/fluxbox-keys.5.in \
+       doc/fluxbox-menu.5.in \
+-      doc/fluxbox-remote.1.in \
+       doc/fluxbox-style.5.in \
+       doc/fluxbox.1.in \
+       doc/startfluxbox.1.in

diff --git a/x11-wm/fluxbox/files/0002-fix-nls-musl.patch 
b/x11-wm/fluxbox/files/0002-fix-nls-musl.patch
new file mode 100644
index 0000000..caba871
--- /dev/null
+++ b/x11-wm/fluxbox/files/0002-fix-nls-musl.patch
@@ -0,0 +1,33 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -332,18 +332,18 @@
+ AM_CONDITIONAL([TEST], [test "x$enable_test" = "xyes"])
+ 
+ dnl Check whether to include native language support (i18n)
+-AC_MSG_CHECKING([whether to include NLS support])
+-AC_ARG_ENABLE([nls],
+-      AS_HELP_STRING([--enable-nls],
+-              [include native language support (default=yes)]),
+-      [], [enable_nls=yes]
+-)
+-AC_MSG_RESULT([$enable_nls])
+-AS_IF([test "x$enable_nls" = "xyes"], [
+-      AC_DEFINE([NLS], [1], [Native language support])
+-      NLS="-DNLS"
+-], [])
+-AC_SUBST([NLS])
++AC_PREREQ([2.50])
++
++AC_DEFUN([AM_NLS],
++[
++  AC_MSG_CHECKING([whether NLS is requested])
++  dnl Default is enabled NLS
++  AC_ARG_ENABLE([nls],
++    [  --disable-nls           do not use Native Language Support],
++    USE_NLS=$enableval, USE_NLS=yes)
++  AC_MSG_RESULT([$USE_NLS])
++  AC_SUBST([USE_NLS])
++])
+ 
+ dnl Check for new timed pixmap cache
+ AC_MSG_CHECKING([whether to use a timed pixmap cache])

diff --git a/x11-wm/fluxbox/files/fluxbox.desktop 
b/x11-wm/fluxbox/files/fluxbox.desktop
new file mode 100644
index 0000000..975d121
--- /dev/null
+++ b/x11-wm/fluxbox/files/fluxbox.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Fluxbox
+Comment=This session logs you into Fluxbox
+Exec=startfluxbox
+TryExec=startfluxbox
+# no icon yet, only the top three are currently used
+Icon=
+Type=Application

diff --git a/x11-wm/fluxbox/files/fluxbox.xsession 
b/x11-wm/fluxbox/files/fluxbox.xsession
new file mode 100644
index 0000000..0fb9dcd
--- /dev/null
+++ b/x11-wm/fluxbox/files/fluxbox.xsession
@@ -0,0 +1,90 @@
+#!/bin/sh
+# Fluxbox Xsession starter, based on Xsession shipped by 
x11-apps/xinit-1.0.5-r1
+
+# redirect errors to a file in user's home directory if we can
+for errfile in "$HOME/.fluxbox-errors" "${TMPDIR-/tmp}/fluxbox-$USER" 
"/tmp/fluxbox-$USER"
+do
+       if ( cp /dev/null "$errfile" 2> /dev/null )
+       then
+               chmod 600 "$errfile"
+               exec > "$errfile" 2>&1
+               break
+       fi
+done
+
+userresources=$HOME/.Xresources 
+usermodmap=$HOME/.Xmodmap 
+userxkbmap=$HOME/.Xkbmap
+
+sysresources=/etc/X11/Xresources 
+sysmodmap=/etc/X11/Xmodmap 
+sysxkbmap=/etc/X11/Xkbmap
+
+rh6sysresources=/etc/X11/xinit/Xresources 
+rh6sysmodmap=/etc/X11/xinit/Xmodmap 
+
+
+# merge in defaults
+if [ -f "$rh6sysresources" ]; then
+    xrdb -merge "$rh6sysresources"
+fi
+
+if [ -f "$sysresources" ]; then
+    xrdb -merge "$sysresources"
+fi
+
+if [ -f "$userresources" ]; then
+    xrdb -merge "$userresources"
+fi
+
+# merge in keymaps
+if [ -f "$sysxkbmap" ]; then
+    setxkbmap `cat "$sysxkbmap"`
+    XKB_IN_USE=yes
+fi
+
+if [ -f "$userxkbmap" ]; then
+    setxkbmap `cat "$userxkbmap"`
+    XKB_IN_USE=yes
+fi
+
+#
+# Eeek, this seems like too much magic here
+#
+if [ -z "$XKB_IN_USE" -a ! -L /etc/X11/X ]; then
+    if grep '^exec.*/Xsun' /etc/X11/X > /dev/null 2>&1 && [ -f 
/etc/X11/XF86Config ]; then
+       xkbsymbols=`sed -n -e 's/^[     ]*XkbSymbols[   ]*"\(.*\)".*$/\1/p' 
/etc/X11/XF86Config /etc/X11/xorg.conf`
+       if [ -n "$xkbsymbols" ]; then
+           setxkbmap -symbols "$xkbsymbols"
+           XKB_IN_USE=yes
+       fi
+    fi
+fi
+
+# xkb and xmodmap don't play nice together
+if [ -z "$XKB_IN_USE" ]; then
+    if [ -f "$rh6sysmodmap" ]; then
+       xmodmap "$rh6sysmodmap"
+    fi
+
+    if [ -f "$sysmodmap" ]; then
+       xmodmap "$sysmodmap"
+    fi
+
+    if [ -f "$usermodmap" ]; then
+       xmodmap "$usermodmap"
+    fi
+fi
+
+unset XKB_IN_USE
+
+# run all system xinitrc shell scripts.
+if [ -d /etc/X11/xinit/xinitrc.d ]; then
+    for i in /etc/X11/xinit/xinitrc.d/* ; do
+        if [ -x "$i" ]; then
+           . "$i"
+        fi
+    done
+fi
+
+exec /usr/bin/startfluxbox

diff --git a/x11-wm/fluxbox/files/styles-menu-commonbox 
b/x11-wm/fluxbox/files/styles-menu-commonbox
new file mode 100644
index 0000000..742e587
--- /dev/null
+++ b/x11-wm/fluxbox/files/styles-menu-commonbox
@@ -0,0 +1,5 @@
+[begin] (Legacy Commonbox Styles)
+[submenu] (Legacy Commonbox Styles)
+   [stylesdir] (/usr/share/commonbox/styles)
+[end]
+[end]

diff --git a/x11-wm/fluxbox/files/styles-menu-fluxbox 
b/x11-wm/fluxbox/files/styles-menu-fluxbox
new file mode 100644
index 0000000..d2e0d58
--- /dev/null
+++ b/x11-wm/fluxbox/files/styles-menu-fluxbox
@@ -0,0 +1,5 @@
+[begin] (Fluxbox Core Styles)
+[submenu] (Fluxbox Core Styles)
+   [stylesdir] (/usr/share/fluxbox/styles)
+[end]
+[end]

diff --git a/x11-wm/fluxbox/files/styles-menu-user 
b/x11-wm/fluxbox/files/styles-menu-user
new file mode 100644
index 0000000..3d011d2
--- /dev/null
+++ b/x11-wm/fluxbox/files/styles-menu-user
@@ -0,0 +1,5 @@
+[begin] (User Styles)
+[submenu] (User Styles)
+   [stylesdir] (~/.fluxbox/styles)
+[end]
+[end]

diff --git a/x11-wm/fluxbox/fluxbox-1.3.7-r4.ebuild 
b/x11-wm/fluxbox/fluxbox-1.3.7-r4.ebuild
new file mode 100644
index 0000000..aef98eb
--- /dev/null
+++ b/x11-wm/fluxbox/fluxbox-1.3.7-r4.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools toolchain-funcs
+
+IUSE="nls xinerama bidi +truetype +imlib +slit +systray +toolbar vim-syntax"
+
+REQUIRED_USE="systray? ( toolbar )"
+
+DESCRIPTION="X11 window manager featuring tabs and an iconbar"
+
+SRC_URI="mirror://sourceforge/fluxbox/${P}.tar.xz"
+HOMEPAGE="http://www.fluxbox.org";
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 
~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+
+RDEPEND="
+       !!<=x11-misc/fbdesk-1.2.1
+       !!<=x11-misc/fluxconf-0.9.9
+       !!<x11-themes/fluxbox-styles-fluxmod-20040809-r1
+       bidi? ( >=dev-libs/fribidi-0.19.2 )
+       imlib? ( >=media-libs/imlib2-1.2.0[X] )
+       truetype? ( media-libs/freetype )
+       vim-syntax? ( app-vim/fluxbox-syntax )
+       x11-libs/libXext
+       x11-libs/libXft
+       x11-libs/libXpm
+       x11-libs/libXrandr
+       x11-libs/libXrender
+       xinerama? ( x11-libs/libXinerama )
+       || ( x11-misc/gxmessage x11-apps/xmessage )
+"
+
+DEPEND="
+       ${RDEPEND}
+       bidi? ( virtual/pkgconfig )
+       nls? ( sys-devel/gettext )
+       x11-base/xorg-proto
+"
+
+PATCHES=(
+       "${FILESDIR}"/0001-strip-fluxbox-remote.patch
+       "${FILESDIR}"/0002-fix-nls-musl.patch
+)
+
+src_prepare() {
+
+       default
+       eautoreconf
+}
+
+src_configure() {
+
+       local myeconfargs=(
+               $(use_enable imlib imlib2)
+               $(use_enable bidi fribidi)
+               $(use_enable slit)
+               $(use_enable systray)
+               $(use_enable toolbar)
+               $(use_enable truetype xft)
+               $(use_enable xinerama)
+               --sysconfdir="${EPREFIX}"/etc/X11/${PN} \
+               --with-style="${EPREFIX}"/usr/share/fluxbox/styles/Emerge
+
+       )
+
+       if ! use nls; then
+       local myeconfargs=( --disable-nls )
+       fi
+
+       econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+       default
+
+}
+
+src_install() {
+
+       emake DESTDIR="${D}" STRIP="" install
+       dodoc README* AUTHORS TODO* ChangeLog NEWS
+
+       # Install the generated menu
+       insinto /usr/share/fluxbox
+       doins data/menu
+
+       insinto /usr/share/xsessions
+       doins "${FILESDIR}"/${PN}.desktop
+
+       exeinto /etc/X11/Sessions
+       newexe "${FILESDIR}"/${PN}.xsession fluxbox
+
+       # Styles menu framework
+       insinto /usr/share/fluxbox/menu.d/styles
+       doins "${FILESDIR}"/styles-menu-fluxbox
+       doins "${FILESDIR}"/styles-menu-commonbox
+       doins "${FILESDIR}"/styles-menu-user
+}

diff --git a/x11-wm/fluxbox/metadata.xml b/x11-wm/fluxbox/metadata.xml
new file mode 100644
index 0000000..0cbfa3e
--- /dev/null
+++ b/x11-wm/fluxbox/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+<maintainer type="person">
+               <email>zlog...@gentoo.org</email>
+               <name>Mikle Kolyada</name>
+               </maintainer>
+       <longdescription>
+               Fluxbox is yet another windowmanager for X. Originally based 
upon the
+               Blackbox 0.61.1 code, Fluxbox has been extended to include a 
new tabbed
+               window handling mechanism, an improved configurable window 
title bar,
+               better KDE and GNOME integration, an integrated key grabber and
+               countless additional features.
+       </longdescription>
+       <use>
+               <flag name="bidi">
+                       Enable bidirectional language support with
+                       <pkg>dev-libs/fribidi</pkg>
+               </flag>
+               <flag name="slit">Enables the Fluxbox slit (or dock)</flag>
+               <flag name="systray">Enables the system tray in the Fluxbox 
toolbar</flag>
+               <flag name="toolbar">Enables the Fluxbox toolbar</flag>
+       </use>
+       <upstream>
+               <remote-id type="sourceforge">fluxbox</remote-id>
+       </upstream>
+</pkgmetadata>

Reply via email to