Re: [PATCH] gnu: go: Update to 1.8.1

2017-04-22 Thread Sergei Trofimovich
On Mon, 17 Apr 2017 15:37:49 +0200
Petter  wrote:

> > > # ../misc/cgo/test
> > >  runtime/cgo: pthread_create failed: Resource temporarily unavailable
...
> > $ /gnu/store/b4gflqj64yvksq7959r6m22mf9lzdy69-go-1.8.1/bin/go version
> > go version go1.8.1 linux/amd64  
> 
> Hope you'll be able to work this out!

Finally managed to fix go-1.8.1 for me as well \o/.

The culprit was a low thread limit for guix-daemon container:
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=26611

-- 

  Sergei


pgpnhhtL8nxQq.pgp
Description: Цифровая подпись OpenPGP


Re: [PATCH] gnu: go: Update to 1.8.1

2017-04-17 Thread Petter

Thanks Leo!

On 2017-04-17 20:18, Leo Famulari wrote:

On Mon, Apr 17, 2017 at 07:55:35PM +0200, Petter wrote:

Hi Leo,

Good point! As the build succeeded I didn't think any of it. This 
could be

important for other architectures than what Sergei and I are using.

However,
> find /tmp/go/src/cmd/ -name '*asm\.c*'
doesn't return any file. Looks like they've removed these files. I'm 
pretty
sure they're working to "free" their source of C code, so I wouldn't 
expect

these files to reappear in a later release either.


Indeed, I must have been looking at an old version of the Go source
tree.

With this information I think it's safe to remove the asm.c 
substitution.


Yup! I pushed the update as c04ef86e8114225f5e5859f379582ba6f69aacfb.




Re: [PATCH] gnu: go: Update to 1.8.1

2017-04-17 Thread Leo Famulari
On Mon, Apr 17, 2017 at 07:55:35PM +0200, Petter wrote:
> Hi Leo,
> 
> Good point! As the build succeeded I didn't think any of it. This could be
> important for other architectures than what Sergei and I are using.
> 
> However,
> > find /tmp/go/src/cmd/ -name '*asm\.c*'
> doesn't return any file. Looks like they've removed these files. I'm pretty
> sure they're working to "free" their source of C code, so I wouldn't expect
> these files to reappear in a later release either.

Indeed, I must have been looking at an old version of the Go source
tree.

> With this information I think it's safe to remove the asm.c substitution.

Yup! I pushed the update as c04ef86e8114225f5e5859f379582ba6f69aacfb.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: go: Update to 1.8.1

2017-04-17 Thread Petter

Hi Leo,

Good point! As the build succeeded I didn't think any of it. This could 
be important for other architectures than what Sergei and I are using.


However,

find /tmp/go/src/cmd/ -name '*asm\.c*'
doesn't return any file. Looks like they've removed these files. I'm 
pretty sure they're working to "free" their source of C code, so I 
wouldn't expect these files to reappear in a later release either.


With this information I think it's safe to remove the asm.c 
substitution.


Best,
Petter

On 2017-04-17 19:18, Leo Famulari wrote:

On Mon, Apr 17, 2017 at 03:37:49PM +0200, Petter wrote:

Hi Sergei,

I definitely think your fix deserves recognition. Without it I would
certainly have been unable to build 1.8(.1)? this month. While editing 
the
recipe is trivial mechanical wise, figuring out what to change was not 
:)


Sorry to hear about your issues; I'm on x86_64 and Linux as well 
though...


> $ /gnu/store/b4gflqj64yvksq7959r6m22mf9lzdy69-go-1.8.1/bin/go version
> go version go1.8.1 linux/amd64

Hope you'll be able to work this out!

Thanks for fixing Go 1.8 :)


Yes, thanks to both of you for picking this up :)

@@ -300,8 +301,8 @@ sequential processes (CSP) concurrent programming 
features added.")
(("/etc/services") (string-append net-base 
"/etc/services")))

  (substitute* "time/zoneinfo_unix.go"
(("/usr/share/zoneinfo/") tzdata-path))
- (substitute* (find-files "cmd" "asm.c")
-   (("/lib/ld-linux.*\\.so\\.[0-9]") loader))
+ (substitute* (find-files "cmd" "\\.go")
+   (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))


The substitution that is removed here would still patch some files.
Shouldn't we adjust the old substitution to also match '/lib64', as 
well

as add the new substitution?

I've attached a patch for that.




Re: [PATCH] gnu: go: Update to 1.8.1

2017-04-17 Thread Leo Famulari
On Mon, Apr 17, 2017 at 03:37:49PM +0200, Petter wrote:
> Hi Sergei,
> 
> I definitely think your fix deserves recognition. Without it I would
> certainly have been unable to build 1.8(.1)? this month. While editing the
> recipe is trivial mechanical wise, figuring out what to change was not :)
> 
> Sorry to hear about your issues; I'm on x86_64 and Linux as well though...
> 
> > $ /gnu/store/b4gflqj64yvksq7959r6m22mf9lzdy69-go-1.8.1/bin/go version
> > go version go1.8.1 linux/amd64
> 
> Hope you'll be able to work this out!
> 
> Thanks for fixing Go 1.8 :)

Yes, thanks to both of you for picking this up :)

> @@ -300,8 +301,8 @@ sequential processes (CSP) concurrent programming 
> features added.")
> (("/etc/services") (string-append net-base 
> "/etc/services")))
>   (substitute* "time/zoneinfo_unix.go"
> (("/usr/share/zoneinfo/") tzdata-path))
> - (substitute* (find-files "cmd" "asm.c")
> -   (("/lib/ld-linux.*\\.so\\.[0-9]") loader))
> + (substitute* (find-files "cmd" "\\.go")
> +   (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))

The substitution that is removed here would still patch some files.
Shouldn't we adjust the old substitution to also match '/lib64', as well
as add the new substitution?

I've attached a patch for that.
From c64da0b22a602302d9262b7e76ce7a95bee97f95 Mon Sep 17 00:00:00 2001
From: Petter <pet...@mykolab.ch>
Date: Mon, 17 Apr 2017 15:14:18 +0200
Subject: [PATCH] gnu: go: Update to 1.8.1.

* gnu/packages/golang.scm (go-1.7): Replace with ...
(go-1.8): New variable.
[arguments]: Modify substitutions in 'prebuild' phase.
(go): Update to go-1.8.
---
 gnu/packages/golang.scm | 15 +--
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 00630ce06..f84622bae 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -3,8 +3,9 @@
 ;;; Copyright © 2016 Matthew Jordan <matthewjordandev...@yandex.com>
 ;;; Copyright © 2016 Andy Wingo <wi...@igalia.com>
 ;;; Copyright © 2016 Ludovic Courtès <l...@gnu.org>
-;;; Copyright © 2016 Petter <pet...@mykolab.ch>
+;;; Copyright © 2016, 2017 Petter <pet...@mykolab.ch>
 ;;; Copyright © 2016, 2017 Leo Famulari <l...@famulari.name>
+;;; Copyright © 2017 Sergei Trofimovich <sly...@inbox.ru>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -197,11 +198,11 @@ garbage collection, various safety features and in the 
style of communicating
 sequential processes (CSP) concurrent programming features added.")
 (license license:bsd-3)))
 
-(define-public go-1.7
+(define-public go-1.8
   (package
 (inherit go-1.4)
 (name "go")
-(version "1.7.5")
+(version "1.8.1")
 (source
  (origin
(method url-fetch)
@@ -209,7 +210,7 @@ sequential processes (CSP) concurrent programming features 
added.")
name version ".src.tar.gz"))
(sha256
 (base32
- "058q57zmi23rflingzhy1b87yl69mb62ql2psfxqr7q7l89lb0sf"
+ "0mqf8ydxdx1pwmrs8p8wl5y1qrplzxmxzgb6vkghy4l67z0g9nik"
 (arguments
  (substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases)
@@ -301,7 +302,9 @@ sequential processes (CSP) concurrent programming features 
added.")
  (substitute* "time/zoneinfo_unix.go"
(("/usr/share/zoneinfo/") tzdata-path))
  (substitute* (find-files "cmd" "asm.c")
-   (("/lib/ld-linux.*\\.so\\.[0-9]") loader))
+   (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))
+ (substitute* (find-files "cmd" "\\.go")
+   (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))
  #t)))
(add-before 'build 'set-bootstrap-variables
  (lambda* (#:key outputs inputs #:allow-other-keys)
@@ -364,4 +367,4 @@ sequential processes (CSP) concurrent programming features 
added.")
  `(("go" ,go-1.4)
,@(package-native-inputs go-1.4)
 
-(define-public go go-1.7)
+(define-public go go-1.8)
-- 
2.12.2



signature.asc
Description: PGP signature


Re: [PATCH] gnu: go: Update to 1.8.1

2017-04-17 Thread Petter

Hi Sergei,

I definitely think your fix deserves recognition. Without it I would 
certainly have been unable to build 1.8(.1)? this month. While editing 
the recipe is trivial mechanical wise, figuring out what to change was 
not :)


Sorry to hear about your issues; I'm on x86_64 and Linux as well 
though...



$ /gnu/store/b4gflqj64yvksq7959r6m22mf9lzdy69-go-1.8.1/bin/go version
go version go1.8.1 linux/amd64


Hope you'll be able to work this out!

Thanks for fixing Go 1.8 :)

Best,
Petter

On 2017-04-17 14:54, Sergei Trofimovich wrote:

On Mon, 17 Apr 2017 14:16:06 +0200
Petter <pet...@mykolab.ch> wrote:


Hi,

With this patch I'm not sure how to properly handle Copyright. I've
taken a guess and prepared a
patch anyway.

Here's the situation.

Updating to 1.8 was not trivial. A fix has been posted in a comment by
Sergei Trofimovich on
github[1]. It's a proper Guix patch, updating Go to 1.8, with the fix
and the trivial update stuff,
but as far as I can see not actually submitted to Guix.

[1] https://github.com/golang/go/issues/19132#issuecomment-285897612

After this Go 1.8.1 has been released. The attached patch has the
trivial update stuff for 1.8.1
and the fix by Sergei. I added Sergei to the Copyright section, but 
I'm

not sure if this is
correct, and if this is the way to do it. Also, I didn't find his 
e-mail

address, so I just added
his github page, in ()...

A little messy, please let me know if I should do something 
differently.


I consider the fix itself trivial thus I'm perfectly fine with not 
being

attributed at all. Apologies for making it hard to track me down.
I've added one of emails to github's front page.

[ While the fix is trivial debugging was a bit more fun :) ]

If you still like to add attribution (or have other reasons) feel free
to add "Sergei Trofimovich <sly...@inbox.ru>"

I didn't get to submitting something that works because some unrelated
go-1.8.0 tests failed for me.

go-1.8.1 fails in a similar way, but if it works for you
it's very probable just my environment (x86_64-linux):

guix-master $ ./pre-inst-env guix build go-1.8

  # ../misc/cgo/test
  runtime/cgo: pthread_create failed: Resource temporarily unavailable
  scatter = 0x55ffc0
  hello from C
  sqrt is: 0
  SIGABRT: abort
  PC=0x771232c4 m=12 sigcode=18446744073709551610

Thanks for finishing go update!From ae8434c72d75f68fa25571bee72084a623661a57 Mon Sep 17 00:00:00 2001
From: Petter <pet...@mykolab.ch>
Date: Mon, 17 Apr 2017 15:14:18 +0200
Subject: [PATCH] gnu: go: Update to 1.8.1.

* gnu/packages/golang.scm (go): Update to 1.8.1.
---
 gnu/packages/golang.scm | 15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 00630ce06..90a809eb2 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -3,8 +3,9 @@
 ;;; Copyright © 2016 Matthew Jordan <matthewjordandev...@yandex.com>
 ;;; Copyright © 2016 Andy Wingo <wi...@igalia.com>
 ;;; Copyright © 2016 Ludovic Courtès <l...@gnu.org>
-;;; Copyright © 2016 Petter <pet...@mykolab.ch>
+;;; Copyright © 2016, 2017 Petter <pet...@mykolab.ch>
 ;;; Copyright © 2016, 2017 Leo Famulari <l...@famulari.name>
+;;; Copyright © 2017 Sergei Trofimovich <sly...@inbox.ru>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -197,11 +198,11 @@ garbage collection, various safety features and in the style of communicating
 sequential processes (CSP) concurrent programming features added.")
 (license license:bsd-3)))
 
-(define-public go-1.7
+(define-public go-1.8
   (package
 (inherit go-1.4)
 (name "go")
-(version "1.7.5")
+(version "1.8.1")
 (source
  (origin
(method url-fetch)
@@ -209,7 +210,7 @@ sequential processes (CSP) concurrent programming features added.")
name version ".src.tar.gz"))
(sha256
 (base32
- "058q57zmi23rflingzhy1b87yl69mb62ql2psfxqr7q7l89lb0sf"
+ "0mqf8ydxdx1pwmrs8p8wl5y1qrplzxmxzgb6vkghy4l67z0g9nik"
 (arguments
  (substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases)
@@ -300,8 +301,8 @@ sequential processes (CSP) concurrent programming features added.")
(("/etc/services") (string-append net-base "/etc/services")))
  (substitute* "time/zoneinfo_unix.go"
(("/usr/share/zoneinfo/") tzdata-path))
- (substitute* (find-files "cmd" "asm.c")
-   (("/lib/ld-linux.*\\.so\\.[0-9]") loader))
+ (substitute* (find-files "cmd" "\\.go")
+   (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))
  #t)))
(add-before 'build 'set-bootstrap-variables
   

Re: [PATCH] gnu: go: Update to 1.8.1

2017-04-17 Thread Sergei Trofimovich
On Mon, 17 Apr 2017 14:16:06 +0200
Petter  wrote:

> Hi,
> 
> With this patch I'm not sure how to properly handle Copyright. I've 
> taken a guess and prepared a
> patch anyway.
> 
> Here's the situation.
> 
> Updating to 1.8 was not trivial. A fix has been posted in a comment by 
> Sergei Trofimovich on
> github[1]. It's a proper Guix patch, updating Go to 1.8, with the fix 
> and the trivial update stuff,
> but as far as I can see not actually submitted to Guix.
> 
> [1] https://github.com/golang/go/issues/19132#issuecomment-285897612
> 
> After this Go 1.8.1 has been released. The attached patch has the 
> trivial update stuff for 1.8.1
> and the fix by Sergei. I added Sergei to the Copyright section, but I'm 
> not sure if this is
> correct, and if this is the way to do it. Also, I didn't find his e-mail 
> address, so I just added
> his github page, in ()...
> 
> A little messy, please let me know if I should do something differently.

I consider the fix itself trivial thus I'm perfectly fine with not being
attributed at all. Apologies for making it hard to track me down.
I've added one of emails to github's front page.

[ While the fix is trivial debugging was a bit more fun :) ]

If you still like to add attribution (or have other reasons) feel free
to add "Sergei Trofimovich "

I didn't get to submitting something that works because some unrelated
go-1.8.0 tests failed for me.

go-1.8.1 fails in a similar way, but if it works for you
it's very probable just my environment (x86_64-linux):

guix-master $ ./pre-inst-env guix build go-1.8

  # ../misc/cgo/test
  runtime/cgo: pthread_create failed: Resource temporarily unavailable
  scatter = 0x55ffc0
  hello from C
  sqrt is: 0
  SIGABRT: abort
  PC=0x771232c4 m=12 sigcode=18446744073709551610

Thanks for finishing go update!

-- 

  Sergei


pgpkJjhmE5FdV.pgp
Description: Цифровая подпись OpenPGP


Re: [PATCH] gnu: go: Update to 1.8.1

2017-04-17 Thread Tobias Geerinckx-Rice
Petter,

There's a copyright header in Guix already, with an e-mail address, so I
doubt Sergei will mind:

  $ grep -r Sergei *
  gnu/packages/re2c.scm:;;; Copyright © 2017 Sergei Trofimovich <...>

While I suspect Sergei's already subscribed to this list, I've CC'd that
adress just in case. Hence the complete quote below.

Kind regards,

T G-R

On 17/04/17 14:16, Petter wrote:
> Hi,
> 
> With this patch I'm not sure how to properly handle Copyright. I've 
> taken a guess and prepared a patch anyway.
> 
> Here's the situation.
> 
> Updating to 1.8 was not trivial. A fix has been posted in a comment
> by Sergei Trofimovich on github[1]. It's a proper Guix patch,
> updating Go to 1.8, with the fix and the trivial update stuff, but as
> far as I can see not actually submitted to Guix.
> 
> [1] https://github.com/golang/go/issues/19132#issuecomment-285897612
> 
> After this Go 1.8.1 has been released. The attached patch has the 
> trivial update stuff for 1.8.1 and the fix by Sergei. I added Sergei
> to the Copyright section, but I'm not sure if this is correct, and if
> this is the way to do it. Also, I didn't find his e-mail address, so
> I just added his github page, in ()...
> 
> A little messy, please let me know if I should do something
> differently.



signature.asc
Description: OpenPGP digital signature


[PATCH] gnu: go: Update to 1.8.1

2017-04-17 Thread Petter

Hi,

With this patch I'm not sure how to properly handle Copyright. I've 
taken a guess and prepared a

patch anyway.

Here's the situation.

Updating to 1.8 was not trivial. A fix has been posted in a comment by 
Sergei Trofimovich on
github[1]. It's a proper Guix patch, updating Go to 1.8, with the fix 
and the trivial update stuff,

but as far as I can see not actually submitted to Guix.

[1] https://github.com/golang/go/issues/19132#issuecomment-285897612

After this Go 1.8.1 has been released. The attached patch has the 
trivial update stuff for 1.8.1
and the fix by Sergei. I added Sergei to the Copyright section, but I'm 
not sure if this is
correct, and if this is the way to do it. Also, I didn't find his e-mail 
address, so I just added

his github page, in ()...

A little messy, please let me know if I should do something differently.

Best,
PetterFrom 9b24372fc95ac32e774bbaa1c5219b771fcd1cda Mon Sep 17 00:00:00 2001
From: Petter <pet...@mykolab.ch>
Date: Mon, 17 Apr 2017 13:36:16 +0200
Subject: [PATCH] gnu: go: Update to 1.8.1.

* gnu/packages/golang.scm (go): Update to 1.8.1.
---
 gnu/packages/golang.scm | 15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 00630ce06..1864f780a 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -3,8 +3,9 @@
 ;;; Copyright © 2016 Matthew Jordan <matthewjordandev...@yandex.com>
 ;;; Copyright © 2016 Andy Wingo <wi...@igalia.com>
 ;;; Copyright © 2016 Ludovic Courtès <l...@gnu.org>
-;;; Copyright © 2016 Petter <pet...@mykolab.ch>
+;;; Copyright © 2016, 2017 Petter <pet...@mykolab.ch>
 ;;; Copyright © 2016, 2017 Leo Famulari <l...@famulari.name>
+;;; Copyright © 2017 Sergei Trofimovich (https://github.com/trofi)
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -197,11 +198,11 @@ garbage collection, various safety features and in the style of communicating
 sequential processes (CSP) concurrent programming features added.")
 (license license:bsd-3)))
 
-(define-public go-1.7
+(define-public go-1.8
   (package
 (inherit go-1.4)
 (name "go")
-(version "1.7.5")
+(version "1.8.1")
 (source
  (origin
(method url-fetch)
@@ -209,7 +210,7 @@ sequential processes (CSP) concurrent programming features added.")
name version ".src.tar.gz"))
(sha256
 (base32
- "058q57zmi23rflingzhy1b87yl69mb62ql2psfxqr7q7l89lb0sf"
+ "0mqf8ydxdx1pwmrs8p8wl5y1qrplzxmxzgb6vkghy4l67z0g9nik"
 (arguments
  (substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases)
@@ -300,8 +301,8 @@ sequential processes (CSP) concurrent programming features added.")
(("/etc/services") (string-append net-base "/etc/services")))
  (substitute* "time/zoneinfo_unix.go"
(("/usr/share/zoneinfo/") tzdata-path))
- (substitute* (find-files "cmd" "asm.c")
-   (("/lib/ld-linux.*\\.so\\.[0-9]") loader))
+ (substitute* (find-files "cmd" "\\.go")
+   (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))
  #t)))
(add-before 'build 'set-bootstrap-variables
  (lambda* (#:key outputs inputs #:allow-other-keys)
@@ -364,4 +365,4 @@ sequential processes (CSP) concurrent programming features added.")
  `(("go" ,go-1.4)
,@(package-native-inputs go-1.4)
 
-(define-public go go-1.7)
+(define-public go go-1.8)
-- 
2.11.1