bug#47479: inkscape retains a reference to imagemagick, even though it is in native-inputs

2021-03-31 Thread Mark H Weaver
Hi Leo,

Leo Famulari  writes:
> I didn't realize / remember that Inkscape was used that deep in the
> package graph. I agree, we should delay this change, at least until a
> rebuild cycle.

The removal of inkscape@0.92.4 should certainly be delayed, but I see no
reason why we couldn't immediately, on 'master', rename the variable
'inkscape' to 'inkscape/stable', and 'inkscape-1.0' to 'inkscape', with
'inkscape-1.0' made an alias to 'inkscape', if we can agree on it.
Do you see a reason to delay those changes?

> I do think it's suboptimal that an end-user application like Inkscape
> is depended on by so many packages...

Indeed, it's not good.  In fact, the question just occurred to me:

 "How is it that Inkscape, which clearly depends on Gtk+, can also be a
  dependency of Gtk+, via the path gtk+ -> at-spi2-atk -> at-spi2-core
  -> gtk-doc -> dblatex -> inkscape@0.92.4?"

It turns out that the only reason there's no cycle here is because:

(1) the older inkscape@0.92.4 uses gtk+-2 (not 3), and
(2) none of the dependencies of gtk+-2 use gtk-doc.

Both of these are likely suboptimal, but we will apparently be blocked
from fixing these issues while Inkscape is needed to build our core
graphics stack.

In my opinion, the best way to fix this is to split off documentation
generation for selected core libraries into separate packages.
Generating documentation often requires higher-level components, and yet
we should also generate documentation for our core libraries.  This
naturally leads to cycles unless the documentation is split off.  We
should use the core libraries (without docs) to build the documentation
generators, and then from there build the documentation for the core
libraries.

What do you think?

Thanks for the discussion,

  Mark





bug#47520: mumi: wrong message is downloaded

2021-03-31 Thread Maxime Devos
Hi Guix,

How to reproduce:
* Go to .
* Download the message via the download link.

  This results in a mail with subject:

  > Subject: [PATCH 03/12] gnu: restinio: Update to 0.6.13.

* However, the web interface reads:

  Maxim Cournoyer wrote TIME DELTA ago
  [PATCH 05/12] gnu: opendht: Update to 2.2.0rc4
  [commit message]
  [patch, inside a ‘Toggle diff (95 lines)’]

Also, the ‘Add nettle-3.7’ patch is missing (but it isn't
on debbugs), so perhaps this is a variation of
.

Greetings,
Maxime


signature.asc
Description: This is a digitally signed message part


bug#47239: Test failure in tests/publish.scm with commit 1955ef93b76e51cab5bed4c90f7eb9df7035355a

2021-03-31 Thread Ludovic Courtès
Hi,

Cees de Groot  skribis:

> I think this is a simple umask issue. Making the test check for just the bits 
> worked for me:
>
> diff --git a/tests/publish.scm b/tests/publish.scm
> index 52101876b5..3e67c435ac 100644
> --- a/tests/publish.scm
> +++ b/tests/publish.scm
> @@ -452,8 +452,8 @@ References: ~%"
> (wait-for-file cached)
>
> ;; Both the narinfo and nar should be world-readable.
> - (= #o644 (stat:perms (lstat cached)))
> - (= #o644 (stat:perms (lstat nar)))
> + (= #o444 (logand #o444 (stat:perms (lstat cached
> + (= #o444 (logand #o444 (stat:perms (lstat nar

Indeed.  Pushed as c536f0b217714917988d2f412999d978c2f2f495 on your
behalf.

Thanks!

Ludo’.





bug#47523: [PATCH 0/3] gnu: Add flask-combo-jsonapi

2021-03-31 Thread david larsson

Hi!
This patch series is to add python-flask-combo-jsonapi and necessary 
dependencies.


Best regards,
David





bug#47523: [PATCH 3/3] gnu: Add flask-combo-jsonapi.

2021-03-31 Thread david larsson

From 7e1c3d4e0c52a73c2369406c9165d0fff176a831 Mon Sep 17 00:00:00 2001
From: methuselah-0 
Date: Wed, 31 Mar 2021 17:35:36 +0200
Subject: [PATCH 3/3] gnu: Add flask-combo-jsonapi.

* gnu/packages/python-web.scm (python-flask-combo-jsonapi): New 
variable.

---
 gnu/packages/python-web.scm | 40 +
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index c7dd18ad19..8154ae82f7 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -40,6 +40,7 @@
 ;;; Copyright © 2020 Vinicius Monego 
 ;;; Copyright © 2020 Konrad Hinsen 
 ;;; Copyright © 2020 Giacomo Leidi 
+;;; Copyright © 2021 David Larsson 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -5894,3 +5895,42 @@ your code non-blocking and speedy.")
  "Socks is a library providing core proxy (SOCKS4, SOCKS5, HTTP 
tunneling)

  functionality.")
 (license license:asl2.0)))
+
+(define-public python-flask-combo-jsonapi
+  (package
+(name "python-flask-combo-jsonapi")
+(version "1.0.6")
+(source
+ (origin
+(method url-fetch)
+(uri (string-append
+  "https://github.com/AdCombo/flask-combo-jsonapi/archive/";
+  version ".tar.gz"))
+(sha256
+ (base32
+   "1ik5j4cc20q6ismpdzpb1a01wpdhm9vrnlmqzxxz2qqw6vazilna"
+(build-system python-build-system)
+(propagated-inputs
+ `(("python-flask" ,python-flask)
+   ("python-marshmallow" ,python-marshmallow-3.2)
+   ("python-marshmallow-jsonapi"
+,python-marshmallow-jsonapi-0.22)
+   ("python-apispec" ,python-apispec)
+   ("python-simplejson" ,python-simplejson)
+   ("python-six" ,python-six)
+   ("python-sqlalchemy" ,python-sqlalchemy)))
+(native-inputs
+ `(("python-coverage" ,python-coverage)
+   ("python-coveralls" ,python-coveralls)
+   ("python-pytest-runner" ,python-pytest-runner)
+   ("python-pytest" ,python-pytest)))
+(home-page
+ "https://github.com/AdCombo/flask-combo-jsonapi";)
+(synopsis
+ "Flask extension to create REST web api according to JSONAPI 1.0
+ specification")
+(description
+ "Flask extension to create REST web api according to JSONAPI 1.0
+ specification with Flask, Marshmallow and data provider
+ of your choice (SQLAlchemy, MongoDB, ...)")
+(license license:expat))) ; MIT license
--
2.30.2

From 7e1c3d4e0c52a73c2369406c9165d0fff176a831 Mon Sep 17 00:00:00 2001
From: methuselah-0 
Date: Wed, 31 Mar 2021 17:35:36 +0200
Subject: [PATCH 3/3] gnu: Add flask-combo-jsonapi.

* gnu/packages/python-web.scm (python-flask-combo-jsonapi): New variable.
---
 gnu/packages/python-web.scm | 40 +
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index c7dd18ad19..8154ae82f7 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -40,6 +40,7 @@
 ;;; Copyright © 2020 Vinicius Monego 
 ;;; Copyright © 2020 Konrad Hinsen 
 ;;; Copyright © 2020 Giacomo Leidi 
+;;; Copyright © 2021 David Larsson 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -5894,3 +5895,42 @@ your code non-blocking and speedy.")
  "Socks is a library providing core proxy (SOCKS4, SOCKS5, HTTP tunneling)
  functionality.")
 (license license:asl2.0)))
+
+(define-public python-flask-combo-jsonapi
+  (package
+(name "python-flask-combo-jsonapi")
+(version "1.0.6")
+(source
+ (origin
+(method url-fetch)
+(uri (string-append
+  "https://github.com/AdCombo/flask-combo-jsonapi/archive/";
+  version ".tar.gz"))
+(sha256
+ (base32
+   "1ik5j4cc20q6ismpdzpb1a01wpdhm9vrnlmqzxxz2qqw6vazilna"
+(build-system python-build-system)
+(propagated-inputs
+ `(("python-flask" ,python-flask)
+   ("python-marshmallow" ,python-marshmallow-3.2)
+   ("python-marshmallow-jsonapi"
+,python-marshmallow-jsonapi-0.22)
+   ("python-apispec" ,python-apispec)
+   ("python-simplejson" ,python-simplejson)
+   ("python-six" ,python-six)
+   ("python-sqlalchemy" ,python-sqlalchemy)))
+(native-inputs
+ `(("python-coverage" ,python-coverage)
+   ("python-coveralls" ,python-coveralls)
+   ("python-pytest-runner" ,python-pytest-runner)
+   ("python-pytest" ,python-pytest)))
+(home-page
+ "https://github.com/AdCombo/flask-combo-jsonapi";)
+(synopsis
+ "Flask extension to create REST web api according to JSONAPI 1.0
+ specification")
+(description
+ "Flask extension to create REST web api according to JSONAPI 1.0
+ specification with Flask, Marshmallow and data provider
+ of your choice (SQLAlchemy, MongoDB, ...)")
+(license license:expat))) ; MIT license
-- 
2.30.2



bug#47523: [PATCH 2/3] gnu: Add marshmallow-jsonapi.

2021-03-31 Thread david larsson
This patch adds marshmallow-jsonapi locked at version 0.22 since 
flask-combo-jsonapi needs it locked to this version.


From 76d533d57337702ddd1576783fa9fabb0fbf3127 Mon Sep 17 00:00:00 2001
From: methuselah-0 
Date: Wed, 31 Mar 2021 17:34:00 +0200
Subject: [PATCH 2/3] gnu: Add marshmallow-jsonapi.

* gnu/packages/python-xyz.scm (python-marshmallow-jsonapi-0.22): New 
variable.

---
 gnu/packages/python-xyz.scm | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 872ba4b281..ae91affd13 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17148,6 +17148,37 @@ Python datatypes")
 complex datatypes to and from native Python datatypes.")
 (license license:expat))) ; MIT license

+(define-public python-marshmallow-jsonapi-0.22
+  (package
+(name "python-marshmallow-jsonapi")
+(version "0.22.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (pypi-uri "marshmallow-jsonapi" version))
+   (sha256
+(base32
+ "0rfnagv76f0pwvdcc0604r78nphi7a7b6d5fjga2va522lydah27"
+(build-system python-build-system)
+(propagated-inputs
+ `(("python-marshmallow" ,python-marshmallow-3.2)))
+(native-inputs
+ `(("python-faker" ,python-faker)
+   ("python-flake8" ,python-flake8)
+   ("python-flake8-bugbear" ,python-flake8-bugbear)
+   ("python-flask" ,python-flask)
+   ("python-mock" ,python-mock)
+   ("python-pre-commit" ,python-pre-commit)
+   ("python-pytest" ,python-pytest)
+   ("python-tox" ,python-tox)))
+(home-page
+ "https://github.com/marshmallow-code/marshmallow-jsonapi";)
+(synopsis
+ "JSON API 1.0 (https://jsonapi.org) formatting with marshmallow")
+(description
+ "JSON API 1.0 (https://jsonapi.org) formatting with marshmallow")
+(license license:expat))) ; MIT license
+
 (define-public python-apispec
   (package
 (name "python-apispec")
--
2.30.2

From 76d533d57337702ddd1576783fa9fabb0fbf3127 Mon Sep 17 00:00:00 2001
From: methuselah-0 
Date: Wed, 31 Mar 2021 17:34:00 +0200
Subject: [PATCH 2/3] gnu: Add marshmallow-jsonapi.

* gnu/packages/python-xyz.scm (python-marshmallow-jsonapi-0.22): New variable.
---
 gnu/packages/python-xyz.scm | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 872ba4b281..ae91affd13 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -17148,6 +17148,37 @@ Python datatypes")
 complex datatypes to and from native Python datatypes.")
 (license license:expat))) ; MIT license
 
+(define-public python-marshmallow-jsonapi-0.22
+  (package
+(name "python-marshmallow-jsonapi")
+(version "0.22.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (pypi-uri "marshmallow-jsonapi" version))
+   (sha256
+(base32
+ "0rfnagv76f0pwvdcc0604r78nphi7a7b6d5fjga2va522lydah27"
+(build-system python-build-system)
+(propagated-inputs
+ `(("python-marshmallow" ,python-marshmallow-3.2)))
+(native-inputs
+ `(("python-faker" ,python-faker)
+   ("python-flake8" ,python-flake8)
+   ("python-flake8-bugbear" ,python-flake8-bugbear)
+   ("python-flask" ,python-flask)
+   ("python-mock" ,python-mock)
+   ("python-pre-commit" ,python-pre-commit)
+   ("python-pytest" ,python-pytest)
+   ("python-tox" ,python-tox)))
+(home-page
+ "https://github.com/marshmallow-code/marshmallow-jsonapi";)
+(synopsis
+ "JSON API 1.0 (https://jsonapi.org) formatting with marshmallow")
+(description
+ "JSON API 1.0 (https://jsonapi.org) formatting with marshmallow")
+(license license:expat))) ; MIT license
+
 (define-public python-apispec
   (package
 (name "python-apispec")
-- 
2.30.2



bug#47523: [PATCH 1/3] gnu: Add marshmallow-3.2.

2021-03-31 Thread david larsson

From 5eb6db940c379e44a95b5a64382cc867f7d3c197 Mon Sep 17 00:00:00 2001
From: methuselah-0 
Date: Wed, 31 Mar 2021 17:30:20 +0200
Subject: [PATCH 1/3] gnu: Add marshmallow-3.2.

* gnu/packages/python-xyz.scm (python-marshmallow-3.2): New variable.
---
 gnu/packages/python-xyz.scm | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c90a89a411..872ba4b281 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -99,6 +99,7 @@
 ;;; Copyright © 2021 Sharlatan Hellseher 
 ;;; Copyright © 2021 Ellis Kenyő 
 ;;; Copyright © 2021 LibreMiami 
+;;; Copyright © 2021 David Larsson 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -17122,6 +17123,31 @@ Python datatypes.")
 complex datatypes to and from native Python datatypes.")
 (license license:expat)))

+(define-public python-marshmallow-3.2
+  (package
+(name "python-marshmallow")
+(version "3.2.1")
+(source
+ (origin
+  (method url-fetch)
+  (uri (pypi-uri "marshmallow" version))
+  (sha256
+   (base32
+"1w18klwj0z9bqxj252qpj1hz8l46nl27sbc89rkajc7mln73wbws"
+(build-system python-build-system)
+(propagated-inputs
+ `(("python-dateutil" ,python-dateutil)
+   ("python-simplejson" ,python-simplejson)))
+(native-inputs
+ `(("python-pytest" ,python-pytest)
+   ("python-pytz" ,python-pytz)))
+(home-page "https://github.com/marshmallow-code/marshmallow";)
+(synopsis "Convert complex datatypes to and from native
+Python datatypes")
+(description "@code{marshmallow} provides a library for converting
+complex datatypes to and from native Python datatypes.")
+(license license:expat))) ; MIT license
+
 (define-public python-apispec
   (package
 (name "python-apispec")
--
2.30.2





bug#47525: docker layer DiffID incorrect

2021-03-31 Thread Tom Hiller
The Docker image created using "guix pack -f Docker" generates the 
sha256 checksum of config.json as the layer diff id used in 
manifiest.json, repositories and the parent directory name of 
layer.tar.  When extracting the contents of the Docker image, the sha256 
checksum of config.json does not match the used for the layer.  As 
Docker currently does not seem to verify this, the image will still work 
but may not always be the case.



I am not familiar with Guile Scheme, but as best as I can determine in 
guix/gnu/services/docker.scm the checksum calculated in layer-diff-idis 
the of Scheme native. and not the ultimate JSON document.**




bug#47526: Bare metal install on Lenovo Yoga 500 fails: cannot find wifi

2021-03-31 Thread Leo Famulari
On Wed, Mar 31, 2021 at 08:28:35PM +0300, Teppo Saari wrote:
> trying to install Guix from an USB stick. When looking for a Wifi
> network, the installer cannot find any network. Then an unexpected
> problem occurs. The Wifi driver is an integrated Intel card, iwlwifi
> driver works normally on DragonflyBSD. Attached is a screenshot of the
> problem (apologies for resolution and lighting conditions) and system
> information.

Guix uses the linux-libre kernel, which removes support for devices that
lack freely licensed drivers and firmware.

Unfortunately, all iwlwifi devices are in that category. So, your wifi
chip is not supported on Guix System.

You can try another wifi card that is supported (basically, ath9k) or
you can install using a different netowrk interface and then configure
your Guix System to use a kernel that supports your hardware.





bug#33848: Store references in SBCL-compiled code are "invisible"

2021-03-31 Thread Ludovic Courtès
Hi,

Pierre Neidhardt  skribis:

> A brief discussion has ensued on SBCL bugtracker:

Nice, thanks for starting the discussion!

> - It's unlikely that SBCL will change its internal string
>   representation.

Of course, I would not suggest that.

What could have been nice is if there’s a way to mark specific strings
as being ASCII, or if there’s a “byte vector” data type compatible with
strings, for instance.

> - The main recommendation for an easy fix without updating the scanner
>   is that we tweaked our build system to dump the store reference to a
>   separate ASCII file.

That’s a good idea: simple and efficient.  We do that for the initrd,
for instance (commit b36e06c2b0889f1d0f939465589d36887ff24d33).

This could be done in ‘asdf-build-system/sbcl’ I suppose.  I can see two
drawbacks:

  1. Some packages like ‘nyxt’ don’t use it, so we’d have to duplicate
 the phase there.

  2. It may be coarse-grain compared to scanning binaries for references
 (for example, we might retain references to build-only tools, such
 as libraries used only for tests).

That’s probably acceptable though, and certainly better than the status quo.

Thanks,
Ludo’.





bug#33848: Store references in SBCL-compiled code are "invisible"

2021-03-31 Thread Pierre Neidhardt
Hi Ludo,

> What could have been nice is if there’s a way to mark specific strings
> as being ASCII, or if there’s a “byte vector” data type compatible with
> strings, for instance.

It does and it could work, but according to upstream it's just simpler
to dump deps in a separate file.

>   1. Some packages like ‘nyxt’ don’t use it, so we’d have to duplicate
>  the phase there.

In the case of Nyxt, the reason it does not use it is because the
asdf-build-system/sbcl binary production has some drawbacks.  I could
work on overhauling the build system to fix the uncanny behaviour, then
Nyxt would use it.

>   2. It may be coarse-grain compared to scanning binaries for references
>  (for example, we might retain references to build-only tools, such
>  as libraries used only for tests).

The build system could easily leave out Lisp native-inputs, no?

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/


signature.asc
Description: PGP signature


bug#47536: gimage-viewer: needs tessdata package

2021-03-31 Thread Christopher Howard
This is kind of borderline here between a wishlist item and a bug-
report, but gimage-viewer needs a tessdata package as a dependency,
since otherwise it can't do any OCR scanning at all (no languages
available). tessdata repo is available at 
https://github.com/tesseract-ocr/tessdata/.

A work-around is to (1) clone the tessdata repo; (2) link it to
~/.config/tessdata, and then (3) edit your gviewer settings to use
local user paths instead of the default global paths.

My system info:

christopher@theoden ~$ neofetch --stdout
christopher@theoden 
--- 
OS: Guix System 3f1b2bd322b6cdba99a43d08e5e8464f7424cbc5 x86_64 
Host: OptiPlex 9020 00 
Kernel: 5.10.18-gnu 
Uptime: 2 days, 6 hours, 3 mins 
Packages: 91 (guix-system), 99 (guix-user) 
Shell: bash 5.0.16 
Resolution: 1920x1080 
DE: GNOME 
Theme: Adwaita [GTK2/3] 
Icons: Adwaita [GTK2/3] 
Terminal: .gnome-terminal 
CPU: Intel i5-4570 (4) @ 3.600GHz 
GPU: Intel HD Graphics 
GPU: AMD ATI Radeon HD 8490 / R5 235X OEM 
Memory: 3260MiB / 7871MiB

--
Christopher Howard


bug#47260: Package GNU MediaGoblin as a Guix service

2021-03-31 Thread Ben Sturmfels via Bug reports for GNU Guix
On Tue, 30 Mar 2021, Ben Sturmfels wrote:

> On Fri, 19 Mar 2021, Ben Sturmfels wrote:

>> 8. Either package RabbitMQ (probably hard) or rewrite MediaGoblin's
>> processing backend from Celery/RabbitMQ to RQ/Redis. Celery has been
>> implicated in many bugs anyway, so there may benefits to the project to
>> doing this anyway.
>
> I learnt that Celery has a Redis backend, so maybe we don't need to
> rewrite just yet.

It turns out that MediaGoblin's Celery-based media processing backend
work out of the box by simply configuring:

  [celery]
  BROKER_URL = "redis://"

(There seems to be an unrelated bug where media is marked as failed after
restarting Celery, possibly tied to sqlite. We've had reports of this
with a RabbitMQ broker too though.)


This means our shorter to-do list is now:

1. Upstream our new python-soundfile Guix package from guix-env.scm when
core-updates is merged.

2. Upstream our upgraded python-wtforms package.

6. Convert MediaGoblin's jQuery-based JavaScript to use vanilla JS.
Video and audio are essentially functional without the NPM installed
players. Some later refinements perhaps.

4. Package MediaGoblin itself. The build process is ./configure/make
which is a bit weird for a Python project.

5. Get a basic Guix service working, with sqlite3 and without the
offloaded media transcoding currently using Celery task queue with a
Redis broker.

7. Work out why H264 support is missing.

8. Figure out how to deal with translations.

9. Add a PostgreSQL database to the Guix service instead of sqlite3.

Regards,
Ben





bug#33848: Store references in SBCL-compiled code are "invisible"

2021-03-31 Thread Mark H Weaver
Pierre Neidhardt  writes:
> - The main recommendation for an easy fix without updating the scanner
>   is that we tweaked our build system to dump the store reference to a
>   separate ASCII file.

Sounds good.  I made a similar proposal in Dec 2018, earlier in this
thread .  I wrote:

  If you don't want to change the daemon, it could be worked around in our
  build-side code as follows: we could add a new phase to certain build
  systems (or possibly gnu-build-system) that scans each output for
  UTF-16/32 encoded store references that are never referenced in UTF-8.
  If such references exist, a file with an unobtrusive name would be added
  to that output containing those references encoded in UTF-8.  This would
  enable our daemon's existing reference scanner to find all of the
  references.

  Our grafting code would then need to be extended to recognize and
  transform store references encoded in UTF-16/32 as well as UTF-8.

  Mark