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, 26 Apr 2019 15:47:48
Message-Id: 1556293652.dcda1cf6c7e6970e05402c47f49f8f2670edb4d9.slyfox@gentoo
1 commit: dcda1cf6c7e6970e05402c47f49f8f2670edb4d9
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Fri Apr 26 15:47:32 2019 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Fri Apr 26 15:47:32 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dcda1cf6
7
8 sys-apps/nix: bump up to 2.2.2
9
10 Reported-by: Bernardo Meurer
11 Closes: https://bugs.gentoo.org/683824
12 Package-Manager: Portage-2.3.62, Repoman-2.3.12
13 Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
14
15 sys-apps/nix/Manifest | 1 +
16 sys-apps/nix/nix-2.2.2.ebuild | 144 ++++++++++++++++++++++++++++++++++++++++++
17 2 files changed, 145 insertions(+)
18
19 diff --git a/sys-apps/nix/Manifest b/sys-apps/nix/Manifest
20 index f9e694e7dec..ea46fa320dc 100644
21 --- a/sys-apps/nix/Manifest
22 +++ b/sys-apps/nix/Manifest
23 @@ -2,3 +2,4 @@ DIST nix-2.0.2.tar.xz 796404 BLAKE2B 0906488bf2c800544c0747a6860ef51f667467f5003
24 DIST nix-2.0.4.tar.xz 798352 BLAKE2B 0eaf7e507c87e5398ab5967e1f2064a5827038bb84208768aa1c1deadc95e44aab922846b728467e3355d1f25e740590c3d1748ec05dfeae6a171952fd941b77 SHA512 bce3b3a14269d42648a4935770260c36dab25fde3ebcfed730063d1d139603468e1c30acf15eb0cffff617fa36a6b39d4ae31ccfd9cba762f631ecac213fd09a
25 DIST nix-2.1.3.tar.xz 816396 BLAKE2B 9627626075841e7f389f5010418fe17569ae69ea07de5ff9a0557df864052cc8b48f2a4dbfe16dffc5dca3fb180f527199f367810899ae9474d00e8fcc00b760 SHA512 d22718d23d8960dac7d07739835caa8183f573b303d77613e77314d873c1fe6da1cb0ed78337fe3219a94675307b23132a62ae7d9aa5354707e58400f403524b
26 DIST nix-2.2.1.tar.xz 818648 BLAKE2B 2e836bd40ea1ee22c308bd287b1ad1e5607729574b5cfe3494fbf017c618d7475d6150a9b97966f1aaea6bcb37b6535db1b2d693f0fedd0598881efe1a8c538e SHA512 42055fcbecc664899203d90d47f85ce2b12987fac6cb776f09dc202d5f3e07a4b2d6a7ee67fe8d6094062dc516dfe42eeb4acc05dfebd31f2b5670c0979bddd4
27 +DIST nix-2.2.2.tar.xz 818408 BLAKE2B f13bf79596d6292bea9897805421b388241d670f2b36bc13882f610901a9bb9aa1dc977d7a7d9314139791f20be38ca85becf5c4e863b22fc0b39503a7a4a079 SHA512 c8b1d5f246c53f13cfa25cba0d0721a2628329c10f67fcccbd9a55279cf475170a105156559d0a62638822a8e972f85e8a58769444d51f94ba15e2af7f90e220
28
29 diff --git a/sys-apps/nix/nix-2.2.2.ebuild b/sys-apps/nix/nix-2.2.2.ebuild
30 new file mode 100644
31 index 00000000000..dfa1ac2e7c6
32 --- /dev/null
33 +++ b/sys-apps/nix/nix-2.2.2.ebuild
34 @@ -0,0 +1,144 @@
35 +# Copyright 1999-2019 Gentoo Authors
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI=7
39 +
40 +inherit autotools flag-o-matic readme.gentoo-r1 user
41 +
42 +DESCRIPTION="A purely functional package manager"
43 +HOMEPAGE="https://nixos.org/nix"
44 +
45 +SRC_URI="http://nixos.org/releases/${PN}/${P}/${P}.tar.xz"
46 +LICENSE="LGPL-2.1"
47 +SLOT="0"
48 +#keywords are blocked by boost-1.66
49 +#KEYWORDS="~amd64 ~x86"
50 +IUSE="+etc_profile +gc doc s3 sodium"
51 +
52 +# sys-apps/busybox is needed for sandbox mount of /bin/sh
53 +RDEPEND="
54 + app-arch/brotli
55 + app-arch/bzip2
56 + app-arch/xz-utils
57 + sys-apps/busybox[static]
58 + dev-db/sqlite
59 + dev-libs/editline:0=
60 + dev-libs/openssl:0=
61 + >=dev-libs/boost-1.66:0=[context]
62 + net-misc/curl
63 + sys-libs/libseccomp
64 + sys-libs/zlib
65 + gc? ( dev-libs/boehm-gc[cxx] )
66 + doc? ( dev-libs/libxml2
67 + dev-libs/libxslt
68 + app-text/docbook-xsl-stylesheets
69 + )
70 + s3? ( dev-libs/aws-sdk-cpp )
71 + sodium? ( dev-libs/libsodium:0= )
72 +"
73 +DEPEND="${RDEPEND}
74 + >=sys-devel/bison-2.6
75 + >=sys-devel/flex-2.5.35
76 +"
77 +
78 +PATCHES=(
79 + "${FILESDIR}"/${PN}-1.11.6-systemd.patch
80 + "${FILESDIR}"/${PN}-1.11.6-respect-CXXFLAGS.patch
81 + "${FILESDIR}"/${PN}-1.11.6-respect-LDFLAGS.patch
82 + "${FILESDIR}"/${PN}-2.0-user-path.patch
83 +)
84 +
85 +DISABLE_AUTOFORMATTING=yes
86 +DOC_CONTENTS=" Quick start user guide on Gentoo:
87 +
88 +[as root] enable nix-daemon service:
89 + [systemd] # systemctl enable nix-daemon
90 + [openrc] # rc-update add nix-daemon
91 +[as a user] relogin to get environment and profile update
92 +[as a user] fetch nixpkgs update:
93 + \$ nix-channel --update
94 +[as a user] install nix packages:
95 + \$ nix-env -i mc
96 +[as a user] configure environment:
97 + Somewhere in .bash_profile you might want to set
98 + LOCALE_ARCHIVE=\$HOME/.nix-profile/lib/locale/locale-archive
99 + but please read https://github.com/NixOS/nixpkgs/issues/21820
100 +
101 +Next steps:
102 + nix package manager user manual: http://nixos.org/nix/manual/
103 +"
104 +
105 +pkg_setup() {
106 + enewgroup nixbld
107 + for i in {1..10}; do
108 + # we list 'nixbld' twice to
109 + # both assign a primary group for user
110 + # and add a user to /etc/group
111 + enewuser nixbld${i} -1 -1 /var/empty nixbld,nixbld
112 + done
113 +}
114 +
115 +src_prepare() {
116 + default
117 +
118 + eautoreconf
119 +}
120 +
121 +src_configure() {
122 + if ! use s3; then
123 + # Disable automagic depend: bug #670256
124 + export ac_cv_header_aws_s3_S3Client_h=no
125 + fi
126 + econf \
127 + --localstatedir="${EPREFIX}"/nix/var \
128 + $(use_enable gc) \
129 + --with-sandbox-shell=/bin/busybox
130 +}
131 +
132 +src_compile() {
133 + local make_vars=(
134 + OPTIMIZE=0 # disable hardcoded -O3
135 + V=1 # verbose build
136 + )
137 + emake "${make_vars[@]}"
138 +}
139 +
140 +src_install() {
141 + # TODO: emacs highlighter
142 + default
143 +
144 + readme.gentoo_create_doc
145 +
146 + # here we use an eager variant of something that
147 + # is lazily done by nix-daemon and root nix-env
148 +
149 + # TODO: will need a tweak for prefix
150 + keepdir /nix/store
151 + fowners root:nixbld /nix/store
152 + fperms 1775 /nix/store
153 +
154 + keepdir /nix/var/nix/channel-cache
155 + fperms 0777 /nix/var/nix/channel-cache
156 +
157 + keepdir /nix/var/nix/profiles/per-user
158 + fperms 1777 /nix/var/nix/profiles/per-user
159 +
160 + # setup directories nix-daemon: /etc/profile.d/nix-daemon.sh
161 + keepdir /nix/var/nix/gcroots/per-user
162 + fperms 1777 /nix/var/nix/gcroots/per-user
163 +
164 + newinitd "${FILESDIR}"/nix-daemon.initd nix-daemon
165 +
166 + if ! use etc_profile; then
167 + rm "${ED}"/etc/profile.d/nix.sh || die
168 + rm "${ED}"/etc/profile.d/nix-daemon.sh || die
169 + fi
170 +}
171 +
172 +pkg_postinst() {
173 + if ! use etc_profile; then
174 + ewarn "${EROOT}etc/profile.d/nix.sh was removed (due to USE=-etc_profile)."
175 + fi
176 +
177 + readme.gentoo_print_elog
178 +}