summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@chromium.org>2018-01-10 00:48:35 -0500
committerMike Frysinger <vapier@gentoo.org>2018-01-10 00:48:42 -0500
commit0b6c782b7853ff796d16200301ced0b34e16c594 (patch)
tree5c048b2cc9195784f4af8c444a011f591db4f6b9 /sys-apps/dtc
parentapp-admin/perl-cleaner: mark 2.25 m68k/s390/sh (diff)
downloadgentoo-0b6c782b7853ff796d16200301ced0b34e16c594.tar.gz
gentoo-0b6c782b7853ff796d16200301ced0b34e16c594.tar.bz2
gentoo-0b6c782b7853ff796d16200301ced0b34e16c594.zip
sys-apps/dtc: change dtdiff to use /bin/sh
Diffstat (limited to 'sys-apps/dtc')
-rw-r--r--sys-apps/dtc/dtc-1.4.4-r1.ebuild56
-rw-r--r--sys-apps/dtc/dtc-9999.ebuild8
-rw-r--r--sys-apps/dtc/files/dtc-1.4.4-posix-shell.patch48
3 files changed, 111 insertions, 1 deletions
diff --git a/sys-apps/dtc/dtc-1.4.4-r1.ebuild b/sys-apps/dtc/dtc-1.4.4-r1.ebuild
new file mode 100644
index 00000000000..7521eebe76e
--- /dev/null
+++ b/sys-apps/dtc/dtc-1.4.4-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit multilib toolchain-funcs eutils
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/utils/dtc/dtc.git"
+ inherit git-r3
+else
+ SRC_URI="mirror://kernel/software/utils/${PN}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+fi
+
+DESCRIPTION="Open Firmware device tree compiler"
+HOMEPAGE="https://devicetree.org/ https://git.kernel.org/cgit/utils/dtc/dtc.git/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="static-libs"
+
+DEPEND="
+ sys-devel/bison
+ sys-devel/flex
+"
+DOCS="
+ Documentation/dt-object-internal.txt
+ Documentation/dts-format.txt
+ Documentation/manual.txt
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.4-posix-shell.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e '/^CFLAGS =/s:=:+=:' \
+ -e '/^CPPFLAGS =/s:=:+=:' \
+ -e 's:-Werror::' \
+ -e 's:-g -Os::' \
+ -e "/^PREFIX =/s:=.*:= ${EPREFIX}/usr:" \
+ -e "/^LIBDIR =/s:=.*:= \$(PREFIX)/$(get_libdir):" \
+ Makefile || die
+
+ tc-export AR CC
+ export V=1
+}
+
+src_install() {
+ default
+
+ use static-libs || find "${ED}" -name '*.a' -delete
+}
diff --git a/sys-apps/dtc/dtc-9999.ebuild b/sys-apps/dtc/dtc-9999.ebuild
index 1dc3915445f..7521eebe76e 100644
--- a/sys-apps/dtc/dtc-9999.ebuild
+++ b/sys-apps/dtc/dtc-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -24,9 +24,15 @@ DEPEND="
sys-devel/flex
"
DOCS="
+ Documentation/dt-object-internal.txt
+ Documentation/dts-format.txt
Documentation/manual.txt
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.4-posix-shell.patch
+)
+
src_prepare() {
default
diff --git a/sys-apps/dtc/files/dtc-1.4.4-posix-shell.patch b/sys-apps/dtc/files/dtc-1.4.4-posix-shell.patch
new file mode 100644
index 00000000000..b9b0175c0bd
--- /dev/null
+++ b/sys-apps/dtc/files/dtc-1.4.4-posix-shell.patch
@@ -0,0 +1,48 @@
+From 4d9522764985462741c7bb4af1ab231b9251476b Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@chromium.org>
+Date: Wed, 10 Jan 2018 00:41:43 -0500
+Subject: [PATCH] dtdiff: change to POSIX shell
+
+This changes from the bash-specific process substitution feature to
+reading with pipes. It relies on /dev/fd or /proc/self/fd existing.
+
+URL: https://crbug.com/756559
+Signed-off-by: Mike Frysinger <vapier@chromium.org>
+---
+ dtdiff | 19 +++++++++++++------
+ 1 file changed, 13 insertions(+), 6 deletions(-)
+
+diff --git a/dtdiff b/dtdiff
+index 5fa772b0ab62..4d1b71756c2f 100644
+--- a/dtdiff
++++ b/dtdiff
+@@ -1,8 +1,4 @@
+-#! /bin/bash
+-
+-# This script uses the bash <(...) extension.
+-# If you want to change this to work with a generic /bin/sh, make sure
+-# you fix that.
++#! /bin/sh
+
+
+ DTC=dtc
+@@ -35,4 +31,15 @@ if [ $# != 2 ]; then
+ exit 1
+ fi
+
+-diff -u <(source_and_sort "$1") <(source_and_sort "$2")
++for dir in /dev/fd /proc/self/fd; do
++ if [ -d "${dir}" ]; then
++ break
++ fi
++done
++
++source_and_sort "$1" | (
++ # Duplicate current stdin from the first file to fd 3 so we can change fd 0
++ # to the second file.
++ exec 3<&0
++ source_and_sort "$2" | diff -u "${dir}/3" "${dir}/0"
++)
+--
+2.15.1
+