aboutsummaryrefslogtreecommitdiffstats
path: root/main/dtc
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2016-06-23 13:11:16 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2016-06-23 13:11:16 +0000
commit65d45d3421e310037de30d1a30ec2d1b03b863e7 (patch)
tree104646d57d6d6ff2fb9278baa8fe533d859b79fc /main/dtc
parent08e33d0f02c353d47b25b57f4f56a6ba9918fe32 (diff)
downloadaports-65d45d3421e310037de30d1a30ec2d1b03b863e7.tar.bz2
aports-65d45d3421e310037de30d1a30ec2d1b03b863e7.tar.xz
main/dtc: move from testing
needed for xen on arm
Diffstat (limited to 'main/dtc')
-rw-r--r--main/dtc/APKBUILD40
-rw-r--r--main/dtc/use-tx-as-the-type-specifier-instead-of-zx.patch57
2 files changed, 97 insertions, 0 deletions
diff --git a/main/dtc/APKBUILD b/main/dtc/APKBUILD
new file mode 100644
index 0000000000..4d964b3a6f
--- /dev/null
+++ b/main/dtc/APKBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=dtc
+pkgver=1.4.1
+pkgrel=0
+pkgdesc="Device Tree Compiler"
+url="http://devicetree.org/Device_Tree_Compiler"
+arch="all"
+license="GPLv2+"
+depends=""
+depends_dev=""
+makedepends="$depends_dev bison flex"
+install=""
+subpackages="$pkgname-dev libfdt"
+source="https://ftp.kernel.org/pub/software/utils/dtc/dtc-$pkgver.tar.xz
+ use-tx-as-the-type-specifier-instead-of-zx.patch
+ "
+builddir="$srcdir/dtc-$pkgver"
+
+build() {
+ cd "$builddir"
+ make || return 1
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" PREFIX=/usr install || return 1
+}
+
+libfdt() {
+ pkgdesc="Device tree library"
+ mkdir -p "$subpkgdir"/usr/lib/
+ mv "$pkgdir"/usr/lib/libfdt* "$subpkgdir"/usr/lib/
+}
+
+md5sums="2c977ced2e900a397b2db846ae68ef89 dtc-1.4.1.tar.xz
+d7178913059955f54298f3168930cbe0 use-tx-as-the-type-specifier-instead-of-zx.patch"
+sha256sums="77992ad8eac7b68f553d0ba58e5b51604ac803d126196c99e3ae38aaae28bb94 dtc-1.4.1.tar.xz
+902efc2f23ba67e33db44dd1c73dec9740320ad289ed73b83d5f3bcceab88b41 use-tx-as-the-type-specifier-instead-of-zx.patch"
+sha512sums="63df730e65f62b8c9648cfee5461809188f4198cbf98de25fbe5cb7f2f43c405266abb740501740f59847dc6faf0588bcbc734d08ae5430b05c2601e070d6d05 dtc-1.4.1.tar.xz
+693639b1eaa63d5eca598f1e35890fdc13132baf1a95ab780d5039faf79ff9bb72638096d794d73f4d2a93c69c5bba0d657985de98f97c3eff633969f5e6f8f8 use-tx-as-the-type-specifier-instead-of-zx.patch"
diff --git a/main/dtc/use-tx-as-the-type-specifier-instead-of-zx.patch b/main/dtc/use-tx-as-the-type-specifier-instead-of-zx.patch
new file mode 100644
index 0000000000..9c31575bbc
--- /dev/null
+++ b/main/dtc/use-tx-as-the-type-specifier-instead-of-zx.patch
@@ -0,0 +1,57 @@
+From 46ed9702a0005da87edd0cc3d34dbe24d1526784 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <dan@danny.cz>
+Date: Thu, 6 Jun 2013 17:01:39 +0200
+Subject: [PATCH] use tx as the type specifier instead of zx
+
+A couple of printf() commands use "zx" as a type specifier for printing
+a difference of 2 pointers. "z" means a size_t, but using "t" which is
+ptrdiff_t is correct. The issue was found on s390 (32-bit) where size_t
+is defined as "unsigned long" as opposed to the usual "unsigned int".
+---
+ fdtdump.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/fdtdump.c b/fdtdump.c
+index 723770d..c5811f0 100644
+--- a/fdtdump.c
++++ b/fdtdump.c
+@@ -95,7 +95,7 @@ static void dump_blob(void *blob, bool debug)
+ p = p_struct;
+ while ((tag = fdt32_to_cpu(GET_CELL(p))) != FDT_END) {
+
+- dumpf("%04zx: tag: 0x%08x (%s)\n",
++ dumpf("%04tx: tag: 0x%08x (%s)\n",
+ (uintptr_t)p - blob_off - 4, tag, tagname(tag));
+
+ if (tag == FDT_BEGIN_NODE) {
+@@ -135,8 +135,8 @@ static void dump_blob(void *blob, bool debug)
+
+ p = PALIGN(p + sz, 4);
+
+- dumpf("%04zx: string: %s\n", (uintptr_t)s - blob_off, s);
+- dumpf("%04zx: value\n", (uintptr_t)t - blob_off);
++ dumpf("%04tx: string: %s\n", (uintptr_t)s - blob_off, s);
++ dumpf("%04tx: value\n", (uintptr_t)t - blob_off);
+ printf("%*s%s", depth * shift, "", s);
+ utilfdt_print_data(t, sz);
+ printf(";\n");
+@@ -210,14 +210,14 @@ int main(int argc, char *argv[])
+ fdt_off_dt_strings(p) < this_len)
+ break;
+ if (debug)
+- printf("%s: skipping fdt magic at offset %#zx\n",
++ printf("%s: skipping fdt magic at offset %#tx\n",
+ file, p - buf);
+ }
+ ++p;
+ }
+ if (!p)
+ die("%s: could not locate fdt magic\n", file);
+- printf("%s: found fdt at offset %#zx\n", file, p - buf);
++ printf("%s: found fdt at offset %#tx\n", file, p - buf);
+ buf = p;
+ }
+
+--
+1.8.1.4
+