|
@@ -34,9 +34,6 @@ GUILE_HASH='c707b9cf6f97ecca3a4e3e704e62b83f95f1aec28ed1535f5d0a1d36af07a015'
|
34
|
34
|
EIGHTSYNC_REPO="git://git.savannah.gnu.org/8sync.git"
|
35
|
35
|
EIGHTSYNC_COMMIT='8cbb7f22227c0afdd3b0bd758ebec0efba2fa1e1'
|
36
|
36
|
|
37
|
|
-GUIX_VERSION='0.13.0'
|
38
|
|
-GUIX_DOWNLOAD_URL='ftp://alpha.gnu.org/gnu/guix'
|
39
|
|
-
|
40
|
37
|
function install_8sync {
|
41
|
38
|
apt-get -qy install flex libunistring-dev libgc-dev autoconf texinfo
|
42
|
39
|
|
|
@@ -95,139 +92,4 @@ function install_guile {
|
95
|
92
|
echo 'export PATH=$PATH:$GUILE_PATH' >> ~/.bashrc
|
96
|
93
|
}
|
97
|
94
|
|
98
|
|
-function install_guix_get_architecture {
|
99
|
|
- if [[ ${ARCHITECTURE} == *"386" || ${ARCHITECTURE} == *"686" ]]; then
|
100
|
|
- CURR_ARCH='i686'
|
101
|
|
- fi
|
102
|
|
- if [[ ${ARCHITECTURE} == *"amd64" || ${ARCHITECTURE} == "x86_64" ]]; then
|
103
|
|
- CURR_ARCH='x86_64'
|
104
|
|
- fi
|
105
|
|
- if [[ ${ARCHITECTURE} == *"arm"* ]]; then
|
106
|
|
- CURR_ARCH='armhf'
|
107
|
|
- fi
|
108
|
|
- if [ ! ${CURR_ARCH} ]; then
|
109
|
|
- echo $'No architecture specified'
|
110
|
|
- ARCHITECTURE=$(uname -m)
|
111
|
|
- if [[ ${ARCHITECTURE} == "arm"* ]]; then
|
112
|
|
- CURR_ARCH='armhf'
|
113
|
|
- echo $"Using $CURR_ARCH"
|
114
|
|
- fi
|
115
|
|
- if [[ ${ARCHITECTURE} == "amd"* || ${ARCHITECTURE} == "x86_64" ]]; then
|
116
|
|
- CURR_ARCH='x86_64'
|
117
|
|
- echo $"Using $CURR_ARCH"
|
118
|
|
- fi
|
119
|
|
- if [[ ${ARCHITECTURE} == *"386" || ${ARCHITECTURE} == *"686" ]]; then
|
120
|
|
- CURR_ARCH='i686'
|
121
|
|
- echo $"Using $CURR_ARCH"
|
122
|
|
- fi
|
123
|
|
- fi
|
124
|
|
-}
|
125
|
|
-
|
126
|
|
-function install_guix_user {
|
127
|
|
- install_path=$1
|
128
|
|
-
|
129
|
|
- if ! grep -q 'GUIX_LOCPATH' $install_path/.bashrc; then
|
130
|
|
- echo 'export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale' >> $install_path/.bashrc
|
131
|
|
- fi
|
132
|
|
- if ! grep -q 'GUIX_PROFILE' $install_path/.bashrc; then
|
133
|
|
- echo 'export GUIX_PROFILE=$HOME/.guix-profile' >> $install_path/.bashrc
|
134
|
|
- echo 'source $GUIX_PROFILE/etc/profile' >> $install_path/.bashrc
|
135
|
|
- fi
|
136
|
|
-}
|
137
|
|
-
|
138
|
|
-function image_install_guix {
|
139
|
|
- install_guix_get_architecture
|
140
|
|
- if [ ! -d $rootdir$INSTALL_DIR/guix ]; then
|
141
|
|
- mkdir -p $INSTALL_DIR/guix
|
142
|
|
- fi
|
143
|
|
- cd $rootdir$INSTALL_DIR/guix
|
144
|
|
- if [ ! -f guix-binary-${GUIX_VERSION}.${CURR_ARCH}-linux.tar.xz ]; then
|
145
|
|
- wget $GUIX_DOWNLOAD_URL/guix-binary-${GUIX_VERSION}.${CURR_ARCH}-linux.tar.xz
|
146
|
|
- fi
|
147
|
|
-}
|
148
|
|
-
|
149
|
|
-function install_guix {
|
150
|
|
- if [[ $(app_is_installed install_guix) == "1" ]]; then
|
151
|
|
- return
|
152
|
|
- fi
|
153
|
|
-
|
154
|
|
- apt-get -qy install wget xz-utils
|
155
|
|
-
|
156
|
|
- read_config_param MY_USERNAME
|
157
|
|
- read_config_param ARCHITECTURE
|
158
|
|
-
|
159
|
|
- install_guix_get_architecture
|
160
|
|
-
|
161
|
|
- if [ ! -d $INSTALL_DIR/guix ]; then
|
162
|
|
- mkdir -p $INSTALL_DIR/guix
|
163
|
|
- fi
|
164
|
|
- cd $INSTALL_DIR/guix
|
165
|
|
- if [ ! -f guix-binary-${GUIX_VERSION}.${CURR_ARCH}-linux.tar.xz ]; then
|
166
|
|
- wget $GUIX_DOWNLOAD_URL/guix-binary-${GUIX_VERSION}.${CURR_ARCH}-linux.tar.xz
|
167
|
|
- fi
|
168
|
|
- if [ ! -f guix-binary-${GUIX_VERSION}.${CURR_ARCH}-linux.tar.xz ]; then
|
169
|
|
- echo $"Unable to download guix from $GUIX_DOWNLOAD_URL"
|
170
|
|
- exit 73826
|
171
|
|
- fi
|
172
|
|
- tar --warning=no-timestamp -xf guix-binary-${GUIX_VERSION}.${CURR_ARCH}-linux.tar.xz
|
173
|
|
- if [ ! -d var/guix ]; then
|
174
|
|
- echo $'guix directory var/guix not found'
|
175
|
|
- exit 8726325
|
176
|
|
- fi
|
177
|
|
- if [ -d /var/guix ]; then
|
178
|
|
- rm -rf /var/guix
|
179
|
|
- fi
|
180
|
|
- mv $INSTALL_DIR/guix/var/guix /var/
|
181
|
|
- if [ ! -d gnu ]; then
|
182
|
|
- echo $'guix gnu directory not found'
|
183
|
|
- exit 743383235
|
184
|
|
- fi
|
185
|
|
- if [ -d /gnu ]; then
|
186
|
|
- rm -rf /gnu
|
187
|
|
- fi
|
188
|
|
- mv gnu /
|
189
|
|
-
|
190
|
|
- ln -sf /var/guix/profiles/per-user/root/guix-profile /root/.guix-profile
|
191
|
|
- export GUIX_PROFILE=$HOME/.guix-profile
|
192
|
|
- source $GUIX_PROFILE/etc/profile
|
193
|
|
-
|
194
|
|
- # add build users
|
195
|
|
- groupadd --system guixbuild
|
196
|
|
- for i in `seq -w 1 10`;
|
197
|
|
- do
|
198
|
|
- useradd -g guixbuild -G guixbuild \
|
199
|
|
- -d /var/empty -s `which nologin` \
|
200
|
|
- -c "Guix build user $i" --system \
|
201
|
|
- guixbuilder$i;
|
202
|
|
- done
|
203
|
|
-
|
204
|
|
- GUIX_DAEMON=$(find /var/guix -name guix-daemon.service)
|
205
|
|
- if [ ! -f $GUIX_DAEMON ]; then
|
206
|
|
- echo $"$GUIX_DAEMON"
|
207
|
|
- echo $'No guix systemd daemon found'
|
208
|
|
- exit 78225548
|
209
|
|
- fi
|
210
|
|
- cp $GUIX_DAEMON /etc/systemd/system/
|
211
|
|
- systemctl enable guix-daemon
|
212
|
|
- systemctl start guix-daemon
|
213
|
|
-
|
214
|
|
- if [ ! -d /usr/local/bin ]; then
|
215
|
|
- mkdir -p /usr/local/bin
|
216
|
|
- fi
|
217
|
|
- cd /usr/local/bin
|
218
|
|
- ln -s /var/guix/profiles/per-user/root/guix-profile/bin/guix
|
219
|
|
-
|
220
|
|
- if [ ! -d /usr/local/share/info ]; then
|
221
|
|
- mkdir -p /usr/local/share/info
|
222
|
|
- fi
|
223
|
|
-
|
224
|
|
- install_guix_user /root
|
225
|
|
- install_guix_user /etc/skel
|
226
|
|
- install_guix_user /home/$MY_USERNAME
|
227
|
|
-
|
228
|
|
- guix package -i glibc-locales
|
229
|
|
-
|
230
|
|
- install_completed install_guix
|
231
|
|
-}
|
232
|
|
-
|
233
|
95
|
# NOTE: deliberately no exit 0
|