commit:     008dca20d413d75867ec3959cbc6525926c7b9b3
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 31 20:22:15 2017 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Thu Aug 31 20:23:01 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=008dca20

sys-apps/nix: bump up to 1.11.14

Package-Manager: Portage-2.3.8, Repoman-2.3.3

 sys-apps/nix/Manifest                           |   1 +
 sys-apps/nix/files/nix-1.11.14-etc-fixes.patch  |   8 ++
 sys-apps/nix/files/nix-1.11.14-glibc-2.26.patch |  16 +++
 sys-apps/nix/nix-1.11.14.ebuild                 | 135 ++++++++++++++++++++++++
 4 files changed, 160 insertions(+)

diff --git a/sys-apps/nix/Manifest b/sys-apps/nix/Manifest
index 7e6ea0a73e8..3f4fb2cbe9d 100644
--- a/sys-apps/nix/Manifest
+++ b/sys-apps/nix/Manifest
@@ -1,3 +1,4 @@
 DIST nix-1.11.11.tar.xz 625248 SHA256 
f5b9da21fb412e4c35b6e2bc771cfbf4ca44746be5d99868ff29d6e7604760e5 SHA512 
b4652755860637dae0eacab3c536c43bb835614a802fd0bcc606f6140ae3f5c4db312d30ecb20dad62732d47cafb8101a8760b321be5ec4b331f298c59a79e4e
 WHIRLPOOL 
d4d8fc1d868832a9a0ca131bf26cfdd566279be00b56cd40d6e3035935dbdb55d5a77e460e96e77636b60542cd085ccd4e97e15f3c219ddf794b67eb3f3fd2d5
 DIST nix-1.11.12.tar.xz 631940 SHA256 
02e8d85cfc02494fb04c90d8443dfea433639b9f787989b18f54567fd9769dd2 SHA512 
fc2a06841cfa70c2d0b69315b0b8e30530e1b982e8a6b72e8f41c84db4efe7fc89738dce97f356f47d28518860990870fd54eb688704c531ba08231d2a3dd012
 WHIRLPOOL 
b99e213e68cd479f9b6f8104e5f328c9bc409883aa1a88c155acf3f0a49ee95981f1774eff0d803b21182c0a087434a2910a9631dcaa97aae1847697473b27ea
 DIST nix-1.11.13.tar.xz 632224 SHA256 
0913975e262f8069fde6e71a5fae757bb3aef558c51d1711034c525146ea5913 SHA512 
7244b49a7c7416e6ecc7754abcf48028d650510ac27f26701ccc3954660e26ad8b083fdc4ae07de718d3df49ca2a6af3bf3261d537e962a90233f87b13cd1606
 WHIRLPOOL 
a4af739a21e6080fccdfc885c24833e08765fae450fc7833484843f97fee7a4087619f67328075026b55efeda01a9cbf6bf80eb9918bdbbcee96414ee28d363c
+DIST nix-1.11.14.tar.xz 632260 SHA256 
26593c831addf1d40f6b7d131f394cb0f9fbec9e46471369faed16eaa2c4b7e4 SHA512 
48ed17a090a161ad35c8e84652566e527f31586184b8722a5536a6d83eee1e81911b6c4d5f0661f57054db6c47b5d8211f2acf47899fbec72f2c4bf8a5262af5
 WHIRLPOOL 
d6db1f452dd5bb430a0e02644af89a3e648f3f0f898b81b60ef4d7b8c8d7c9498c0992c3c33637eafd3ff1d23f55df3b76e1a1da957a0b7066a88e3eff1c35ef

diff --git a/sys-apps/nix/files/nix-1.11.14-etc-fixes.patch 
b/sys-apps/nix/files/nix-1.11.14-etc-fixes.patch
new file mode 100644
index 00000000000..07962838a22
--- /dev/null
+++ b/sys-apps/nix/files/nix-1.11.14-etc-fixes.patch
@@ -0,0 +1,8 @@
+diff --git a/scripts/nix-profile.sh.in b/scripts/nix-profile.sh.in
+index 4f09b55..e93ef42 100644
+--- a/scripts/nix-profile.sh.in
++++ b/scripts/nix-profile.sh.in
+@@ -5,3 +5,2 @@ if [ -n "$HOME" ]; then
+     if ! [ -L "$NIX_LINK" ]; then
+-        echo "creating $NIX_LINK" >&2
+         _NIX_DEF_LINK=@localstatedir@/nix/profiles/per-user/$USER/profile

diff --git a/sys-apps/nix/files/nix-1.11.14-glibc-2.26.patch 
b/sys-apps/nix/files/nix-1.11.14-glibc-2.26.patch
new file mode 100644
index 00000000000..44c995e3239
--- /dev/null
+++ b/sys-apps/nix/files/nix-1.11.14-glibc-2.26.patch
@@ -0,0 +1,16 @@
+'context' is no more after:
+https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=251287734e89a52da3db682a8241eb6bccc050c9
+
+'ucontext_t' is the new name.
+diff --git a/src/libmain/stack.cc b/src/libmain/stack.cc
+index 41b617d..695aaad 100644
+--- a/src/libmain/stack.cc
++++ b/src/libmain/stack.cc
+@@ -22,5 +22,5 @@ static void sigsegvHandler(int signo, siginfo_t * info, void 
* ctx)
+ #if defined(__x86_64__) && defined(REG_RSP)
+-    sp = (char *) ((ucontext *) ctx)->uc_mcontext.gregs[REG_RSP];
++    sp = (char *) ((ucontext_t *) ctx)->uc_mcontext.gregs[REG_RSP];
+ #elif defined(REG_ESP)
+-    sp = (char *) ((ucontext *) ctx)->uc_mcontext.gregs[REG_ESP];
++    sp = (char *) ((ucontext_t *) ctx)->uc_mcontext.gregs[REG_ESP];
+ #else

diff --git a/sys-apps/nix/nix-1.11.14.ebuild b/sys-apps/nix/nix-1.11.14.ebuild
new file mode 100644
index 00000000000..55f0dba8e52
--- /dev/null
+++ b/sys-apps/nix/nix-1.11.14.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic readme.gentoo-r1 user
+
+DESCRIPTION="A purely functional package manager"
+HOMEPAGE="https://nixos.org/nix";
+
+SRC_URI="http://nixos.org/releases/${PN}/${P}/${P}.tar.xz";
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+etc_profile +gc doc sodium"
+
+RDEPEND="
+       app-arch/bzip2
+       app-arch/xz-utils
+       dev-db/sqlite
+       dev-libs/openssl:0=
+       net-misc/curl
+       sys-libs/libseccomp
+       sys-libs/zlib
+       gc? ( dev-libs/boehm-gc[cxx] )
+       doc? ( dev-libs/libxml2
+               dev-libs/libxslt
+               app-text/docbook-xsl-stylesheets
+       )
+       sodium? ( dev-libs/libsodium )
+       dev-lang/perl:=
+       dev-perl/DBD-SQLite
+       dev-perl/WWW-Curl
+       dev-perl/DBI
+"
+DEPEND="${RDEPEND}
+       >=sys-devel/bison-2.6
+       >=sys-devel/flex-2.5.35
+       virtual/perl-ExtUtils-ParseXS
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.11.6-systemd.patch
+       "${FILESDIR}"/${PN}-1.11.6-per-user.patch
+       "${FILESDIR}"/${PN}-1.11.6-respect-CXXFLAGS.patch
+       "${FILESDIR}"/${PN}-1.11.6-respect-LDFLAGS.patch
+       "${FILESDIR}"/${PN}-1.11.14-glibc-2.26.patch
+)
+
+DISABLE_AUTOFORMATTING=yes
+DOC_CONTENTS=" Quick start user guide on Gentoo:
+
+[as root] enable nix-daemon service:
+       [systemd] # systemctl enable nix-daemon
+       [openrc]  # rc-update add nix-daemon
+[as a user] relogin to get environment and profile update
+[as a user] fetch nixpkgs update:
+       \$ nix-channel --update
+[as a user] install nix packages:
+       \$ nix-env -i mc
+[as a user] configure environment:
+       Somewhere in .bash_profile you might want to set
+       LOCALE_ARCHIVE=\$HOME/.nix-profile/lib/locale/locale-archive
+       but please read https://github.com/NixOS/nixpkgs/issues/21820
+
+Next steps:
+       nix package manager user manual: http://nixos.org/nix/manual/
+"
+
+pkg_setup() {
+       enewgroup nixbld
+       for i in {1..10}; do
+               # we list 'nixbld' twice to
+               # both assign a primary group for user
+               # and add a user to /etc/group
+               enewuser nixbld${i} -1 -1 /var/empty nixbld,nixbld
+       done
+}
+
+src_prepare() {
+       default
+
+       eautoreconf
+}
+
+src_configure() {
+       econf \
+               --localstatedir="${EPREFIX}"/nix/var \
+               $(use_enable gc)
+}
+
+src_compile() {
+       local make_vars=(
+               OPTIMIZE=0 # disable hardcoded -O3
+               V=1 # verbose build
+       )
+       emake "${make_vars[@]}"
+}
+
+src_install() {
+       # TODO: emacs highlighter
+       default
+
+       readme.gentoo_create_doc
+
+       # here we use an eager variant of something that
+       # is lazily done by nix-daemon and root nix-env
+
+       # TODO: will need a tweak for prefix
+       keepdir             /nix/store
+       fowners root:nixbld /nix/store
+       fperms 1775         /nix/store
+
+       keepdir             /nix/var/nix/profiles/per-user
+       fperms 1777         /nix/var/nix/profiles/per-user
+
+       # setup directories nix-daemon: /etc/profile.d/nix-daemon.sh
+       keepdir             /nix/var/nix/gcroots/per-user
+       fperms 1777         /nix/var/nix/gcroots/per-user
+
+       newinitd "${FILESDIR}"/nix-daemon.initd nix-daemon
+
+       if ! use etc_profile; then
+               rm "${ED}"/etc/profile.d/nix.sh || die
+               rm "${ED}"/etc/profile.d/nix-daemon.sh || die
+       fi
+}
+
+pkg_postinst() {
+       if ! use etc_profile; then
+               ewarn "${EROOT}etc/profile.d/nix.sh was removed (due to 
USE=-etc_profile)."
+       fi
+
+       readme.gentoo_print_elog
+}

Reply via email to