unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Seeking advice: preparing releases on GuixSD.
@ 2016-12-23 13:35 ng0
  2016-12-23 17:04 ` Alex Kost
  2016-12-24 10:13 ` Ricardo Wurmus
  0 siblings, 2 replies; 15+ messages in thread
From: ng0 @ 2016-12-23 13:35 UTC (permalink / raw)
  To: help-guix

Hi,

my previous releases of gnurl (https://gnunet.org/gnurl) have
been tested on Gentoo and GuixSD and prepared to release only on
Gentoo, copied back to GuixSD and finished up on that GuixSD
system.
With my switch to GuixSD (and leaving Gentoo) 2 or 3 versions ago
I have to advice people to run ./buildconf again (essentially:
run autotools again), because of artifacts in shebangs and paths
of generated files.

I see three solutions right now:

 1. Opt out of the ./buildconf part and make it a responsibility
    of users and distributions to run it.

 2. Patch (adjust) maketgz, make dist, or any similar hook/script
    to my needs on GuixSD.

 3. Simply remove all occurences of any /gnu/store/… (if it's
    that simple) which could also happen in (2).


I hope I'm not the only person using GuixSD for releasing
software. How do you all deal with these shebangs and paths?

Thanks!
-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Seeking advice: preparing releases on GuixSD.
  2016-12-23 13:35 Seeking advice: preparing releases on GuixSD ng0
@ 2016-12-23 17:04 ` Alex Kost
  2016-12-23 17:34   ` ng0
  2016-12-24 10:13 ` Ricardo Wurmus
  1 sibling, 1 reply; 15+ messages in thread
From: Alex Kost @ 2016-12-23 17:04 UTC (permalink / raw)
  To: ng0; +Cc: help-guix

ng0 (2016-12-23 13:35 +0000) wrote:

> Hi,
>
> my previous releases of gnurl (https://gnunet.org/gnurl) have
> been tested on Gentoo and GuixSD and prepared to release only on
> Gentoo, copied back to GuixSD and finished up on that GuixSD
> system.
> With my switch to GuixSD (and leaving Gentoo) 2 or 3 versions ago
> I have to advice people to run ./buildconf again (essentially:
> run autotools again), because of artifacts in shebangs and paths
> of generated files.

Do you mean "configure" and "Makefile.in" files?  I don't see any
"/gnu/store" artifacts, if that's what you mean.

> I see three solutions right now:
>
>  1. Opt out of the ./buildconf part and make it a responsibility
>     of users and distributions to run it.
>
>  2. Patch (adjust) maketgz, make dist, or any similar hook/script
>     to my needs on GuixSD.
>
>  3. Simply remove all occurences of any /gnu/store/… (if it's
>     that simple) which could also happen in (2).
>
> I hope I'm not the only person using GuixSD for releasing
> software. How do you all deal with these shebangs and paths?

I made releases on GuixSD multiple times, but I've never faced the
problem you describe: "make dist" prepares system-independent files
without any artifacts AFAICT.

-- 
Alex

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Seeking advice: preparing releases on GuixSD.
  2016-12-23 17:04 ` Alex Kost
@ 2016-12-23 17:34   ` ng0
  0 siblings, 0 replies; 15+ messages in thread
From: ng0 @ 2016-12-23 17:34 UTC (permalink / raw)
  To: help-guix

Alex Kost <alezost@gmail.com> writes:

> ng0 (2016-12-23 13:35 +0000) wrote:
>
>> Hi,
>>
>> my previous releases of gnurl (https://gnunet.org/gnurl) have
>> been tested on Gentoo and GuixSD and prepared to release only on
>> Gentoo, copied back to GuixSD and finished up on that GuixSD
>> system.
>> With my switch to GuixSD (and leaving Gentoo) 2 or 3 versions ago
>> I have to advice people to run ./buildconf again (essentially:
>> run autotools again), because of artifacts in shebangs and paths
>> of generated files.
>
> Do you mean "configure" and "Makefile.in" files?  I don't see any
> "/gnu/store" artifacts, if that's what you mean.

Almost. What I mean is "Makefile", "configure", etc, everything
which is left when you have run the ./buildconf, configure, make,
make clean.
For the current release this gave me too many /gnu/store/… lines,
last release was better. I'm still trying to get away from the
manual release plan I was given by the person who did the
releases before me.

>> I see three solutions right now:
>>
>>  1. Opt out of the ./buildconf part and make it a responsibility
>>     of users and distributions to run it.
>>
>>  2. Patch (adjust) maketgz, make dist, or any similar hook/script
>>     to my needs on GuixSD.
>>
>>  3. Simply remove all occurences of any /gnu/store/… (if it's
>>     that simple) which could also happen in (2).
>>
>> I hope I'm not the only person using GuixSD for releasing
>> software. How do you all deal with these shebangs and paths?
>
> I made releases on GuixSD multiple times, but I've never faced the
> problem you describe: "make dist" prepares system-independent files
> without any artifacts AFAICT.

This depends on how your make dist is written doesn't it?
make dist is currently not completely functional here (or I need to
investigate if the failures are actually false ones) and the
"maketgz" script breaks because some binaries are not at /bin/*
and needs to be adjusted to gnurl needs as far as I know. So far
it was very manual what I did.

> -- 
> Alex
>

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Seeking advice: preparing releases on GuixSD.
  2016-12-23 13:35 Seeking advice: preparing releases on GuixSD ng0
  2016-12-23 17:04 ` Alex Kost
@ 2016-12-24 10:13 ` Ricardo Wurmus
  2016-12-24 14:45   ` ng0
  2016-12-24 22:26   ` ng0
  1 sibling, 2 replies; 15+ messages in thread
From: Ricardo Wurmus @ 2016-12-24 10:13 UTC (permalink / raw)
  To: ng0; +Cc: help-guix

[-- Attachment #1: Type: text/plain, Size: 1604 bytes --]


ng0 <ng0@libertad.pw> writes:

> my previous releases of gnurl (https://gnunet.org/gnurl) have
> been tested on Gentoo and GuixSD and prepared to release only on
> Gentoo, copied back to GuixSD and finished up on that GuixSD
> system.
> With my switch to GuixSD (and leaving Gentoo) 2 or 3 versions ago
> I have to advice people to run ./buildconf again (essentially:
> run autotools again), because of artifacts in shebangs and paths
> of generated files.

I cannot reproduce this.  After packaging roffit I ran this:

    guix environment gnurl --ad-hoc autoconf automake libtool roffit ghostscript
    ./buildconf
    ./configure --enable-ipv6 --with-gnutls --without-libssh2 \
                --without-libmetalink --without-winidn --without-librtmp \
                --without-nghttp2 --without-nss --without-cyassl \
                --without-polarssl --without-ssl --without-winssl \
                --without-darwinssl --disable-sspi --disable-ntlm-wb --disable-ldap \
                --disable-rtsp --disable-dict --disable-telnet --disable-tftp \
                --disable-pop3 --disable-imap --disable-smtp --disable-gopher \
                --disable-file --disable-ftp --disable-smb
    make dist

What I get is a tarball named “gnurl--.tar.gz” (because “configure.ac”
specifies the version as a dash).  Unpacking it I see exactly *one*
reference to something in /gnu/store and that’s in “ltmain.sh”.

I haven’t tried the “maketgz” script because it contains references to
/usr/bin, but ultimately it runs “make dist” as well.

Attached is the patch to add roffit.


[-- Attachment #2: 0001-gnu-Add-roffit.patch --]
[-- Type: text/x-patch, Size: 2866 bytes --]

From af81a0a3c796af583ec88dd4bc8d2e8a742c58fa Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Sat, 24 Dec 2016 11:12:45 +0100
Subject: [PATCH] gnu: Add roffit.

* gnu/packages/groff.scm (roffit): New variable.
---
 gnu/packages/groff.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm
index 93d0380..2509a78 100644
--- a/gnu/packages/groff.scm
+++ b/gnu/packages/groff.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,6 +22,7 @@
   #:use-module (guix licenses)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
   #:use-module (gnu packages bison)
@@ -56,3 +58,42 @@ formatted output based on formatting commands contained within the text.  It
 is usually the formatter of \"man\" documentation pages.")
    (license gpl3+)
    (home-page "http://www.gnu.org/software/groff/")))
+
+;; There are no releases, so we take the latest commit.
+(define-public roffit
+  (let ((commit "e5228388e3faf2b7f1ae5bd048ad46ed565304c6")
+        (revision "1"))
+    (package
+      (name "roffit")
+      (version (string-append "0.11-" revision "." (string-take commit 9)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/bagder/roffit.git")
+                      (commit commit)))
+                (file-name (string-append "roffit-" commit "-checkout"))
+                (sha256
+                 (base32
+                  "1y7ndbqciy7h0khlpi1bv4v1614vhybnmm4jysj6fwxkw9cwv1nc"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:test-target "test"
+         #:make-flags
+         (list (string-append "INSTALLDIR="
+                              (assoc-ref %outputs "out") "/bin"))
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (add-before 'install 'pre-install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (mkdir-p (string-append (assoc-ref outputs "out")
+                                       "/bin"))
+               #t)))))
+      (inputs
+       `(("perl" ,perl)))
+      (home-page "https://daniel.haxx.se/projects/roffit/")
+      (synopsis "Convert nroff files to HTML")
+      (description
+       "Roffit is a program that reads an nroff file and outputs an HTML file.
+It is typically used to display man pages on a Web site.")
+      (license expat))))
-- 
2.10.2


[-- Attachment #3: Type: text/plain, Size: 89 bytes --]


-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
http://elephly.net

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: Seeking advice: preparing releases on GuixSD.
  2016-12-24 10:13 ` Ricardo Wurmus
@ 2016-12-24 14:45   ` ng0
  2016-12-24 15:32     ` Ricardo Wurmus
  2016-12-24 22:26   ` ng0
  1 sibling, 1 reply; 15+ messages in thread
From: ng0 @ 2016-12-24 14:45 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: help-guix

Ricardo Wurmus <rekado@elephly.net> writes:

> ng0 <ng0@libertad.pw> writes:
>
>> my previous releases of gnurl (https://gnunet.org/gnurl) have
>> been tested on Gentoo and GuixSD and prepared to release only on
>> Gentoo, copied back to GuixSD and finished up on that GuixSD
>> system.
>> With my switch to GuixSD (and leaving Gentoo) 2 or 3 versions ago
>> I have to advice people to run ./buildconf again (essentially:
>> run autotools again), because of artifacts in shebangs and paths
>> of generated files.
>
> I cannot reproduce this.  After packaging roffit I ran this:
>
>     guix environment gnurl --ad-hoc autoconf automake libtool roffit ghostscript
>     ./buildconf
>     ./configure --enable-ipv6 --with-gnutls --without-libssh2 \
>                 --without-libmetalink --without-winidn --without-librtmp \
>                 --without-nghttp2 --without-nss --without-cyassl \
>                 --without-polarssl --without-ssl --without-winssl \
>                 --without-darwinssl --disable-sspi --disable-ntlm-wb --disable-ldap \
>                 --disable-rtsp --disable-dict --disable-telnet --disable-tftp \
>                 --disable-pop3 --disable-imap --disable-smtp --disable-gopher \
>                 --disable-file --disable-ftp --disable-smb
>     make dist
>
> What I get is a tarball named “gnurl--.tar.gz” (because “configure.ac”
> specifies the version as a dash).  Unpacking it I see exactly *one*
> reference to something in /gnu/store and that’s in “ltmain.sh”.

Hm.. that's what I had too before I asked here, I just felt there
must be 0 occurences of /gnu/store.

> I haven’t tried the “maketgz” script because it contains references to
> /usr/bin, but ultimately it runs “make dist” as well.
>
> Attached is the patch to add roffit.

I keep roffit here: https://pagure.io/packages I just felt no
need to add it so far.

> From af81a0a3c796af583ec88dd4bc8d2e8a742c58fa Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <rekado@elephly.net>
> Date: Sat, 24 Dec 2016 11:12:45 +0100
> Subject: [PATCH] gnu: Add roffit.
>
> * gnu/packages/groff.scm (roffit): New variable.
> ---
>  gnu/packages/groff.scm | 41 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 41 insertions(+)
>
> diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm
> index 93d0380..2509a78 100644
> --- a/gnu/packages/groff.scm
> +++ b/gnu/packages/groff.scm
> @@ -1,6 +1,7 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
>  ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
> +;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -21,6 +22,7 @@
>    #:use-module (guix licenses)
>    #:use-module (guix packages)
>    #:use-module (guix download)
> +  #:use-module (guix git-download)
>    #:use-module (guix build-system gnu)
>    #:use-module (gnu packages)
>    #:use-module (gnu packages bison)
> @@ -56,3 +58,42 @@ formatted output based on formatting commands contained within the text.  It
>  is usually the formatter of \"man\" documentation pages.")
>     (license gpl3+)
>     (home-page "http://www.gnu.org/software/groff/")))
> +
> +;; There are no releases, so we take the latest commit.
> +(define-public roffit
> +  (let ((commit "e5228388e3faf2b7f1ae5bd048ad46ed565304c6")
> +        (revision "1"))
> +    (package
> +      (name "roffit")
> +      (version (string-append "0.11-" revision "." (string-take commit 9)))
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://github.com/bagder/roffit.git")
> +                      (commit commit)))
> +                (file-name (string-append "roffit-" commit "-checkout"))
> +                (sha256
> +                 (base32
> +                  "1y7ndbqciy7h0khlpi1bv4v1614vhybnmm4jysj6fwxkw9cwv1nc"))))
> +      (build-system gnu-build-system)
> +      (arguments
> +       `(#:test-target "test"
> +         #:make-flags
> +         (list (string-append "INSTALLDIR="
> +                              (assoc-ref %outputs "out") "/bin"))
> +         #:phases
> +         (modify-phases %standard-phases
> +           (delete 'configure)
> +           (add-before 'install 'pre-install
> +             (lambda* (#:key outputs #:allow-other-keys)
> +               (mkdir-p (string-append (assoc-ref outputs "out")
> +                                       "/bin"))
> +               #t)))))
> +      (inputs
> +       `(("perl" ,perl)))
> +      (home-page "https://daniel.haxx.se/projects/roffit/")
> +      (synopsis "Convert nroff files to HTML")
> +      (description
> +       "Roffit is a program that reads an nroff file and outputs an HTML file.
> +It is typically used to display man pages on a Web site.")
> +      (license expat))))
> -- 
> 2.10.2
>
>
> -- 
> Ricardo
>
> GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
> http://elephly.net

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Seeking advice: preparing releases on GuixSD.
  2016-12-24 14:45   ` ng0
@ 2016-12-24 15:32     ` Ricardo Wurmus
  2016-12-24 16:13       ` ng0
  2016-12-30 23:34       ` Ludovic Courtès
  0 siblings, 2 replies; 15+ messages in thread
From: Ricardo Wurmus @ 2016-12-24 15:32 UTC (permalink / raw)
  To: ng0; +Cc: help-guix


ng0 <ng0@libertad.pw> writes:

> Ricardo Wurmus <rekado@elephly.net> writes:
>
>> What I get is a tarball named “gnurl--.tar.gz” (because “configure.ac”
>> specifies the version as a dash).  Unpacking it I see exactly *one*
>> reference to something in /gnu/store and that’s in “ltmain.sh”.
>
> Hm.. that's what I had too before I asked here, I just felt there
> must be 0 occurences of /gnu/store.

You wrote earlier:

> 3. Simply remove all occurences of any /gnu/store/… (if it's
>    that simple) which could also happen in (2).

That made it sound like there are countless references that need to be
corrected somehow.

“ltmain.sh” is instantiated from a template by libtool.  It originally
contains a /bin/sh shebang, and I think it should not be patched when
installed to

    /gnu/store/…-libtool-2.4.6/share/libtool/build-aux/ltmain.sh

This seems like a bug to me.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
http://elephly.net

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Seeking advice: preparing releases on GuixSD.
  2016-12-24 15:32     ` Ricardo Wurmus
@ 2016-12-24 16:13       ` ng0
  2016-12-24 16:23         ` Ricardo Wurmus
  2016-12-30 23:34       ` Ludovic Courtès
  1 sibling, 1 reply; 15+ messages in thread
From: ng0 @ 2016-12-24 16:13 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: help-guix

Ricardo Wurmus <rekado@elephly.net> writes:

> ng0 <ng0@libertad.pw> writes:
>
>> Ricardo Wurmus <rekado@elephly.net> writes:
>>
>>> What I get is a tarball named “gnurl--.tar.gz” (because “configure.ac”
>>> specifies the version as a dash).  Unpacking it I see exactly *one*
>>> reference to something in /gnu/store and that’s in “ltmain.sh”.
>>
>> Hm.. that's what I had too before I asked here, I just felt there
>> must be 0 occurences of /gnu/store.
>
> You wrote earlier:
>
>> 3. Simply remove all occurences of any /gnu/store/… (if it's
>>    that simple) which could also happen in (2).
>
> That made it sound like there are countless references that need to be
> corrected somehow.

Well in 7.52.0 there are more than 1 reference to /gnu/store, and
in 7.52.1 there were more than in 7.52.0 simply because I did not
have the time to investigate what's wrong now.

> “ltmain.sh” is instantiated from a template by libtool.  It originally
> contains a /bin/sh shebang, and I think it should not be patched when
> installed to

So I can assume that just changing the shebang in ltmain.sh back
to /bin/sh is enough to make it distributable again, or is
ltmain.sh something distributions have anyway and the local file
is "just there"?
I just stepped in for gnurl and I'm picking up what needs to be
done while I'm working with it, so far learning in-depth
autotools + Makefile is still on my TODO list.

>     /gnu/store/…-libtool-2.4.6/share/libtool/build-aux/ltmain.sh
>
> This seems like a bug to me.
>
> -- 
> Ricardo
>
> GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
> http://elephly.net
>
>

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Seeking advice: preparing releases on GuixSD.
  2016-12-24 16:13       ` ng0
@ 2016-12-24 16:23         ` Ricardo Wurmus
  2016-12-24 16:34           ` ng0
  0 siblings, 1 reply; 15+ messages in thread
From: Ricardo Wurmus @ 2016-12-24 16:23 UTC (permalink / raw)
  To: ng0; +Cc: help-guix


ng0 <ng0@libertad.pw> writes:

> Ricardo Wurmus <rekado@elephly.net> writes:
>
>> ng0 <ng0@libertad.pw> writes:
>>
>>> Ricardo Wurmus <rekado@elephly.net> writes:
>>>
>>>> What I get is a tarball named “gnurl--.tar.gz” (because “configure.ac”
>>>> specifies the version as a dash).  Unpacking it I see exactly *one*
>>>> reference to something in /gnu/store and that’s in “ltmain.sh”.
>>>
>>> Hm.. that's what I had too before I asked here, I just felt there
>>> must be 0 occurences of /gnu/store.
>>
>> You wrote earlier:
>>
>>> 3. Simply remove all occurences of any /gnu/store/… (if it's
>>>    that simple) which could also happen in (2).
>>
>> That made it sound like there are countless references that need to be
>> corrected somehow.
>
> Well in 7.52.0 there are more than 1 reference to /gnu/store, and
> in 7.52.1 there were more than in 7.52.0 simply because I did not
> have the time to investigate what's wrong now.

If you did what I did on GuixSD (exact sequence in my previous email) I
don’t see how there could have been any more references to store items.

>> “ltmain.sh” is instantiated from a template by libtool.  It originally
>> contains a /bin/sh shebang, and I think it should not be patched when
>> installed to
>
> So I can assume that just changing the shebang in ltmain.sh back
> to /bin/sh is enough to make it distributable again, or is
> ltmain.sh something distributions have anyway and the local file
> is "just there"?

ltmain.sh is included by “make dist”, so it’s supposed to be
distributed.  One of the big ideas of autotools is that users don’t have
to have autotools to build a release tarball.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
http://elephly.net

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Seeking advice: preparing releases on GuixSD.
  2016-12-24 16:23         ` Ricardo Wurmus
@ 2016-12-24 16:34           ` ng0
  2016-12-26 13:58             ` Ricardo Wurmus
  0 siblings, 1 reply; 15+ messages in thread
From: ng0 @ 2016-12-24 16:34 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: help-guix

Ricardo Wurmus <rekado@elephly.net> writes:

> ng0 <ng0@libertad.pw> writes:
>
>> Ricardo Wurmus <rekado@elephly.net> writes:
>>
>>> ng0 <ng0@libertad.pw> writes:
>>>
>>>> Ricardo Wurmus <rekado@elephly.net> writes:
>>>>
>>>>> What I get is a tarball named “gnurl--.tar.gz” (because “configure.ac”
>>>>> specifies the version as a dash).  Unpacking it I see exactly *one*
>>>>> reference to something in /gnu/store and that’s in “ltmain.sh”.
>>>>
>>>> Hm.. that's what I had too before I asked here, I just felt there
>>>> must be 0 occurences of /gnu/store.
>>>
>>> You wrote earlier:
>>>
>>>> 3. Simply remove all occurences of any /gnu/store/… (if it's
>>>>    that simple) which could also happen in (2).
>>>
>>> That made it sound like there are countless references that need to be
>>> corrected somehow.
>>
>> Well in 7.52.0 there are more than 1 reference to /gnu/store, and
>> in 7.52.1 there were more than in 7.52.0 simply because I did not
>> have the time to investigate what's wrong now.
>
> If you did what I did on GuixSD (exact sequence in my previous email) I
> don’t see how there could have been any more references to store items.

More or less, the tl;dr of updates right now is:
old=7_50_1
new=7_50_2
git checkout upstream/master; git pull; git checkout -b gnurl-$new curl-$new # tag of desired version
git cherry-pick `git log gnurl-$old | head -n 1 | cut -c8-`
git mergetool # or whatever needs to be used to fix the broken ones
git cherry-pick --continue

# run the guix-gnurl.scm to test.

./buildconf
./configure --enable-ipv6 --with-gnutls --without-libssh2 --without-libmetalink \ 
--without-winidn --without-librtmp --without-nghttp2 --without-nss --without-cyassl \
--without-polarssl --without-ssl --without-winssl --without-darwinssl --disable-sspi \
--disable-ntlm-wb --disable-ldap --disable-rtsp --disable-dict --disable-telnet --disable-tftp \
--disable-pop3 --disable-imap --disable-smtp --disable-gopher \
--disable-file --disable-ftp --disable-smb
make
make clean

git push -f origin gnurl-$new:master
git diff HEAD^ HEAD >..&gnurl-$new.diff
cp -a . ../gnurl-$new
cd ..
rm -rf gnurl-$new/.git
tar cjf gnurl-$new.tar.bz2 gnurl-$new
rm -rf gnurl-$new
gpg --detach-sig gnurl-$new.tar.bz2
# login to gnunet.org and upload them

Where some parts of this manual procedure have been changed now.
I'll try a simple `make dist` next time.

I will compare my nroff or whatever it was called package with
yours and see if there's anything left to add, if you think it
should go into guix, it's good for me.

>>> “ltmain.sh” is instantiated from a template by libtool.  It originally
>>> contains a /bin/sh shebang, and I think it should not be patched when
>>> installed to
>>
>> So I can assume that just changing the shebang in ltmain.sh back
>> to /bin/sh is enough to make it distributable again, or is
>> ltmain.sh something distributions have anyway and the local file
>> is "just there"?
>
> ltmain.sh is included by “make dist”, so it’s supposed to be
> distributed.  One of the big ideas of autotools is that users don’t have
> to have autotools to build a release tarball.
>
> -- 
> Ricardo
>
> GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
> http://elephly.net
>
>

So the changed shebang in the ltmain.sh is a bug on my side or in
the autotools in Guix? I'm not looking at the sources right now,
but I think I could simply add a line (for make dist) which
changes the shebang back to /bin/sh before assembling the
tarball. After all it's just a shebang.

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Seeking advice: preparing releases on GuixSD.
  2016-12-24 10:13 ` Ricardo Wurmus
  2016-12-24 14:45   ` ng0
@ 2016-12-24 22:26   ` ng0
  2016-12-25 12:37     ` Ricardo Wurmus
  1 sibling, 1 reply; 15+ messages in thread
From: ng0 @ 2016-12-24 22:26 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: help-guix

Ricardo Wurmus <rekado@elephly.net> writes:

> ng0 <ng0@libertad.pw> writes:
>
>> my previous releases of gnurl (https://gnunet.org/gnurl) have
>> been tested on Gentoo and GuixSD and prepared to release only on
>> Gentoo, copied back to GuixSD and finished up on that GuixSD
>> system.

> Attached is the patch to add roffit.
>
> From af81a0a3c796af583ec88dd4bc8d2e8a742c58fa Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus <rekado@elephly.net>
> Date: Sat, 24 Dec 2016 11:12:45 +0100
> Subject: [PATCH] gnu: Add roffit.
>
> * gnu/packages/groff.scm (roffit): New variable.
> ---
>  gnu/packages/groff.scm | 41 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 41 insertions(+)
>
> diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm
> index 93d0380..2509a78 100644
> --- a/gnu/packages/groff.scm
> +++ b/gnu/packages/groff.scm
> @@ -1,6 +1,7 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
>  ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
> +;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -21,6 +22,7 @@
>    #:use-module (guix licenses)
>    #:use-module (guix packages)
>    #:use-module (guix download)
> +  #:use-module (guix git-download)
>    #:use-module (guix build-system gnu)
>    #:use-module (gnu packages)
>    #:use-module (gnu packages bison)
> @@ -56,3 +58,42 @@ formatted output based on formatting commands contained within the text.  It
>  is usually the formatter of \"man\" documentation pages.")
>     (license gpl3+)
>     (home-page "http://www.gnu.org/software/groff/")))
> +
> +;; There are no releases, so we take the latest commit.
> +(define-public roffit
> +  (let ((commit "e5228388e3faf2b7f1ae5bd048ad46ed565304c6")
> +        (revision "1"))
> +    (package
> +      (name "roffit")
> +      (version (string-append "0.11-" revision "." (string-take commit 9)))
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://github.com/bagder/roffit.git")
> +                      (commit commit)))
> +                (file-name (string-append "roffit-" commit "-checkout"))
> +                (sha256
> +                 (base32
> +                  "1y7ndbqciy7h0khlpi1bv4v1614vhybnmm4jysj6fwxkw9cwv1nc"))))
> +      (build-system gnu-build-system)
> +      (arguments
> +       `(#:test-target "test"
> +         #:make-flags
> +         (list (string-append "INSTALLDIR="
> +                              (assoc-ref %outputs "out") "/bin"))
> +         #:phases
> +         (modify-phases %standard-phases
> +           (delete 'configure)
> +           (add-before 'install 'pre-install
> +             (lambda* (#:key outputs #:allow-other-keys)
> +               (mkdir-p (string-append (assoc-ref outputs "out")
> +                                       "/bin"))
> +               #t)))))

My only difference is in the (arguments), where I do:

      (arguments
       `(#:test-target "test"
         #:phases
         (modify-phases %standard-phases
           (replace 'configure ; No configure phase
             (lambda* (#:key outputs #:allow-other-keys)
               (let* ((out  (assoc-ref outputs "out"))
                      (bin  (string-append out "/bin/")))
                 (substitute* "Makefile"
                   (("/usr/local/bin")
                    bin))
               (mkdir-p bin))))
           (add-after 'install 'wrap-programs
             (lambda* (#:key outputs #:allow-other-keys)
               ;; Make sure all executables in "bin" find the Perl modules
               ;; provided by this package at runtime.
               (let* ((out  (assoc-ref outputs "out"))
                      (bin  (string-append out "/bin/"))
                      (path (getenv "PERL5LIB")))
                 (for-each (lambda (file)
                             (wrap-program file
                               `("PERL5LIB" ":" prefix (,path))))
                           (find-files bin "\\.*$"))
                 #t))))))


Your synopsis and description are better than mine, otherwise the
packages are almost identical.

> +      (inputs
> +       `(("perl" ,perl)))
> +      (home-page "https://daniel.haxx.se/projects/roffit/")
> +      (synopsis "Convert nroff files to HTML")
> +      (description
> +       "Roffit is a program that reads an nroff file and outputs an HTML file.
> +It is typically used to display man pages on a Web site.")
> +      (license expat))))
> -- 
> 2.10.2
>
>
> -- 
> Ricardo
>
> GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
> http://elephly.net

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Seeking advice: preparing releases on GuixSD.
  2016-12-24 22:26   ` ng0
@ 2016-12-25 12:37     ` Ricardo Wurmus
  2016-12-26 12:41       ` ng0
  0 siblings, 1 reply; 15+ messages in thread
From: Ricardo Wurmus @ 2016-12-25 12:37 UTC (permalink / raw)
  To: ng0; +Cc: help-guix


ng0 <ng0@libertad.pw> writes:

> Ricardo Wurmus <rekado@elephly.net> writes:
[…]
>> From af81a0a3c796af583ec88dd4bc8d2e8a742c58fa Mon Sep 17 00:00:00 2001
>> From: Ricardo Wurmus <rekado@elephly.net>
>> Date: Sat, 24 Dec 2016 11:12:45 +0100
>> Subject: [PATCH] gnu: Add roffit.
>>
>> * gnu/packages/groff.scm (roffit): New variable.
[…]
>> +;; There are no releases, so we take the latest commit.
>> +(define-public roffit
>> +  (let ((commit "e5228388e3faf2b7f1ae5bd048ad46ed565304c6")
>> +        (revision "1"))
>> +    (package
>> +      (name "roffit")
>> +      (version (string-append "0.11-" revision "." (string-take commit 9)))
>> +      (source (origin
>> +                (method git-fetch)
>> +                (uri (git-reference
>> +                      (url "https://github.com/bagder/roffit.git")
>> +                      (commit commit)))
>> +                (file-name (string-append "roffit-" commit "-checkout"))
>> +                (sha256
>> +                 (base32
>> +                  "1y7ndbqciy7h0khlpi1bv4v1614vhybnmm4jysj6fwxkw9cwv1nc"))))
>> +      (build-system gnu-build-system)
>> +      (arguments
>> +       `(#:test-target "test"
>> +         #:make-flags
>> +         (list (string-append "INSTALLDIR="
>> +                              (assoc-ref %outputs "out") "/bin"))
>> +         #:phases
>> +         (modify-phases %standard-phases
>> +           (delete 'configure)
>> +           (add-before 'install 'pre-install
>> +             (lambda* (#:key outputs #:allow-other-keys)
>> +               (mkdir-p (string-append (assoc-ref outputs "out")
>> +                                       "/bin"))
>> +               #t)))))
>
> My only difference is in the (arguments), where I do:
>
>       (arguments
>        `(#:test-target "test"
>          #:phases
>          (modify-phases %standard-phases
>            (replace 'configure ; No configure phase
>              (lambda* (#:key outputs #:allow-other-keys)
>                (let* ((out  (assoc-ref outputs "out"))
>                       (bin  (string-append out "/bin/")))
>                  (substitute* "Makefile"
>                    (("/usr/local/bin")
>                     bin))

That’s not necessary, because we can override INSTALLDIR.

>                (mkdir-p bin))))
>            (add-after 'install 'wrap-programs
>              (lambda* (#:key outputs #:allow-other-keys)
>                ;; Make sure all executables in "bin" find the Perl modules
>                ;; provided by this package at runtime.
>                (let* ((out  (assoc-ref outputs "out"))
>                       (bin  (string-append out "/bin/"))
>                       (path (getenv "PERL5LIB")))
>                  (for-each (lambda (file)
>                              (wrap-program file
>                                `("PERL5LIB" ":" prefix (,path))))
>                            (find-files bin "\\.*$"))
>                  #t))))))

Why would this be necessary?  There are no Perl packages among the
inputs.

-- 
Ricardo
  
  GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
  http://elephly.net

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Seeking advice: preparing releases on GuixSD.
  2016-12-25 12:37     ` Ricardo Wurmus
@ 2016-12-26 12:41       ` ng0
  0 siblings, 0 replies; 15+ messages in thread
From: ng0 @ 2016-12-26 12:41 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: help-guix

Ricardo Wurmus <rekado@elephly.net> writes:

> ng0 <ng0@libertad.pw> writes:
>
>> Ricardo Wurmus <rekado@elephly.net> writes:
> […]
>>> From af81a0a3c796af583ec88dd4bc8d2e8a742c58fa Mon Sep 17 00:00:00 2001
>>> From: Ricardo Wurmus <rekado@elephly.net>
>>> Date: Sat, 24 Dec 2016 11:12:45 +0100
>>> Subject: [PATCH] gnu: Add roffit.
>>>
>>> * gnu/packages/groff.scm (roffit): New variable.
> […]
>>> +;; There are no releases, so we take the latest commit.
>>> +(define-public roffit
>>> +  (let ((commit "e5228388e3faf2b7f1ae5bd048ad46ed565304c6")
>>> +        (revision "1"))
>>> +    (package
>>> +      (name "roffit")
>>> +      (version (string-append "0.11-" revision "." (string-take commit 9)))
>>> +      (source (origin
>>> +                (method git-fetch)
>>> +                (uri (git-reference
>>> +                      (url "https://github.com/bagder/roffit.git")
>>> +                      (commit commit)))
>>> +                (file-name (string-append "roffit-" commit "-checkout"))
>>> +                (sha256
>>> +                 (base32
>>> +                  "1y7ndbqciy7h0khlpi1bv4v1614vhybnmm4jysj6fwxkw9cwv1nc"))))
>>> +      (build-system gnu-build-system)
>>> +      (arguments
>>> +       `(#:test-target "test"
>>> +         #:make-flags
>>> +         (list (string-append "INSTALLDIR="
>>> +                              (assoc-ref %outputs "out") "/bin"))
>>> +         #:phases
>>> +         (modify-phases %standard-phases
>>> +           (delete 'configure)
>>> +           (add-before 'install 'pre-install
>>> +             (lambda* (#:key outputs #:allow-other-keys)
>>> +               (mkdir-p (string-append (assoc-ref outputs "out")
>>> +                                       "/bin"))
>>> +               #t)))))
>>
>> My only difference is in the (arguments), where I do:
>>
>>       (arguments
>>        `(#:test-target "test"
>>          #:phases
>>          (modify-phases %standard-phases
>>            (replace 'configure ; No configure phase
>>              (lambda* (#:key outputs #:allow-other-keys)
>>                (let* ((out  (assoc-ref outputs "out"))
>>                       (bin  (string-append out "/bin/")))
>>                  (substitute* "Makefile"
>>                    (("/usr/local/bin")
>>                     bin))
>
> That’s not necessary, because we can override INSTALLDIR.

Okay, I didn't give my package much attention it was done in 5
minutes.

>>                (mkdir-p bin))))
>>            (add-after 'install 'wrap-programs
>>              (lambda* (#:key outputs #:allow-other-keys)
>>                ;; Make sure all executables in "bin" find the Perl modules
>>                ;; provided by this package at runtime.
>>                (let* ((out  (assoc-ref outputs "out"))
>>                       (bin  (string-append out "/bin/"))
>>                       (path (getenv "PERL5LIB")))
>>                  (for-each (lambda (file)
>>                              (wrap-program file
>>                                `("PERL5LIB" ":" prefix (,path))))
>>                            (find-files bin "\\.*$"))
>>                  #t))))))
>
> Why would this be necessary?  There are no Perl packages among the
> inputs.

True. Okay, thanks for pushing this.
That leaves one question open from my previous message (about
ltmain.sh), but I don't need/want an immediate reply.

> -- 
> Ricardo
>   
>   GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
>   http://elephly.net
>
>

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Seeking advice: preparing releases on GuixSD.
  2016-12-24 16:34           ` ng0
@ 2016-12-26 13:58             ` Ricardo Wurmus
  2016-12-26 14:27               ` ng0
  0 siblings, 1 reply; 15+ messages in thread
From: Ricardo Wurmus @ 2016-12-26 13:58 UTC (permalink / raw)
  To: ng0; +Cc: help-guix


ng0 <ng0@libertad.pw> writes:

> So the changed shebang in the ltmain.sh is a bug on my side or in
> the autotools in Guix?

Looks like a bug in how we install the file when building libtool.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
http://elephly.net

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Seeking advice: preparing releases on GuixSD.
  2016-12-26 13:58             ` Ricardo Wurmus
@ 2016-12-26 14:27               ` ng0
  0 siblings, 0 replies; 15+ messages in thread
From: ng0 @ 2016-12-26 14:27 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: help-guix

Ricardo Wurmus <rekado@elephly.net> writes:

> ng0 <ng0@libertad.pw> writes:
>
>> So the changed shebang in the ltmain.sh is a bug on my side or in
>> the autotools in Guix?
>
> Looks like a bug in how we install the file when building libtool.
>
> -- 
> Ricardo
>
> GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
> http://elephly.net
>
>

As it's a shebang, is it as easy as adding back the original
state of the shebang after the shebang phases have run?
-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Seeking advice: preparing releases on GuixSD.
  2016-12-24 15:32     ` Ricardo Wurmus
  2016-12-24 16:13       ` ng0
@ 2016-12-30 23:34       ` Ludovic Courtès
  1 sibling, 0 replies; 15+ messages in thread
From: Ludovic Courtès @ 2016-12-30 23:34 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: help-guix, bug-guix

Hi!

Ricardo Wurmus <rekado@elephly.net> skribis:

> “ltmain.sh” is instantiated from a template by libtool.  It originally
> contains a /bin/sh shebang, and I think it should not be patched when
> installed to
>
>     /gnu/store/…-libtool-2.4.6/share/libtool/build-aux/ltmain.sh
>
> This seems like a bug to me.

Definitely:

--8<---------------cut here---------------start------------->8---
$ head -1 $(find $(guix build libtool) -name ltmain.sh)
#!/gnu/store/qkw4zrwfybxww8f56nkb6hggxambk89b-bash-4.4.0/bin/sh
--8<---------------cut here---------------end--------------->8---

Opening a new bug now.  This is with v0.12.0-176-ge087671.

Ludo’.

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2016-12-30 23:34 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-23 13:35 Seeking advice: preparing releases on GuixSD ng0
2016-12-23 17:04 ` Alex Kost
2016-12-23 17:34   ` ng0
2016-12-24 10:13 ` Ricardo Wurmus
2016-12-24 14:45   ` ng0
2016-12-24 15:32     ` Ricardo Wurmus
2016-12-24 16:13       ` ng0
2016-12-24 16:23         ` Ricardo Wurmus
2016-12-24 16:34           ` ng0
2016-12-26 13:58             ` Ricardo Wurmus
2016-12-26 14:27               ` ng0
2016-12-30 23:34       ` Ludovic Courtès
2016-12-24 22:26   ` ng0
2016-12-25 12:37     ` Ricardo Wurmus
2016-12-26 12:41       ` ng0

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).