* [PATCHES] Add docker-compose and missing prerequisites.
@ 2016-01-11 18:44 Thompson, David
2016-01-14 13:59 ` Ludovic Courtès
2016-01-14 19:09 ` go package (was docker compose) Jeff Mickey
0 siblings, 2 replies; 4+ messages in thread
From: Thompson, David @ 2016-01-11 18:44 UTC (permalink / raw)
To: guix-devel
[-- Attachment #1: Type: text/plain, Size: 578 bytes --]
Hello Guix hackers,
As much as I dislike it, the company I work for has started to use
Docker. Docker Compose is a special Python program that talks to the
Docker daemon to run many containers at once using configuration from
a "declarative" YAML file (my kingdom for an sexp), and I didn't want
to use pip to install it. So, here's 8 patches that add it and the
stuff that was missing for it.
I hear someone has a working Go package that hasn't been submitted
yet, so maybe we'll have Docker itself available someday. That will
be interesting. :)
TIA for review.
- Dave
[-- Attachment #2: 0001-gnu-Add-version-2.7-variant-of-python-requests.patch --]
[-- Type: text/x-patch, Size: 1191 bytes --]
From 29aa112adc961c806a56e03c9031c1385ad29f37 Mon Sep 17 00:00:00 2001
From: David Thompson <dthompson@vistahigherlearning.com>
Date: Mon, 11 Jan 2016 13:24:30 -0500
Subject: [PATCH 1/8] gnu: Add version 2.7 variant of python-requests.
* gnu/packages/python.scm (python-requests-2.7): New variable.
---
gnu/packages/python.scm | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 4ab1eed..5f6ac79 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2182,6 +2182,18 @@ compatible install in a way that is very close to the on-disk format.")
than Python’s urllib2 library.")
(license asl2.0)))
+;; Some software requires an older version of Requests, notably Docker
+;; Compose.
+(define-public python-requests-2.7
+ (package (inherit python-requests)
+ (version "2.7.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "requests" version))
+ (sha256
+ (base32
+ "0gdr9dxm24amxpbyqpbh3lbwxc2i42hnqv50sigx568qssv3v2ir"))))))
+
(define-public python2-requests
(package-with-python2 python-requests))
--
2.6.3
[-- Attachment #3: 0002-gnu-Add-python-vcversioner.patch --]
[-- Type: text/x-patch, Size: 1581 bytes --]
From 41af50a9a40a7668e1069cf3a94c58c73dc50452 Mon Sep 17 00:00:00 2001
From: David Thompson <dthompson@vistahigherlearning.com>
Date: Mon, 11 Jan 2016 13:26:07 -0500
Subject: [PATCH 2/8] gnu: Add python-vcversioner.
* gnu/packages/python.scm (python-vcversioner, python2-vcversioner): New
variables.
---
gnu/packages/python.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 5f6ac79..91629e8 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2197,6 +2197,30 @@ than Python’s urllib2 library.")
(define-public python2-requests
(package-with-python2 python-requests))
+(define-public python-vcversioner
+ (package
+ (name "python-vcversioner")
+ (version "2.14.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "vcversioner" version))
+ (sha256
+ (base32
+ "11ivq1bm7v0yb4nsfbv9m7g7lyjn112gbvpjnjz8nv1fx633dm5c"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (synopsis "Python library for version number discovery")
+ (description "Vcversioner is a Python library that inspects tagging
+information in a variety of version control systems in order to discover
+version numbers.")
+ (home-page "https://github.com/habnabit/vcversioner")
+ (license isc)))
+
+(define-public python2-vcversioner
+ (package-with-python2 python-vcversioner))
+
(define-public python-jsonschema
(package
(name "python-jsonschema")
--
2.6.3
[-- Attachment #4: 0003-gnu-Update-python-jsonschema-to-2.5.1.patch --]
[-- Type: text/x-patch, Size: 1397 bytes --]
From 4609db7c4569b047f8357133dafacf3a3a418032 Mon Sep 17 00:00:00 2001
From: David Thompson <dthompson@vistahigherlearning.com>
Date: Mon, 11 Jan 2016 13:26:47 -0500
Subject: [PATCH 3/8] gnu: Update python-jsonschema to 2.5.1.
* gnu/packages/python.scm (python-jsonschema): Update to 2.5.1.
---
gnu/packages/python.scm | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 91629e8..e1009cc 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2224,7 +2224,7 @@ version numbers.")
(define-public python-jsonschema
(package
(name "python-jsonschema")
- (version "2.4.0")
+ (version "2.5.1")
(source (origin
(method url-fetch)
(uri
@@ -2233,10 +2233,11 @@ version numbers.")
version ".tar.gz"))
(sha256
(base32
- "1yik3031ziygvq66rj3mzfqdgxj29sg1bkfc46wsgi7lnbqs560j"))))
+ "0hddbqjm4jq63y8jf44nswina1crjs16l9snb6m3vvgyg31klrrn"))))
(build-system python-build-system)
(inputs
- `(("python-setuptools" ,python-setuptools)))
+ `(("python-setuptools" ,python-setuptools)
+ ("python-vcversioner" ,python-vcversioner)))
(home-page "http://github.com/Julian/jsonschema")
(synopsis "Implementation of JSON Schema for Python")
(description
--
2.6.3
[-- Attachment #5: 0004-gnu-Add-python-texttable.patch --]
[-- Type: text/x-patch, Size: 1381 bytes --]
From 43b8e05406a62d0b201df9aac7c6bcc9ea74a92f Mon Sep 17 00:00:00 2001
From: David Thompson <dthompson@vistahigherlearning.com>
Date: Mon, 11 Jan 2016 13:27:31 -0500
Subject: [PATCH 4/8] gnu: Add python-texttable.
* gnu/packages/python.scm (python-texttable, python2-texttable): New
variables.
---
gnu/packages/python.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index e1009cc..4081362 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6657,3 +6657,25 @@ the standard library.")
(define-public python2-contextlib2
(package-with-python2 python-contextlib2))
+
+(define-public python-texttable
+ (package
+ (name "python-texttable")
+ (version "0.8.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "texttable" version))
+ (sha256
+ (base32
+ "0bkhs4dx9s6g7fpb969hygq56hyz4ncfamlynw72s0n6nqfbd1w5"))))
+ (build-system python-build-system)
+ (arguments '(#:tests? #f)) ; no tests
+ (home-page "https://github.com/foutaise/texttable/")
+ (synopsis "Python module for creating simple ASCII tables")
+ (description "Texttable is a Python module for creating simple ASCII
+tables.")
+ (license lgpl2.1+)))
+
+(define-public python2-texttable
+ (package-with-python2 python-texttable))
--
2.6.3
[-- Attachment #6: 0005-gnu-Add-python-websocket-client.patch --]
[-- Type: text/x-patch, Size: 1639 bytes --]
From 067d7792cc2acffac1531f71f53c5b4b5f2f7c68 Mon Sep 17 00:00:00 2001
From: David Thompson <dthompson@vistahigherlearning.com>
Date: Mon, 11 Jan 2016 13:28:05 -0500
Subject: [PATCH 5/8] gnu: Add python-websocket-client.
* gnu/packages/python.scm (python-websocket-client): New variable.
---
gnu/packages/python.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 4081362..6b0721b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6679,3 +6679,30 @@ tables.")
(define-public python2-texttable
(package-with-python2 python-texttable))
+
+(define-public python-websocket-client
+ (package
+ (name "python-websocket-client")
+ (version "0.34.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/w"
+ "/websocket-client/websocket_client-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1prdx6d49f1cff17kzj15bnz09palfdgc1m5dkq9jd4mr90n4ak8"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-six" ,python-six))) ; for tests
+ (inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (home-page "https://github.com/liris/websocket-client")
+ (synopsis "WebSocket client for Python")
+ (description "The Websocket-client module provides the low level APIs for
+WebSocket usage in Python programs.")
+ (license lgpl2.1+)))
+
+(define-public python2-websocket-client
+ (package-with-python2 python-websocket-client))
--
2.6.3
[-- Attachment #7: 0006-gnu-Add-python-docker-py.patch --]
[-- Type: text/x-patch, Size: 3015 bytes --]
From 2e7b4c0a0d05330a3aefe33b9e90ef8e424bde0b Mon Sep 17 00:00:00 2001
From: David Thompson <dthompson@vistahigherlearning.com>
Date: Mon, 11 Jan 2016 13:30:10 -0500
Subject: [PATCH 6/8] gnu: Add python-docker-py.
* gnu/packages/docker.scm: New file.
* Makefile.am (GNU_SYSTEM_MODULES): Add it.
---
gnu-system.am | 1 +
gnu/packages/docker.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 52 insertions(+)
create mode 100644 gnu/packages/docker.scm
diff --git a/gnu-system.am b/gnu-system.am
index 7105e13..6711641 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -89,6 +89,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/djvu.scm \
gnu/packages/dns.scm \
gnu/packages/docbook.scm \
+ gnu/packages/docker.scm \
gnu/packages/doxygen.scm \
gnu/packages/dunst.scm \
gnu/packages/dvtm.scm \
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
new file mode 100644
index 0000000..2d1eecc
--- /dev/null
+++ b/gnu/packages/docker.scm
@@ -0,0 +1,51 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 David Thompson <davet@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages docker)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system python)
+ #:use-module (guix utils)
+ #:use-module (gnu packages python))
+
+(define-public python-docker-py
+ (package
+ (name "python-docker-py")
+ (version "1.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "docker-py" version))
+ (sha256
+ (base32
+ "16ba4xyd46hkj9nkfpz15r8kskl7ljx1afjzchyrhdsrklvzgzim"))))
+ (build-system python-build-system)
+ ;; TODO: Tests require a running Docker daemon.
+ (arguments '(#:tests? #f))
+ (inputs
+ `(("python-requests" ,python-requests)
+ ("python-setuptools" ,python-setuptools)
+ ("python-six" ,python-six)
+ ("python-websocket-client" ,python-websocket-client)))
+ (home-page "https://github.com/docker/docker-py/")
+ (synopsis "Python client for Docker")
+ (description "Docker-Py is a Python client for Docker.")
+ (license license:asl2.0)))
--
2.6.3
[-- Attachment #8: 0007-gnu-Add-python-dockerpty.patch --]
[-- Type: text/x-patch, Size: 1411 bytes --]
From 5f60f1d7668f585129d0e17d36d83b8f8623d680 Mon Sep 17 00:00:00 2001
From: David Thompson <dthompson@vistahigherlearning.com>
Date: Mon, 11 Jan 2016 13:35:51 -0500
Subject: [PATCH 7/8] gnu: Add python-dockerpty.
* gnu/packages/docker.scm (python-dockerpty): New variable.
---
gnu/packages/docker.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index 2d1eecc..8f2311b 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -49,3 +49,24 @@
(synopsis "Python client for Docker")
(description "Docker-Py is a Python client for Docker.")
(license license:asl2.0)))
+
+(define-public python-dockerpty
+ (package
+ (name "python-dockerpty")
+ (version "0.3.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "dockerpty" version))
+ (sha256
+ (base32
+ "0za6rr349641wv76ww9l3zcic2xyxrirlxpnzl4296h897648455"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-six" ,python-six)))
+ (home-page "https://github.com/d11wtq/dockerpty")
+ (synopsis "Python library to use the pseudo-TTY of a Docker container")
+ (description "Docker PTY provides the functionality needed to operate the
+pseudo-terminal (PTY) allocated to a Docker container using the Python
+client.")
+ (license license:asl2.0)))
--
2.6.3
[-- Attachment #9: 0008-gnu-Add-docker-compose.patch --]
[-- Type: text/x-patch, Size: 1814 bytes --]
From 694a2a3791f873b454f4ed8b8c4e4a4e674a9d0b Mon Sep 17 00:00:00 2001
From: David Thompson <dthompson@vistahigherlearning.com>
Date: Mon, 11 Jan 2016 13:36:26 -0500
Subject: [PATCH 8/8] gnu: Add docker-compose.
* gnu/packages/docker.scm (docker-compose): New variable.
---
gnu/packages/docker.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index 8f2311b..e16fc59 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -70,3 +70,34 @@
pseudo-terminal (PTY) allocated to a Docker container using the Python
client.")
(license license:asl2.0)))
+
+(define-public docker-compose
+ (package
+ (name "docker-compose")
+ (version "1.5.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "docker-compose" version))
+ (sha256
+ (base32
+ "0ksg7hm2yvc977968dixxisrhcmvskzpcx3pz0v1kazrdqp7xakr"))))
+ (build-system python-build-system)
+ ;; TODO: Tests require running Docker daemon.
+ (arguments '(#:tests? #f))
+ (inputs
+ `(("python-docker-py" ,python-docker-py)
+ ("python-dockerpty" ,python-dockerpty)
+ ("python-docopt" ,python-docopt)
+ ("python-enum34" ,python-enum34)
+ ("python-jsonschema" ,python-jsonschema)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-requests" ,python-requests-2.7)
+ ("python-setuptools" ,python-setuptools)
+ ("python-six" ,python-six)
+ ("python-texttable" ,python-texttable)
+ ("python-websocket-client" ,python-websocket-client)))
+ (home-page "https://www.docker.com/")
+ (synopsis "Multi-container orchestration for Docker")
+ (description "Multi-container orchestration for Docker")
+ (license license:asl2.0)))
--
2.6.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCHES] Add docker-compose and missing prerequisites.
2016-01-11 18:44 [PATCHES] Add docker-compose and missing prerequisites Thompson, David
@ 2016-01-14 13:59 ` Ludovic Courtès
2016-01-14 19:09 ` go package (was docker compose) Jeff Mickey
1 sibling, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2016-01-14 13:59 UTC (permalink / raw)
To: Thompson, David; +Cc: guix-devel
"Thompson, David" <dthompson2@worcester.edu> skribis:
> As much as I dislike it, the company I work for has started to use
> Docker. Docker Compose is a special Python program that talks to the
> Docker daemon to run many containers at once using configuration from
> a "declarative" YAML file (my kingdom for an sexp), and I didn't want
> to use pip to install it. So, here's 8 patches that add it and the
> stuff that was missing for it.
Cool, I’m glad you’re bringing Docker to Guix! ;-)
> From 29aa112adc961c806a56e03c9031c1385ad29f37 Mon Sep 17 00:00:00 2001
> From: David Thompson <dthompson@vistahigherlearning.com>
> Date: Mon, 11 Jan 2016 13:24:30 -0500
> Subject: [PATCH 1/8] gnu: Add version 2.7 variant of python-requests.
>
> * gnu/packages/python.scm (python-requests-2.7): New variable.
OK.
> From 41af50a9a40a7668e1069cf3a94c58c73dc50452 Mon Sep 17 00:00:00 2001
> From: David Thompson <dthompson@vistahigherlearning.com>
> Date: Mon, 11 Jan 2016 13:26:07 -0500
> Subject: [PATCH 2/8] gnu: Add python-vcversioner.
>
> * gnu/packages/python.scm (python-vcversioner, python2-vcversioner): New
> variables.
OK.
> From 4609db7c4569b047f8357133dafacf3a3a418032 Mon Sep 17 00:00:00 2001
> From: David Thompson <dthompson@vistahigherlearning.com>
> Date: Mon, 11 Jan 2016 13:26:47 -0500
> Subject: [PATCH 3/8] gnu: Update python-jsonschema to 2.5.1.
>
> * gnu/packages/python.scm (python-jsonschema): Update to 2.5.1.
Please mention the new input. Otherwise LGTM.
> From 43b8e05406a62d0b201df9aac7c6bcc9ea74a92f Mon Sep 17 00:00:00 2001
> From: David Thompson <dthompson@vistahigherlearning.com>
> Date: Mon, 11 Jan 2016 13:27:31 -0500
> Subject: [PATCH 4/8] gnu: Add python-texttable.
>
> * gnu/packages/python.scm (python-texttable, python2-texttable): New
> variables.
OK.
> From 067d7792cc2acffac1531f71f53c5b4b5f2f7c68 Mon Sep 17 00:00:00 2001
> From: David Thompson <dthompson@vistahigherlearning.com>
> Date: Mon, 11 Jan 2016 13:28:05 -0500
> Subject: [PATCH 5/8] gnu: Add python-websocket-client.
>
> * gnu/packages/python.scm (python-websocket-client): New variable.
OK.
> From 2e7b4c0a0d05330a3aefe33b9e90ef8e424bde0b Mon Sep 17 00:00:00 2001
> From: David Thompson <dthompson@vistahigherlearning.com>
> Date: Mon, 11 Jan 2016 13:30:10 -0500
> Subject: [PATCH 6/8] gnu: Add python-docker-py.
>
> * gnu/packages/docker.scm: New file.
> * Makefile.am (GNU_SYSTEM_MODULES): Add it.
[...]
> + (home-page "https://github.com/docker/docker-py/")
> + (synopsis "Python client for Docker")
> + (description "Docker-Py is a Python client for Docker.")
s/for Docker/for the Docker container management tool/ maybe?
Otherwise LGTM.
> From 5f60f1d7668f585129d0e17d36d83b8f8623d680 Mon Sep 17 00:00:00 2001
> From: David Thompson <dthompson@vistahigherlearning.com>
> Date: Mon, 11 Jan 2016 13:35:51 -0500
> Subject: [PATCH 7/8] gnu: Add python-dockerpty.
>
> * gnu/packages/docker.scm (python-dockerpty): New variable.
OK.
> From 694a2a3791f873b454f4ed8b8c4e4a4e674a9d0b Mon Sep 17 00:00:00 2001
> From: David Thompson <dthompson@vistahigherlearning.com>
> Date: Mon, 11 Jan 2016 13:36:26 -0500
> Subject: [PATCH 8/8] gnu: Add docker-compose.
>
> * gnu/packages/docker.scm (docker-compose): New variable.
[...]
> + (home-page "https://www.docker.com/")
> + (synopsis "Multi-container orchestration for Docker")
> + (description "Multi-container orchestration for Docker")
Could you improve the description?
Otherwise LGTM.
Thank you!
Ludo’.
^ permalink raw reply [flat|nested] 4+ messages in thread
* go package (was docker compose)
2016-01-11 18:44 [PATCHES] Add docker-compose and missing prerequisites Thompson, David
2016-01-14 13:59 ` Ludovic Courtès
@ 2016-01-14 19:09 ` Jeff Mickey
2016-01-15 20:38 ` Ludovic Courtès
1 sibling, 1 reply; 4+ messages in thread
From: Jeff Mickey @ 2016-01-14 19:09 UTC (permalink / raw)
To: Thompson, David, guix-devel
* "Thompson, David" <dthompson2@worcester.edu> [2016-01-11 10:44]:
> I hear someone has a working Go package that hasn't been submitted
> yet, so maybe we'll have Docker itself available someday. That will
> be interesting. :)
I've gotten excited a few times on IRC, but unfortunately every time I
run into weird libgcc_s issues with how go does it's linking (which is
really assembling post link).
Here are my current go-1.4.3 and go-1.5.3 packages:
https://github.com/codemac/guix-pkgs/blob/master/tmp/codemac/packages/go.scm
They still fail if you ever link against anything that dynamically links
against glibc. This means any go program that uses the net, os/user,
runtime or cgo packages fail to execute complaining they can't find
libgcc_s. I've tried just about everything imagineable, and it's unclear
to me how the nix gcc + glibc packages differ from the guix ones.
I'd love help / suggestions, I use golang at my day job so I'm motivated
to get this fixed. I have a pretty good idea of what the go package
system could look like for guix without us distributing PILES of
statically linked go poop as well, but that's a separate discussion.
// mickey
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: go package (was docker compose)
2016-01-14 19:09 ` go package (was docker compose) Jeff Mickey
@ 2016-01-15 20:38 ` Ludovic Courtès
0 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2016-01-15 20:38 UTC (permalink / raw)
To: Jeff Mickey; +Cc: guix-devel
Jeff Mickey <j@codemac.net> skribis:
> * "Thompson, David" <dthompson2@worcester.edu> [2016-01-11 10:44]:
>> I hear someone has a working Go package that hasn't been submitted
>> yet, so maybe we'll have Docker itself available someday. That will
>> be interesting. :)
>
> I've gotten excited a few times on IRC, but unfortunately every time I
> run into weird libgcc_s issues with how go does it's linking (which is
> really assembling post link).
>
> Here are my current go-1.4.3 and go-1.5.3 packages:
>
> https://github.com/codemac/guix-pkgs/blob/master/tmp/codemac/packages/go.scm
>
> They still fail if you ever link against anything that dynamically links
> against glibc. This means any go program that uses the net, os/user,
> runtime or cgo packages fail to execute complaining they can't find
> libgcc_s. I've tried just about everything imagineable, and it's unclear
> to me how the nix gcc + glibc packages differ from the guix ones.
Not sure if that helps, but one of the differences is that Guix uses GCC
directly, albeit with a few modifications to its default “spec file”
such that libgcc_s and libc are automatically found (search for
GNU_USER_TARGET_LIB_SPEC in (gnu packages gcc).)
Conversely, Nixpkgs uses a wrapper around the real compiler; the wrapper
is a shell script that adds flags a bunch of flags such as
‘-dynamic-linker’:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/cc-wrapper/cc-wrapper.sh
> I'd love help / suggestions, I use golang at my day job so I'm motivated
> to get this fixed. I have a pretty good idea of what the go package
> system could look like for guix without us distributing PILES of
> statically linked go poop as well, but that's a separate discussion.
:-)
Sounds like with what you and Efraim have been doing we’ll hopefully get
there soon!
Ludo’.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-01-15 20:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-11 18:44 [PATCHES] Add docker-compose and missing prerequisites Thompson, David
2016-01-14 13:59 ` Ludovic Courtès
2016-01-14 19:09 ` go package (was docker compose) Jeff Mickey
2016-01-15 20:38 ` Ludovic Courtès
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.