From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- x11-wm/i3/Manifest | 10 +++ x11-wm/i3/files/i3-4.13-remove-git-polling.patch | 19 +++++ x11-wm/i3/files/i3-musl-GLOB_TILDE.patch | 86 ++++++++++++++++++++ x11-wm/i3/i3-4.13-r1.ebuild | 85 ++++++++++++++++++++ x11-wm/i3/i3-4.14.ebuild | 99 ++++++++++++++++++++++++ x11-wm/i3/i3-9999.ebuild | 82 ++++++++++++++++++++ x11-wm/i3/metadata.xml | 17 ++++ 7 files changed, 398 insertions(+) create mode 100644 x11-wm/i3/Manifest create mode 100644 x11-wm/i3/files/i3-4.13-remove-git-polling.patch create mode 100644 x11-wm/i3/files/i3-musl-GLOB_TILDE.patch create mode 100644 x11-wm/i3/i3-4.13-r1.ebuild create mode 100644 x11-wm/i3/i3-4.14.ebuild create mode 100644 x11-wm/i3/i3-9999.ebuild create mode 100644 x11-wm/i3/metadata.xml (limited to 'x11-wm/i3') 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 +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 @@ + + + + + nelo@wallus.de + Nelo-Thara Wallus + Proxied by Polynomial-C + + + polynomial-c@gentoo.org + Lars Wendler + Proxy maintainer for Nelo + + + Build and install the HTML documentation and regenerate the man pages + + -- cgit v1.2.3