[gentoo-commits] repo/gentoo:master commit in: sys-apps/nix/files/, sys-apps/nix/

2019-09-07 Thread Sergei Trofimovich
commit: 7557065fb0a8b03218d6a67eca3771b1ca7382fd
Author: Sergei Trofimovich  gentoo  org>
AuthorDate: Sat Sep  7 07:51:52 2019 +
Commit: Sergei Trofimovich  gentoo  org>
CommitDate: Sat Sep  7 08:03:54 2019 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7557065f

sys-apps/nix: bump up to 2.3

Package-Manager: Portage-2.3.75, Repoman-2.3.17
Signed-off-by: Sergei Trofimovich  gentoo.org>

 sys-apps/nix/Manifest |   1 +
 sys-apps/nix/files/nix-2.3-libpaths.patch |  48 +++
 sys-apps/nix/nix-2.3.ebuild   | 137 ++
 3 files changed, 186 insertions(+)

diff --git a/sys-apps/nix/Manifest b/sys-apps/nix/Manifest
index 0cfbb3a69a1..5f5d2661d76 100644
--- a/sys-apps/nix/Manifest
+++ b/sys-apps/nix/Manifest
@@ -1,3 +1,4 @@
 DIST nix-2.0.4.tar.xz 798352 BLAKE2B 
0eaf7e507c87e5398ab5967e1f2064a5827038bb84208768aa1c1deadc95e44aab922846b728467e3355d1f25e740590c3d1748ec05dfeae6a171952fd941b77
 SHA512 
bce3b3a14269d42648a4935770260c36dab25fde3ebcfed730063d1d139603468e1c30acf15eb0c617fa36a6b39d4ae31ccfd9cba762f631ecac213fd09a
 DIST nix-2.1.3.tar.xz 816396 BLAKE2B 
9627626075841e7f389f5010418fe17569ae69ea07de5ff9a0557df864052cc8b48f2a4dbfe16dffc5dca3fb180f527199f367810899ae9474d00e8fcc00b760
 SHA512 
d22718d23d8960dac7d07739835caa8183f573b303d77613e77314d873c1fe6da1cb0ed78337fe3219a94675307b23132a62ae7d9aa5354707e58400f403524b
 DIST nix-2.2.2.tar.xz 818408 BLAKE2B 
f13bf79596d6292bea9897805421b388241d670f2b36bc13882f610901a9bb9aa1dc977d7a7d9314139791f20be38ca85becf5c4e863b22fc0b39503a7a4a079
 SHA512 
c8b1d5f246c53f13cfa25cba0d0721a2628329c10f67fcccbd9a55279cf475170a105156559d0a62638822a8e972f85e8a58769444d51f94ba15e2af7f90e220
+DIST nix-2.3.tar.xz 844640 BLAKE2B 
09707ae6c50c118375cdf2469a3ca19fbd940454bb80b7bccd74824deb3e370107acca99d7bf69bc93a168521a8d4928e3ac73fcfe1eeb53801d8e5f18574096
 SHA512 
45cb0c195f220a57cef80ad79def5e65b85588a2fc390f9b5e2ac4309698cc3065a23ee4f836913b642348afb1ee625072538bfedb5b26f9626344bbe784b425

diff --git a/sys-apps/nix/files/nix-2.3-libpaths.patch 
b/sys-apps/nix/files/nix-2.3-libpaths.patch
new file mode 100644
index 000..42931e7e8d5
--- /dev/null
+++ b/sys-apps/nix/files/nix-2.3-libpaths.patch
@@ -0,0 +1,48 @@
+Workaround -L path order by passing local library paths before
+systemwide paths to avoid pulling libnixstore.so from system
+instead of locally-built library.
+
+The patch is not perfect because it passes LDFLAGS after local
+libraries but it makes nix link correctly.
+
+Bug: https://github.com/NixOS/nix/issues/3087
+--- a/mk/libraries.mk
 b/mk/libraries.mk
+@@ -91,7 +91,7 @@ define build-library
+ $(1)_PATH := $$(_d)/$$($(1)_NAME).$(SO_EXT)
+ 
+ $$($(1)_PATH): $$($(1)_OBJS) $$(_libs) | $$(_d)/
+-  $$(trace-ld) $(CXX) -o $$(abspath $$@) -shared $$(LDFLAGS) 
$$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$($(1)_LDFLAGS_PROPAGATED) 
$$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE)) 
$$($(1)_LDFLAGS_UNINSTALLED)
++  $$(trace-ld) $(CXX) -o $$(abspath $$@) -shared $$(foreach lib, 
$$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE)) $$($(1)_LDFLAGS_UNINSTALLED) 
$$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) 
$$($(1)_LDFLAGS_PROPAGATED)
+ 
+ ifneq ($(OS), Darwin)
+   $(1)_LDFLAGS_USE += -Wl,-rpath,$$(abspath $$(_d))
+@@ -105,7 +105,7 @@ define build-library
+ $$(eval $$(call create-dir, $$($(1)_INSTALL_DIR)))
+ 
+ $$($(1)_INSTALL_PATH): $$($(1)_OBJS) $$(_libs_final) | 
$(DESTDIR)$$($(1)_INSTALL_DIR)/
+-  $$(trace-ld) $(CXX) -o $$@ -shared $$(LDFLAGS) $$(GLOBAL_LDFLAGS) 
$$($(1)_OBJS) $$($(1)_LDFLAGS) $$($(1)_LDFLAGS_PROPAGATED) $$(foreach lib, 
$$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE_INSTALLED))
++  $$(trace-ld) $(CXX) -o $$@ -shared $$(foreach lib, $$($(1)_LIBS), 
$$($$(lib)_LDFLAGS_USE_INSTALLED)) $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) 
$$($(1)_LDFLAGS) $$($(1)_LDFLAGS_PROPAGATED)
+ 
+ $(1)_LDFLAGS_USE_INSTALLED += -L$$(DESTDIR)$$($(1)_INSTALL_DIR) 
-l$$(patsubst lib%,%,$$(strip $$($(1)_NAME)))
+ ifneq ($(OS), Darwin)
+--- a/mk/programs.mk
 b/mk/programs.mk
+@@ -32,7 +32,7 @@ define build-program
+   $$(eval $$(call create-dir, $$(_d)))
+ 
+   $$($(1)_PATH): $$($(1)_OBJS) $$(_libs) | $$(_d)/
+-  $$(trace-ld) $(CXX) -o $$@ $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) 
$$($(1)_LDFLAGS) $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE))
++  $$(trace-ld) $(CXX) -o $$@ $$(foreach lib, $$($(1)_LIBS), 
$$($$(lib)_LDFLAGS_USE)) $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) 
$$($(1)_LDFLAGS)
+ 
+   $(1)_INSTALL_DIR ?= $$(bindir)
+   $(1)_INSTALL_PATH := $$($(1)_INSTALL_DIR)/$(1)
+@@ -46,7 +46,7 @@ define build-program
+ _libs_final := $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_INSTALL_PATH))
+ 
+ $(DESTDIR)$$($(1)_INSTALL_PATH): $$($(1)_OBJS) $$(_libs_final) | 
$(DESTDIR)$$($(1)_INSTALL_DIR)/
+-  $$(trace-ld) $(CXX) -o $$@ $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) 
$$($(1)_LDFLAGS) 

[gentoo-commits] repo/gentoo:master commit in: sys-apps/nix/files/, sys-apps/nix/

2017-12-21 Thread Sergei Trofimovich
commit: bc1aa3e62e2a8c024ffefa5f32cd4a233a05bd93
Author: Sergei Trofimovich  gentoo  org>
AuthorDate: Thu Dec 21 08:00:41 2017 +
Commit: Sergei Trofimovich  gentoo  org>
CommitDate: Thu Dec 21 08:01:26 2017 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc1aa3e6

sys-apps/nix: drop old

Package-Manager: Portage-2.3.19, Repoman-2.3.6

 sys-apps/nix/Manifest   |   1 -
 sys-apps/nix/files/nix-1.11.14-glibc-2.26.patch |  16 ---
 sys-apps/nix/nix-1.11.14.ebuild | 135 
 3 files changed, 152 deletions(-)

diff --git a/sys-apps/nix/Manifest b/sys-apps/nix/Manifest
index 216f1c03ae0..6de2c3842c5 100644
--- a/sys-apps/nix/Manifest
+++ b/sys-apps/nix/Manifest
@@ -1,3 +1,2 @@
-DIST nix-1.11.14.tar.xz 632260 BLAKE2B 
5ee239aca547a8918c574dbdc6f1276dff1b66f83c89f85c23f242551a6e6784e2bdc4fcfce327395df7628148409ab13954b6eb78710325bc04c370d401ea82
 SHA512 
48ed17a090a161ad35c8e84652566e527f31586184b8722a5536a6d83eee1e81911b6c4d5f0661f57054db6c47b5d8211f2acf47899fbec72f2c4bf8a5262af5
 DIST nix-1.11.15.tar.xz 632544 BLAKE2B 
3624c396c67a7c64e2ba16fd500951e6cf1b6f29f31929793072b5dfcdf1ffe40d5645c58d3967dd82d6c8d0bf6e5e2598a0d8d5fc3f82b22ea279a7854b1aca
 SHA512 
449b3c78b74c776215dfbe9d6d09b96d8c6abf996c69c525073df12d0cffb1a2868890d356fbb52c794e2c6f485018756395625e7b170166f7c6f9e2bdd364d9
 DIST nix-1.11.16.tar.xz 632440 BLAKE2B 
0b1966b1445a18616d6ff33e7fa3d1776626872c7cfeb54be4c77b998841db69f1e6aea7638edb21fa67442b953fb1cbaf7752c841d7d21f62dd63885a823834
 SHA512 
164f728c96fc6609134334e61f674961dfc0f02bd2f5d1d7800d2623fe80d896bfd0b7fba0a723b1bfe23663d4c7cf3e419a7c1992d67e80eb3d6b3bdf60a2a8

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
deleted file mode 100644
index 44c995e3239..000
--- a/sys-apps/nix/files/nix-1.11.14-glibc-2.26.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-'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
deleted file mode 100644
index 55f0dba8e52..000
--- a/sys-apps/nix/nix-1.11.14.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# 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 

[gentoo-commits] repo/gentoo:master commit in: sys-apps/nix/files/, sys-apps/nix/

2017-07-15 Thread Sergei Trofimovich
commit: 49ad8d2c53d2f21f4867e147b6ad97cbcb706c79
Author: Sergei Trofimovich  gentoo  org>
AuthorDate: Sat Jul 15 11:27:59 2017 +
Commit: Sergei Trofimovich  gentoo  org>
CommitDate: Sat Jul 15 11:29:17 2017 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=49ad8d2c

sys-apps/nix: added missing gcroots directory, bug #622658

Fixed two bugs here:
- added missing /nix/var/nix/gcroots/per-user directory
- fixed /etc/profile.d/nix-daemon.sh to use 'stat -c', not 'stat -f'

Reported-by: Toralf Förster
Bug: https://bugs.gentoo.org/622658
Package-Manager: Portage-2.3.6, Repoman-2.3.2

 sys-apps/nix/files/nix-1.11.12-etc-fixes.patch | 24 ++
 .../{nix-1.11.12.ebuild => nix-1.11.12-r1.ebuild}  |  7 ++-
 2 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/sys-apps/nix/files/nix-1.11.12-etc-fixes.patch 
b/sys-apps/nix/files/nix-1.11.12-etc-fixes.patch
new file mode 100644
index 000..1973133e22b
--- /dev/null
+++ b/sys-apps/nix/files/nix-1.11.12-etc-fixes.patch
@@ -0,0 +1,24 @@
+GNU coreutils has '-c' option for formatted output, not -f.
+Don't spam stderr when directory gets created.
+diff --git a/scripts/nix-profile-daemon.sh.in 
b/scripts/nix-profile-daemon.sh.in
+index 7f46cc6..386f607 100644
+--- a/scripts/nix-profile-daemon.sh.in
 b/scripts/nix-profile-daemon.sh.in
+@@ -15,3 +15,3 @@ export NIX_PROFILES="@localstatedir@/nix/profiles/default 
$HOME/.nix-profile"
+ mkdir -m 0755 -p $NIX_USER_PROFILE_DIR
+-if test "$(stat -f '%u' $NIX_USER_PROFILE_DIR)" != "$(id -u)"; then
++if test "$(stat -c '%u' $NIX_USER_PROFILE_DIR)" != "$(id -u)"; then
+ echo "WARNING: bad ownership on $NIX_USER_PROFILE_DIR" >&2
+@@ -37,3 +37,3 @@ if test -w $HOME; then
+   mkdir -m 0755 -p $NIX_USER_GCROOTS_DIR
+-  if test "$(stat -f '%u' $NIX_USER_GCROOTS_DIR)" != "$(id -u)"; then
++  if test "$(stat -c '%u' $NIX_USER_GCROOTS_DIR)" != "$(id -u)"; then
+   echo "WARNING: bad ownership on $NIX_USER_GCROOTS_DIR" >&2
+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/nix-1.11.12.ebuild 
b/sys-apps/nix/nix-1.11.12-r1.ebuild
similarity index 91%
rename from sys-apps/nix/nix-1.11.12.ebuild
rename to sys-apps/nix/nix-1.11.12-r1.ebuild
index f8b026b00b9..61cf9a2de1c 100644
--- a/sys-apps/nix/nix-1.11.12.ebuild
+++ b/sys-apps/nix/nix-1.11.12-r1.ebuild
@@ -44,6 +44,7 @@ PATCHES=(
"${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.12-etc-fixes.patch
 )
 
 DISABLE_AUTOFORMATTING=yes
@@ -113,11 +114,15 @@ src_install() {
keepdir /nix/var/nix/profiles/per-user
fperms 1777 /nix/var/nix/profiles/per-user
 
-   doenvd "${FILESDIR}"/60nix-remote-daemon
+   # 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
 }
 



[gentoo-commits] repo/gentoo:master commit in: sys-apps/nix/files/, sys-apps/nix/

2017-01-23 Thread Sergei Trofimovich
commit: fe992f877f5bc3bee3033b693a6f5a8601d423ca
Author: Sergei Trofimovich  gentoo  org>
AuthorDate: Mon Jan 23 21:24:03 2017 +
Commit: Sergei Trofimovich  gentoo  org>
CommitDate: Mon Jan 23 21:24:03 2017 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe992f87

sys-apps/nix: respect CFLAGS/CXXFLAGS/LDFLAGS, require boehm-gx[cxx]

Thanks to wiselord on freenode/#haskell-by who
noticed missing boehm-gx[cxx] DEPEND.

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 .../nix/files/nix-1.11.6-respect-CXXFLAGS.patch|   9 ++
 .../nix/files/nix-1.11.6-respect-LDFLAGS.patch |  36 ++
 sys-apps/nix/nix-1.11.6-r2.ebuild  | 130 +
 3 files changed, 175 insertions(+)

diff --git a/sys-apps/nix/files/nix-1.11.6-respect-CXXFLAGS.patch 
b/sys-apps/nix/files/nix-1.11.6-respect-CXXFLAGS.patch
new file mode 100644
index ..091fdca
--- /dev/null
+++ b/sys-apps/nix/files/nix-1.11.6-respect-CXXFLAGS.patch
@@ -0,0 +1,9 @@
+diff --git a/configure.ac b/configure.ac
+index 3a24053..1b99702 100644
+--- a/configure.ac
 b/configure.ac
+@@ -57,4 +57,2 @@ fi
+ 
+-CFLAGS=
+-CXXFLAGS=
+ AC_PROG_CC

diff --git a/sys-apps/nix/files/nix-1.11.6-respect-LDFLAGS.patch 
b/sys-apps/nix/files/nix-1.11.6-respect-LDFLAGS.patch
new file mode 100644
index ..12c094e
--- /dev/null
+++ b/sys-apps/nix/files/nix-1.11.6-respect-LDFLAGS.patch
@@ -0,0 +1,36 @@
+diff --git a/Makefile.config.in b/Makefile.config.in
+index f0de4da..c82fbfd 100644
+--- a/Makefile.config.in
 b/Makefile.config.in
+@@ -5,2 +5,3 @@ CXX = @CXX@
+ CXXFLAGS = @CXXFLAGS@
++LDFLAGS = @LDFLAGS@
+ HAVE_SODIUM = @HAVE_SODIUM@
+diff --git a/mk/libraries.mk b/mk/libraries.mk
+index 3cd7a53..f7bd015 100644
+--- a/mk/libraries.mk
 b/mk/libraries.mk
+@@ -88,3 +88,3 @@ define build-library
+ $$($(1)_PATH): $$($(1)_OBJS) $$(_libs) | $$(_d)/
+-  $$(trace-ld) $(CXX) -o $$(abspath $$@) -shared $$(GLOBAL_LDFLAGS) 
$$($(1)_OBJS) $$($(1)_LDFLAGS) $$($(1)_LDFLAGS_PROPAGATED) $$(foreach lib, 
$$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE)) $$($(1)_LDFLAGS_UNINSTALLED)
++  $$(trace-ld) $(CXX) -o $$(abspath $$@) -shared $$(LDFLAGS) 
$$(GLOBAL_LDFLAGS) $$($(1)_OBJS) $$($(1)_LDFLAGS) $$($(1)_LDFLAGS_PROPAGATED) 
$$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE)) 
$$($(1)_LDFLAGS_UNINSTALLED)
+ 
+@@ -102,3 +102,3 @@ define build-library
+ $$($(1)_INSTALL_PATH): $$($(1)_OBJS) $$(_libs_final) | 
$(DESTDIR)$$($(1)_INSTALL_DIR)/
+-  $$(trace-ld) $(CXX) -o $$@ -shared $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) 
$$($(1)_LDFLAGS) $$($(1)_LDFLAGS_PROPAGATED) $$(foreach lib, $$($(1)_LIBS), 
$$($$(lib)_LDFLAGS_USE_INSTALLED))
++  $$(trace-ld) $(CXX) -o $$@ -shared $$(LDFLAGS) $$(GLOBAL_LDFLAGS) 
$$($(1)_OBJS) $$($(1)_LDFLAGS) $$($(1)_LDFLAGS_PROPAGATED) $$(foreach lib, 
$$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE_INSTALLED))
+ 
+diff --git a/mk/programs.mk b/mk/programs.mk
+index 3ac6449..f553ce2 100644
+--- a/mk/programs.mk
 b/mk/programs.mk
+@@ -34,3 +34,3 @@ define build-program
+   $$($(1)_PATH): $$($(1)_OBJS) $$(_libs) | $$(_d)/
+-  $$(trace-ld) $(CXX) -o $$@ $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) 
$$($(1)_LDFLAGS) $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE))
++  $$(trace-ld) $(CXX) -o $$@ $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) 
$$($(1)_LDFLAGS) $$(foreach lib, $$($(1)_LIBS), $$($$(lib)_LDFLAGS_USE))
+ 
+@@ -48,3 +48,3 @@ define build-program
+ $(DESTDIR)$$($(1)_INSTALL_PATH): $$($(1)_OBJS) $$(_libs_final) | 
$(DESTDIR)$$($(1)_INSTALL_DIR)/
+-  $$(trace-ld) $(CXX) -o $$@ $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) 
$$($(1)_LDFLAGS) $$(foreach lib, $$($(1)_LIBS), 
$$($$(lib)_LDFLAGS_USE_INSTALLED))
++  $$(trace-ld) $(CXX) -o $$@ $$(LDFLAGS) $$(GLOBAL_LDFLAGS) $$($(1)_OBJS) 
$$($(1)_LDFLAGS) $$(foreach lib, $$($(1)_LIBS), 
$$($$(lib)_LDFLAGS_USE_INSTALLED))
+ 

diff --git a/sys-apps/nix/nix-1.11.6-r2.ebuild 
b/sys-apps/nix/nix-1.11.6-r2.ebuild
new file mode 100644
index ..c9c976b
--- /dev/null
+++ b/sys-apps/nix/nix-1.11.6-r2.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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/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
+ 

[gentoo-commits] repo/gentoo:master commit in: sys-apps/nix/files/, sys-apps/nix/

2017-01-17 Thread Sergei Trofimovich
commit: ed44e589ea8f02bfaec53fa41c61c60e2e3785a9
Author: Sergei Trofimovich  gentoo  org>
AuthorDate: Tue Jan 17 11:37:12 2017 +
Commit: Sergei Trofimovich  gentoo  org>
CommitDate: Tue Jan 17 11:37:30 2017 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed44e589

sys-apps/nix: new package, The Purely Functional Package Manager

Nix is a source-based package manager with strong support for
binary packages. It uses multiple tricks to make package
source dependencies robust:

- nix installs every package into it's own --prefix=.
  Example: /nix/store/xsqz79bzclgrgnnlffp3qa0g4wnbcrp1-firefox-50.1.0
- nix builds packages with PATH (and similar) only including explicitly
  listed depends. This eliminates automagic dependency.
- nix tracks full environment where package was built.
  Once environment changes new package needs to be built.

That's how you install firefox just for your current user:

$ nix-env -iA nixpkgs.firefox

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 sys-apps/nix/Manifest|   1 +
 sys-apps/nix/files/60nix-remote-daemon   |   1 +
 sys-apps/nix/files/nix-1.11.6-per-user.patch |  11 +++
 sys-apps/nix/files/nix-1.11.6-systemd.patch  |  10 +++
 sys-apps/nix/files/nix-daemon.initd  |  16 
 sys-apps/nix/metadata.xml|  17 
 sys-apps/nix/nix-1.11.6-r1.ebuild| 114 +++
 7 files changed, 170 insertions(+)

diff --git a/sys-apps/nix/Manifest b/sys-apps/nix/Manifest
new file mode 100644
index ..19f29d8
--- /dev/null
+++ b/sys-apps/nix/Manifest
@@ -0,0 +1 @@
+DIST nix-1.11.6.tar.xz 621796 SHA256 
e729d55a9276756108a56bc1cbe2e182ee2e4be2b59b1c77d5f0e3edd879b2a3 SHA512 
a2d9eed52d6791e0649e3e456c8751ab3055573def110ffbf9645d2106313adf6c3868c0ecd69e5ba95c7a742c6fb92f69722adf7381584f7c2c4efe4b400d65
 WHIRLPOOL 
262ce049d9cf616aaa4d5bd612accee827f04b684d1ee36b3b63bfc2004fb9d1f19e1455196183fc259b81913d318acb519fa79271b4915369780efb8f02200b

diff --git a/sys-apps/nix/files/60nix-remote-daemon 
b/sys-apps/nix/files/60nix-remote-daemon
new file mode 100644
index ..626058a
--- /dev/null
+++ b/sys-apps/nix/files/60nix-remote-daemon
@@ -0,0 +1 @@
+NIX_REMOTE="daemon"

diff --git a/sys-apps/nix/files/nix-1.11.6-per-user.patch 
b/sys-apps/nix/files/nix-1.11.6-per-user.patch
new file mode 100644
index ..9cea685
--- /dev/null
+++ b/sys-apps/nix/files/nix-1.11.6-per-user.patch
@@ -0,0 +1,11 @@
+By default created symlink poins to a directory not accessible by user.
+Make a symlink the same way NixOS does symlinking.
+diff --git a/scripts/nix-profile.sh.in b/scripts/nix-profile.sh.in
+index 672d1f0..e3b0978 100644
+--- a/scripts/nix-profile.sh.in
 b/scripts/nix-profile.sh.in
+@@ -6,3 +6,3 @@ if [ -n "$HOME" ]; then
+ echo "creating $NIX_LINK" >&2
+-_NIX_DEF_LINK=@localstatedir@/nix/profiles/default
++_NIX_DEF_LINK=@localstatedir@/nix/profiles/per-user/$USER/profile
+ @coreutils@/ln -s "$_NIX_DEF_LINK" "$NIX_LINK"

diff --git a/sys-apps/nix/files/nix-1.11.6-systemd.patch 
b/sys-apps/nix/files/nix-1.11.6-systemd.patch
new file mode 100644
index ..f890ee6
--- /dev/null
+++ b/sys-apps/nix/files/nix-1.11.6-systemd.patch
@@ -0,0 +1,10 @@
+Make 'nix-daemon' a goof unit for 'systemctl enable nix-daemon.service'.
+diff --git a/misc/systemd/nix-daemon.service.in 
b/misc/systemd/nix-daemon.service.in
+index 5fc04a3..2565520 100644
+--- a/misc/systemd/nix-daemon.service.in
 b/misc/systemd/nix-daemon.service.in
+@@ -9 +9,4 @@ ExecStart=@@bindir@/nix-daemon nix-daemon --daemon
+ KillMode=process
++
++[Install]
++WantedBy=multi-user.target

diff --git a/sys-apps/nix/files/nix-daemon.initd 
b/sys-apps/nix/files/nix-daemon.initd
new file mode 100644
index ..1a384bd
--- /dev/null
+++ b/sys-apps/nix/files/nix-daemon.initd
@@ -0,0 +1,16 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+start() {
+   ebegin "Starting ${SVCNAME}"
+   start-stop-daemon --start --quiet --background --exec 
/usr/bin/nix-daemon
+   eend ${?}
+}
+
+stop() {
+   ebegin "Stopping ${SVCNAME}"
+   start-stop-daemon --stop --quiet --exec /usr/bin/nix-daemon
+   eend ${?}
+}

diff --git a/sys-apps/nix/metadata.xml b/sys-apps/nix/metadata.xml
new file mode 100644
index ..3317f9f
--- /dev/null
+++ b/sys-apps/nix/metadata.xml
@@ -0,0 +1,17 @@
+
+http://www.gentoo.org/dtd/metadata.dtd;>
+
+   
+   sly...@gentoo.org
+   Sergei Trofimovich
+   
+   
+   hask...@gentoo.org
+   Gentoo Haskell
+   
+   
+   Install /etc/profile.d/ entry to 
inject nix support for all users.
+   Enable garbage collection in the Nix expression 
evaluator (use dev-libs/boehm-gc).
+   Use dev-libs/libsodium for 
cryptography
+   
+

diff --git