From 0d75a7ee44585b01ffe3c41ebcb6c0a286d712b2 Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Sat, 22 Apr 2017 01:02:56 -0400 Subject: [PATCH] Add mosys ebuild. Needed for crossystem tool on Chromebooks. --- sys-apps/mosys/Manifest | 3 + .../files/mosys-verbose-library-tests.patch | 43 ++++++++ sys-apps/mosys/mosys-20170221.ebuild | 52 +++++++++ sys-libs/flashmap/Manifest | 7 ++ .../files/flashmap-dont-set-make.patch | 62 +++++++++++ .../files/flashmap-no-static-libs.patch | 42 +++++++ .../flashmap/files/flashmap-respect-AR.patch | 38 +++++++ .../flashmap-respect-CFLAGS-LDFLAGS.patch | 103 ++++++++++++++++++ .../files/flashmap-split-install.patch | 36 ++++++ sys-libs/flashmap/flashmap-20160808.ebuild | 45 ++++++++ 10 files changed, 431 insertions(+) create mode 100644 sys-apps/mosys/Manifest create mode 100644 sys-apps/mosys/files/mosys-verbose-library-tests.patch create mode 100644 sys-apps/mosys/mosys-20170221.ebuild create mode 100644 sys-libs/flashmap/Manifest create mode 100644 sys-libs/flashmap/files/flashmap-dont-set-make.patch create mode 100644 sys-libs/flashmap/files/flashmap-no-static-libs.patch create mode 100644 sys-libs/flashmap/files/flashmap-respect-AR.patch create mode 100644 sys-libs/flashmap/files/flashmap-respect-CFLAGS-LDFLAGS.patch create mode 100644 sys-libs/flashmap/files/flashmap-split-install.patch create mode 100644 sys-libs/flashmap/flashmap-20160808.ebuild diff --git a/sys-apps/mosys/Manifest b/sys-apps/mosys/Manifest new file mode 100644 index 0000000..505cb6d --- /dev/null +++ b/sys-apps/mosys/Manifest @@ -0,0 +1,3 @@ +AUX mosys-verbose-library-tests.patch 1505 SHA256 eef82d47a004604a0d2f08de7588ff94a460363bb7d05257eae53eb65461b85d SHA512 45f203c905358ccd8e6f20b3180a9415058ad6fdf4aa769bc8310d8053850cb4c9eded75acf3f6814f2b56b4d38a2bb19671e54cf718fc5cfbb2a4ad4cc0d672 WHIRLPOOL 1453487152cf2823130deb860d9b1586014db785400517e3fbb177c19e8002845547c66fb5153b83a0cd813f2836bc6c7ad0f0ee725856f5d52667c6066c21d4 +DIST mosys-04b5510716baccee8a3e4a502d6aab38ea35a6a3.tar.gz 631305 SHA256 bc33f63344f1e2147702fb141deaf958d5fc666cd5b5755997637190d4fd3348 SHA512 b3e4389ae1193949aebe2333b7b85566029f39eee0578dccae741f27142db313e429e9afb5c5042c885828d0c811e0dcb939ca4078d870198b37d79461bc84cf WHIRLPOOL af615f1bb237a9293660516fd9f893ca0e9673e62037004235e8037b636294b4212873ddb587678e48433f414f7f505fa5e4febe09a4997cea7e0ccac8741f4c +EBUILD mosys-20170221.ebuild 1071 SHA256 83cad7e2247d1685e31f074e2a5fb2f56fe935275ea0ed4ad20624002fea8283 SHA512 5a03b0f09c9b4e7c3459df29af3a9fc4820f8858c6d4706db2993f2786a63814d1ca2354219e1581a5811724bc0556d8b590b3dddde6d49328bc2d2530669ecb WHIRLPOOL d59a0412c0b2949e3327f28058260d433328511e765c4de78690905cf8d3f4f961239ec9008201cc4460dabc7d08637d47ef2a41da05bf5de7a6d78ddbc3df2f diff --git a/sys-apps/mosys/files/mosys-verbose-library-tests.patch b/sys-apps/mosys/files/mosys-verbose-library-tests.patch new file mode 100644 index 0000000..134a2cd --- /dev/null +++ b/sys-apps/mosys/files/mosys-verbose-library-tests.patch @@ -0,0 +1,43 @@ +From 19547bc72e2fb9a5d314d778b1cbf277c9dd882b Mon Sep 17 00:00:00 2001 +From: Nick Bowler +Date: Fri, 21 Apr 2017 22:01:48 -0400 +Subject: [PATCH] Make library tests verbose. + +Hard to tell WTF is going on when the commands are suppressed. Get rid +of the pass/fail messages too since we don't need suggestions in ebuild +logs. +--- + Makefile | 10 ++-------- + 1 file changed, 2 insertions(+), 8 deletions(-) + +diff --git a/Makefile b/Makefile +index 74cbec32d607..cedc40284c94 100644 +--- a/Makefile ++++ b/Makefile +@@ -1013,10 +1013,7 @@ export LIBUUID_TEST + test_libuuid: + @echo "Testing libuuid..." + @echo "$$LIBUUID_TEST" > .uuid_test.c +- @$(CC) $(CFLAGS) $(CC_LDFLAGS) -o .uuid_test .uuid_test.c -luuid >/dev/null 2>&1 && \ +- echo "libuuid test passed." || \ +- ( echo "libuuid test failed. Please install libuuid" ; exit 1) +- @rm -f .uuid_test.c .uuid_test ++ $(CC) $(CFLAGS) $(CC_LDFLAGS) -o .uuid_test .uuid_test.c -luuid + + define LIBFMAP_TEST + #include +@@ -1033,10 +1030,7 @@ export LIBFMAP_TEST + test_libfmap: + @echo "Testing libfmap..." + @echo "$$LIBFMAP_TEST" > .fmap_test.c +- @$(CC) $(CFLAGS) $(CC_LDFLAGS) -o .fmap_test .fmap_test.c $(FMAP_LINKOPT) >/dev/null 2>&1 && \ +- echo "libfmap test passed." || \ +- ( echo "libfmap test failed. Please install libfmap (http://flashmap.googlecode.com)"; exit 1 ) +- @rm -f .fmap_test.c .fmap_test ++ $(CC) $(CFLAGS) $(CC_LDFLAGS) -o .fmap_test .fmap_test.c $(FMAP_LINKOPT) + + libcheck: test_libuuid test_libfmap + +-- +2.10.2 + diff --git a/sys-apps/mosys/mosys-20170221.ebuild b/sys-apps/mosys/mosys-20170221.ebuild new file mode 100644 index 0000000..b34dbe8 --- /dev/null +++ b/sys-apps/mosys/mosys-20170221.ebuild @@ -0,0 +1,52 @@ +# Copyright © 2017 Nick Bowler +# License GPLv3+: GNU General Public License version 3 or later. +# There is NO WARRANTY, to the extent permitted by law. + +EAPI=6 + +inherit toolchain-funcs + +# Github repo has no release tags, and chromium repo has no stable +# download archives. Fun times. +SHA1=04b5510716baccee8a3e4a502d6aab38ea35a6a3 +MY_P=$PN-$SHA1 + +DESCRIPTION="More Open System tool for ChromiumOS" +HOMEPAGE="https://github.com/dhendrix/mosys" +SRC_URI="https://github.com/dhendrix/$PN/archive/$SHA1.tar.gz -> $MY_P.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~arm" + +LIBDEPEND="sys-libs/flashmap + sys-apps/util-linux" +DEPEND="$LIBDEPEND + sys-libs/ncurses:0 + virtual/pkgconfig" +RDEPEND=$LIBDEPEND + +PATCHES=( + "$FILESDIR/$PN-verbose-library-tests.patch" +) + +S=$WORKDIR/$MY_P + +my_emake () { + emake V=1 CC_LDFLAGS="$LDFLAGS" EXTRA_CFLAGS="$CFLAGS" \ + CC="$(tc-getCC)" LD="$(tc-getCC) -nostdlib" AR="$(tc-getAR)" \ + HOSTCC="$(tc-getBUILD_CC)" "$@" || die +} + +src_configure () { + my_emake defconfig +} + +src_compile () { + my_emake +} + +src_install () { + dosbin mosys + dodoc README +} diff --git a/sys-libs/flashmap/Manifest b/sys-libs/flashmap/Manifest new file mode 100644 index 0000000..3936e74 --- /dev/null +++ b/sys-libs/flashmap/Manifest @@ -0,0 +1,7 @@ +AUX flashmap-dont-set-make.patch 1560 SHA256 111e2401f83d59217c7421b38e8ce815fb9d50b5cfe94f96e41defea1a06df07 SHA512 97d105cb5593b22006a4107572a399a0b1474fefe3d8033b946b5ec1202b57d5d972d380ddbc2422865f00ea487f1794c867b94d3ace745b40a45391ce35a199 WHIRLPOOL 75c4b6c86011c1634f43ddc6f308b7d3afd88b58e9bf1a19b9b52776cb0c5e525d2cbb5d849399e5389cfffc798ab89d34b54029d9e0e5c4f93c84f498144446 +AUX flashmap-no-static-libs.patch 1560 SHA256 e4277357170b5a53ca38d64c7436cb1caaa281e6426579b63f3e352eb4701384 SHA512 97fd98a2611387b9d539ce4072014aeb059de5808848e621d95bacf47cba1e6844fd9947cc8c7f9d63642b02250d04bd7f185a7381852467e97e39ba78ea34c4 WHIRLPOOL f22fd3d9bad6cf2c41debd29f630519d4801159b96dd34f7658d91eab7a9ccd8677e0d08cf6f80408efbf841222d8fc6e93272a502ee69a433d1be8d12885b42 +AUX flashmap-respect-AR.patch 959 SHA256 1fff156f1141707f4aad7e8167cffe2bea795944a6711eeb5980b675f5e748ae SHA512 e3b902cf255930e2a0a6b97087f97ede514f411d993a18a89d5395fa28fd79d69b01710abf4e35e1c9616c87497376b5ec67530513326484fbf0cbf7a0367943 WHIRLPOOL c6171fce3aa80295d3828367386eda73385404c8c0a9ff15ede2b2eb670da839184d958316681e8453dea8bc4fcc7a135c28e97241dc9c8a5eebd00af1b2e0b0 +AUX flashmap-respect-CFLAGS-LDFLAGS.patch 3226 SHA256 358e798f5e82b8bf8f7a26e56c481543af54793dc93c705b19ad3cb32ee1a4e7 SHA512 2ac1f82b6fdc3c8d1288942f20774be003e195b875a893538d0819aa2b9265a72b8ffde2b40466c1fda618df06c0c8049fb72c8b5cf2b19a5e3179331b88d679 WHIRLPOOL d7888a3258f31811f9e30d3bda359c07b3078fa2cb2f882b69ad4b83a06985817346d966cd6a5201fd898c9bec49706870a0320cc2fb4276418f8a67d6ab3591 +AUX flashmap-split-install.patch 1107 SHA256 66b09e438b66adadd1cfa73e0c742bb4c74ddd98fee0aa3a7e655eebd885a6e7 SHA512 4b5268cd5dcdc8a4b36d2d7d64ed2881b026a3555a581de821fbc335774dfdf3c853865479a4dcf1d354fdd6c02fe4ddb529f2418acda1e13c1b2bb861277f1a WHIRLPOOL 6d5e82950780d8048293de1c4441a8fb2fb7273a4208b01e071c840f8a31e0e277d815bfa0137dfdb8b11cc704a26f5cedaaf51eb6df28ce5cd789d7aa8a9eeb +DIST flashmap-976420e9ecae3c3933d5e59e67a4debad751d003.tar.gz 22965 SHA256 e0f461f8eb8a40b3dd976ca81b62542e51a8353897265175a5f360073f6800ba SHA512 ca8802f558a37ee6fd6ff5c713f4de4f213a41558aaabcad2845bdeca38705cb1a7e44da5651184fc1c4ea0952180d77b2763aaee5d19fab41e24d276ac0aff4 WHIRLPOOL 2539457e16e8ace39c6d775893a05c3a97a1766840fa977a637c6869f33128d9b0d4ad45e5ee1642f468fd9b56f9476a9bd6e948f6edd2fccbe0132f3f93b027 +EBUILD flashmap-20160808.ebuild 1208 SHA256 5b9cd912da4093ccbdd598558fd470433c8abb38aeb5413de3f1fe8adc137170 SHA512 349c67bb4077979e46b6c2ec2968252c9914b6c33f792fdbd7db4c2ef25fb18cf83c75ed32555dee5e7e82e66b3372af61f153f612a5797f2efec61563e80dfb WHIRLPOOL 43eed89733f6a2de26763248e91013e130d2bda143a20912c4ae8e5d997ae402bfe79b9e44a5e7916fafff62b637a93687b31bfc27952b8d39fad58050ed09b3 diff --git a/sys-libs/flashmap/files/flashmap-dont-set-make.patch b/sys-libs/flashmap/files/flashmap-dont-set-make.patch new file mode 100644 index 0000000..fd22df4 --- /dev/null +++ b/sys-libs/flashmap/files/flashmap-dont-set-make.patch @@ -0,0 +1,62 @@ +From 04ff0684fc44d8feaa081dd657a6b7d03fc15721 Mon Sep 17 00:00:00 2001 +From: Nick Bowler +Date: Fri, 21 Apr 2017 16:00:33 -0400 +Subject: [PATCH 3/5] Don't set MAKE. + +This will override the actual make command used for recursive +invocations, which is not what we want. +--- + Makefile | 5 ++--- + lib/Makefile | 4 ++-- + 2 files changed, 4 insertions(+), 5 deletions(-) + +diff --git a/Makefile b/Makefile +index 9401cf0..0be39b6 100644 +--- a/Makefile ++++ b/Makefile +@@ -38,7 +38,6 @@ VERSION_MINOR = 3 + AR ?= $(CROSS_COMPILE)ar + CC ?= $(CROSS_COMPILE)gcc + LD ?= $(CROSS_COMPILE)ld +-MAKE = make + RM = rm -f + + INSTALL = install +@@ -94,7 +93,7 @@ help: + + + $(SRC_LIBDIR)/libfmap.a: +- @$(MAKE) -C $(SRC_LIBDIR) ++ $(MAKE) -C $(SRC_LIBDIR) + + $(SHARED_OBJ_FILE): $(SRC_LIBDIR)/libfmap.a + $(CC) $(CFLAGS) $(LINKOPTS) -shared -Wl,-soname,$(SHARED_OBJ_SONAME) -o $@ -Wl,-whole-archive $^ -Wl,-no-whole-archive +@@ -215,7 +214,7 @@ lcov-clean: + + clean: lcov-clean + rm -f *.o *.a $(PROGRAMS) $(TEST_PROGRAM) $(LIBFMAP_EXAMPLE) $(SHARED_OBJ_FILE) +- @$(MAKE) -C $(SRC_LIBDIR) clean ++ $(MAKE) -C $(SRC_LIBDIR) clean + + %.o: %.c + $(CC) $(ALL_CFLAGS) -c $^ -I. -o $@ +diff --git a/lib/Makefile b/lib/Makefile +index 7d02dcb..5aef1b0 100644 +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -48,10 +48,10 @@ export MY_CFLAGS + .PHONY: clean + clean: + rm -f *.o *.a +- @$(MAKE) -C $(MINCRYPT) clean ++ $(MAKE) -C $(MINCRYPT) clean + + $(MINCRYPT)/sha.o: +- @$(MAKE) -C $(MINCRYPT) ++ $(MAKE) -C $(MINCRYPT) + + libfmap.a: $(OBJS) $(DEPS) + $(AR) rcs $@ $+ +-- +2.10.2 + diff --git a/sys-libs/flashmap/files/flashmap-no-static-libs.patch b/sys-libs/flashmap/files/flashmap-no-static-libs.patch new file mode 100644 index 0000000..abc4729 --- /dev/null +++ b/sys-libs/flashmap/files/flashmap-no-static-libs.patch @@ -0,0 +1,42 @@ +From 9a71a15270ec2d3b839374f4d4ea0309bae1ae91 Mon Sep 17 00:00:00 2001 +From: Nick Bowler +Date: Fri, 21 Apr 2017 16:46:38 -0400 +Subject: [PATCH 4/5] No static libs. + +--- + Makefile | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 0be39b6..672d0b4 100644 +--- a/Makefile ++++ b/Makefile +@@ -65,7 +65,7 @@ ALL_CFLAGS = $(MY_CFLAGS) $(CFLAGS) + CFLAGS_GCOV := -fprofile-arcs -ftest-coverage -lgcov + LINKOPTS = $(LDFLAGS) + +-PROGRAMS = fmap_decode fmap_encode fmap_csum libfmap_example ++PROGRAMS = fmap_decode fmap_encode fmap_csum + TEST_PROGRAM = fmap_test + SRC_LIBDIR = lib + GENHTML_OUTPUT ?= html +@@ -98,7 +98,7 @@ $(SRC_LIBDIR)/libfmap.a: + $(SHARED_OBJ_FILE): $(SRC_LIBDIR)/libfmap.a + $(CC) $(CFLAGS) $(LINKOPTS) -shared -Wl,-soname,$(SHARED_OBJ_SONAME) -o $@ -Wl,-whole-archive $^ -Wl,-no-whole-archive + +-$(PROGRAMS): $(SRC_LIBDIR)/libfmap.a ++$(PROGRAMS): $(SHARED_OBJ_FILE) + $(CC) $(ALL_CFLAGS) $(LINKOPTS) -I. -o $@ $@.c $^ + + # Add shared object filename to gcc command in case it's not installed already +@@ -176,7 +176,6 @@ install: all pkgconfig_install + $(INSTALL_PROGRAM) fmap_csum $(DESTDIR)$(sbindir) + $(INSTALL_DATA) lib/fmap.h $(DESTDIR)$(includedir) + $(INSTALL_DATA) lib/valstr.h $(DESTDIR)$(includedir) +- $(INSTALL_DATA) $(SRC_LIBDIR)/libfmap.a $(DESTDIR)$(libdir) + $(INSTALL_DATA) $(SHARED_OBJ_FILE) $(DESTDIR)$(libdir) + $(SYMLINK) $(SHARED_OBJ_FILE) $(DESTDIR)$(libdir)/$(SHARED_OBJ).so + $(SYMLINK) $(SHARED_OBJ_FILE) $(DESTDIR)$(libdir)/$(SHARED_OBJ).so.0 +-- +2.10.2 + diff --git a/sys-libs/flashmap/files/flashmap-respect-AR.patch b/sys-libs/flashmap/files/flashmap-respect-AR.patch new file mode 100644 index 0000000..31a39f2 --- /dev/null +++ b/sys-libs/flashmap/files/flashmap-respect-AR.patch @@ -0,0 +1,38 @@ +From 04223f5e24c807467d4ff0b254845843fd8f8a47 Mon Sep 17 00:00:00 2001 +From: Nick Bowler +Date: Fri, 21 Apr 2017 16:03:47 -0400 +Subject: [PATCH 2/5] Respect AR. + +--- + Makefile | 1 - + lib/Makefile | 2 +- + 2 files changed, 1 insertion(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 45942c1..9401cf0 100644 +--- a/Makefile ++++ b/Makefile +@@ -95,7 +95,6 @@ help: + + $(SRC_LIBDIR)/libfmap.a: + @$(MAKE) -C $(SRC_LIBDIR) +- ar rcs $@ $(SRC_LIBDIR)/*.o + + $(SHARED_OBJ_FILE): $(SRC_LIBDIR)/libfmap.a + $(CC) $(CFLAGS) $(LINKOPTS) -shared -Wl,-soname,$(SHARED_OBJ_SONAME) -o $@ -Wl,-whole-archive $^ -Wl,-no-whole-archive +diff --git a/lib/Makefile b/lib/Makefile +index bb65449..7d02dcb 100644 +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -54,7 +54,7 @@ $(MINCRYPT)/sha.o: + @$(MAKE) -C $(MINCRYPT) + + libfmap.a: $(OBJS) $(DEPS) +- ar rcs $@ $+ ++ $(AR) rcs $@ $+ + + %.o: %.c + $(CC) $(ALL_CFLAGS) -c $^ -I. -I$(INCLUDES) -o $@ +-- +2.10.2 + diff --git a/sys-libs/flashmap/files/flashmap-respect-CFLAGS-LDFLAGS.patch b/sys-libs/flashmap/files/flashmap-respect-CFLAGS-LDFLAGS.patch new file mode 100644 index 0000000..9d1acd6 --- /dev/null +++ b/sys-libs/flashmap/files/flashmap-respect-CFLAGS-LDFLAGS.patch @@ -0,0 +1,103 @@ +From 8d90ed7744b23c9f7298f5422f45ea3b033cf91b Mon Sep 17 00:00:00 2001 +From: Nick Bowler +Date: Fri, 21 Apr 2017 15:45:17 -0400 +Subject: [PATCH 1/5] Respect CFLAGS/LDFLAGS. + +--- + Makefile | 19 ++++++++++--------- + lib/Makefile | 7 ++++--- + lib/mincrypt/Makefile | 2 +- + 3 files changed, 15 insertions(+), 13 deletions(-) + +diff --git a/Makefile b/Makefile +index 30253c3..45942c1 100644 +--- a/Makefile ++++ b/Makefile +@@ -61,9 +61,10 @@ pkgconfig_dir = $(libdir)/pkgconfig + + DEFS = -DVERSION_MAJOR=$(VERSION_MAJOR)\ + -DVERSION_MINOR=$(VERSION_MINOR) +-CFLAGS += -O2 -Wall -Werror -Wno-unused-parameter -Ilib/ $(DEFS) ++MY_CFLAGS = -Wall -Wno-unused-parameter -Ilib/ $(DEFS) ++ALL_CFLAGS = $(MY_CFLAGS) $(CFLAGS) + CFLAGS_GCOV := -fprofile-arcs -ftest-coverage -lgcov +-LINKOPTS = ++LINKOPTS = $(LDFLAGS) + + PROGRAMS = fmap_decode fmap_encode fmap_csum libfmap_example + TEST_PROGRAM = fmap_test +@@ -78,7 +79,7 @@ SVNVERSION := $(shell LC_ALL=C svnversion -cn . 2>/dev/null | sed -e "s/.*://" - + + RELEASENAME := $(PACKAGE_NAME)-$(VERSION_MAJOR).$(VERSION_MINOR)-r$(SVNVERSION) + +-export CFLAGS ++export MY_CFLAGS + + all: $(PROGRAMS) $(SHARED_OBJ_FILE) + +@@ -97,19 +98,19 @@ $(SRC_LIBDIR)/libfmap.a: + ar rcs $@ $(SRC_LIBDIR)/*.o + + $(SHARED_OBJ_FILE): $(SRC_LIBDIR)/libfmap.a +- $(CC) -fpic -shared -Wl,-soname,$(SHARED_OBJ_SONAME) -o $@ -Wl,-whole-archive $^ -Wl,-no-whole-archive ++ $(CC) $(CFLAGS) $(LINKOPTS) -shared -Wl,-soname,$(SHARED_OBJ_SONAME) -o $@ -Wl,-whole-archive $^ -Wl,-no-whole-archive + + $(PROGRAMS): $(SRC_LIBDIR)/libfmap.a +- $(CC) $(CFLAGS) $(LINKOPTS) -I. -o $@ $@.c $^ ++ $(CC) $(ALL_CFLAGS) $(LINKOPTS) -I. -o $@ $@.c $^ + + # Add shared object filename to gcc command in case it's not installed already + $(LIBFMAP_EXAMPLE): $(SHARED_OBJ_FILE) +- $(CC) $(CFLAGS) $(LINKOPTS) -o $@ $@.c $(SHARED_OBJ_FILE) ++ $(CC) $(ALL_CFLAGS) $(LINKOPTS) -o $@ $@.c $(SHARED_OBJ_FILE) + + $(TEST_PROGRAM): $(SRC_LIBDIR)/libfmap.a +- $(CC) $(CFLAGS) $(LINKOPTS) -I. -o $@ $@.c $^ ++ $(CC) $(ALL_CFLAGS) $(LINKOPTS) -I. -o $@ $@.c $^ + +-test: CFLAGS += $(CFLAGS_GCOV) ++test: MY_CFLAGS += $(CFLAGS_GCOV) + test: $(TEST_PROGRAM) + lcov --directory . --zerocounters + @echo "Running $(TEST_PROGRAM)" +@@ -218,4 +219,4 @@ clean: lcov-clean + @$(MAKE) -C $(SRC_LIBDIR) clean + + %.o: %.c +- $(CC) $(CFLAGS) -c $^ -I. -o $@ ++ $(CC) $(ALL_CFLAGS) -c $^ -I. -o $@ +diff --git a/lib/Makefile b/lib/Makefile +index abd7ef8..bb65449 100644 +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -41,8 +41,9 @@ DEPS = $(MINCRYPT)/sha.o + INPUT_OBJS = input_interactive.o input_kv_pair.o + OBJS += $(INPUT_OBJS) + +-CFLAGS += -fpic +-export CFLAGS ++MY_CFLAGS += -fpic ++ALL_CFLAGS = $(MY_CFLAGS) $(CFLAGS) ++export MY_CFLAGS + + .PHONY: clean + clean: +@@ -56,4 +57,4 @@ libfmap.a: $(OBJS) $(DEPS) + ar rcs $@ $+ + + %.o: %.c +- $(CC) $(CFLAGS) -c $^ -I. -I$(INCLUDES) -o $@ ++ $(CC) $(ALL_CFLAGS) -c $^ -I. -I$(INCLUDES) -o $@ +diff --git a/lib/mincrypt/Makefile b/lib/mincrypt/Makefile +index 6229ec0..6f54faf 100644 +--- a/lib/mincrypt/Makefile ++++ b/lib/mincrypt/Makefile +@@ -38,4 +38,4 @@ clean: + rm -f *.o *.a + + %.o: %.c +- $(CC) $(CFLAGS) -c $^ -I. -o $@ ++ $(CC) $(MY_CFLAGS) $(CFLAGS) -c $^ -I. -o $@ +-- +2.10.2 + diff --git a/sys-libs/flashmap/files/flashmap-split-install.patch b/sys-libs/flashmap/files/flashmap-split-install.patch new file mode 100644 index 0000000..a803ed0 --- /dev/null +++ b/sys-libs/flashmap/files/flashmap-split-install.patch @@ -0,0 +1,36 @@ +From 689540df62a8e237f0b0733d09ad11e98a991e5b Mon Sep 17 00:00:00 2001 +From: Nick Bowler +Date: Fri, 21 Apr 2017 16:53:02 -0400 +Subject: [PATCH 5/5] Split install. + +Don't want to install binaries for non-native arches. +--- + Makefile | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 672d0b4..e501773 100644 +--- a/Makefile ++++ b/Makefile +@@ -167,13 +167,15 @@ else + pkgconfig_install: + endif + +-install: all pkgconfig_install ++install: all install_lib + $(INSTALL_DIR) $(DESTDIR)$(sbindir) +- $(INSTALL_DIR) $(DESTDIR)$(libdir) +- $(INSTALL_DIR) $(DESTDIR)$(includedir) + $(INSTALL_PROGRAM) fmap_decode $(DESTDIR)$(sbindir) + $(INSTALL_PROGRAM) fmap_encode $(DESTDIR)$(sbindir) + $(INSTALL_PROGRAM) fmap_csum $(DESTDIR)$(sbindir) ++ ++install_lib: $(SHARED_OBJ_FILE) pkgconfig_install ++ $(INSTALL_DIR) $(DESTDIR)$(libdir) ++ $(INSTALL_DIR) $(DESTDIR)$(includedir) + $(INSTALL_DATA) lib/fmap.h $(DESTDIR)$(includedir) + $(INSTALL_DATA) lib/valstr.h $(DESTDIR)$(includedir) + $(INSTALL_DATA) $(SHARED_OBJ_FILE) $(DESTDIR)$(libdir) +-- +2.10.2 + diff --git a/sys-libs/flashmap/flashmap-20160808.ebuild b/sys-libs/flashmap/flashmap-20160808.ebuild new file mode 100644 index 0000000..875200a --- /dev/null +++ b/sys-libs/flashmap/flashmap-20160808.ebuild @@ -0,0 +1,45 @@ +# Copyright © 2017 Nick Bowler +# License GPLv3+: GNU General Public License version 3 or later. +# There is NO WARRANTY, to the extent permitted by law. + +EAPI=6 + +inherit toolchain-funcs multilib-minimal + +# Github repo has no release tags, and chromium repo has no stable +# download archives. Fun times. +SHA1=976420e9ecae3c3933d5e59e67a4debad751d003 +MY_P=$PN-$SHA1 + +DESCRIPTION="library for manipulating flashmap data structure used in ChromiumOS" +HOMEPAGE="https://github.com/dhendrix/flashmap" +SRC_URI="https://github.com/dhendrix/$PN/archive/$SHA1.tar.gz -> $MY_P.tar.gz" + +LICENSE="|| ( BSD GPL-2 )" +SLOT=0 +KEYWORDS="~amd64 ~arm" + +PATCHES=( + "$FILESDIR/$PN-respect-CFLAGS-LDFLAGS.patch" + "$FILESDIR/$PN-respect-AR.patch" + "$FILESDIR/$PN-dont-set-make.patch" + "$FILESDIR/$PN-no-static-libs.patch" + "$FILESDIR/$PN-split-install.patch" +) + +S=$WORKDIR/$MY_P + +src_prepare () { + default_src_prepare + multilib_copy_sources +} + +multilib_src_compile () { + local progs=$(multilib_is_native_abi || echo PROGRAMS=) + emake CC="$(tc-getCC)" AR="$(tc-getAR)" $progs || die +} + +multilib_src_install () { + local target=$(multilib_is_native_abi || echo _lib) + emake DESTDIR="$D" LIBDIR="$(get_libdir)" install$target || die +} -- 2.43.0