aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/android.scm32
-rw-r--r--gnu/packages/patches/libziparchive-add-includes.patch10
3 files changed, 42 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 0e1d686a6c..5acc9fb136 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -805,6 +805,7 @@ dist_patch_DATA = \
%D%/packages/patches/jq-CVE-2015-8863.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/khmer-use-libraries.patch \
+ %D%/packages/patches/libziparchive-add-includes.patch \
%D%/packages/patches/kiki-level-selection-crash.patch \
%D%/packages/patches/kiki-makefile.patch \
%D%/packages/patches/kiki-missing-includes.patch \
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index ec32a5cfdf..ea225fa900 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -33,6 +33,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages python)
#:use-module (gnu packages ssh)
@@ -99,7 +100,8 @@ use their packages mostly unmodified in our Android NDK build system.")
(patches
(search-patches "libbase-use-own-logging.patch"
"libbase-fix-includes.patch"
- "adb-add-libraries.patch"))))
+ "adb-add-libraries.patch"
+ "libziparchive-add-includes.patch"))))
(define liblog
(package
@@ -193,6 +195,34 @@ various Android core host applications.")
various Android core host applications.")
(license license:asl2.0)))
+(define-public android-libziparchive
+ (package
+ (name "android-libziparchive")
+ (version (android-platform-version))
+ (source (android-platform-system-core version))
+ (build-system android-ndk-build-system)
+ (arguments
+ `(#:tests? #f ; TODO.
+ #:make-flags '("CFLAGS=-Wno-error"
+ "CXXFLAGS=-fpermissive -Wno-error -std=gnu++11")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'enter-source
+ (lambda _ (chdir "libziparchive") #t))
+ (add-after 'install 'install-headers
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (copy-recursively "../include/ziparchive"
+ (string-append out "/include/ziparchive"))
+ #t))))))
+ (inputs
+ `(("zlib" ,zlib)))
+ (home-page "https://developer.android.com/")
+ (synopsis "Android platform ZIP library")
+ (description "@code{android-libziparchive} is a library in common use by the
+various Android core host applications.")
+ (license license:asl2.0)))
+
(define-public adb
(package
(name "adb")
diff --git a/gnu/packages/patches/libziparchive-add-includes.patch b/gnu/packages/patches/libziparchive-add-includes.patch
new file mode 100644
index 0000000000..41137105a0
--- /dev/null
+++ b/gnu/packages/patches/libziparchive-add-includes.patch
@@ -0,0 +1,10 @@
+--- a/libziparchive/zip_writer.cc 2018-04-25 22:33:05.472674164 +0200
++++ b/libziparchive/zip_writer.cc 2018-04-25 22:33:21.296519518 +0200
+@@ -22,6 +22,7 @@
+
+ #include <sys/param.h>
+
++#include <cstring>
+ #include <cassert>
+ #include <cstdio>
+ #include <memory>