summaryrefslogtreecommitdiff
path: root/x11-wm/i3
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /x11-wm/i3
reinit the tree, so we can have metadata
Diffstat (limited to 'x11-wm/i3')
-rw-r--r--x11-wm/i3/Manifest10
-rw-r--r--x11-wm/i3/files/i3-4.13-remove-git-polling.patch19
-rw-r--r--x11-wm/i3/files/i3-musl-GLOB_TILDE.patch86
-rw-r--r--x11-wm/i3/i3-4.13-r1.ebuild85
-rw-r--r--x11-wm/i3/i3-4.14.ebuild99
-rw-r--r--x11-wm/i3/i3-9999.ebuild82
-rw-r--r--x11-wm/i3/metadata.xml17
7 files changed, 398 insertions, 0 deletions
diff --git a/x11-wm/i3/Manifest b/x11-wm/i3/Manifest
new file mode 100644
index 000000000000..921270732c54
--- /dev/null
+++ b/x11-wm/i3/Manifest
@@ -0,0 +1,10 @@
+AUX i3-4.13-remove-git-polling.patch 580 SHA256 17e814965acd6754a21a4a6d3eed5eb23e0211f9ec0f5e62e6f051b927739f39 SHA512 169eafa91f9499944f65c3b016d6760780d7ada21d718bb96e3bd822741f0d5b30e13dd7493233338e193f1f565872cf896e3e4344a1228fed596c33ed68db8b WHIRLPOOL 87570c35cbe2829b644dff950bfde9b5142dbbcb44ab7dff5714bff44f5bd051d39bd2eaec5baf39ea1b604d92f92ea6c357c1a479d0968ac232aff5908ddd65
+AUX i3-musl-GLOB_TILDE.patch 2828 SHA256 a340666827528e6ae4eed0eda911823143373cd429ae0597677c8f5e8ed1ffe3 SHA512 8ccf5c558327f099ac6881bc3a5b2006aac491f21fea429a4b7184594974815836f3eea517a33b8e852ba30b913bcd3637b08ea92c0bc1f5d3d9f778c2ce087a WHIRLPOOL f30115371147fd08352e6bce816176f4e3da95ea5be7cfd92845922932775f138b793a4179ffeb31259618d4f92777592d082d831eb48f7ac02a473285962dea
+DIST i3-4.13.tar.bz2 1121298 SHA256 94c13183e527a984132a3b050c8bf629626502a6e133e07b413641aec5f8cf8a SHA512 1bb1044e8d86e78d3ccb79d49f0eb26665dcd05a348058a5e57138151d74f57d77830efc3025893170fe1b8ec612f739f75247a427410f96286b09afd2c5f14c WHIRLPOOL c0e9b205837e30d214d525af6ceb8adcc4cbbba42d9aa0eab4e7639cbd8884d827c5783590eb23a6790e8d8d87fb81884afa369e48a7ae474613392dc6f9b371
+DIST i3-4.14.tar.gz 3936748 SHA256 6807a578275be936289986a77f77320e1581dad9e752f2fc7c443b6aeaa0d14c SHA512 fe3db78813987a15ed93d182968bcd5139e1d03f29d3e8effd9fce59f87bc8309407af0b2fa5f1cd83b8583e50ea0ade6b8eafc5dda6dea9161832dc9cebfdfe WHIRLPOOL 57aa268c52a4271a6170042c31b8e4cba82486ffce96981c96a305e2d7c613f2abc6e5f395c598fc93acfffdf34d45c8f131b79deedc2d2fc7cb5d1dd5ae2499
+EBUILD i3-4.13-r1.ebuild 1898 SHA256 3ece09a41674ada0a8d955219580a2e09a4062e9d342b4a7efc5d439498b7c25 SHA512 fa0fc10c2989175051e86ff329a560ad07ba0aac2c16e19f9e7426d7a74b96be4dda9146a899f4498858fdc9558ba27b3281c7df9ad936988310a441002aee0d WHIRLPOOL eb9be4f4ac16cc8a9302b5da249c42044d2b097ef4fa0a8c3cce7bfcba1403c33d909e0d834afd7f9eedd865dd74d4a6eea9b8632541b02b0a8bff917fe70a01
+EBUILD i3-4.14.ebuild 2018 SHA256 25e4d9505db9b8a8536f110cf9d6f681f5d7fb5288fd2ba077812bcd45343b0a SHA512 1f6e635f080952aa55416e367f9bbbca4929a73cde2080e121fd76dd1396f01d43199871d09fed71f5b6680f0d94cef5d07c2b8f86675d63763464b6e3d95c2d WHIRLPOOL 0170df92e1bb341c8f51137e854798fb56807637d8a8e5287dce482b5b321029d2640164288d0cb448d0693a884afb1d8f8db204ce9f5dbf348fa821915b17d4
+EBUILD i3-9999.ebuild 1689 SHA256 9c4bdf6fd2b9f9a98d40db15b505d33726b04eda86c39819b8e2d81d4d7509de SHA512 2b74003b82295124fbab9f86f312d6d56ac75d5191e04fb914758ef81e4a974fb78a68bffc3b18372aeb50401c8ddae90d3dc85c7c77ebfbc12db7472b5d665c WHIRLPOOL 27408aa7f8c346f8119c0a5122d0c37ffefd6180485247cbc457286097bd95e37eda8481795275b86bd7198d3ccf34542934c419e4d742e3ac71e2f6edba7a35
+MISC ChangeLog 4902 SHA256 26b0f0d0478b00a4e7ee73dd1f1eaecce6b8d80c9e00345882cea497448e5103 SHA512 2b1f63b8028ba4afeea68a9c95260a3dcd841f598b7a973acdb2bbf052f99902f56ff159d81846281220d5a6c0f9700d873c2f0dcd99df0981438ef7ed55b9e5 WHIRLPOOL 7d3f253668af39441304613cf97fb9617b732900c200f496675325e67eb20012552fe5080216c44ebcc3f3ffca0f065bd6fec304d1455cf52fe060fc1764d046
+MISC ChangeLog-2015 10069 SHA256 3f2250a4551bb6d5d07cfed1e206a2b8f17a974f242847ce83b310e400b98c87 SHA512 cb79f98aa954092a42996909bedae6551faf36a100f6ec7ca0974a3dd68a044d441605c7d865018a656b6f6167b7ba00b77b887e1f8ab2eb27672a11702dd43e WHIRLPOOL 665af3e363892774d9b0bad20787754c857d67052e40a2983099b42bd881e92abb578c935acd99f644533be8135f98af1e855f816556efd1aa296947a4cdaa42
+MISC metadata.xml 578 SHA256 2156136e34d074b2911d2f6f536c82424d60caa38a69c1b9cbe3fa604c342aa1 SHA512 b0585d5a5d421e8176d1f47e250e049e41cbd375a19f4769d291108e81847dff71c1ded0cd22b25df50af69896941cb439c4c39317414784df57cfeb33dc946e WHIRLPOOL 943dbac094c28e8c1b48e2690af00b0403aadb43c5a10ccdb3d66c32430eb51e84b9c7990120ab7c7466d4b98bdf6318aa4ef170e17c275000fb35ba6fc7917f
diff --git a/x11-wm/i3/files/i3-4.13-remove-git-polling.patch b/x11-wm/i3/files/i3-4.13-remove-git-polling.patch
new file mode 100644
index 000000000000..ca226378ed7f
--- /dev/null
+++ b/x11-wm/i3/files/i3-4.13-remove-git-polling.patch
@@ -0,0 +1,19 @@
+diff -Naur a/configure.ac b/configure.ac
+--- a/configure.ac 2017-01-13 13:31:25.250216293 +0100
++++ b/configure.ac 2017-01-13 13:31:55.930217956 +0100
+@@ -146,15 +146,6 @@
+ print_BUILD_MANS=no
+ fi
+
+-git_dir=`git rev-parse --git-dir 2>/dev/null`
+-if test -n "$git_dir"; then
+- srcdir=`dirname "$git_dir"`
+- exclude_dir=`pwd | sed "s,^$srcdir,,g"`
+- if ! grep -q "^$exclude_dir" "$git_dir/info/exclude"; then
+- echo "$exclude_dir" >> "$git_dir/info/exclude"
+- fi
+-fi
+-
+ echo \
+ "--------------------------------------------------------------------------------
+ build configured:
diff --git a/x11-wm/i3/files/i3-musl-GLOB_TILDE.patch b/x11-wm/i3/files/i3-musl-GLOB_TILDE.patch
new file mode 100644
index 000000000000..d241a748186e
--- /dev/null
+++ b/x11-wm/i3/files/i3-musl-GLOB_TILDE.patch
@@ -0,0 +1,86 @@
+From: Natanael Copa <ncopa@alpinelinux.org>
+Patch-Source: https://git.alpinelinux.org/cgit/aports/tree/community/i3wm/musl.patch
+Project-Bug-URL: https://github.com/i3/i3/issues/1859
+Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=609306
+
+Musl doesn't implement GLOB_TILDE, which is used by i3 when expanding paths.
+
+This patch replaces usage of GLOB_TILDE in glob() by replacing tilde
+with the content of $HOME - if set - manually.
+
+As mentioned in the i3 bugtracker this is an issue that should be solved by musl.
+
+A patch has been sent to musl upstream, but it hasn't been merged yet:
+http://www.openwall.com/lists/musl/2017/01/17/1
+---
+--- i3-4.11/i3bar/src/main.c
++++ i3-4.11/i3bar/src/main.c
+@@ -45,14 +45,20 @@ void debuglog(char *fmt, ...) {
+ *
+ */
+ char *expand_path(char *path) {
+- static glob_t globbuf;
+- if (glob(path, GLOB_NOCHECK | GLOB_TILDE, NULL, &globbuf) < 0) {
+- ELOG("glob() failed\n");
+- exit(EXIT_FAILURE);
++ char *home, *expanded;
++
++ if (strncmp(path, "~/", 2) == 0) {
++ home = getenv("HOME");
++ if (home != NULL) {
++ /* new length: sum - 1 (omit '~') + 1 (for '\0') */
++ expanded = scalloc(strlen(home)+strlen(path), 1);
++ strcpy(expanded, home);
++ strcat(expanded, path+1);
++ return expanded;
++ }
+ }
+- char *result = sstrdup(globbuf.gl_pathc > 0 ? globbuf.gl_pathv[0] : path);
+- globfree(&globbuf);
+- return result;
++
++ return sstrdup(path);
+ }
+
+ void print_usage(char *elf_name) {
+--- i3-4.11/libi3/resolve_tilde.c
++++ i3-4.11/libi3/resolve_tilde.c
+@@ -19,27 +19,18 @@
+ *
+ */
+ char *resolve_tilde(const char *path) {
+- static glob_t globbuf;
+- char *head, *tail, *result;
++ char *home, *expanded;
+
+- tail = strchr(path, '/');
+- head = sstrndup(path, tail ? (size_t)(tail - path) : strlen(path));
+-
+- int res = glob(head, GLOB_TILDE, NULL, &globbuf);
+- free(head);
+- /* no match, or many wildcard matches are bad */
+- if (res == GLOB_NOMATCH || globbuf.gl_pathc != 1)
+- result = sstrdup(path);
+- else if (res != 0) {
+- err(EXIT_FAILURE, "glob() failed");
+- } else {
+- head = globbuf.gl_pathv[0];
+- result = scalloc(strlen(head) + (tail ? strlen(tail) : 0) + 1, 1);
+- strncpy(result, head, strlen(head));
+- if (tail)
+- strncat(result, tail, strlen(tail));
++ if (strncmp(path, "~/", 2) == 0) {
++ home = getenv("HOME");
++ if (home != NULL) {
++ /* new length: sum - 1 (omit '~') + 1 (for '\0') */
++ expanded = scalloc(strlen(home)+strlen(path), 1);
++ strcpy(expanded, home);
++ strcat(expanded, path+1);
++ return expanded;
++ }
+ }
+- globfree(&globbuf);
+
+- return result;
++ return sstrdup(path);
+ }
diff --git a/x11-wm/i3/i3-4.13-r1.ebuild b/x11-wm/i3/i3-4.13-r1.ebuild
new file mode 100644
index 000000000000..acfef3313c8a
--- /dev/null
+++ b/x11-wm/i3/i3-4.13-r1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="An improved dynamic tiling window manager"
+HOMEPAGE="https://i3wm.org/"
+SRC_URI="https://i3wm.org/downloads/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm x86"
+IUSE="doc"
+
+CDEPEND="dev-libs/libev
+ dev-libs/libpcre
+ >=dev-libs/yajl-2.0.3
+ x11-libs/libxcb[xkb]
+ x11-libs/libxkbcommon[X]
+ x11-libs/startup-notification
+ x11-libs/xcb-util
+ x11-libs/xcb-util-cursor
+ x11-libs/xcb-util-keysyms
+ x11-libs/xcb-util-wm
+ x11-libs/xcb-util-xrm
+ >=x11-libs/cairo-1.14.4[X,xcb]
+ >=x11-libs/pango-1.30.0[X]"
+DEPEND="${CDEPEND}
+ doc? ( app-text/asciidoc app-text/xmlto dev-lang/perl )
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}
+ dev-lang/perl
+ dev-perl/AnyEvent-I3
+ dev-perl/JSON-XS"
+
+DOCS=( RELEASE-NOTES-${PV} )
+PATCHES=(
+ "${FILESDIR}/${P}-remove-git-polling.patch"
+ "${FILESDIR}/${PN}-musl-GLOB_TILDE.patch"
+)
+
+src_prepare() {
+ default
+ if ! use doc ; then
+ sed -e '/AC_PATH_PROG(\[PATH_ASCIIDOC/d' -i configure.ac || die
+ eautoreconf
+ fi
+ cat <<- EOF > "${T}"/i3wm
+ #!/bin/sh
+ exec /usr/bin/i3
+ EOF
+}
+
+src_configure() {
+ local myeconfargs=( --enable-debug=no ) # otherwise injects -O0 -g
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake -C "${CBUILD}"
+}
+
+src_install() {
+ emake -C "${CBUILD}" DESTDIR="${D}" install
+ if ! use doc ; then
+ # install docs shipped with source tarball
+ # local HTML_DOCS=( docs/. ) # TODO: install unconditionally?
+ doman man/*.1
+ fi
+ einstalldocs
+
+ exeinto /etc/X11/Sessions
+ doexe "${T}"/i3wm
+}
+
+pkg_postinst() {
+ einfo "There are several packages that you may find useful with ${PN} and"
+ einfo "their usage is suggested by the upstream maintainers, namely:"
+ einfo " x11-misc/dmenu"
+ einfo " x11-misc/i3status"
+ einfo " x11-misc/i3lock"
+ einfo "Please refer to their description for additional info."
+}
diff --git a/x11-wm/i3/i3-4.14.ebuild b/x11-wm/i3/i3-4.14.ebuild
new file mode 100644
index 000000000000..b98df36f9270
--- /dev/null
+++ b/x11-wm/i3/i3-4.14.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="An improved dynamic tiling window manager"
+HOMEPAGE="https://i3wm.org/"
+# iw3m.org tarball for 4.14 is broken, see https://github.com/i3/i3/issues/2905
+SRC_URI="https://github.com/i3/i3/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="doc debug test"
+
+CDEPEND="dev-libs/libev
+ dev-libs/libpcre
+ >=dev-libs/yajl-2.0.3
+ x11-libs/libxcb[xkb]
+ x11-libs/libxkbcommon[X]
+ x11-libs/startup-notification
+ x11-libs/xcb-util
+ x11-libs/xcb-util-cursor
+ x11-libs/xcb-util-keysyms
+ x11-libs/xcb-util-wm
+ x11-libs/xcb-util-xrm
+ >=x11-libs/cairo-1.14.4[X,xcb]
+ >=x11-libs/pango-1.30.0[X]"
+DEPEND="${CDEPEND}
+ app-text/asciidoc
+ doc? ( app-text/xmlto dev-lang/perl )
+ test? (
+ dev-perl/Module-Install
+ )
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}
+ dev-lang/perl
+ dev-perl/AnyEvent-I3
+ dev-perl/JSON-XS"
+
+# Test without debug will apply optimization levels, which results
+# in type-punned pointers - which in turn causes test failures.
+REQUIRED_USE="test? ( debug )"
+
+DOCS=(
+ "RELEASE-NOTES-${PV}"
+ docs
+)
+PATCHES=(
+ "${FILESDIR}/${PN}-musl-GLOB_TILDE.patch"
+)
+
+src_test() {
+ emake -C "${CBUILD}" check
+}
+
+src_prepare() {
+ default
+
+ cat <<- EOF > "${T}"/i3wm
+ #!/bin/sh
+ exec /usr/bin/i3
+ EOF
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake -C "${CBUILD}"
+}
+
+src_install() {
+ emake -C "${CBUILD}" DESTDIR="${D}" install
+ doman "${CBUILD}"/man/*.1
+
+ use doc && einstalldocs
+
+ exeinto /etc/X11/Sessions
+ doexe "${T}/i3wm"
+}
+
+pkg_postinst() {
+ einfo "There are several packages that you may find useful with ${PN} and"
+ einfo "their usage is suggested by the upstream maintainers, namely:"
+ einfo " x11-misc/dmenu"
+ einfo " x11-misc/i3status"
+ einfo " x11-misc/i3lock"
+ einfo "Please refer to their description for additional info."
+}
diff --git a/x11-wm/i3/i3-9999.ebuild b/x11-wm/i3/i3-9999.ebuild
new file mode 100644
index 000000000000..1775d348c34c
--- /dev/null
+++ b/x11-wm/i3/i3-9999.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools git-r3
+
+DESCRIPTION="An improved dynamic tiling window manager"
+HOMEPAGE="https://i3wm.org/"
+SRC_URI=""
+EGIT_REPO_URI="https://github.com/i3/i3"
+EGIT_BRANCH="next"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS=""
+IUSE="doc"
+
+CDEPEND="dev-libs/libev
+ dev-libs/libpcre
+ >=dev-libs/yajl-2.0.3
+ x11-libs/libxcb[xkb]
+ x11-libs/libxkbcommon[X]
+ x11-libs/startup-notification
+ x11-libs/xcb-util
+ x11-libs/xcb-util-cursor
+ x11-libs/xcb-util-keysyms
+ x11-libs/xcb-util-wm
+ x11-libs/xcb-util-xrm
+ >=x11-libs/cairo-1.14.4[X,xcb]
+ >=x11-libs/pango-1.30.0[X]"
+DEPEND="${CDEPEND}
+ doc? ( app-text/asciidoc app-text/xmlto dev-lang/perl )
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}
+ dev-lang/perl
+ dev-perl/AnyEvent-I3
+ dev-perl/JSON-XS"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-musl-GLOB_TILDE.patch"
+)
+
+src_prepare() {
+ default
+
+ if ! use doc ; then
+ sed -e '/AC_PATH_PROG(\[PATH_ASCIIDOC/d' -i configure.ac || die
+ fi
+ eautoreconf
+
+ cat <<- EOF > "${T}"/i3wm
+ #!/bin/sh
+ exec /usr/bin/i3
+ EOF
+}
+
+src_configure() {
+ local myeconfargs=( --enable-debug=no ) # otherwise injects -O0 -g
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake -C "${CBUILD}"
+}
+
+src_install() {
+ emake -C "${CBUILD}" DESTDIR="${D}" install
+ einstalldocs
+
+ exeinto /etc/X11/Sessions
+ doexe "${T}"/i3wm
+}
+
+pkg_postinst() {
+ einfo "There are several packages that you may find useful with ${PN} and"
+ einfo "their usage is suggested by the upstream maintainers, namely:"
+ einfo " x11-misc/dmenu"
+ einfo " x11-misc/i3status"
+ einfo " x11-misc/i3lock"
+ einfo "Please refer to their description for additional info."
+}
diff --git a/x11-wm/i3/metadata.xml b/x11-wm/i3/metadata.xml
new file mode 100644
index 000000000000..1068c94323ac
--- /dev/null
+++ b/x11-wm/i3/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nelo@wallus.de</email>
+ <name>Nelo-Thara Wallus</name>
+ <description>Proxied by Polynomial-C</description>
+ </maintainer>
+ <maintainer type="person">
+ <email>polynomial-c@gentoo.org</email>
+ <name>Lars Wendler</name>
+ <description>Proxy maintainer for Nelo</description>
+ </maintainer>
+ <use>
+ <flag name="doc">Build and install the HTML documentation and regenerate the man pages</flag>
+ </use>
+</pkgmetadata>