[PATCH] gnu: Add megapixels.

  • Open
  • quality assurance status badge
Details
4 participants
  • Ludovic Courtès
  • Maxim Cournoyer
  • Tobias Geerinckx-Rice
  • phodina
Owner
unassigned
Submitted by
phodina
Severity
normal
P
P
phodina wrote on 17 Nov 2021 17:07
(name . Guix Patches)(address . guix-patches@gnu.org)
1vMgyrQNafwkMS0fIpN4mfDx99qF7xXbrXm_sCn6ysww4GrF4zowVOX2LzUzvgC33fu6zlCrPKQTpas0kymx5ME2BmRRNON5m0cmlh9Lrbs=@protonmail.com
Hi,

this adds support for the camera on PinePhone.

Also when I run lint it errors:

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
error: remote-refs: unbound variable

The problem is in the updater not handling the url https://git.sr.ht/~martijnbraam/megapixels.

* gnu/packages/gnome.scm (megapixels): New variable.

Toggle diff (49 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 19520f335a..7d53784533 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -1137,6 +1137,42 @@ freedesktop.org desktop notification specification.")
(home-page "https://wiki.gnome.org/Projects/NotificationDaemon")
(license license:gpl2+)))

+(define-public megapixels
+ (package
+ (name "megapixels")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~martijnbraam/megapixels")
+ (commit version)))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0dagp1sh5whnnllrydk7ijjid0hmvcbdm8kkzq2g168khdfn80jm"))))
+ (build-system meson-build-system)
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("gtk:bin"
+ ,gtk "bin") ; for gtk-update-icon-cache
+ ("glib:bin"
+ ,glib "bin") ; glib-compile-schemas, etc.
+ ("desktop-file-utils"
+ ,desktop-file-utils) ; for update-desktop-database
+ ("zbar" ,zbar)
+ ("libtiff" ,libtiff)
+ ("cmake" ,cmake)))
+ (inputs `(("libhandy" ,libhandy)
+ ("perl-image-exiftool" ,perl-image-exiftool)
+ ("imagemagick" ,imagemagick)
+ ("libraw" ,libraw)
+ ("gtk" ,gtk)))
+ (synopsis "Camera application")
+ (description "This package provides camera application that knows
+how to deal with the media request api.")
+ (home-page "https://git.sr.ht/~martijnbraam/megapixels")
+ (license license:gpl3+)))
+
(define-public mm-common
(package
(name "mm-common")

base-commit: b7b982228a7256afcb83d0b05a098139c2e1a644
--
2.33.0
T
T
Tobias Geerinckx-Rice wrote on 17 Nov 2021 18:47
(name . phodina)(address . phodina@protonmail.com)(address . 51923@debbugs.gnu.org)
e2d7f8a6a7018044f218d15e6986ed06@tobias.gr
Petr,

'Nother quickie.

On 2021-11-17 17:07, phodina via Guix-patches via wrote:
Toggle quote (3 lines)
> The problem is in the updater not handling the url
> https://git.sr.ht/~martijnbraam/megapixels.

Good thing 'he development and maintainership of Megapixels has been
moved to gitlab.com/postmarketos/megapixels' then :-)

Could you update the URL and try again? If you want you can report
and/or investigate Guix's apparent failure to deal with sr.ht
separately.

Toggle quote (1 lines)
> + (file-name (string-append name "-" version ".tar.gz"))
^^^^^^^^^
Use git-file-name here for convenience and to reduce the chances of such
paste-os.

Toggle quote (12 lines)
> + (native-inputs `(("pkg-config" ,pkg-config)
> + ("gtk:bin"
> + ,gtk "bin") ; for gtk-update-icon-cache
> + ("glib:bin"
> + ,glib "bin") ; glib-compile-schemas, etc.
> + ("desktop-file-utils"
> + ,desktop-file-utils) ; for
> update-desktop-database
> + ("zbar" ,zbar)
> + ("libtiff" ,libtiff)
> + ("cmake" ,cmake)))

Please add a newline after native-inputs so you don't have to split
inputs over 2 lines like this. Since we're here anyway, order these
alphabetically.

Toggle quote (6 lines)
> + (inputs `(("libhandy" ,libhandy)
> + ("perl-image-exiftool" ,perl-image-exiftool)
> + ("imagemagick" ,imagemagick)
> + ("libraw" ,libraw)
> + ("gtk" ,gtk)))

Same newline.

Toggle quote (2 lines)
> + (synopsis "Camera application")

So... ignoring the redundant 'application', this is a one-word synopsis.
This seems to be for mobile devices, so 'Camera applications for mobile
devices', I guess.

Toggle quote (3 lines)
> + (description "This package provides camera application that knows
> +how to deal with the media request api.")

Whose obscure 'media request API'? Why does that matter? Etc.

This seems (more?) pertinent:

- Megapixels only captures raw frames and stores .dng files.
- It captures a 5 frame burst and saves it to a temporary location.
- It runs a (customisable? dunno) postprocessing script to generate the
final JPEG file and saves it to the Pictures directory.
- It uses OpenGL to debayer the raw sensor data for the preview.

Etc. Descriptions should not be 1-2 lines long.

Toggle quote (2 lines)
Also update to GitLab?

I'll build this later today, but I don't expect to find any issues with
the package :-)

Kind regards,

T G-R

Sent from a Web browser. Excuse or enjoy my brevity.
P
P
phodina wrote on 29 Nov 2021 12:02
[PATCH v2] gnu: Add megapixels.
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)(address . 51923@debbugs.gnu.org)
LZX-lj6Nr3kpduKTZ_JCAsyeTcuOCP9u20WYK-S96PIQsE6Ul2aF-zc3oKo267N9Yx_Y3Aea_A6oUCjglN_-Gxa4znVmT7I46V3Ms9pJVag=@protonmail.com
Hi Tobias,

thanks for the review. Please see the attached updated patch.

Have you had time to test it?

Petr
From c27ef7829f5f3c3198118751729583acd8eb05c6 Mon Sep 17 00:00:00 2001
From: Petr Hodina <phodina@protonmail.com>
Date: Sun, 3 Oct 2021 23:16:11 +0200
Subject: [PATCH v2] gnu: Add megapixels.

* gnu/packages/gnome.scm (megapixels): New variable.

Toggle diff (74 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 19520f335a..a868ac462a 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -63,6 +63,7 @@
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1137,6 +1138,57 @@ freedesktop.org desktop notification specification.")
(home-page "https://wiki.gnome.org/Projects/NotificationDaemon")
(license license:gpl2+)))
+(define-public megapixels
+ (package
+ (name "megapixels")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "http://gitlab.com/postmarketos/megapixels")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0dagp1sh5whnnllrydk7ijjid0hmvcbdm8kkzq2g168khdfn80jm"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((out (assoc-ref %outputs "out"))
+ (paths (map
+ (lambda (input)
+ (string-append (assoc-ref inputs input) "/bin"))
+ '("coreutils" "imagemagick"))))
+ (wrap-program
+ (string-append out "/share/megapixels/postprocess.sh")
+ `("PATH" prefix ,paths))))))))
+ (native-inputs
+ `(("cmake" ,cmake)
+ ("coreutils" ,coreutils)
+ ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
+ ("glib:bin" ,glib "bin") ; glib-compile-schemas, etc.
+ ("gtk:bin" ,gtk "bin") ; for gtk-update-icon-cache
+ ("imagemagick" ,imagemagick)
+ ("libtiff" ,libtiff)
+ ("pkg-config" ,pkg-config)
+ ("zbar" ,zbar)))
+ (inputs
+ `(("gtk" ,gtk)
+ ("imagemagick" ,imagemagick)
+ ("libhandy" ,libhandy)
+ ("libraw" ,libraw)
+ ("perl-image-exiftool" ,perl-image-exiftool)))
+ (synopsis "Camera applications for mobile devices")
+ (description "This package provides camera application for mobile devices
+that captures a 5 frame burst of raw frames that are later postprocessed and
+saved as jpg files.")
+ (home-page "http://gitlab.com/postmarketos/megapixels")
+ (license license:gpl3+)))
+
(define-public mm-common
(package
(name "mm-common")

base-commit: b7b982228a7256afcb83d0b05a098139c2e1a644
--
2.33.0
T
T
Tobias Geerinckx-Rice wrote on 29 Nov 2021 15:39
(name . phodina)(address . phodina@protonmail.com)(address . 51923@debbugs.gnu.org)
87lf17auga.fsf@nckx
Petr,

phodina ???
Toggle quote (2 lines)
> thanks for the review. Please see the attached updated patch.

Thanks!

‘a camera application’; ‘JPEG files’; but that can be tweaked by
the final committer.

Toggle quote (2 lines)
> Have you had time to test it?

Can I? Does it run on real (& x86) computers? How?

I assumed that it didn't. That's why I suggested adding ‘for
mobile devices’. I don't own any.

λ
/gnu/store/dn1780g27gcshqfmxilvc96kg0x72x6h-megapixels-1.3.0/bin/megapixels
Renderdoc not found
Could not read device name from device tree
Could not find any config file
λ

(And the ‘--help’ option is broken. :-/)

Kind regards,

T G-R
L
L
Ludovic Courtès wrote on 10 Dec 2021 15:24
Re: bug#51923: [PATCH] gnu: Add megapixels.
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)
87y24s7d21.fsf_-_@gnu.org
Hi Tobias,

What do you think are the next steps for this patch?

TIA!

Ludo’.

Tobias Geerinckx-Rice <me@tobias.gr> skribis:

Toggle quote (29 lines)
> Petr,
>
> phodina ???
>> thanks for the review. Please see the attached updated patch.
>
> Thanks!
>
> ‘a camera application’; ‘JPEG files’; but that can be tweaked by the
> final committer.
>
>> Have you had time to test it?
>
> Can I? Does it run on real (& x86) computers? How?
>
> I assumed that it didn't. That's why I suggested adding ‘for mobile
> devices’. I don't own any.
>
> λ
> /gnu/store/dn1780g27gcshqfmxilvc96kg0x72x6h-megapixels-1.3.0/bin/megapixels
> Renderdoc not found
> Could not read device name from device tree
> Could not find any config file
> λ
>
> (And the ‘--help’ option is broken. :-/)
>
> Kind regards,
>
> T G-R
M
M
Maxim Cournoyer wrote on 4 Jan 2023 01:42
(name . phodina)(address . phodina@protonmail.com)
87h6x7xh8l.fsf_-_@gmail.com
Hi Petr,

phodina <phodina@protonmail.com> writes:

Toggle quote (6 lines)
> Hi Tobias,
>
> thanks for the review. Please see the attached updated patch.
>
> Have you had time to test it?

I wanted to try it out, but it doesn't apply cleanly anymore. Would you
mind submitting a rebased patch?

--
Thanks,
Maxim
P
P
phodina wrote on 4 Jan 2023 02:25
(address . maxim.cournoyer@gmail.com)
LpOWst0u0lSFm_NmWIlgv-K7ykYhWJdU1S9XHDMmDBmwLfZXpFfY5t_2BSHUnwnOuSIvHy9ySg7sclJziv_gpz9e9VZmAkDnjCOs__LRNak=@protonmail.com
Hi Maxim,

it's indeed quite old and I'm working on Pine64 devices so I'll try to send an updated patch soon.

----
Petr

-------- Original Message --------
On Jan 4, 2023, 1:42 AM, Maxim Cournoyer wrote:

Toggle quote (16 lines)
> Hi Petr,
>
> phodina <phodina@protonmail.com> writes:
>
>> Hi Tobias,
>>
>> thanks for the review. Please see the attached updated patch.
>>
>> Have you had time to test it?
>
> I wanted to try it out, but it doesn't apply cleanly anymore. Would you
> mind submitting a rebased patch?
>
> --
> Thanks,
> Maxim
Attachment: file
?