GNU bug report logs - #52832
[PATCH 1/3] gnu: Add android-platform-frameworks-native-headers.

Previous Next

Package: guix-patches;

Reported by: Hartmut Goebel <h.goebel <at> crazy-compilers.com>

Date: Mon, 27 Dec 2021 20:12:02 UTC

Severity: normal

Tags: patch

Done: Hartmut Goebel <h.goebel <at> crazy-compilers.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 52832 in the body.
You can then email your comments to 52832 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#52832; Package guix-patches. (Mon, 27 Dec 2021 20:12:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 27 Dec 2021 20:12:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 1/3] gnu: Add android-platform-frameworks-native-headers.
Date: Mon, 27 Dec 2021 21:11:39 +0100
* gnu/package/android.scm (android-platform-frameworks-native): New
  function.  (android-platform-frameworks-native-headers): New variables.
---
 gnu/packages/android.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index 5fa4e6c8e9..226d8259ff 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -190,6 +190,17 @@ use their packages mostly unmodified in our Android NDK build system.")
      (base32
       checksum))))
 
+(define (android-platform-frameworks-native version)
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://android.googlesource.com/platform/frameworks/native")
+          (commit (string-append "android-" version))))
+    (file-name (string-append "android-platform-frameworks-native-"
+                              version "-checkout"))
+    (sha256
+     (base32 "00dgx27wma7wzivniy8zyw2443fi2xx8gyxii081m0fwamqd3jrm"))))
+
 (define-public android-liblog
   (package
     (name "android-liblog")
@@ -728,6 +739,31 @@ it.
 to be passed to the @code{udev} service.")
     (license license:gpl3+)))
 
+(define-public android-platform-frameworks-native-headers
+  (package
+    (name "android-platform-frameworks-native-headers")
+    (version (android-platform-version))
+    (source (android-platform-frameworks-native version))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((source (assoc-ref %build-inputs "source"))
+               (include (string-append %output "/include/android")))
+           (mkdir-p include)
+           (copy-recursively (string-append source "/include/android")
+                             (string-append include)) ; "/android"))
+           ))))
+    (home-page "https://android.googlesource.com/platform/frameworks/native/")
+    (synopsis "Headers for Android development from
+android-platform-frameworks-native")
+    (description "This package contains headers used for developing software
+for Android.  More precicely the headers from include/android in
+platform/frameworks/native.")
+    (license license:asl2.0)))
+
 (define-public git-repo
   (package
     (name "git-repo")
-- 
2.30.2





Information forwarded to guix-patches <at> gnu.org:
bug#52832; Package guix-patches. (Mon, 27 Dec 2021 20:16:01 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: 52832 <at> debbugs.gnu.org,
	guix-patches <at> gnu.org
Subject: [PATCH 2/3] gnu: Add libetc1.
Date: Mon, 27 Dec 2021 21:15:04 +0100
* gnu/packages/android.scm (libetc1): New variable.
---
 gnu/packages/android.scm | 48 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index 226d8259ff..31d388fd15 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -764,6 +764,54 @@ for Android.  More precicely the headers from include/android in
 platform/frameworks/native.")
     (license license:asl2.0)))
 
+(define-public libetc1
+  (package
+    (name "libetc1")
+    (version (android-platform-version))
+    (source (android-platform-frameworks-native version))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'create-Makefile
+           (lambda _
+             ;; No useful makefile is shipped, so we create one.
+             (with-output-to-file "Makefile"
+               (lambda _
+                 (display
+                  (string-append
+                   "NAME = libETC1\n"
+                   "SOURCES = opengl/libs/ETC1/etc1.cpp\n"
+                   "CXXFLAGS += -fPIC\n"
+                   "CPPFLAGS += -Iopengl/include\n"
+                   "LDFLAGS += -shared -Wl,-soname,$(NAME).so.0\n"
+                   "$(NAME).so.0: $(SOURCES)\n"
+                   "	$(CXX) $^ -o $@ $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS)\n"
+                   "build: $(NAME).so.0"))
+                 #t))))
+         (add-after 'unpack 'remove-unused-stuff-to-reduce-warnings
+           (lambda _
+             (delete-file-recursively "opengl/libs/tools")))
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (lib (string-append out "/lib"))
+                    (include (string-append out "/include")))
+               (install-file "libETC1.so.0" lib)
+               (with-directory-excursion lib
+                 (symlink "libETC1.so.0" "libETC1.so"))
+               (copy-recursively "opengl/include/ETC1"
+                                 (string-append include "/ETC1"))))))))
+    (home-page "https://android.googlesource.com/platform/frameworks/native/")
+    (synopsis "ETC1 compression library")
+    (description "Ericsson Texture Compression (ETC) is a lossy texture
+compression technique developed in collaboration with Ericsson Research in
+early 2005.  libETC1 provides the encoding and decoding of ETC1 compression
+algorithm.")
+    (license license:asl2.0)))
+
 (define-public git-repo
   (package
     (name "git-repo")
-- 
2.30.2





Information forwarded to guix-patches <at> gnu.org:
bug#52832; Package guix-patches. (Mon, 27 Dec 2021 20:16:02 GMT) Full text and rfc822 format available.

Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: 52832 <at> debbugs.gnu.org,
	guix-patches <at> gnu.org
Subject: [PATCH 3/3] gnu: Add etc1tool.
Date: Mon, 27 Dec 2021 21:15:05 +0100
* gnu/packages/android.scm (android-platform-development, etc1tools):
  New variables.
---
 gnu/packages/android.scm | 65 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index 31d388fd15..285ff85c3f 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -45,6 +45,7 @@
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages golang)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages pcre)
@@ -190,6 +191,17 @@ use their packages mostly unmodified in our Android NDK build system.")
      (base32
       checksum))))
 
+(define (android-platform-development version)
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://android.googlesource.com/platform/development")
+          (commit (string-append "android-" version))))
+    (file-name (string-append "android-platform-development-"
+                              version "-checkout"))
+    (sha256
+     (base32 "0s92961yycg8wsga40i7fvbfmf1a5i6j2gk64j2jiy7s0hfd4rc3"))))
+
 (define (android-platform-frameworks-native version)
   (origin
     (method git-fetch)
@@ -812,6 +824,59 @@ early 2005.  libETC1 provides the encoding and decoding of ETC1 compression
 algorithm.")
     (license license:asl2.0)))
 
+(define-public etc1tool
+  (package
+    (name "etc1tool")
+    (version (android-platform-version))
+    (source (android-platform-development version))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'create-Makefile
+           (lambda _
+             ;; No useful makefile is shipped, so we create one.
+             (with-output-to-file "Makefile"
+               (lambda _
+                 (display
+                  (string-append
+                   "NAME = etc1tool\n"
+                   "SOURCES = tools/etc1tool/etc1tool.cpp\n"
+                   "CPPFLAGS += -Iinclude\n"
+                   "LDFLAGS += -lpng -lETC1\n"
+                   "$(NAME): $(SOURCES)\n"
+                   "	$(CXX) $^ -o $@ $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS)\n"
+                   "build: $(NAME)"))
+                 #t))))
+         (add-before 'build 'fix-typos-in-help
+           (lambda _
+             (substitute* "tools/etc1tool/etc1tool.cpp"
+               ((" apropriate ") " appropriate "))
+             #t))
+         ;; TODO: Add man-page from Debian
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin")))
+               (install-file "etc1tool" bin)))))))
+    (inputs
+     `(("libetc1" ,libetc1)
+       ("libpng" ,libpng)))
+    (home-page "https://developer.android.com/studio/command-line/etc1tool.html")
+    (synopsis "Encode and decode PNG images to resp. from the ETC1 compression
+standard.")
+    (description
+     "@command{etc1} is a command line utility that lets you encode PNG images
+to the ETC1 compression standard and decode ETC1 compressed images back to
+PNG.  This tool is part of the Android SDK for working with media files for
+game apps.
+
+The standard for the ETC1 texture format can be found at
+@uref{http://www.khronos.org/registry/gles/extensions/OES/OES_compressed_ETC1_RGB8_texture.txt}.")
+    (license license:asl2.0)))
+
 (define-public git-repo
   (package
     (name "git-repo")
-- 
2.30.2





Information forwarded to guix-patches <at> gnu.org:
bug#52832; Package guix-patches. (Mon, 27 Dec 2021 20:16:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#52832; Package guix-patches. (Mon, 27 Dec 2021 20:16:03 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#52832; Package guix-patches. (Sat, 15 Jan 2022 20:23:01 GMT) Full text and rfc822 format available.

Message #20 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: 52832-close <at> debbugs.gnu.org, guix-patches <at> gnu.org
Subject: Re: [PATCH 3/3] gnu: Add etc1tool.
Date: Sat, 15 Jan 2022 21:22:09 +0100
Pushed as 131e243546967d48b198fea359ded2fa7caf0c19

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel <at> crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |





Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Sat, 15 Jan 2022 20:23:02 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Sat, 15 Jan 2022 20:23:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#52832; Package guix-patches. (Sat, 15 Jan 2022 21:37:02 GMT) Full text and rfc822 format available.

Message #28 received at 52832 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
Cc: 52832 <at> debbugs.gnu.org
Subject: Re: bug#52832: [PATCH 1/3] gnu: Add
 android-platform-frameworks-native-headers.
Date: Sat, 15 Jan 2022 22:36:34 +0100
Hi,

Some late comments:

Hartmut Goebel <h.goebel <at> crazy-compilers.com> skribis:

> * gnu/packages/android.scm (android-platform-development, etc1tools):
>   New variables.

[...]

> +         (add-before 'build 'fix-typos-in-help
> +           (lambda _
> +             (substitute* "tools/etc1tool/etc1tool.cpp"
> +               ((" apropriate ") " appropriate "))
> +             #t))

You can now omit trailing #t (yay!).

> +    (inputs
> +     `(("libetc1" ,libetc1)
> +       ("libpng" ,libpng)))

Make sure to run ‘./pre-inst-env guix style -S inputs’ on your packages.

> +    (synopsis "Encode and decode PNG images to resp. from the ETC1 compression
> +standard.")

Please follow the guidelines and ‘guix lint’ warnings.

Thanks,
Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 13 Feb 2022 12:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 72 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.