Gentoo Archives: gentoo-commits

From: Sergei Trofimovich <slyfox@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/nix/
Date: Fri, 04 May 2018 22:24:28
Message-Id: 1525472660.5dc8fd8eb3b3380b4295482a09dbc2b4e1d9cc6f.slyfox@gentoo
1 commit: 5dc8fd8eb3b3380b4295482a09dbc2b4e1d9cc6f
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Fri May 4 22:23:59 2018 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Fri May 4 22:24:20 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5dc8fd8e
7
8 sys-apps/nix: bump up to 2.0.2
9
10 Package-Manager: Portage-2.3.35, Repoman-2.3.9
11
12 sys-apps/nix/Manifest | 1 +
13 sys-apps/nix/nix-2.0.2.ebuild | 133 ++++++++++++++++++++++++++++++++++++++++++
14 2 files changed, 134 insertions(+)
15
16 diff --git a/sys-apps/nix/Manifest b/sys-apps/nix/Manifest
17 index 482b749bcd2..748720b38ab 100644
18 --- a/sys-apps/nix/Manifest
19 +++ b/sys-apps/nix/Manifest
20 @@ -1,4 +1,5 @@
21 DIST nix-1.11.15.tar.xz 632544 BLAKE2B 3624c396c67a7c64e2ba16fd500951e6cf1b6f29f31929793072b5dfcdf1ffe40d5645c58d3967dd82d6c8d0bf6e5e2598a0d8d5fc3f82b22ea279a7854b1aca SHA512 449b3c78b74c776215dfbe9d6d09b96d8c6abf996c69c525073df12d0cffb1a2868890d356fbb52c794e2c6f485018756395625e7b170166f7c6f9e2bdd364d9
22 DIST nix-1.11.16.tar.xz 632440 BLAKE2B 0b1966b1445a18616d6ff33e7fa3d1776626872c7cfeb54be4c77b998841db69f1e6aea7638edb21fa67442b953fb1cbaf7752c841d7d21f62dd63885a823834 SHA512 164f728c96fc6609134334e61f674961dfc0f02bd2f5d1d7800d2623fe80d896bfd0b7fba0a723b1bfe23663d4c7cf3e419a7c1992d67e80eb3d6b3bdf60a2a8
23 DIST nix-2.0.1.tar.xz 796520 BLAKE2B bd71d625f08b785b74a31f74e5ecdbca247bf9fc29a5a49a3e7db51c70911c5c200804783b0ee38164e909d3c287d0484fc0d617d11be6ca41531682e8f14cef SHA512 05013a2242b558a2bd3b104b9fdb570ceddf37466e420daf0c81294f9dccdf190472bd32550f00915b1cd1b738576b46c112af39c198cfe5f0121b9f6f2f4d92
24 +DIST nix-2.0.2.tar.xz 796404 BLAKE2B 0906488bf2c800544c0747a6860ef51f667467f50039f725cf6ec05b8389462fe073bddceba106922a7611fd784b58ed5ca321efba0065b0f424aa53d7620990 SHA512 605e2c6dbc814470c25aa4f0aca77bfd11fd6d5c263ef38915cb9b852e77bcff08d515e76de8d929c9eacd02ffeaa5dd5f6b337461d54a1b2648b1fc505c98fa
25 DIST nix-2.0.tar.xz 794084 BLAKE2B 9596788df6aaad144d408e95f34575bf985849bb57424c7aac4dc1f2f2d846302bf78fc05682ce92fbaf000db04a326f867a76f5963a80b72b63e3678754247f SHA512 4531b4648108019d44521af94f8243936d2df62701395c0c448795f1984d4b5ade2438c92d12e5414d493909811e3bcb902c85539932c7e44d98d4254a2a531d
26
27 diff --git a/sys-apps/nix/nix-2.0.2.ebuild b/sys-apps/nix/nix-2.0.2.ebuild
28 new file mode 100644
29 index 00000000000..bea6bd1a424
30 --- /dev/null
31 +++ b/sys-apps/nix/nix-2.0.2.ebuild
32 @@ -0,0 +1,133 @@
33 +# Copyright 1999-2018 Gentoo Foundation
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=6
37 +
38 +inherit autotools flag-o-matic readme.gentoo-r1 user
39 +
40 +DESCRIPTION="A purely functional package manager"
41 +HOMEPAGE="https://nixos.org/nix"
42 +
43 +SRC_URI="http://nixos.org/releases/${PN}/${P}/${P}.tar.xz"
44 +LICENSE="LGPL-2.1"
45 +SLOT="0"
46 +KEYWORDS="~amd64 ~x86"
47 +IUSE="+etc_profile +gc doc sodium"
48 +
49 +RDEPEND="
50 + app-arch/brotli
51 + app-arch/bzip2
52 + app-arch/xz-utils
53 + dev-db/sqlite
54 + dev-libs/openssl:0=
55 + net-misc/curl
56 + sys-libs/libseccomp
57 + sys-libs/zlib
58 + gc? ( dev-libs/boehm-gc[cxx] )
59 + doc? ( dev-libs/libxml2
60 + dev-libs/libxslt
61 + app-text/docbook-xsl-stylesheets
62 + )
63 + sodium? ( dev-libs/libsodium:0= )
64 +"
65 +DEPEND="${RDEPEND}
66 + >=sys-devel/bison-2.6
67 + >=sys-devel/flex-2.5.35
68 +"
69 +
70 +PATCHES=(
71 + "${FILESDIR}"/${PN}-1.11.6-systemd.patch
72 + "${FILESDIR}"/${PN}-1.11.6-respect-CXXFLAGS.patch
73 + "${FILESDIR}"/${PN}-1.11.6-respect-LDFLAGS.patch
74 + "${FILESDIR}"/${PN}-2.0-user-path.patch
75 +)
76 +
77 +DISABLE_AUTOFORMATTING=yes
78 +DOC_CONTENTS=" Quick start user guide on Gentoo:
79 +
80 +[as root] enable nix-daemon service:
81 + [systemd] # systemctl enable nix-daemon
82 + [openrc] # rc-update add nix-daemon
83 +[as a user] relogin to get environment and profile update
84 +[as a user] fetch nixpkgs update:
85 + \$ nix-channel --update
86 +[as a user] install nix packages:
87 + \$ nix-env -i mc
88 +[as a user] configure environment:
89 + Somewhere in .bash_profile you might want to set
90 + LOCALE_ARCHIVE=\$HOME/.nix-profile/lib/locale/locale-archive
91 + but please read https://github.com/NixOS/nixpkgs/issues/21820
92 +
93 +Next steps:
94 + nix package manager user manual: http://nixos.org/nix/manual/
95 +"
96 +
97 +pkg_setup() {
98 + enewgroup nixbld
99 + for i in {1..10}; do
100 + # we list 'nixbld' twice to
101 + # both assign a primary group for user
102 + # and add a user to /etc/group
103 + enewuser nixbld${i} -1 -1 /var/empty nixbld,nixbld
104 + done
105 +}
106 +
107 +src_prepare() {
108 + default
109 +
110 + eautoreconf
111 +}
112 +
113 +src_configure() {
114 + econf \
115 + --localstatedir="${EPREFIX}"/nix/var \
116 + $(use_enable gc)
117 +}
118 +
119 +src_compile() {
120 + local make_vars=(
121 + OPTIMIZE=0 # disable hardcoded -O3
122 + V=1 # verbose build
123 + )
124 + emake "${make_vars[@]}"
125 +}
126 +
127 +src_install() {
128 + # TODO: emacs highlighter
129 + default
130 +
131 + readme.gentoo_create_doc
132 +
133 + # here we use an eager variant of something that
134 + # is lazily done by nix-daemon and root nix-env
135 +
136 + # TODO: will need a tweak for prefix
137 + keepdir /nix/store
138 + fowners root:nixbld /nix/store
139 + fperms 1775 /nix/store
140 +
141 + keepdir /nix/var/nix/channel-cache
142 + fperms 0777 /nix/var/nix/channel-cache
143 +
144 + keepdir /nix/var/nix/profiles/per-user
145 + fperms 1777 /nix/var/nix/profiles/per-user
146 +
147 + # setup directories nix-daemon: /etc/profile.d/nix-daemon.sh
148 + keepdir /nix/var/nix/gcroots/per-user
149 + fperms 1777 /nix/var/nix/gcroots/per-user
150 +
151 + newinitd "${FILESDIR}"/nix-daemon.initd nix-daemon
152 +
153 + if ! use etc_profile; then
154 + rm "${ED}"/etc/profile.d/nix.sh || die
155 + rm "${ED}"/etc/profile.d/nix-daemon.sh || die
156 + fi
157 +}
158 +
159 +pkg_postinst() {
160 + if ! use etc_profile; then
161 + ewarn "${EROOT}etc/profile.d/nix.sh was removed (due to USE=-etc_profile)."
162 + fi
163 +
164 + readme.gentoo_print_elog
165 +}