Re: Git repos with large submodules

2020-05-30 Thread Marius Bakke
raingloom  writes:

> Hey all!
>
> So, I recently gave a go to packaging EDK2 on my channel, and found out
> that it requires several submodules, including OpenSSL, which take up
> quite a bit of space and take way longer to download than necessary.
>
> Since I couldn't find a way to shallow-init the submodules, I added
> them as separate origins and copied / symlinked them after the unpack
> phase.

That sounds like a decent workaround.  Even better to symlink
(package-source openssl) to use the OpenSSL sources from Guix.

The ideal solution would of course be to provide OpenSSL as a regular
input and make the build system use it, but that's not always feasible.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add font-sarasa-gothic

2020-05-30 Thread Marius Bakke
Zhu Zihao  writes:

> You miss the right angle bracket in the copyright line
>
> It should be
>
> ;;; Copyright © 2020 Zhu Zihao 

Good catch, fixed in a8c7d4b0c326905b71680783ced6b68d25fb3bfd, thanks!


signature.asc
Description: PGP signature


Re: [OUTREACHY]: Integration of desktop environments into GNU Guix

2020-05-30 Thread Raghav Gururajan
@Danny

Please find attached patches.

Regards,
RG.
From ab08598eb7183cae716b86cee5107646a555dc9a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan 
Date: Fri, 29 May 2020 18:29:17 -0400
Subject: [PATCH 05/10] gnu: dconf: Update package definition.

* gnu/packages/gnome.scm (dconf) [version]: Update to 0.36.0.
[patches]: Remove dconf-meson-0.52.patch.
[outputs]: New output 'doc'.
[arguments]<#:phases>['patch-timeout-tests]: New phase.
['move-doc]: New phase.
[native-inputs]: Add python-wrapper.
[home-page]: Modify.
---
 gnu/packages/gnome.scm | 69 +++---
 1 file changed, 44 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index a741a6a284..d935eda499 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3651,44 +3651,63 @@ and RDP protocols.")
 (define-public dconf
   (package
 (name "dconf")
-(version "0.34.0")
-(source (origin
-  (method url-fetch)
-  (uri (string-append
-"mirror://gnome/sources/" name "/"
-(version-major+minor version) "/"
-name "-" version ".tar.xz"))
-  (patches (search-patches "dconf-meson-0.52.patch"))
-  (sha256
-   (base32
-"0lnsl85cp2vpzgp8pkf6l6yd2i3lp02jdvga1icfa78j2smr8fll"
+(version "0.36.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri
+(string-append
+ "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+   (sha256
+(base32
+ "0bfs069pjv6lhp7xrzmrhz3876ay2ryqxzc6mlva1hhz34ibprlz"
 (build-system meson-build-system)
-(propagated-inputs
- ;; In Requires of dconf.pc.
- `(("glib" ,glib)))
-(inputs
- `(("gtk+" ,gtk+)
-   ("dbus" ,dbus)))
+(outputs '("out" "doc"))
+(arguments
+ `(#:glib-or-gtk? #t
+   #:configure-flags
+   (list
+"-Dgtk_doc=true")
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'patch-timeout-tests
+   (lambda _
+ (substitute* "tests/meson.build"
+   (("^  \\['engine', .*$")
+""))
+ #t))
+ (add-after 'install 'move-doc
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(doc (assoc-ref outputs "doc")))
+   (mkdir-p (string-append doc "/share"))
+   (rename-file
+(string-append out "/share/gtk-doc")
+(string-append doc "/share/gtk-doc"))
+   #t))
 (native-inputs
  `(("bash-completion" ,bash-completion)
-   ("libxslt" ,libxslt) ;for xsltproc
-   ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
("docbook-xml" ,docbook-xml-4.2)
("docbook-xsl" ,docbook-xsl)
("glib:bin" ,glib "bin")
("gtk-doc" ,gtk-doc)
+   ("libxml2" ,libxml2)
+   ("libxslt" ,libxslt)
("pkg-config" ,pkg-config)
+   ("python-wrapper" ,python-wrapper)
("vala" ,vala)))
-(arguments
- `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
-   ; or /etc/machine-id.
-   #:glib-or-gtk? #t
-   #:configure-flags '("-Denable-gtk-doc=true")))
-(home-page "https://developer.gnome.org/dconf/;)
+(inputs
+ `(("dbus" ,dbus)
+   ("gtk+" ,gtk+)))
+(propagated-inputs
+ `(("glib" ,glib)))
 (synopsis "Low-level GNOME configuration system")
 (description "Dconf is a low-level configuration system.  Its main purpose
 is to provide a backend to GSettings on platforms that don't already have
 configuration storage systems.")
+(home-page "https://wiki.gnome.org/Projects/dconf;)
 (license license:lgpl2.1+)))
 
 (define-public json-glib
-- 
2.26.2

From 8312e0fd2c607939a813bbdcdcf515fe42b54822 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan 
Date: Sat, 30 May 2020 14:41:17 -0400
Subject: [PATCH 06/10] gnu: catch-framework2: Update to 2.3.0.

* gnu/packages/check.scm (catch-framework2) [version]: Update to
2.3.0.
[source][sha256]: Modify base32 hash.
---
 gnu/packages/check.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 7d7fd189bc..4e50bf70d5 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -236,7 +236,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.")
 (define-public catch-framework2
   (package
 (name "catch2")
-(version "2.1.2")
+(version "2.3.0")
 (home-page "https://github.com/catchorg/Catch2;)
 (source (origin
   (method git-fetch)
@@ -246,7 +246,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.")
   (file-name (git-file-name name version))
   (sha256
 

Re: Package for OpenCV4

2020-05-30 Thread Josh Marshall
Packages are mainly contributed or updated by those who need them.  I don't
need that package for my work, but many of us in this ML will be happy to
guide you in packaging it.

On Tue, May 26, 2020, 00:04 Reza Alizadeh Majd  wrote:

> Hi,
>
> just started to prepare a packge for `qimgv` [1], but it has a
> dependency to OpenCV-4, and current available version of OpenCV in Guix
> repository is 3.4.3.
>
> just wanted to know, if there is a plan to upgrade OpenCV to version 4?
> since I had a try and it seems that OpenCV-4 needs more tasks than just
> upgrading the version number.
>
>
> [1]: https://github.com/easymodo/qimgv
>
> --
> Reza Alizadeh Majd
> PantherX Team
> https://www.pantherx.org/
>
>


Re: [PATCH] gnu: Add font-sarasa-gothic

2020-05-30 Thread Zhu Zihao
You miss the right angle bracket in the copyright line

It should be

;;; Copyright © 2020 Zhu Zihao 
^

Others are OK.

On Sat, 30 May 2020 22:33:15 +0800,
Marius Bakke wrote:
>
> [1  ]
> [1.1  ]
> Zhu Zihao  writes:
>
> > This patch adds Sarasa Gothic. Sarasa Gothic is based on Iosevka and Source 
> > Han
> > Sans, intends to make a really monospaced(inclduing CJK characters) 
> > programming
> > fonts. In Sarasa Gothic, a normal CJK character is same height and double 
> > width
> > as an ASCII character.
>
> Thanks!  Applied with the following changes, hope the copyright line was
> okay:
>
> [1.2 diff ]
> diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
> index 3c7361f162..f60d4f80fb 100644
> --- a/gnu/packages/fonts.scm
> +++ b/gnu/packages/fonts.scm
> @@ -34,6 +34,7 @@
>  ;;; Copyright © 2020 John Soo 
>  ;;; Copyright © 2020 Raghav Gururajan 
>  ;;; Copyright © 2020 Julien Lepiller 
> +;;; Copyright © 2020 Zhu Zihao   ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -1267,7 +1268,7 @@ programming.  Iosevka is completely generated from its 
> source code.")
>(mkdir "source")
>(chdir "source")
>(invoke "7z" "x" source))
> -(native-inputs `(("p7zip" ,(@ (gnu packages compression) p7zip
> +(native-inputs `(("p7zip" ,p7zip)))
>  (home-page "https://github.com/be5invis/Sarasa-Gothic;)
>  (license license:silofl1.1)
>  (synopsis "Sarasa Gothic / 更纱黑体 / 更紗黑體 / 更紗ゴシック / 사라사 고딕")
> [2 signature.asc ]
> No public key for A2A06DF2A33A54FA created at 2020-05-30T22:33:15+0800 using 
> RSA




Re: [PATCH] gnu: Add font-sarasa-gothic

2020-05-30 Thread Marius Bakke
Zhu Zihao  writes:

> This patch adds Sarasa Gothic. Sarasa Gothic is based on Iosevka and Source 
> Han
> Sans, intends to make a really monospaced(inclduing CJK characters) 
> programming
> fonts. In Sarasa Gothic, a normal CJK character is same height and double 
> width
> as an ASCII character.

Thanks!  Applied with the following changes, hope the copyright line was
okay:

diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 3c7361f162..f60d4f80fb 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -34,6 +34,7 @@
 ;;; Copyright © 2020 John Soo 
 ;;; Copyright © 2020 Raghav Gururajan 
 ;;; Copyright © 2020 Julien Lepiller 
+;;; Copyright © 2020 Zhu Zihao https://github.com/be5invis/Sarasa-Gothic;)
 (license license:silofl1.1)
 (synopsis "Sarasa Gothic / 更纱黑体 / 更紗黑體 / 更紗ゴシック / 사라사 고딕")


signature.asc
Description: PGP signature


Re: Downloader for "wrapped" tarbar?

2020-05-30 Thread Ekaitz Zarraga
‐‐‐ Original Message ‐‐‐
On Saturday, May 30, 2020 10:39 AM, Hartmut Goebel 
 wrote:

> Hi,
>
> was just written in another mail, I'm currently working on a
> erlang/rebar build system. This includes an importer from hex.pm, a
> package repository for elixir and erlang packages. (Since this is build
> into rebar3 I assume it what PyPI is for Python and CPAN for Perl.)
>
> At hex.pm, packages are provided in a tarfile [1] wrapping the source
> tar-file:
>
> -rw-r--r-- 0/0   1 2017-06-14 21:57 VERSION
> -rw-r--r-- 0/0  64 2017-06-14 21:57 CHECKSUM
> -rw-r--r-- 0/0 532 2017-06-14 21:57 metadata.config
> -rw-r--r-- 0/0    4744 2017-06-14 21:57 contents.tar.gz
>
> IMHO it does not make sense to keep this wrapping tar-file in the store.
>
> So my idea is to create a "hexpm-fetch" method, which downloads the
> tar-file and only stores the "content.tar.gz" in the store (using a
> proper name, of course).
>
> How can this be done?
>
> [1] https://github.com/hexpm/specifications/blob/master/package_tarball.md
>
>

Hi,

Probably you're able to reach the same conclusions as I did but anyway...

I took a look to guix/download.scm I think you just need to check what 
url-fetch/zipbomb does because the usecase is similar to what you are looking 
for.

Hope this helps at least a little.

Thanks for the work you are doing, I'm interested on it because I want to 
package Wings3D, so once you are done you'll probably have a tester :)

Best,
Ekaitz




Downloader for "wrapped" tarbar?

2020-05-30 Thread Hartmut Goebel
Hi,

was just written in another mail, I'm currently working on a
erlang/rebar build system. This includes an importer from hex.pm, a
package repository for elixir and erlang packages. (Since this is build
into rebar3 I assume it what PyPI is for Python and CPAN for Perl.)

At hex.pm, packages are provided in a tarfile [1] wrapping the source
tar-file:

-rw-r--r-- 0/0   1 2017-06-14 21:57 VERSION
-rw-r--r-- 0/0  64 2017-06-14 21:57 CHECKSUM
-rw-r--r-- 0/0 532 2017-06-14 21:57 metadata.config
-rw-r--r-- 0/0    4744 2017-06-14 21:57 contents.tar.gz

IMHO it does not make sense to keep this wrapping tar-file in the store.

So my idea is to create a "hexpm-fetch" method, which downloads the
tar-file and only stores the "content.tar.gz" in the store (using a
proper name, of course).

How can this be done?

[1] https://github.com/hexpm/specifications/blob/master/package_tarball.md

-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |




Seeking support for implementing Erlang/Rebar3 build system

2020-05-30 Thread Hartmut Goebel
Hi,

I started working on a rebar3-build-system for Erlang packages. This a
somewhat crazy idea for me, since I have *not* clue about Erlang and how
it's building and packaging works. (I "just" want to have ejabberd in
guix :-) Based on this, I've already made good progress:

- packaged rebar3 and prepared packages for its dependencies (able to
bootstrap rebar3)
- preliminary rebar3-build-system is done, based on what I've seen at
Debian. (I've not found a  build-system for erlang in Nix.)
- basic importer for packages from hex.pm is done

You can find my WIP at


To get this finished I'm seeking for someone having some experience
about Erlang. My questions are

- How does Erlang find the packages? Do we need to add a
native-search-paths (ERL_LIB?) to the erlang package?

- How to make rebar3 use already build packages and not try for fetch
them from a remote repo? Do we need to copy/link them somewhere, or set
some environment variable?

- Are there standard build targets for rebar3? Currently the
build-system has "compile", "xref" and "doc" - each in a phase of it's
own. Doe this actually make sense?

- Anything else?

-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |




Re: [PATCH] gnu: Add font-sarasa-gothic

2020-05-30 Thread Zhu Zihao
Modified description.

>From dac6806a5eb9e919cf32da6d909ba4dd71accf35 Mon Sep 17 00:00:00 2001
From: Zhu Zihao 
Date: Sat, 30 May 2020 00:40:05 +0800
Subject: [PATCH] gnu: Add font-sarasa-gothic

* gnu/packages/fonts.scm (font-sarasa-gothic): New variable
---
 gnu/packages/fonts.scm | 28 
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 21423baefd..86bed09a95 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -1251,6 +1251,34 @@ programming.  Iosevka is completely generated from its 
source code.")
  (for-each make-file-writable (find-files "." ".*"))
  #t)))
 
+(define-public font-sarasa-gothic
+  (package
+(name "font-sarasa-gothic")
+(version "0.12.6")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/be5invis/Sarasa-Gothic;
+   "/releases/download/v" version
+   "/sarasa-gothic-ttc-" version ".7z"))
+   (sha256
+(base32 "1g6k9d5lajchbhsh3g12fk5cgilyy6yw09fals9vc1f9wsqvac86"
+(build-system font-build-system)
+(arguments
+ `(#:phases (modify-phases %standard-phases
+  (replace 'unpack
+(lambda* (#:key source #:allow-other-keys)
+  (mkdir "source")
+  (chdir "source")
+  (invoke "7z" "x" source))
+(native-inputs `(("p7zip" ,(@ (gnu packages compression) p7zip
+(home-page "https://github.com/be5invis/Sarasa-Gothic;)
+(license license:silofl1.1)
+(synopsis "Sarasa Gothic / 更纱黑体 / 更紗黑體 / 更紗ゴシック / 사라사 고딕")
+(description
+ "Sarasa Gothic is a programming font based on Iosevka and Source Han Sans,
+most CJK characters are same height, and double width as ASCII characters.")))
+
 (define-public font-go
   (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc")
 (revision "1"))
-- 
2.26.2