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: Wed, 19 Sep 2018 22:59:26
Message-Id: 1537397933.0baa29acc97a32dd10a04c43f35d1f6122266d0f.slyfox@gentoo
1 commit: 0baa29acc97a32dd10a04c43f35d1f6122266d0f
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Wed Sep 19 22:58:53 2018 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Wed Sep 19 22:58:53 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0baa29ac
7
8 sys-apps/nix: bump up to 2.1.2
9
10 Package-Manager: Portage-2.3.49, Repoman-2.3.10
11
12 sys-apps/nix/Manifest | 2 +
13 sys-apps/nix/nix-2.1.2.ebuild | 135 ++++++++++++++++++++++++++++++++++++++++++
14 sys-apps/nix/nix-2.1.ebuild | 135 ++++++++++++++++++++++++++++++++++++++++++
15 3 files changed, 272 insertions(+)
16
17 diff --git a/sys-apps/nix/Manifest b/sys-apps/nix/Manifest
18 index 21a9f659b37..389a508b0ed 100644
19 --- a/sys-apps/nix/Manifest
20 +++ b/sys-apps/nix/Manifest
21 @@ -1,3 +1,5 @@
22 DIST nix-2.0.2.tar.xz 796404 BLAKE2B 0906488bf2c800544c0747a6860ef51f667467f50039f725cf6ec05b8389462fe073bddceba106922a7611fd784b58ed5ca321efba0065b0f424aa53d7620990 SHA512 605e2c6dbc814470c25aa4f0aca77bfd11fd6d5c263ef38915cb9b852e77bcff08d515e76de8d929c9eacd02ffeaa5dd5f6b337461d54a1b2648b1fc505c98fa
23 DIST nix-2.0.4.tar.xz 798352 BLAKE2B 0eaf7e507c87e5398ab5967e1f2064a5827038bb84208768aa1c1deadc95e44aab922846b728467e3355d1f25e740590c3d1748ec05dfeae6a171952fd941b77 SHA512 bce3b3a14269d42648a4935770260c36dab25fde3ebcfed730063d1d139603468e1c30acf15eb0cffff617fa36a6b39d4ae31ccfd9cba762f631ecac213fd09a
24 DIST nix-2.1.1.tar.xz 814812 BLAKE2B 48486e8eb2937fff1e2b39b7ea61eea3ad6ba477229006e31f6efbefcd7839669d1e9533b1b601302a5d4264e2ea261758aff3a79bea616215b22041d32e0469 SHA512 38a5b4013eb60a0088870dd142b2baacabc9f204af07f349d34a529a3130568e260765793162c5a978ee6115fd66019e132c08524af4984e5698535f17fc29bd
25 +DIST nix-2.1.2.tar.xz 816492 BLAKE2B 21365f2f7a88456aa566882780a65cabc190789e8e0f0aa62838bd7c9e2326c59776d78c6eaa4a2836039d02d6899114d5bc236bfadff5a2ef329531873e9e85 SHA512 6d54612f911438d5094c9d41fbf43ba4d8cada1da2b3eddbf7a3309262f9a9e94a2a826bb45247d5766bd6a419456ecdca5a8bebccff12607ebe004328bbc76a
26 +DIST nix-2.1.tar.xz 814936 BLAKE2B 36cb7cecadb353aa920c873b24ea9b7c6c70b0048ddd664e89e2b3c1736b0fe8057dab02cbb9dfe5b500eea27f6da0dd00532e301e8f190dd3f4bd3ef02911be SHA512 1eddf73680ff59277cddc4c891f026295274ea9bd68b795cb5d1cf9ff993638b066417923c4a0ca8248da982498dca05abe811477eac31dee77bd2dad860e43c
27
28 diff --git a/sys-apps/nix/nix-2.1.2.ebuild b/sys-apps/nix/nix-2.1.2.ebuild
29 new file mode 100644
30 index 00000000000..66d217abf09
31 --- /dev/null
32 +++ b/sys-apps/nix/nix-2.1.2.ebuild
33 @@ -0,0 +1,135 @@
34 +# Copyright 1999-2018 Gentoo Foundation
35 +# Distributed under the terms of the GNU General Public License v2
36 +
37 +EAPI=6
38 +
39 +inherit autotools flag-o-matic readme.gentoo-r1 user
40 +
41 +DESCRIPTION="A purely functional package manager"
42 +HOMEPAGE="https://nixos.org/nix"
43 +
44 +SRC_URI="http://nixos.org/releases/${PN}/${P}/${P}.tar.xz"
45 +LICENSE="LGPL-2.1"
46 +SLOT="0"
47 +#keywords are blocked by boost-1.66
48 +#KEYWORDS="~amd64 ~x86"
49 +IUSE="+etc_profile +gc doc sodium"
50 +
51 +RDEPEND="
52 + app-arch/brotli
53 + app-arch/bzip2
54 + app-arch/xz-utils
55 + dev-db/sqlite
56 + dev-libs/openssl:0=
57 + >=dev-libs/boost-1.66:0=[context]
58 + net-misc/curl
59 + sys-libs/libseccomp
60 + sys-libs/zlib
61 + gc? ( dev-libs/boehm-gc[cxx] )
62 + doc? ( dev-libs/libxml2
63 + dev-libs/libxslt
64 + app-text/docbook-xsl-stylesheets
65 + )
66 + sodium? ( dev-libs/libsodium:0= )
67 +"
68 +DEPEND="${RDEPEND}
69 + >=sys-devel/bison-2.6
70 + >=sys-devel/flex-2.5.35
71 +"
72 +
73 +PATCHES=(
74 + "${FILESDIR}"/${PN}-1.11.6-systemd.patch
75 + "${FILESDIR}"/${PN}-1.11.6-respect-CXXFLAGS.patch
76 + "${FILESDIR}"/${PN}-1.11.6-respect-LDFLAGS.patch
77 + "${FILESDIR}"/${PN}-2.0-user-path.patch
78 +)
79 +
80 +DISABLE_AUTOFORMATTING=yes
81 +DOC_CONTENTS=" Quick start user guide on Gentoo:
82 +
83 +[as root] enable nix-daemon service:
84 + [systemd] # systemctl enable nix-daemon
85 + [openrc] # rc-update add nix-daemon
86 +[as a user] relogin to get environment and profile update
87 +[as a user] fetch nixpkgs update:
88 + \$ nix-channel --update
89 +[as a user] install nix packages:
90 + \$ nix-env -i mc
91 +[as a user] configure environment:
92 + Somewhere in .bash_profile you might want to set
93 + LOCALE_ARCHIVE=\$HOME/.nix-profile/lib/locale/locale-archive
94 + but please read https://github.com/NixOS/nixpkgs/issues/21820
95 +
96 +Next steps:
97 + nix package manager user manual: http://nixos.org/nix/manual/
98 +"
99 +
100 +pkg_setup() {
101 + enewgroup nixbld
102 + for i in {1..10}; do
103 + # we list 'nixbld' twice to
104 + # both assign a primary group for user
105 + # and add a user to /etc/group
106 + enewuser nixbld${i} -1 -1 /var/empty nixbld,nixbld
107 + done
108 +}
109 +
110 +src_prepare() {
111 + default
112 +
113 + eautoreconf
114 +}
115 +
116 +src_configure() {
117 + econf \
118 + --localstatedir="${EPREFIX}"/nix/var \
119 + $(use_enable gc)
120 +}
121 +
122 +src_compile() {
123 + local make_vars=(
124 + OPTIMIZE=0 # disable hardcoded -O3
125 + V=1 # verbose build
126 + )
127 + emake "${make_vars[@]}"
128 +}
129 +
130 +src_install() {
131 + # TODO: emacs highlighter
132 + default
133 +
134 + readme.gentoo_create_doc
135 +
136 + # here we use an eager variant of something that
137 + # is lazily done by nix-daemon and root nix-env
138 +
139 + # TODO: will need a tweak for prefix
140 + keepdir /nix/store
141 + fowners root:nixbld /nix/store
142 + fperms 1775 /nix/store
143 +
144 + keepdir /nix/var/nix/channel-cache
145 + fperms 0777 /nix/var/nix/channel-cache
146 +
147 + keepdir /nix/var/nix/profiles/per-user
148 + fperms 1777 /nix/var/nix/profiles/per-user
149 +
150 + # setup directories nix-daemon: /etc/profile.d/nix-daemon.sh
151 + keepdir /nix/var/nix/gcroots/per-user
152 + fperms 1777 /nix/var/nix/gcroots/per-user
153 +
154 + newinitd "${FILESDIR}"/nix-daemon.initd nix-daemon
155 +
156 + if ! use etc_profile; then
157 + rm "${ED}"/etc/profile.d/nix.sh || die
158 + rm "${ED}"/etc/profile.d/nix-daemon.sh || die
159 + fi
160 +}
161 +
162 +pkg_postinst() {
163 + if ! use etc_profile; then
164 + ewarn "${EROOT}etc/profile.d/nix.sh was removed (due to USE=-etc_profile)."
165 + fi
166 +
167 + readme.gentoo_print_elog
168 +}
169
170 diff --git a/sys-apps/nix/nix-2.1.ebuild b/sys-apps/nix/nix-2.1.ebuild
171 new file mode 100644
172 index 00000000000..66d217abf09
173 --- /dev/null
174 +++ b/sys-apps/nix/nix-2.1.ebuild
175 @@ -0,0 +1,135 @@
176 +# Copyright 1999-2018 Gentoo Foundation
177 +# Distributed under the terms of the GNU General Public License v2
178 +
179 +EAPI=6
180 +
181 +inherit autotools flag-o-matic readme.gentoo-r1 user
182 +
183 +DESCRIPTION="A purely functional package manager"
184 +HOMEPAGE="https://nixos.org/nix"
185 +
186 +SRC_URI="http://nixos.org/releases/${PN}/${P}/${P}.tar.xz"
187 +LICENSE="LGPL-2.1"
188 +SLOT="0"
189 +#keywords are blocked by boost-1.66
190 +#KEYWORDS="~amd64 ~x86"
191 +IUSE="+etc_profile +gc doc sodium"
192 +
193 +RDEPEND="
194 + app-arch/brotli
195 + app-arch/bzip2
196 + app-arch/xz-utils
197 + dev-db/sqlite
198 + dev-libs/openssl:0=
199 + >=dev-libs/boost-1.66:0=[context]
200 + net-misc/curl
201 + sys-libs/libseccomp
202 + sys-libs/zlib
203 + gc? ( dev-libs/boehm-gc[cxx] )
204 + doc? ( dev-libs/libxml2
205 + dev-libs/libxslt
206 + app-text/docbook-xsl-stylesheets
207 + )
208 + sodium? ( dev-libs/libsodium:0= )
209 +"
210 +DEPEND="${RDEPEND}
211 + >=sys-devel/bison-2.6
212 + >=sys-devel/flex-2.5.35
213 +"
214 +
215 +PATCHES=(
216 + "${FILESDIR}"/${PN}-1.11.6-systemd.patch
217 + "${FILESDIR}"/${PN}-1.11.6-respect-CXXFLAGS.patch
218 + "${FILESDIR}"/${PN}-1.11.6-respect-LDFLAGS.patch
219 + "${FILESDIR}"/${PN}-2.0-user-path.patch
220 +)
221 +
222 +DISABLE_AUTOFORMATTING=yes
223 +DOC_CONTENTS=" Quick start user guide on Gentoo:
224 +
225 +[as root] enable nix-daemon service:
226 + [systemd] # systemctl enable nix-daemon
227 + [openrc] # rc-update add nix-daemon
228 +[as a user] relogin to get environment and profile update
229 +[as a user] fetch nixpkgs update:
230 + \$ nix-channel --update
231 +[as a user] install nix packages:
232 + \$ nix-env -i mc
233 +[as a user] configure environment:
234 + Somewhere in .bash_profile you might want to set
235 + LOCALE_ARCHIVE=\$HOME/.nix-profile/lib/locale/locale-archive
236 + but please read https://github.com/NixOS/nixpkgs/issues/21820
237 +
238 +Next steps:
239 + nix package manager user manual: http://nixos.org/nix/manual/
240 +"
241 +
242 +pkg_setup() {
243 + enewgroup nixbld
244 + for i in {1..10}; do
245 + # we list 'nixbld' twice to
246 + # both assign a primary group for user
247 + # and add a user to /etc/group
248 + enewuser nixbld${i} -1 -1 /var/empty nixbld,nixbld
249 + done
250 +}
251 +
252 +src_prepare() {
253 + default
254 +
255 + eautoreconf
256 +}
257 +
258 +src_configure() {
259 + econf \
260 + --localstatedir="${EPREFIX}"/nix/var \
261 + $(use_enable gc)
262 +}
263 +
264 +src_compile() {
265 + local make_vars=(
266 + OPTIMIZE=0 # disable hardcoded -O3
267 + V=1 # verbose build
268 + )
269 + emake "${make_vars[@]}"
270 +}
271 +
272 +src_install() {
273 + # TODO: emacs highlighter
274 + default
275 +
276 + readme.gentoo_create_doc
277 +
278 + # here we use an eager variant of something that
279 + # is lazily done by nix-daemon and root nix-env
280 +
281 + # TODO: will need a tweak for prefix
282 + keepdir /nix/store
283 + fowners root:nixbld /nix/store
284 + fperms 1775 /nix/store
285 +
286 + keepdir /nix/var/nix/channel-cache
287 + fperms 0777 /nix/var/nix/channel-cache
288 +
289 + keepdir /nix/var/nix/profiles/per-user
290 + fperms 1777 /nix/var/nix/profiles/per-user
291 +
292 + # setup directories nix-daemon: /etc/profile.d/nix-daemon.sh
293 + keepdir /nix/var/nix/gcroots/per-user
294 + fperms 1777 /nix/var/nix/gcroots/per-user
295 +
296 + newinitd "${FILESDIR}"/nix-daemon.initd nix-daemon
297 +
298 + if ! use etc_profile; then
299 + rm "${ED}"/etc/profile.d/nix.sh || die
300 + rm "${ED}"/etc/profile.d/nix-daemon.sh || die
301 + fi
302 +}
303 +
304 +pkg_postinst() {
305 + if ! use etc_profile; then
306 + ewarn "${EROOT}etc/profile.d/nix.sh was removed (due to USE=-etc_profile)."
307 + fi
308 +
309 + readme.gentoo_print_elog
310 +}