aboutsummaryrefslogtreecommitdiffstats
path: root/x11-wm
diff options
context:
space:
mode:
authordanfe <danfe@FreeBSD.org>2016-12-28 15:25:34 +0800
committerdanfe <danfe@FreeBSD.org>2016-12-28 15:25:34 +0800
commit6897d1a4a98619c0c1abd524dcf2a428207518ab (patch)
tree6d2dda4e01079b84d2e0ab7933d2e01035a41e5d /x11-wm
parent3656484211322518d5310f49fe6aa566648dfe4e (diff)
downloadfreebsd-ports-gnome-6897d1a4a98619c0c1abd524dcf2a428207518ab.tar.gz
freebsd-ports-gnome-6897d1a4a98619c0c1abd524dcf2a428207518ab.tar.zst
freebsd-ports-gnome-6897d1a4a98619c0c1abd524dcf2a428207518ab.zip
Add a port of subtle, grid-based manual tiling window manager.
WWW: http://subtle.subforge.org/
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/Makefile1
-rw-r--r--x11-wm/subtle/Makefile32
-rw-r--r--x11-wm/subtle/distinfo3
-rw-r--r--x11-wm/subtle/files/patch-Rakefile81
-rw-r--r--x11-wm/subtle/files/patch-src_shared_shared.h10
-rw-r--r--x11-wm/subtle/files/patch-src_subtle_ruby.c12
-rw-r--r--x11-wm/subtle/pkg-descr14
-rw-r--r--x11-wm/subtle/pkg-plist18
8 files changed, 171 insertions, 0 deletions
diff --git a/x11-wm/Makefile b/x11-wm/Makefile
index 8b2577d07905..396b237c93a1 100644
--- a/x11-wm/Makefile
+++ b/x11-wm/Makefile
@@ -106,6 +106,7 @@
SUBDIR += selectwm
SUBDIR += simple-ccsm
SUBDIR += spectrwm
+ SUBDIR += subtle
SUBDIR += swm
SUBDIR += tinywm
SUBDIR += transset
diff --git a/x11-wm/subtle/Makefile b/x11-wm/subtle/Makefile
new file mode 100644
index 000000000000..43b0d4d1dfea
--- /dev/null
+++ b/x11-wm/subtle/Makefile
@@ -0,0 +1,32 @@
+# Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= subtle
+PORTVERSION= 0.11.3224
+CATEGORIES= x11-wm ruby
+MASTER_SITES= http://subtle.subforge.org/attachments/download/81/
+DISTNAME= ${PORTNAME}-${PORTVERSION}-xi
+
+MAINTAINER= danfe@FreeBSD.org
+COMMENT= Grid-based manual tiling window manager
+
+LICENSE= GPLv2
+
+BUILD_DEPENDS= rake:devel/rubygem-rake
+
+USES= pkgconfig shebangfix tar:tbz2
+USE_RUBY= yes
+USE_XORG= x11 xft xinerama xpm xrandr xtst
+
+MAKE_CMD= rake -v
+MAKEFILE= Rakefile
+ALL_TARGET= build
+
+post-patch:
+ @${REINPLACE_CMD} -e 's,/etc/xdg,${LOCALBASE}&,' \
+ ${WRKSRC}/src/subtle/ruby.c
+
+do-configure:
+ @cd ${WRKSRC} && ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} config
+
+.include <bsd.port.mk>
diff --git a/x11-wm/subtle/distinfo b/x11-wm/subtle/distinfo
new file mode 100644
index 000000000000..cb68699833d1
--- /dev/null
+++ b/x11-wm/subtle/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1482831730
+SHA256 (subtle-0.11.3224-xi.tbz2) = a22ee94a70c1105a018e1c0a754597b4e3a87d1b915301a0b22888920fa0f8a2
+SIZE (subtle-0.11.3224-xi.tbz2) = 144607
diff --git a/x11-wm/subtle/files/patch-Rakefile b/x11-wm/subtle/files/patch-Rakefile
new file mode 100644
index 000000000000..abf104a83383
--- /dev/null
+++ b/x11-wm/subtle/files/patch-Rakefile
@@ -0,0 +1,81 @@
+--- Rakefile.orig 2012-06-20 11:29:55 UTC
++++ Rakefile
+@@ -45,14 +45,14 @@ end
+ @options = {
+ "cc" => ENV["CC"] || "gcc",
+ "destdir" => ENV["DESTDIR"] || "",
+- "prefix" => "/usr",
+- "manprefix" => "$(prefix)/share/man",
+- "bindir" => "$(destdir)/$(prefix)/bin",
+- "sysconfdir" => "$(destdir)/etc",
++ "prefix" => ENV["PREFIX"] || "/usr",
++ "manprefix" => "%s/man" % (ENV["MANPREFIX"] || "$(prefix)/share"),
++ "bindir" => "$(destdir)$(prefix)/bin",
++ "sysconfdir" => "$(destdir)$(prefix)/etc",
+ "configdir" => "$(sysconfdir)/xdg/$(PKG_NAME)",
+- "datadir" => "$(destdir)/$(prefix)/share/$(PKG_NAME)",
+- "extdir" => "$(destdir)/$(sitelibdir)/$(PKG_NAME)",
+- "mandir" => "$(destdir)/$(manprefix)/man1",
++ "datadir" => "$(destdir)$(prefix)/share/$(PKG_NAME)",
++ "extdir" => "$(destdir)$(sitelibdir)/$(PKG_NAME)",
++ "mandir" => "$(destdir)$(manprefix)/man1",
+ "debug" => "no",
+ "xpm" => "yes",
+ "xft" => "yes",
+@@ -63,7 +63,7 @@ end
+ "hdrdir" => "",
+ "archdir" => "",
+ "revision" => "3224", #< Latest stable
+- "cflags" => "-Wall -Werror -Wpointer-arith -Wstrict-prototypes -Wunused -Wshadow -std=gnu99",
++ "cflags" => "-Wall -Wpointer-arith -Wstrict-prototypes -Wunused -Wshadow -std=gnu99",
+ "cpppath" => "-I. -I$(builddir) -Isrc -Isrc/shared -Isrc/subtle -idirafter$(hdrdir) -idirafter$(archdir)",
+ "ldflags" => "-L$(libdir) $(rpath) $(LIBS) -l$(RUBY_SO_NAME)",
+ "extflags" => "$(LDFLAGS) $(rpath) $(LIBS) -l$(RUBY_SO_NAME)",
+@@ -258,8 +258,8 @@ task(:config) do
+ make_config unless checksums
+ else
+ # Check version
+- if 1 != RbConfig::CONFIG["MAJOR"].to_i or 9 != RbConfig::CONFIG["MINOR"].to_i
+- fail("Ruby 1.9.0 or higher required")
++ if 2 > RbConfig::CONFIG["MAJOR"].to_i
++ fail("Ruby 2.0.0 (1.9.0 really) or higher required")
+ end
+
+ checksums
+@@ -396,7 +396,10 @@ task(:config) do
+ checking_for("X11/Xft/Xft.h") do
+ ret = false
+
++ # Work around pkg_config()'s stupidity: obtain real (full) cflags
++ cutoff = $INCFLAGS.length
+ cflags, ldflags, libs = pkg_config("xft")
++ cflags << $INCFLAGS[cutoff..-1]
+ unless libs.nil?
+ # Update flags
+ @options["cpppath"] << " %s" % [ cflags ]
+@@ -495,6 +498,7 @@ task(:config) do
+ -----------------
+ Binaries............: #{@options["bindir"]}
+ Configuration.......: #{@options["configdir"]}
++Manual pages........: #{@options["mandir"]}
+ Extension...........: #{@options["extdir"]}
+
+ Xpm support.........: #{@options["xpm"]}
+@@ -503,6 +507,8 @@ Xinerama support....: #{@options["xinera
+ XRandR support......: #{@options["xrandr"]}
+ XTest support.......: #{@options["xtest"]}
+ Debugging messages..: #{@options["debug"]}
++Compiler............: #{@options["cc"]} (#{
++`#{@options["cc"]} -v 2>&1`[/\w+ version [\d.]+/]})
+
+ EOF
+ end
+@@ -613,7 +619,7 @@ task(:install => [:config, :build]) do
+ )
+
+ # Update interpreter name
+- `#{sed} -i -e 's#/usr/bin/ruby.*##{interpreter}#' \
++ `#{sed} -i '' -e 's#/usr/bin/ruby.*##{interpreter}#' \
+ #{File.join(@options["bindir"], File.basename(f))}`
+ end
+
diff --git a/x11-wm/subtle/files/patch-src_shared_shared.h b/x11-wm/subtle/files/patch-src_shared_shared.h
new file mode 100644
index 000000000000..aea1bdbcbc5f
--- /dev/null
+++ b/x11-wm/subtle/files/patch-src_shared_shared.h
@@ -0,0 +1,10 @@
+--- src/shared/shared.h.orig 2012-06-20 11:29:55 UTC
++++ src/shared/shared.h
+@@ -28,6 +28,7 @@
+ #include <X11/Xutil.h>
+ #include <X11/Xmd.h>
+ #include <X11/cursorfont.h>
++#include <ruby.h>
+ #include <ruby/oniguruma.h>
+
+ #include "config.h"
diff --git a/x11-wm/subtle/files/patch-src_subtle_ruby.c b/x11-wm/subtle/files/patch-src_subtle_ruby.c
new file mode 100644
index 000000000000..9e846ce877e9
--- /dev/null
+++ b/x11-wm/subtle/files/patch-src_subtle_ruby.c
@@ -0,0 +1,12 @@
+--- src/subtle/ruby.c.orig 2012-06-20 11:29:55 UTC
++++ src/subtle/ruby.c
+@@ -2612,8 +2612,7 @@ RubyConfigLoadConfig(VALUE self,
+
+ if((dirs = getenv("XDG_CONFIG_DIRS")))
+ len += snprintf(tokens + len, sizeof(tokens), ":%s", dirs);
+- else len += snprintf(tokens + len, sizeof(tokens), ":%s/%s",
+- "/etc/xdg", PKG_NAME);
++ else len += snprintf(tokens + len, sizeof(tokens), ":%s", "/etc/xdg");
+
+ if((home = getenv("XDG_DATA_HOME")))
+ {
diff --git a/x11-wm/subtle/pkg-descr b/x11-wm/subtle/pkg-descr
new file mode 100644
index 000000000000..bab067b49510
--- /dev/null
+++ b/x11-wm/subtle/pkg-descr
@@ -0,0 +1,14 @@
+subtle is a manual tiling window manager with a rather uncommon approach
+of tiling: instead of relying on predefined layouts, subtle divides the
+screen into a grid with customizeable slots (called gravities). For better
+understanding, the default config uses a 3x3 grid and maps each gravity to
+one key of the numpad. With those keys, windows can be moved directly to
+the desired gravity -- the same can be done with tagging rules in the
+config.
+
+Another unique concept is the strict tagging: Unlike other tiling window
+managers, subtle does not allow weak tagging and always maps windows to
+virtual desktops (called views) with matching tags, regardless of the
+current active view.
+
+WWW: http://subtle.subforge.org/
diff --git a/x11-wm/subtle/pkg-plist b/x11-wm/subtle/pkg-plist
new file mode 100644
index 000000000000..ab7e88c74a83
--- /dev/null
+++ b/x11-wm/subtle/pkg-plist
@@ -0,0 +1,18 @@
+bin/subtle
+bin/subtler
+bin/sur
+bin/surserver
+etc/xdg/subtle/subtle.rb
+%%RUBY_SITELIBDIR%%/subtle/subtler/runner.rb
+%%RUBY_SITELIBDIR%%/subtle/subtlext.so
+%%RUBY_SITELIBDIR%%/subtle/sur/client.rb
+%%RUBY_SITELIBDIR%%/subtle/sur/runner.rb
+%%RUBY_SITELIBDIR%%/subtle/sur/server.rb
+%%RUBY_SITELIBDIR%%/subtle/sur/specification.rb
+%%RUBY_SITELIBDIR%%/subtle/sur/test.rb
+%%RUBY_SITELIBDIR%%/subtle/sur/version.rb
+man/man1/subtle.1.gz
+man/man1/subtler.1.gz
+man/man1/subtlext.1.gz
+man/man1/sur.1.gz
+man/man1/surserver.1.gz