summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
authorKacper Kowalik <xarthisius@gentoo.org>2014-04-24 20:46:17 +0000
committerKacper Kowalik <xarthisius@gentoo.org>2014-04-24 20:46:17 +0000
commit07079a3824cc82cc392c6e34b7f00a941db9bcd4 (patch)
tree2b21ae2b58ccd589dd140483158fedb51b4a61b1 /x11-wm
parentRemove ruby18 support. EAPI bump. (diff)
downloadgentoo-2-07079a3824cc82cc392c6e34b7f00a941db9bcd4.tar.gz
gentoo-2-07079a3824cc82cc392c6e34b7f00a941db9bcd4.tar.bz2
gentoo-2-07079a3824cc82cc392c6e34b7f00a941db9bcd4.zip
Respect CFLAGS during linking phase, make build parallel safe. Fixes #508304 by Ferenc Erki <erkiferenc@gmail.com> and #508426 by Julian Ospald <hasufell@gentoo.org>. Thanks to hasufell for the patches
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 895192F9)
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/i3/ChangeLog11
-rw-r--r--x11-wm/i3/files/i3-4.7.2-cflags.patch16
-rw-r--r--x11-wm/i3/files/i3-4.7.2-parallel_make.patch45
-rw-r--r--x11-wm/i3/i3-4.7.2-r1.ebuild72
4 files changed, 143 insertions, 1 deletions
diff --git a/x11-wm/i3/ChangeLog b/x11-wm/i3/ChangeLog
index 9dbf3b09235d..8d67c2050d53 100644
--- a/x11-wm/i3/ChangeLog
+++ b/x11-wm/i3/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for x11-wm/i3
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/i3/ChangeLog,v 1.47 2014/04/19 09:51:40 nimiux Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/i3/ChangeLog,v 1.48 2014/04/24 20:46:17 xarthisius Exp $
+
+*i3-4.7.2-r1 (24 Apr 2014)
+
+ 24 Apr 2014; Kacper Kowalik <xarthisius@gentoo.org>
+ +files/i3-4.7.2-cflags.patch, +files/i3-4.7.2-parallel_make.patch,
+ +i3-4.7.2-r1.ebuild:
+ Respect CFLAGS during linking phase, make build parallel safe. Fixes #508304
+ by Ferenc Erki <erkiferenc@gmail.com> and #508426 by Julian Ospald
+ <hasufell@gentoo.org>. Thanks to hasufell for the patches
19 Apr 2014; Chema Alonso <nimiux@gentoo.org> i3-4.7.2.ebuild:
Stable for amd64 wrt bug #499098
diff --git a/x11-wm/i3/files/i3-4.7.2-cflags.patch b/x11-wm/i3/files/i3-4.7.2-cflags.patch
new file mode 100644
index 000000000000..ed9256f441df
--- /dev/null
+++ b/x11-wm/i3/files/i3-4.7.2-cflags.patch
@@ -0,0 +1,16 @@
+Respect CFLAGS in linking command
+
+https://bugs.gentoo.org/show_bug.cgi?id=508426
+
+Patch written by Julian Ospald <hasufell@gentoo.org>
+--- a/src/i3.mk
++++ b/src/i3.mk
+@@ -64,7 +64,7 @@ i3-config-parser.stamp: generate-command-parser.pl parser-specs/config.spec
+
+ i3: libi3.a $(i3_OBJECTS)
+ echo "[i3] Link i3"
+- $(CC) $(I3_LDFLAGS) $(LDFLAGS) -o $@ $(filter-out libi3.a,$^) $(LIBS) $(i3_LIBS)
++ $(CC) $(CFLAGS) $(I3_LDFLAGS) $(LDFLAGS) -o $@ $(filter-out libi3.a,$^) $(LIBS) $(i3_LIBS)
+
+ install-i3: i3
+ echo "[i3] Install"
diff --git a/x11-wm/i3/files/i3-4.7.2-parallel_make.patch b/x11-wm/i3/files/i3-4.7.2-parallel_make.patch
new file mode 100644
index 000000000000..8e6eee75a938
--- /dev/null
+++ b/x11-wm/i3/files/i3-4.7.2-parallel_make.patch
@@ -0,0 +1,45 @@
+Fix parallel build
+
+https://bugs.gentoo.org/show_bug.cgi?id=508304
+
+Patch written by Julian Ospald <hasufell@gentoo.org>
+
+--- a/src/i3.mk
++++ b/src/i3.mk
+@@ -1,4 +1,4 @@
+-ALL_TARGETS += i3
++ALL_TARGETS += i3 test-tools
+ INSTALL_TARGETS += install-i3
+ CLEAN_TARGETS += clean-i3
+
+@@ -36,20 +36,22 @@ src/%.o: src/%.c $(i3_HEADERS_DEP)
+ echo "[i3] CC $<"
+ $(CC) $(I3_CPPFLAGS) $(XCB_CPPFLAGS) $(CPPFLAGS) $(i3_CFLAGS) $(I3_CFLAGS) $(CFLAGS) $(PCH_FLAGS) -c -o $@ ${canonical_path}/$<
+
+-# This target compiles the command parser twice:
+-# Once with -DTEST_PARSER, creating a stand-alone executable used for tests,
+-# and once as an object file for i3.
++test-tools: src/test.commands_parser src/test.config_parser
++
++src/test.commands_parser: src/commands_parser.c $(i3_HEADERS_DEP) i3-command-parser.stamp libi3.a
++ echo "[i3] Link test.commands_parser"
++ $(CC) $(I3_CPPFLAGS) $(XCB_CPPFLAGS) $(CPPFLAGS) $(i3_CFLAGS) $(I3_CFLAGS) $(CFLAGS) $(I3_LDFLAGS) $(LDFLAGS) -DTEST_PARSER -g -o test.commands_parser $< $(LIBS) $(i3_LIBS)
++
++src/test.config_parser: src/config_parser.c $(i3_HEADERS_DEP) i3-config-parser.stamp libi3.a
++ echo "[i3] Link test.config_parser"
++ $(CC) $(I3_CPPFLAGS) $(XCB_CPPFLAGS) $(CPPFLAGS) $(i3_CFLAGS) $(I3_CFLAGS) $(CFLAGS) $(I3_LDFLAGS) $(LDFLAGS) -DTEST_PARSER -g -o test.config_parser $< $(LIBS) $(i3_LIBS)
++
+ src/commands_parser.o: src/commands_parser.c $(i3_HEADERS_DEP) i3-command-parser.stamp
+ echo "[i3] CC $<"
+- $(CC) $(I3_CPPFLAGS) $(XCB_CPPFLAGS) $(CPPFLAGS) $(i3_CFLAGS) $(I3_CFLAGS) $(CFLAGS) $(I3_LDFLAGS) $(LDFLAGS) -DTEST_PARSER -g -o test.commands_parser $< $(LIBS) $(i3_LIBS)
+ $(CC) $(I3_CPPFLAGS) $(XCB_CPPFLAGS) $(CPPFLAGS) $(i3_CFLAGS) $(I3_CFLAGS) $(CFLAGS) -c -o $@ ${canonical_path}/$<
+
+-# This target compiles the command parser twice:
+-# Once with -DTEST_PARSER, creating a stand-alone executable used for tests,
+-# and once as an object file for i3.
+ src/config_parser.o: src/config_parser.c $(i3_HEADERS_DEP) i3-config-parser.stamp
+ echo "[i3] CC $<"
+- $(CC) $(I3_CPPFLAGS) $(XCB_CPPFLAGS) $(CPPFLAGS) $(i3_CFLAGS) $(I3_CFLAGS) $(CFLAGS) $(I3_LDFLAGS) $(LDFLAGS) -DTEST_PARSER -g -o test.config_parser $< $(LIBS) $(i3_LIBS)
+ $(CC) $(I3_CPPFLAGS) $(XCB_CPPFLAGS) $(CPPFLAGS) $(i3_CFLAGS) $(I3_CFLAGS) $(CFLAGS) -c -o $@ ${canonical_path}/$<
+
+ i3-command-parser.stamp: generate-command-parser.pl parser-specs/commands.spec
diff --git a/x11-wm/i3/i3-4.7.2-r1.ebuild b/x11-wm/i3/i3-4.7.2-r1.ebuild
new file mode 100644
index 000000000000..21f892d397a5
--- /dev/null
+++ b/x11-wm/i3/i3-4.7.2-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/i3/i3-4.7.2-r1.ebuild,v 1.1 2014/04/24 20:46:17 xarthisius Exp $
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="An improved dynamic tiling window manager"
+HOMEPAGE="http://i3wm.org/"
+SRC_URI="http://i3wm.org/downloads/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+pango"
+
+CDEPEND="dev-libs/libev
+ dev-libs/libpcre
+ dev-libs/yajl
+ x11-libs/libxcb
+ x11-libs/libX11
+ x11-libs/startup-notification
+ x11-libs/xcb-util
+ x11-libs/xcb-util-cursor
+ x11-libs/xcb-util-keysyms
+ x11-libs/xcb-util-wm
+ pango? (
+ >=x11-libs/pango-1.30.0[X]
+ >=x11-libs/cairo-1.12.2[X,xcb]
+ )"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}"
+
+DOCS=( RELEASE-NOTES-${PV} )
+
+src_prepare() {
+ if ! use pango; then
+ sed -i common.mk -e '/PANGO/d' || die
+ fi
+
+ cat <<- EOF > "${T}"/i3wm
+ #!/bin/sh
+ exec /usr/bin/i3
+ EOF
+
+ epatch "${FILESDIR}"/${P}-cflags.patch\
+ "${FILESDIR}"/${P}-parallel_make.patch
+ epatch_user #471716
+}
+
+src_compile() {
+ emake V=1 CC="$(tc-getCC)" AR="$(tc-getAR)"
+}
+
+src_install() {
+ default
+ dohtml -r docs/*
+ doman man/*.1
+ 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."
+}