Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

go_1_10: init at 1.10 and set as default #35330

Merged
merged 4 commits into from Feb 22, 2018
Merged

go_1_10: init at 1.10 and set as default #35330

merged 4 commits into from Feb 22, 2018

Conversation

Mic92
Copy link
Member

@Mic92 Mic92 commented Feb 22, 2018

Changes are minor from 1.9, so let's just set it as default straight.

changelog: https://golang.org/doc/go1.10

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

Changes are minor from 1.9, so let's just set it as default straight.
@Mic92 Mic92 changed the title go: init 1.10 and set as default go_1_10: init at 1.10 and set as default Feb 22, 2018
@Mic92
Copy link
Member Author

Mic92 commented Feb 22, 2018

@GrahamcOfBorg build docker direnv

@Mic92
Copy link
Member Author

Mic92 commented Feb 22, 2018

cc @cstrahan @zimbatm

heading: "API check",
fn: func(dt *distTest) error {
if t.compileOnly {
-return nil
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh looks like gofmt has added this. I will remove it after borg's first trial.

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Partial log (click to expand)

post-installation fixup
strip is /nix/store/4sdh09gmvl15cy0zb6i7mbvxh5syz206-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/fkr7d6kwj3vbfh12685lmd81x17kiy7p-go-md2man-1.0.6-bin/bin
patching script interpreter paths in /nix/store/fkr7d6kwj3vbfh12685lmd81x17kiy7p-go-md2man-1.0.6-bin
strip is /nix/store/4sdh09gmvl15cy0zb6i7mbvxh5syz206-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/c80f43925fgqid6v0703j2lx6l7iw7qm-direnv-2.14.0
strip is /nix/store/4sdh09gmvl15cy0zb6i7mbvxh5syz206-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/ab9i4l9r0pkdsjkxgxpl27mnrxarh800-go-md2man-1.0.6
cannot build derivation '/nix/store/d28jgxpbi6dyglcmkc2raig9qyr9lxyl-docker-17.12.0-ce.drv': 1 dependencies couldn't be built
error: build of '/nix/store/d28jgxpbi6dyglcmkc2raig9qyr9lxyl-docker-17.12.0-ce.drv' failed

@adisbladis
Copy link
Member

adisbladis commented Feb 22, 2018

@Mic92 Don't you think we should also update buildGoPackage to use 1.10?

@Mic92
Copy link
Member Author

Mic92 commented Feb 22, 2018

@adisbladis Yes. I forgot about that.

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Partial log (click to expand)

/nix/store/43na3cvik8spnkx2ilf36bv6y4x3735x-go-1.10

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Partial log (click to expand)

./src/syscall/mksysnum_dragonfly.pl: interpreter directive changed from "/usr/bin/env perl" to "/nix/store/zdy8xlih8znc7kkgdwhsih504hy8c8w0-perl-5.24.3/bin/perl"
./src/syscall/mksysnum_freebsd.pl: interpreter directive changed from "/usr/bin/env perl" to "/nix/store/zdy8xlih8znc7kkgdwhsih504hy8c8w0-perl-5.24.3/bin/perl"
./src/syscall/mksysnum_linux.pl: interpreter directive changed from "/usr/bin/env perl" to "/nix/store/zdy8xlih8znc7kkgdwhsih504hy8c8w0-perl-5.24.3/bin/perl"
./src/syscall/mksysnum_netbsd.pl: interpreter directive changed from "/usr/bin/env perl" to "/nix/store/zdy8xlih8znc7kkgdwhsih504hy8c8w0-perl-5.24.3/bin/perl"
./src/syscall/mksysnum_openbsd.pl: interpreter directive changed from "/usr/bin/env perl" to "/nix/store/zdy8xlih8znc7kkgdwhsih504hy8c8w0-perl-5.24.3/bin/perl"
./src/syscall/mksysnum_plan9.sh: interpreter directive changed from "/bin/sh" to "/nix/store/pkjmwq7sqrvjg7cjiph6hq0khsmfl6p8-bash-4.4-p12/bin/sh"
./test/errchk: interpreter directive changed from "/usr/bin/env perl" to "/nix/store/zdy8xlih8znc7kkgdwhsih504hy8c8w0-perl-5.24.3/bin/perl"
sed: can't read misc/cgo/errors/test.bash: No such file or directory
builder for '/nix/store/jnqhlzpijlw36j8dqhv7lsk6yli4p9yl-go-1.10.drv' failed with exit code 2
error: build of '/nix/store/jnqhlzpijlw36j8dqhv7lsk6yli4p9yl-go-1.10.drv' failed

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

shrinking /nix/store/3szg0m3sc5g5sd3p68jdnxr8cv35zrl0-docker-17.12.0-ce/libexec/docker/docker
shrinking /nix/store/3szg0m3sc5g5sd3p68jdnxr8cv35zrl0-docker-17.12.0-ce/libexec/docker/dockerd
patching script interpreter paths in /nix/store/3szg0m3sc5g5sd3p68jdnxr8cv35zrl0-docker-17.12.0-ce
checking for references to /tmp/nix-build-docker-17.12.0-ce.drv-0 in /nix/store/3szg0m3sc5g5sd3p68jdnxr8cv35zrl0-docker-17.12.0-ce...
shrinking RPATHs of ELF executables and libraries in /nix/store/y6bbxwbmnc6g0ywgwcxvcrirjsfx7zyw-docker-17.12.0-ce-man
gzipping man pages under /nix/store/y6bbxwbmnc6g0ywgwcxvcrirjsfx7zyw-docker-17.12.0-ce-man/share/man/
patching script interpreter paths in /nix/store/y6bbxwbmnc6g0ywgwcxvcrirjsfx7zyw-docker-17.12.0-ce-man
checking for references to /tmp/nix-build-docker-17.12.0-ce.drv-0 in /nix/store/y6bbxwbmnc6g0ywgwcxvcrirjsfx7zyw-docker-17.12.0-ce-man...
/nix/store/3szg0m3sc5g5sd3p68jdnxr8cv35zrl0-docker-17.12.0-ce
/nix/store/pldbxz1b9wkg41rgg8a5pwn9pwvv17m5-direnv-2.14.0-bin

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

/nix/store/yf51j84c3ys8gdqpq0m9kmj85mkhbp08-go-1.10

@adisbladis
Copy link
Member

Fyi there is another open PR that does this #35311

@Mic92
Copy link
Member Author

Mic92 commented Feb 22, 2018

@adisbladis oh, I have not checked for it.

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Partial log (click to expand)

shrinking /nix/store/i3w42x5mq2pxqc319v0dpl7cc2m2q70c-docker-17.12.0-ce/libexec/docker/docker
shrinking /nix/store/i3w42x5mq2pxqc319v0dpl7cc2m2q70c-docker-17.12.0-ce/libexec/docker/dockerd
patching script interpreter paths in /nix/store/i3w42x5mq2pxqc319v0dpl7cc2m2q70c-docker-17.12.0-ce
checking for references to /build in /nix/store/i3w42x5mq2pxqc319v0dpl7cc2m2q70c-docker-17.12.0-ce...
shrinking RPATHs of ELF executables and libraries in /nix/store/zjzryy5rsgryfr7avdm2n0ldj238mf7d-docker-17.12.0-ce-man
gzipping man pages under /nix/store/zjzryy5rsgryfr7avdm2n0ldj238mf7d-docker-17.12.0-ce-man/share/man/
patching script interpreter paths in /nix/store/zjzryy5rsgryfr7avdm2n0ldj238mf7d-docker-17.12.0-ce-man
checking for references to /build in /nix/store/zjzryy5rsgryfr7avdm2n0ldj238mf7d-docker-17.12.0-ce-man...
/nix/store/i3w42x5mq2pxqc319v0dpl7cc2m2q70c-docker-17.12.0-ce
/nix/store/alfkdy37ca4b6j09mk2sk34jfn3rzd33-direnv-2.14.0-bin

@Mic92
Copy link
Member Author

Mic92 commented Feb 22, 2018

@GrahamcOfBorg build go

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

/nix/store/yf51j84c3ys8gdqpq0m9kmj85mkhbp08-go-1.10

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Partial log (click to expand)

/nix/store/43na3cvik8spnkx2ilf36bv6y4x3735x-go-1.10

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Partial log (click to expand)


ALL TESTS PASSED
---
Installed Go for darwin/amd64 in /nix/store/grg3d8xpsas1r6lb2cv0mvc6y70dqrad-go-1.10/share/go
Installed commands in /nix/store/grg3d8xpsas1r6lb2cv0mvc6y70dqrad-go-1.10/share/go/bin
post-installation fixup
strip is /nix/store/4sdh09gmvl15cy0zb6i7mbvxh5syz206-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/grg3d8xpsas1r6lb2cv0mvc6y70dqrad-go-1.10/bin
patching script interpreter paths in /nix/store/grg3d8xpsas1r6lb2cv0mvc6y70dqrad-go-1.10
/nix/store/grg3d8xpsas1r6lb2cv0mvc6y70dqrad-go-1.10

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

/nix/store/yf51j84c3ys8gdqpq0m9kmj85mkhbp08-go-1.10

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Partial log (click to expand)

/nix/store/grg3d8xpsas1r6lb2cv0mvc6y70dqrad-go-1.10

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Partial log (click to expand)

/nix/store/43na3cvik8spnkx2ilf36bv6y4x3735x-go-1.10

@@ -179,7 +179,7 @@ stdenv.mkDerivation rec {
homepage = http://golang.org/;
description = "The Go Programming language";
license = licenses.bsd3;
maintainers = with maintainers; [ cstrahan orivej wkennington ];
maintainers = with maintainers; [ cstrahan orivej velovix mic92 ];
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@velovix are you ok with that?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, that's fine

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we know that wkennington isn't interested in being a maintainer anymore?

Copy link
Member Author

@Mic92 Mic92 Feb 22, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@velovix he has his own fork of nixpkgs, he is working: https://triton.github.io/triton/

@Mic92
Copy link
Member Author

Mic92 commented Feb 22, 2018

@GrahamcOfBorg build docker

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Partial log (click to expand)

/nix/store/43na3cvik8spnkx2ilf36bv6y4x3735x-go-1.10

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Partial log (click to expand)

2018/02/22 14:06:12 WARN: man/src/trust/view.md does not exist, skipping
2018/02/22 14:06:12 WARN: man/src/trust.md does not exist, skipping
2018/02/22 14:06:12 WARN: man/src/volume/prune.md does not exist, skipping
2018/02/22 14:06:12 WARN: man/src/volume/rm.md does not exist, skipping
Generate legacy manpages
post-installation fixup
patching script interpreter paths in /nix/store/m1jyp3nyv011syb1ds1npyp3r74fd9ap-docker-17.12.0-ce
gzipping man pages under /nix/store/52wh2ddhwy58gjqd2gl90vwy79p9ap3q-docker-17.12.0-ce-man/share/man/
patching script interpreter paths in /nix/store/52wh2ddhwy58gjqd2gl90vwy79p9ap3q-docker-17.12.0-ce-man
/nix/store/m1jyp3nyv011syb1ds1npyp3r74fd9ap-docker-17.12.0-ce

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Partial log (click to expand)

/nix/store/grg3d8xpsas1r6lb2cv0mvc6y70dqrad-go-1.10

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

shrinking RPATHs of ELF executables and libraries in /nix/store/vjahm2aib8is6y64r3a3jg6v3afiaq7b-docker-17.12.0-ce
shrinking /nix/store/vjahm2aib8is6y64r3a3jg6v3afiaq7b-docker-17.12.0-ce/libexec/docker/docker
shrinking /nix/store/vjahm2aib8is6y64r3a3jg6v3afiaq7b-docker-17.12.0-ce/libexec/docker/dockerd
patching script interpreter paths in /nix/store/vjahm2aib8is6y64r3a3jg6v3afiaq7b-docker-17.12.0-ce
checking for references to /tmp/nix-build-docker-17.12.0-ce.drv-0 in /nix/store/vjahm2aib8is6y64r3a3jg6v3afiaq7b-docker-17.12.0-ce...
shrinking RPATHs of ELF executables and libraries in /nix/store/ynjwmmc7d81g00wfxbs8nc4prn1z3ksa-docker-17.12.0-ce-man
gzipping man pages under /nix/store/ynjwmmc7d81g00wfxbs8nc4prn1z3ksa-docker-17.12.0-ce-man/share/man/
patching script interpreter paths in /nix/store/ynjwmmc7d81g00wfxbs8nc4prn1z3ksa-docker-17.12.0-ce-man
checking for references to /tmp/nix-build-docker-17.12.0-ce.drv-0 in /nix/store/ynjwmmc7d81g00wfxbs8nc4prn1z3ksa-docker-17.12.0-ce-man...
/nix/store/vjahm2aib8is6y64r3a3jg6v3afiaq7b-docker-17.12.0-ce

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

/nix/store/yf51j84c3ys8gdqpq0m9kmj85mkhbp08-go-1.10

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Partial log (click to expand)

/nix/store/6bz2rwjmyhvgxv5clcigd45f9sis64kg-go-1.10

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Partial log (click to expand)

/nix/store/lc4wdg4qs5cl08vlfi0phlcp2hqgjbd1-go-1.10

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

/nix/store/zi2rq0gjxw4yxd4x7ajj4znlxqdy6ws0-go-1.10

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Partial log (click to expand)

shrinking RPATHs of ELF executables and libraries in /nix/store/94iqmzzdmksxsm84rn1dhm7nd4yirsdw-docker-17.12.0-ce
shrinking /nix/store/94iqmzzdmksxsm84rn1dhm7nd4yirsdw-docker-17.12.0-ce/libexec/docker/docker
shrinking /nix/store/94iqmzzdmksxsm84rn1dhm7nd4yirsdw-docker-17.12.0-ce/libexec/docker/dockerd
patching script interpreter paths in /nix/store/94iqmzzdmksxsm84rn1dhm7nd4yirsdw-docker-17.12.0-ce
checking for references to /build in /nix/store/94iqmzzdmksxsm84rn1dhm7nd4yirsdw-docker-17.12.0-ce...
shrinking RPATHs of ELF executables and libraries in /nix/store/sgxqr5v4ycnr1520p5wjnw4nmpbv34pz-docker-17.12.0-ce-man
gzipping man pages under /nix/store/sgxqr5v4ycnr1520p5wjnw4nmpbv34pz-docker-17.12.0-ce-man/share/man/
patching script interpreter paths in /nix/store/sgxqr5v4ycnr1520p5wjnw4nmpbv34pz-docker-17.12.0-ce-man
checking for references to /build in /nix/store/sgxqr5v4ycnr1520p5wjnw4nmpbv34pz-docker-17.12.0-ce-man...
/nix/store/94iqmzzdmksxsm84rn1dhm7nd4yirsdw-docker-17.12.0-ce

@Mic92 Mic92 mentioned this pull request Feb 22, 2018
8 tasks
Copy link
Member

@zimbatm zimbatm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good!

@zimbatm
Copy link
Member

zimbatm commented Feb 22, 2018

we should probably only keep up to 3 concurrent releases of compilers

@adisbladis
Copy link
Member

adisbladis commented Feb 22, 2018

@zimbatm We just dropped 1.6 and 1.7 earlier today (#35327) so once this is merged we have 1.8, 1.9 and 1.10 (+bootstrap).

I would like to drop 1.8 before the 18.03 release too (only the 2 latest releases are supported by upstream) but dropping 1.8 is currently blocked by perkeep which does not build with go 1.9+.

@lfam
Copy link

lfam commented Feb 22, 2018

Hi,

I noticed that Go 1.10 has a new "build caching" mechanism, briefly described at go help cache. I wonder if anything needs to be adjusted in how Nix builds Go software to take advantage of it?

In Guix, I found that the new Go cache validator was not choosing to re-use built Go objects but instead rebuilt all the dependencies from scratch during each package build.

@velovix
Copy link
Contributor

velovix commented Feb 22, 2018

@lfam It seems that Go 1.10 puts cached build output in ~/.cache/go-build as expected and does not rebuild the package I checked unless I clean the cache myself. I think it works as expected.

Copy link
Contributor

@velovix velovix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@Mic92
Copy link
Member Author

Mic92 commented Feb 22, 2018

@lfam there is a NixCon talk about incremental compilation https://www.youtube.com/watch?v=AED-dgCa9GU&index=8&list=PLgknCdxP89ReQzhfKwMYjLdwWsc7us8ns
The only thing I have seen implemented so far is ccacheStdenv. For nixpkgs itself go projects are probably the smallest problem time-wise. Speeding up projects like chromium builds would be interesting though to cut down the critical chain.
Or do you speak about builds outside of nix?

@lfam
Copy link

lfam commented Feb 22, 2018

@velovix Interesting, I wouldn't expect that to work in the package build environment, although I really don't have strong knowledge of Nix compared to Guix.

@Mic92 Mic92 merged commit d81e32b into NixOS:master Feb 22, 2018
@Mic92 Mic92 deleted the go branch February 22, 2018 23:18
@velovix
Copy link
Contributor

velovix commented Feb 23, 2018

@lfam I may have misunderstood your question. Are you asking if nixpkgs can take advantage of Go's caching while building Go applications?

@NeQuissimus NeQuissimus mentioned this pull request Feb 23, 2018
@lfam
Copy link

lfam commented Feb 23, 2018

@velovix Yes, that's what I'm wondering. We do it in Guix but it doesn't work anymore with Go 1.10 and I'm hoping to have a conversation with other people using Go with a functional package manager :) I know this is not the right forum for the discussion. Feel free to ping me on Freenode, user lfam.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants