summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2018-04-26 02:35:41 +0200
committerDanny Milosavljevic <dannym@scratchpost.org>2018-05-09 22:20:07 +0200
commit7b592cfb03dcf94be8d688bff8a67e1d5ab781b0 (patch)
tree03e467393d7d7abd20a87bf97c8dda9868ea0bfd
parent092f88a6d7d0b3779aa9bcc99bf3c110ddfef862 (diff)
gnu: Add android-safe-iop.
* gnu/packages/android.scm (android-platform-external): New procedure. (android-safe-iop): New variable.
-rw-r--r--gnu/packages/android.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index e9c591d434..7eb683c94d 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -103,6 +103,20 @@ use their packages mostly unmodified in our Android NDK build system.")
"adb-add-libraries.patch"
"libziparchive-add-includes.patch"))))
+(define (android-platform-external version subdirectory checksum)
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ (string-append "https://android.googlesource.com/platform/external/"
+ subdirectory))
+ (commit (string-append "android-" version))))
+ (file-name (string-append "android-platform-system-external-" subdirectory "-"
+ version "-checkout"))
+ (sha256
+ (base32
+ checksum))))
+
(define liblog
(package
(name "liblog")
@@ -314,6 +328,30 @@ to a Unix shell that can run commands on the connected device or emulator.")
Images.")
(license license:asl2.0)))
+(define-public android-safe-iop
+ (package
+ (name "android-safe-iop")
+ (version (android-platform-version))
+ (source (android-platform-external version "safe-iop"
+ "1nyyrs463advjhlq8xx1lm37m4g5afv7gy0csxrj7biwwl0v13qw"))
+ (build-system android-ndk-build-system)
+ (arguments
+ `(#:make-flags '("CXXFLAGS=-fpermissive -Wno-error")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'patch-host
+ (lambda _
+ ;; TODO: Cross-compile.
+ (substitute* "Android.mk"
+ (("BUILD_STATIC_LIBRARY") "BUILD_HOST_STATIC_LIBRARY"))
+ #t)))))
+ (home-page "https://developer.android.com/")
+ (synopsis "Safe integers in C")
+ (description "@code{android-safe-iop} provides a set of functions for
+performing and checking safe integer operations. Ensure that integer
+operations do not result in silent overflow.")
+ (license license:bsd-2)))
+
(define-public android-udev-rules
(package
(name "android-udev-rules")