tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
bookstack: init at 0.31.7
Yannick Markus
4 years ago
625ca896
974201c4
+1238
6 changed files
expand all
collapse all
unified
split
pkgs
servers
web-apps
bookstack
composer-env.nix
composition.nix
default.nix
php-packages.nix
update.sh
top-level
all-packages.nix
+238
pkgs/servers/web-apps/bookstack/composer-env.nix
···
1
1
+
# This file originates from composer2nix
2
2
+
3
3
+
{ stdenv, lib, writeTextFile, fetchurl, php, unzip, phpPackages }:
4
4
+
5
5
+
let
6
6
+
inherit (phpPackages) composer;
7
7
+
buildZipPackage = { name, src }:
8
8
+
stdenv.mkDerivation {
9
9
+
inherit name src;
10
10
+
buildInputs = [ unzip ];
11
11
+
buildCommand = ''
12
12
+
unzip $src
13
13
+
baseDir=$(find . -type d -mindepth 1 -maxdepth 1)
14
14
+
cd $baseDir
15
15
+
mkdir -p $out
16
16
+
mv * $out
17
17
+
'';
18
18
+
};
19
19
+
20
20
+
buildPackage =
21
21
+
{ name
22
22
+
, src
23
23
+
, packages ? {}
24
24
+
, devPackages ? {}
25
25
+
, buildInputs ? []
26
26
+
, symlinkDependencies ? false
27
27
+
, executable ? false
28
28
+
, removeComposerArtifacts ? false
29
29
+
, postInstall ? ""
30
30
+
, noDev ? false
31
31
+
, unpackPhase ? "true"
32
32
+
, buildPhase ? "true"
33
33
+
, ...}@args:
34
34
+
35
35
+
let
36
36
+
reconstructInstalled = writeTextFile {
37
37
+
name = "reconstructinstalled.php";
38
38
+
executable = true;
39
39
+
text = ''
40
40
+
#! ${php}/bin/php
41
41
+
<?php
42
42
+
if(file_exists($argv[1]))
43
43
+
{
44
44
+
$composerLockStr = file_get_contents($argv[1]);
45
45
+
46
46
+
if($composerLockStr === false)
47
47
+
{
48
48
+
fwrite(STDERR, "Cannot open composer.lock contents\n");
49
49
+
exit(1);
50
50
+
}
51
51
+
else
52
52
+
{
53
53
+
$config = json_decode($composerLockStr, true);
54
54
+
55
55
+
if(array_key_exists("packages", $config))
56
56
+
$allPackages = $config["packages"];
57
57
+
else
58
58
+
$allPackages = array();
59
59
+
60
60
+
${lib.optionalString (!noDev) ''
61
61
+
if(array_key_exists("packages-dev", $config))
62
62
+
$allPackages = array_merge($allPackages, $config["packages-dev"]);
63
63
+
''}
64
64
+
65
65
+
$packagesStr = json_encode($allPackages, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
66
66
+
print($packagesStr);
67
67
+
}
68
68
+
}
69
69
+
else
70
70
+
print("[]");
71
71
+
?>
72
72
+
'';
73
73
+
};
74
74
+
75
75
+
constructBin = writeTextFile {
76
76
+
name = "constructbin.php";
77
77
+
executable = true;
78
78
+
text = ''
79
79
+
#! ${php}/bin/php
80
80
+
<?php
81
81
+
$composerJSONStr = file_get_contents($argv[1]);
82
82
+
83
83
+
if($composerJSONStr === false)
84
84
+
{
85
85
+
fwrite(STDERR, "Cannot open composer.json contents\n");
86
86
+
exit(1);
87
87
+
}
88
88
+
else
89
89
+
{
90
90
+
$config = json_decode($composerJSONStr, true);
91
91
+
92
92
+
if(array_key_exists("bin-dir", $config))
93
93
+
$binDir = $config["bin-dir"];
94
94
+
else
95
95
+
$binDir = "bin";
96
96
+
97
97
+
if(array_key_exists("bin", $config))
98
98
+
{
99
99
+
if(!file_exists("vendor/".$binDir))
100
100
+
mkdir("vendor/".$binDir);
101
101
+
102
102
+
foreach($config["bin"] as $bin)
103
103
+
symlink("../../".$bin, "vendor/".$binDir."/".basename($bin));
104
104
+
}
105
105
+
}
106
106
+
?>
107
107
+
'';
108
108
+
};
109
109
+
110
110
+
bundleDependencies = dependencies:
111
111
+
lib.concatMapStrings (dependencyName:
112
112
+
let
113
113
+
dependency = dependencies.${dependencyName};
114
114
+
in
115
115
+
''
116
116
+
${if dependency.targetDir == "" then ''
117
117
+
vendorDir="$(dirname ${dependencyName})"
118
118
+
mkdir -p "$vendorDir"
119
119
+
${if symlinkDependencies then
120
120
+
''ln -s "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"''
121
121
+
else
122
122
+
''cp -av "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"''
123
123
+
}
124
124
+
'' else ''
125
125
+
namespaceDir="${dependencyName}/$(dirname "${dependency.targetDir}")"
126
126
+
mkdir -p "$namespaceDir"
127
127
+
${if symlinkDependencies then
128
128
+
''ln -s "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"''
129
129
+
else
130
130
+
''cp -av "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"''
131
131
+
}
132
132
+
''}
133
133
+
'') (builtins.attrNames dependencies);
134
134
+
135
135
+
extraArgs = removeAttrs args [ "name" "packages" "devPackages" "buildInputs" ];
136
136
+
in
137
137
+
stdenv.mkDerivation ({
138
138
+
name = "composer-${name}";
139
139
+
buildInputs = [ php composer ] ++ buildInputs;
140
140
+
141
141
+
inherit unpackPhase buildPhase;
142
142
+
143
143
+
installPhase = ''
144
144
+
${if executable then ''
145
145
+
mkdir -p $out/share/php
146
146
+
cp -av $src $out/share/php/$name
147
147
+
chmod -R u+w $out/share/php/$name
148
148
+
cd $out/share/php/$name
149
149
+
'' else ''
150
150
+
cp -av $src $out
151
151
+
chmod -R u+w $out
152
152
+
cd $out
153
153
+
''}
154
154
+
155
155
+
# Remove unwanted files
156
156
+
rm -f *.nix
157
157
+
158
158
+
export HOME=$TMPDIR
159
159
+
160
160
+
# Remove the provided vendor folder if it exists
161
161
+
rm -Rf vendor
162
162
+
163
163
+
# If there is no composer.lock file, compose a dummy file.
164
164
+
# Otherwise, composer attempts to download the package.json file from
165
165
+
# the registry which we do not want.
166
166
+
if [ ! -f composer.lock ]
167
167
+
then
168
168
+
cat > composer.lock <<EOF
169
169
+
{
170
170
+
"packages": []
171
171
+
}
172
172
+
EOF
173
173
+
fi
174
174
+
175
175
+
# Reconstruct the installed.json file from the lock file
176
176
+
mkdir -p vendor/composer
177
177
+
${reconstructInstalled} composer.lock > vendor/composer/installed.json
178
178
+
179
179
+
# Copy or symlink the provided dependencies
180
180
+
cd vendor
181
181
+
${bundleDependencies packages}
182
182
+
${lib.optionalString (!noDev) (bundleDependencies devPackages)}
183
183
+
cd ..
184
184
+
185
185
+
# Reconstruct autoload scripts
186
186
+
# We use the optimize feature because Nix packages cannot change after they have been built
187
187
+
# Using the dynamic loader for a Nix package is useless since there is nothing to dynamically reload.
188
188
+
composer dump-autoload --optimize ${lib.optionalString noDev "--no-dev"}
189
189
+
190
190
+
# Run the install step as a validation to confirm that everything works out as expected
191
191
+
composer install --optimize-autoloader ${lib.optionalString noDev "--no-dev"}
192
192
+
193
193
+
${lib.optionalString executable ''
194
194
+
# Reconstruct the bin/ folder if we deploy an executable project
195
195
+
${constructBin} composer.json
196
196
+
ln -s $(pwd)/vendor/bin $out/bin
197
197
+
''}
198
198
+
199
199
+
${lib.optionalString (!symlinkDependencies) ''
200
200
+
# Patch the shebangs if possible
201
201
+
if [ -d $(pwd)/vendor/bin ]
202
202
+
then
203
203
+
# Look for all executables in bin/
204
204
+
for i in $(pwd)/vendor/bin/*
205
205
+
do
206
206
+
# Look for their location
207
207
+
realFile=$(readlink -f "$i")
208
208
+
209
209
+
# Restore write permissions
210
210
+
chmod u+wx "$(dirname "$realFile")"
211
211
+
chmod u+w "$realFile"
212
212
+
213
213
+
# Patch shebang
214
214
+
sed -e "s|#!/usr/bin/php|#!${php}/bin/php|" \
215
215
+
-e "s|#!/usr/bin/env php|#!${php}/bin/php|" \
216
216
+
"$realFile" > tmp
217
217
+
mv tmp "$realFile"
218
218
+
chmod u+x "$realFile"
219
219
+
done
220
220
+
fi
221
221
+
''}
222
222
+
223
223
+
if [ "$removeComposerArtifacts" = "1" ]
224
224
+
then
225
225
+
# Remove composer stuff
226
226
+
rm -f composer.json composer.lock
227
227
+
fi
228
228
+
229
229
+
# Execute post install hook
230
230
+
runHook postInstall
231
231
+
'';
232
232
+
} // extraArgs);
233
233
+
in
234
234
+
{
235
235
+
composer = lib.makeOverridable composer;
236
236
+
buildZipPackage = lib.makeOverridable buildZipPackage;
237
237
+
buildPackage = lib.makeOverridable buildPackage;
238
238
+
}
+13
pkgs/servers/web-apps/bookstack/composition.nix
···
1
1
+
{pkgs ? import <nixpkgs> {
2
2
+
inherit system;
3
3
+
}, system ? builtins.currentSystem, noDev ? false}:
4
4
+
5
5
+
let
6
6
+
composerEnv = import ./composer-env.nix {
7
7
+
inherit (pkgs) stdenv lib writeTextFile fetchurl php unzip phpPackages;
8
8
+
};
9
9
+
in
10
10
+
import ./php-packages.nix {
11
11
+
inherit composerEnv noDev;
12
12
+
inherit (pkgs) fetchurl fetchgit fetchhg fetchsvn;
13
13
+
}
+38
pkgs/servers/web-apps/bookstack/default.nix
···
1
1
+
{ pkgs, system, lib, fetchFromGitHub, dataDir ? "/var/lib/bookstack" }:
2
2
+
3
3
+
let
4
4
+
package = (import ./composition.nix {
5
5
+
inherit pkgs system;
6
6
+
noDev = true; # Disable development dependencies
7
7
+
}).overrideAttrs (attrs : {
8
8
+
installPhase = attrs.installPhase + ''
9
9
+
rm -R $out/storage $out/public/uploads
10
10
+
ln -s ${dataDir}/.env $out/.env
11
11
+
ln -s ${dataDir}/storage $out/storage
12
12
+
ln -s ${dataDir}/public/uploads $out/public/uploads
13
13
+
'';
14
14
+
});
15
15
+
16
16
+
in package.override rec {
17
17
+
name = "bookstack";
18
18
+
version = "0.31.7";
19
19
+
20
20
+
src = fetchFromGitHub {
21
21
+
owner = "bookstackapp";
22
22
+
repo = name;
23
23
+
rev = "v${version}";
24
24
+
sha256 = "1jak6g2q4zbr0gxqj0bqhks687whmmw8ylzwm4saws7ikcxkwna4";
25
25
+
};
26
26
+
27
27
+
meta = with lib; {
28
28
+
description = "A platform to create documentation/wiki content built with PHP & Laravel";
29
29
+
longDescription = ''
30
30
+
A platform for storing and organising information and documentation.
31
31
+
Details for BookStack can be found on the official website at https://www.bookstackapp.com/.
32
32
+
'';
33
33
+
homepage = "https://www.bookstackapp.com/";
34
34
+
license = licenses.mit;
35
35
+
maintainers = with maintainers; [ ymarkus ];
36
36
+
platforms = platforms.linux;
37
37
+
};
38
38
+
}
+897
pkgs/servers/web-apps/bookstack/php-packages.nix
···
1
1
+
{composerEnv, fetchurl, fetchgit ? null, fetchhg ? null, fetchsvn ? null, noDev ? false}:
2
2
+
3
3
+
let
4
4
+
packages = {
5
5
+
"aws/aws-sdk-php" = {
6
6
+
targetDir = "";
7
7
+
src = composerEnv.buildZipPackage {
8
8
+
name = "aws-aws-sdk-php-3e6143f5c12986d727307d5d19d6aec21575d903";
9
9
+
src = fetchurl {
10
10
+
url = https://api.github.com/repos/aws/aws-sdk-php/zipball/3e6143f5c12986d727307d5d19d6aec21575d903;
11
11
+
sha256 = "16hbw8gqscbc3bcvnfdsll6x1653lq2s4dga3d5jbpczil3ws9yb";
12
12
+
};
13
13
+
};
14
14
+
};
15
15
+
"barryvdh/laravel-dompdf" = {
16
16
+
targetDir = "";
17
17
+
src = composerEnv.buildZipPackage {
18
18
+
name = "barryvdh-laravel-dompdf-30310e0a675462bf2aa9d448c8dcbf57fbcc517d";
19
19
+
src = fetchurl {
20
20
+
url = https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/30310e0a675462bf2aa9d448c8dcbf57fbcc517d;
21
21
+
sha256 = "1fnan9b2g4xhqqvlfsn3alb4nx5jjlrapgiad2kca13b3gizv7zr";
22
22
+
};
23
23
+
};
24
24
+
};
25
25
+
"barryvdh/laravel-snappy" = {
26
26
+
targetDir = "";
27
27
+
src = composerEnv.buildZipPackage {
28
28
+
name = "barryvdh-laravel-snappy-1903ab84171072b6bff8d98eb58d38b2c9aaf645";
29
29
+
src = fetchurl {
30
30
+
url = https://api.github.com/repos/barryvdh/laravel-snappy/zipball/1903ab84171072b6bff8d98eb58d38b2c9aaf645;
31
31
+
sha256 = "1awr5kwj482qsh5wpg0q44fjqi7a9q26ghcc9wp1n9zm97y0rx7a";
32
32
+
};
33
33
+
};
34
34
+
};
35
35
+
"doctrine/cache" = {
36
36
+
targetDir = "";
37
37
+
src = composerEnv.buildZipPackage {
38
38
+
name = "doctrine-cache-13e3381b25847283a91948d04640543941309727";
39
39
+
src = fetchurl {
40
40
+
url = https://api.github.com/repos/doctrine/cache/zipball/13e3381b25847283a91948d04640543941309727;
41
41
+
sha256 = "088fxbpjssp8x95qr3ip2iynxrimimrby03xlsvp2254vcyx94c5";
42
42
+
};
43
43
+
};
44
44
+
};
45
45
+
"doctrine/dbal" = {
46
46
+
targetDir = "";
47
47
+
src = composerEnv.buildZipPackage {
48
48
+
name = "doctrine-dbal-47433196b6390d14409a33885ee42b6208160643";
49
49
+
src = fetchurl {
50
50
+
url = https://api.github.com/repos/doctrine/dbal/zipball/47433196b6390d14409a33885ee42b6208160643;
51
51
+
sha256 = "0bcg9494hr31902zcmq5kk7ji78yxk074d5bd9chxn9q0xz4g2h8";
52
52
+
};
53
53
+
};
54
54
+
};
55
55
+
"doctrine/event-manager" = {
56
56
+
targetDir = "";
57
57
+
src = composerEnv.buildZipPackage {
58
58
+
name = "doctrine-event-manager-41370af6a30faa9dc0368c4a6814d596e81aba7f";
59
59
+
src = fetchurl {
60
60
+
url = https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f;
61
61
+
sha256 = "0pn2aiwl4fvv6fcwar9alng2yrqy8bzc58n4bkp6y2jnpw5gp4m8";
62
62
+
};
63
63
+
};
64
64
+
};
65
65
+
"doctrine/inflector" = {
66
66
+
targetDir = "";
67
67
+
src = composerEnv.buildZipPackage {
68
68
+
name = "doctrine-inflector-9cf661f4eb38f7c881cac67c75ea9b00bf97b210";
69
69
+
src = fetchurl {
70
70
+
url = https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210;
71
71
+
sha256 = "0gkaw5aqkdppd7cz1n46kdms0bv8kzbnpjh75jnhv98p9fik7f24";
72
72
+
};
73
73
+
};
74
74
+
};
75
75
+
"doctrine/lexer" = {
76
76
+
targetDir = "";
77
77
+
src = composerEnv.buildZipPackage {
78
78
+
name = "doctrine-lexer-e864bbf5904cb8f5bb334f99209b48018522f042";
79
79
+
src = fetchurl {
80
80
+
url = https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042;
81
81
+
sha256 = "11lg9fcy0crb8inklajhx3kyffdbx7xzdj8kwl21xsgq9nm9iwvv";
82
82
+
};
83
83
+
};
84
84
+
};
85
85
+
"dompdf/dompdf" = {
86
86
+
targetDir = "";
87
87
+
src = composerEnv.buildZipPackage {
88
88
+
name = "dompdf-dompdf-db91d81866c69a42dad1d2926f61515a1e3f42c5";
89
89
+
src = fetchurl {
90
90
+
url = https://api.github.com/repos/dompdf/dompdf/zipball/db91d81866c69a42dad1d2926f61515a1e3f42c5;
91
91
+
sha256 = "10nsmaiqfk6wgv0l9wjsh7h8nigdfabygkhjk7wdbxdfvlvniddd";
92
92
+
};
93
93
+
};
94
94
+
};
95
95
+
"dragonmantank/cron-expression" = {
96
96
+
targetDir = "";
97
97
+
src = composerEnv.buildZipPackage {
98
98
+
name = "dragonmantank-cron-expression-65b2d8ee1f10915efb3b55597da3404f096acba2";
99
99
+
src = fetchurl {
100
100
+
url = https://api.github.com/repos/dragonmantank/cron-expression/zipball/65b2d8ee1f10915efb3b55597da3404f096acba2;
101
101
+
sha256 = "07yqbhf6n4d818gvla60mgg23gichwiafd5ypd70w4b4dlbcxcpl";
102
102
+
};
103
103
+
};
104
104
+
};
105
105
+
"egulias/email-validator" = {
106
106
+
targetDir = "";
107
107
+
src = composerEnv.buildZipPackage {
108
108
+
name = "egulias-email-validator-0dbf5d78455d4d6a41d186da50adc1122ec066f4";
109
109
+
src = fetchurl {
110
110
+
url = https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4;
111
111
+
sha256 = "00kwb8rhk1fq3a1i152xniipk3y907q1v5r3szqbkq5rz82dwbck";
112
112
+
};
113
113
+
};
114
114
+
};
115
115
+
"facade/flare-client-php" = {
116
116
+
targetDir = "";
117
117
+
src = composerEnv.buildZipPackage {
118
118
+
name = "facade-flare-client-php-ef0f5bce23b30b32d98fd9bb49c6fa37b40eb546";
119
119
+
src = fetchurl {
120
120
+
url = https://api.github.com/repos/facade/flare-client-php/zipball/ef0f5bce23b30b32d98fd9bb49c6fa37b40eb546;
121
121
+
sha256 = "1car7k8zzkgib9wpi9lzw1dj9qgjak8s9dmiimxaigvb7q4bc5vk";
122
122
+
};
123
123
+
};
124
124
+
};
125
125
+
"facade/ignition" = {
126
126
+
targetDir = "";
127
127
+
src = composerEnv.buildZipPackage {
128
128
+
name = "facade-ignition-b6aea4a99303d9d32afd486a285162a89af8a8a3";
129
129
+
src = fetchurl {
130
130
+
url = https://api.github.com/repos/facade/ignition/zipball/b6aea4a99303d9d32afd486a285162a89af8a8a3;
131
131
+
sha256 = "1dx6gf4qz6jf8hds3lyxs09zlr6ndl3d36212w2hr4b15ihmyszw";
132
132
+
};
133
133
+
};
134
134
+
};
135
135
+
"facade/ignition-contracts" = {
136
136
+
targetDir = "";
137
137
+
src = composerEnv.buildZipPackage {
138
138
+
name = "facade-ignition-contracts-aeab1ce8b68b188a43e81758e750151ad7da796b";
139
139
+
src = fetchurl {
140
140
+
url = https://api.github.com/repos/facade/ignition-contracts/zipball/aeab1ce8b68b188a43e81758e750151ad7da796b;
141
141
+
sha256 = "0b5hv56758fh2y6fqbygwn94qgqwjan8d2s1i10m242x80h9jjiw";
142
142
+
};
143
143
+
};
144
144
+
};
145
145
+
"fideloper/proxy" = {
146
146
+
targetDir = "";
147
147
+
src = composerEnv.buildZipPackage {
148
148
+
name = "fideloper-proxy-c073b2bd04d1c90e04dc1b787662b558dd65ade0";
149
149
+
src = fetchurl {
150
150
+
url = https://api.github.com/repos/fideloper/TrustedProxy/zipball/c073b2bd04d1c90e04dc1b787662b558dd65ade0;
151
151
+
sha256 = "05jzgjj4fy5p1smqj41b5qxj42zn0mnczvsaacni4fmq174mz4gy";
152
152
+
};
153
153
+
};
154
154
+
};
155
155
+
"filp/whoops" = {
156
156
+
targetDir = "";
157
157
+
src = composerEnv.buildZipPackage {
158
158
+
name = "filp-whoops-df7933820090489623ce0be5e85c7e693638e536";
159
159
+
src = fetchurl {
160
160
+
url = https://api.github.com/repos/filp/whoops/zipball/df7933820090489623ce0be5e85c7e693638e536;
161
161
+
sha256 = "0azpv2r8hc9s5pbk9wh2qk52qzycsbvpijr8w68l311igpcj4f78";
162
162
+
};
163
163
+
};
164
164
+
};
165
165
+
"guzzlehttp/guzzle" = {
166
166
+
targetDir = "";
167
167
+
src = composerEnv.buildZipPackage {
168
168
+
name = "guzzlehttp-guzzle-0aa74dfb41ae110835923ef10a9d803a22d50e79";
169
169
+
src = fetchurl {
170
170
+
url = https://api.github.com/repos/guzzle/guzzle/zipball/0aa74dfb41ae110835923ef10a9d803a22d50e79;
171
171
+
sha256 = "0gba1711dpi147fzi2ab2pg0k1g6zfanm5w5hf4c7w0b3h4ya5gj";
172
172
+
};
173
173
+
};
174
174
+
};
175
175
+
"guzzlehttp/promises" = {
176
176
+
targetDir = "";
177
177
+
src = composerEnv.buildZipPackage {
178
178
+
name = "guzzlehttp-promises-60d379c243457e073cff02bc323a2a86cb355631";
179
179
+
src = fetchurl {
180
180
+
url = https://api.github.com/repos/guzzle/promises/zipball/60d379c243457e073cff02bc323a2a86cb355631;
181
181
+
sha256 = "0lvcr64bx9sb90qggxk7g7fsplz403gm3i8lnlcaifyjrlmdj5wb";
182
182
+
};
183
183
+
};
184
184
+
};
185
185
+
"guzzlehttp/psr7" = {
186
186
+
targetDir = "";
187
187
+
src = composerEnv.buildZipPackage {
188
188
+
name = "guzzlehttp-psr7-53330f47520498c0ae1f61f7e2c90f55690c06a3";
189
189
+
src = fetchurl {
190
190
+
url = https://api.github.com/repos/guzzle/psr7/zipball/53330f47520498c0ae1f61f7e2c90f55690c06a3;
191
191
+
sha256 = "0948mbbqn1xcz39diajhvlr9a7586vx3091kzx96m0z4ki3lhv7g";
192
192
+
};
193
193
+
};
194
194
+
};
195
195
+
"intervention/image" = {
196
196
+
targetDir = "";
197
197
+
src = composerEnv.buildZipPackage {
198
198
+
name = "intervention-image-abbf18d5ab8367f96b3205ca3c89fb2fa598c69e";
199
199
+
src = fetchurl {
200
200
+
url = https://api.github.com/repos/Intervention/image/zipball/abbf18d5ab8367f96b3205ca3c89fb2fa598c69e;
201
201
+
sha256 = "1msfpr9bip69bmhg23ka2f43phgb6dq5z604j5psjh3xd86r6c5d";
202
202
+
};
203
203
+
};
204
204
+
};
205
205
+
"knplabs/knp-snappy" = {
206
206
+
targetDir = "";
207
207
+
src = composerEnv.buildZipPackage {
208
208
+
name = "knplabs-knp-snappy-7bac60fb729147b7ccd8532c07df3f52a4afa8a4";
209
209
+
src = fetchurl {
210
210
+
url = https://api.github.com/repos/KnpLabs/snappy/zipball/7bac60fb729147b7ccd8532c07df3f52a4afa8a4;
211
211
+
sha256 = "0qbywknz3zwhk91yaqd5p6nf48hzk1zmyqgrc9nb9ys2v6wy6njz";
212
212
+
};
213
213
+
};
214
214
+
};
215
215
+
"laravel/framework" = {
216
216
+
targetDir = "";
217
217
+
src = composerEnv.buildZipPackage {
218
218
+
name = "laravel-framework-d0e4731e92ca88f4a78fe9e0c2c426a3e8c063c8";
219
219
+
src = fetchurl {
220
220
+
url = https://api.github.com/repos/laravel/framework/zipball/d0e4731e92ca88f4a78fe9e0c2c426a3e8c063c8;
221
221
+
sha256 = "15zjpq6lbxs019vd0mm2nbfi91yyw40wsf5fl0jbw3s1ffvaq898";
222
222
+
};
223
223
+
};
224
224
+
};
225
225
+
"laravel/socialite" = {
226
226
+
targetDir = "";
227
227
+
src = composerEnv.buildZipPackage {
228
228
+
name = "laravel-socialite-8d25d574b4f2005411c0b9cb527ef5e745c1b07d";
229
229
+
src = fetchurl {
230
230
+
url = https://api.github.com/repos/laravel/socialite/zipball/8d25d574b4f2005411c0b9cb527ef5e745c1b07d;
231
231
+
sha256 = "0ash56za1flniq9nnk3siyb8l0m2cjwn2n25315qfhmdgbxxjz68";
232
232
+
};
233
233
+
};
234
234
+
};
235
235
+
"league/commonmark" = {
236
236
+
targetDir = "";
237
237
+
src = composerEnv.buildZipPackage {
238
238
+
name = "league-commonmark-11df9b36fd4f1d2b727a73bf14931d81373b9a54";
239
239
+
src = fetchurl {
240
240
+
url = https://api.github.com/repos/thephpleague/commonmark/zipball/11df9b36fd4f1d2b727a73bf14931d81373b9a54;
241
241
+
sha256 = "15chm1sa65b58b47am00ik03s2agnx49i8yww3mhqlijvbrjvxc3";
242
242
+
};
243
243
+
};
244
244
+
};
245
245
+
"league/flysystem" = {
246
246
+
targetDir = "";
247
247
+
src = composerEnv.buildZipPackage {
248
248
+
name = "league-flysystem-9be3b16c877d477357c015cec057548cf9b2a14a";
249
249
+
src = fetchurl {
250
250
+
url = https://api.github.com/repos/thephpleague/flysystem/zipball/9be3b16c877d477357c015cec057548cf9b2a14a;
251
251
+
sha256 = "0mhlr6l75j58xwbadq30x58s67434195zlpdax6ix4nkr7fc907j";
252
252
+
};
253
253
+
};
254
254
+
};
255
255
+
"league/flysystem-aws-s3-v3" = {
256
256
+
targetDir = "";
257
257
+
src = composerEnv.buildZipPackage {
258
258
+
name = "league-flysystem-aws-s3-v3-4e25cc0582a36a786c31115e419c6e40498f6972";
259
259
+
src = fetchurl {
260
260
+
url = https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/4e25cc0582a36a786c31115e419c6e40498f6972;
261
261
+
sha256 = "1q2vkgyaz7h6z3q0z3v3l5rsvhv4xc45prgzr214cgm656i2h1ab";
262
262
+
};
263
263
+
};
264
264
+
};
265
265
+
"league/mime-type-detection" = {
266
266
+
targetDir = "";
267
267
+
src = composerEnv.buildZipPackage {
268
268
+
name = "league-mime-type-detection-3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3";
269
269
+
src = fetchurl {
270
270
+
url = https://api.github.com/repos/thephpleague/mime-type-detection/zipball/3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3;
271
271
+
sha256 = "0pmq486v2nf6672y2z53cyb3mfrxcc8n7z2ilpzz9zkkf2yb990j";
272
272
+
};
273
273
+
};
274
274
+
};
275
275
+
"league/oauth1-client" = {
276
276
+
targetDir = "";
277
277
+
src = composerEnv.buildZipPackage {
278
278
+
name = "league-oauth1-client-1e7e6be2dc543bf466236fb171e5b20e1b06aee6";
279
279
+
src = fetchurl {
280
280
+
url = https://api.github.com/repos/thephpleague/oauth1-client/zipball/1e7e6be2dc543bf466236fb171e5b20e1b06aee6;
281
281
+
sha256 = "1vmzvghl4c4k9vxza50k0w28hxm88vcrcdspqp7f3vmfg5c1zav2";
282
282
+
};
283
283
+
};
284
284
+
};
285
285
+
"monolog/monolog" = {
286
286
+
targetDir = "";
287
287
+
src = composerEnv.buildZipPackage {
288
288
+
name = "monolog-monolog-1cb1cde8e8dd0f70cc0fe51354a59acad9302084";
289
289
+
src = fetchurl {
290
290
+
url = https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084;
291
291
+
sha256 = "1gymdiymwrjw25fjqapq3jlmf6wnp1h26ms74sckd70d53c4m52k";
292
292
+
};
293
293
+
};
294
294
+
};
295
295
+
"mtdowling/jmespath.php" = {
296
296
+
targetDir = "";
297
297
+
src = composerEnv.buildZipPackage {
298
298
+
name = "mtdowling-jmespath.php-42dae2cbd13154083ca6d70099692fef8ca84bfb";
299
299
+
src = fetchurl {
300
300
+
url = https://api.github.com/repos/jmespath/jmespath.php/zipball/42dae2cbd13154083ca6d70099692fef8ca84bfb;
301
301
+
sha256 = "157pdx45dmkxwxyq8vdjfci24fw7kl3yc2gj1cifp9kaia7mwlkk";
302
302
+
};
303
303
+
};
304
304
+
};
305
305
+
"nesbot/carbon" = {
306
306
+
targetDir = "";
307
307
+
src = composerEnv.buildZipPackage {
308
308
+
name = "nesbot-carbon-528783b188bdb853eb21239b1722831e0f000a8d";
309
309
+
src = fetchurl {
310
310
+
url = https://api.github.com/repos/briannesbitt/Carbon/zipball/528783b188bdb853eb21239b1722831e0f000a8d;
311
311
+
sha256 = "18pvfwjvclfj0mrgqvycgrbyx5jfcp1hks4yljc6mp66yxr787x4";
312
312
+
};
313
313
+
};
314
314
+
};
315
315
+
"nunomaduro/collision" = {
316
316
+
targetDir = "";
317
317
+
src = composerEnv.buildZipPackage {
318
318
+
name = "nunomaduro-collision-f7c45764dfe4ba5f2618d265a6f1f9c72732e01d";
319
319
+
src = fetchurl {
320
320
+
url = https://api.github.com/repos/nunomaduro/collision/zipball/f7c45764dfe4ba5f2618d265a6f1f9c72732e01d;
321
321
+
sha256 = "1cazbjxl5rqw4cl783nrymhcvjhvwwwjswr5w0si1wfhmpvr349q";
322
322
+
};
323
323
+
};
324
324
+
};
325
325
+
"onelogin/php-saml" = {
326
326
+
targetDir = "";
327
327
+
src = composerEnv.buildZipPackage {
328
328
+
name = "onelogin-php-saml-a7328b11887660ad248ea10952dd67a5aa73ba3b";
329
329
+
src = fetchurl {
330
330
+
url = https://api.github.com/repos/onelogin/php-saml/zipball/a7328b11887660ad248ea10952dd67a5aa73ba3b;
331
331
+
sha256 = "0ycj3n22k5i3h8p7gn0xff6a7smjypazl2k5qvyzg86fjr7s3vfv";
332
332
+
};
333
333
+
};
334
334
+
};
335
335
+
"opis/closure" = {
336
336
+
targetDir = "";
337
337
+
src = composerEnv.buildZipPackage {
338
338
+
name = "opis-closure-943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5";
339
339
+
src = fetchurl {
340
340
+
url = https://api.github.com/repos/opis/closure/zipball/943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5;
341
341
+
sha256 = "0y47ldgzzv22c5dnsdzqmbrsicq6acjyba0119d3dc6wa3n7zqi6";
342
342
+
};
343
343
+
};
344
344
+
};
345
345
+
"paragonie/random_compat" = {
346
346
+
targetDir = "";
347
347
+
src = composerEnv.buildZipPackage {
348
348
+
name = "paragonie-random_compat-84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95";
349
349
+
src = fetchurl {
350
350
+
url = https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95;
351
351
+
sha256 = "03nsccdvcb79l64b7lsmx0n8ldf5z3v8niqr7bpp6wg401qp9p09";
352
352
+
};
353
353
+
};
354
354
+
};
355
355
+
"phenx/php-font-lib" = {
356
356
+
targetDir = "";
357
357
+
src = composerEnv.buildZipPackage {
358
358
+
name = "phenx-php-font-lib-ca6ad461f032145fff5971b5985e5af9e7fa88d8";
359
359
+
src = fetchurl {
360
360
+
url = https://api.github.com/repos/PhenX/php-font-lib/zipball/ca6ad461f032145fff5971b5985e5af9e7fa88d8;
361
361
+
sha256 = "0grirw04sfg38fd4h0yaks43s49cxr5bisrr4ligjig2q3rjai31";
362
362
+
};
363
363
+
};
364
364
+
};
365
365
+
"phenx/php-svg-lib" = {
366
366
+
targetDir = "";
367
367
+
src = composerEnv.buildZipPackage {
368
368
+
name = "phenx-php-svg-lib-5fa61b65e612ce1ae15f69b3d223cb14ecc60e32";
369
369
+
src = fetchurl {
370
370
+
url = https://api.github.com/repos/PhenX/php-svg-lib/zipball/5fa61b65e612ce1ae15f69b3d223cb14ecc60e32;
371
371
+
sha256 = "1jbkn7wm82y6pbyb7gx989k4yaprsc7xpa49nn4ywscmkz7ckd5y";
372
372
+
};
373
373
+
};
374
374
+
};
375
375
+
"php-parallel-lint/php-console-color" = {
376
376
+
targetDir = "";
377
377
+
src = composerEnv.buildZipPackage {
378
378
+
name = "php-parallel-lint-php-console-color-b6af326b2088f1ad3b264696c9fd590ec395b49e";
379
379
+
src = fetchurl {
380
380
+
url = https://api.github.com/repos/php-parallel-lint/PHP-Console-Color/zipball/b6af326b2088f1ad3b264696c9fd590ec395b49e;
381
381
+
sha256 = "030449mkpxs35y8dk336ls3bfdq3zjnxswnk5khlg45z5147cr3k";
382
382
+
};
383
383
+
};
384
384
+
};
385
385
+
"php-parallel-lint/php-console-highlighter" = {
386
386
+
targetDir = "";
387
387
+
src = composerEnv.buildZipPackage {
388
388
+
name = "php-parallel-lint-php-console-highlighter-21bf002f077b177f056d8cb455c5ed573adfdbb8";
389
389
+
src = fetchurl {
390
390
+
url = https://api.github.com/repos/php-parallel-lint/PHP-Console-Highlighter/zipball/21bf002f077b177f056d8cb455c5ed573adfdbb8;
391
391
+
sha256 = "013phmp5n6hp6mvlpbqbrih0zd8h7xc152dpzxxf49b0jczxh8y4";
392
392
+
};
393
393
+
};
394
394
+
};
395
395
+
"phpoption/phpoption" = {
396
396
+
targetDir = "";
397
397
+
src = composerEnv.buildZipPackage {
398
398
+
name = "phpoption-phpoption-994ecccd8f3283ecf5ac33254543eb0ac946d525";
399
399
+
src = fetchurl {
400
400
+
url = https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525;
401
401
+
sha256 = "1snrnfvqhnr5z9llf8kbqk9l97gfyp8gghmhi1ng8qx5xzv1anr7";
402
402
+
};
403
403
+
};
404
404
+
};
405
405
+
"predis/predis" = {
406
406
+
targetDir = "";
407
407
+
src = composerEnv.buildZipPackage {
408
408
+
name = "predis-predis-9930e933c67446962997b05201c69c2319bf26de";
409
409
+
src = fetchurl {
410
410
+
url = https://api.github.com/repos/predis/predis/zipball/9930e933c67446962997b05201c69c2319bf26de;
411
411
+
sha256 = "0qnpiyv96gs8yzy3b1ba918yw1pv8bgzw7skcf3k40ffpxsmkxv6";
412
412
+
};
413
413
+
};
414
414
+
};
415
415
+
"psr/container" = {
416
416
+
targetDir = "";
417
417
+
src = composerEnv.buildZipPackage {
418
418
+
name = "psr-container-b7ce3b176482dbbc1245ebf52b181af44c2cf55f";
419
419
+
src = fetchurl {
420
420
+
url = https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f;
421
421
+
sha256 = "0rkz64vgwb0gfi09klvgay4qnw993l1dc03vyip7d7m2zxi6cy4j";
422
422
+
};
423
423
+
};
424
424
+
};
425
425
+
"psr/http-client" = {
426
426
+
targetDir = "";
427
427
+
src = composerEnv.buildZipPackage {
428
428
+
name = "psr-http-client-2dfb5f6c5eff0e91e20e913f8c5452ed95b86621";
429
429
+
src = fetchurl {
430
430
+
url = https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621;
431
431
+
sha256 = "0cmkifa3ji1r8kn3y1rwg81rh8g2crvnhbv2am6d688dzsbw967v";
432
432
+
};
433
433
+
};
434
434
+
};
435
435
+
"psr/http-message" = {
436
436
+
targetDir = "";
437
437
+
src = composerEnv.buildZipPackage {
438
438
+
name = "psr-http-message-f6561bf28d520154e4b0ec72be95418abe6d9363";
439
439
+
src = fetchurl {
440
440
+
url = https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363;
441
441
+
sha256 = "195dd67hva9bmr52iadr4kyp2gw2f5l51lplfiay2pv6l9y4cf45";
442
442
+
};
443
443
+
};
444
444
+
};
445
445
+
"psr/log" = {
446
446
+
targetDir = "";
447
447
+
src = composerEnv.buildZipPackage {
448
448
+
name = "psr-log-0f73288fd15629204f9d42b7055f72dacbe811fc";
449
449
+
src = fetchurl {
450
450
+
url = https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc;
451
451
+
sha256 = "1npi9ggl4qll4sdxz1xgp8779ia73gwlpjxbb1f1cpl1wn4s42r4";
452
452
+
};
453
453
+
};
454
454
+
};
455
455
+
"psr/simple-cache" = {
456
456
+
targetDir = "";
457
457
+
src = composerEnv.buildZipPackage {
458
458
+
name = "psr-simple-cache-408d5eafb83c57f6365a3ca330ff23aa4a5fa39b";
459
459
+
src = fetchurl {
460
460
+
url = https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b;
461
461
+
sha256 = "1djgzclkamjxi9jy4m9ggfzgq1vqxaga2ip7l3cj88p7rwkzjxgw";
462
462
+
};
463
463
+
};
464
464
+
};
465
465
+
"ralouphie/getallheaders" = {
466
466
+
targetDir = "";
467
467
+
src = composerEnv.buildZipPackage {
468
468
+
name = "ralouphie-getallheaders-120b605dfeb996808c31b6477290a714d356e822";
469
469
+
src = fetchurl {
470
470
+
url = https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822;
471
471
+
sha256 = "1bv7ndkkankrqlr2b4kw7qp3fl0dxi6bp26bnim6dnlhavd6a0gg";
472
472
+
};
473
473
+
};
474
474
+
};
475
475
+
"ramsey/uuid" = {
476
476
+
targetDir = "";
477
477
+
src = composerEnv.buildZipPackage {
478
478
+
name = "ramsey-uuid-7e1633a6964b48589b142d60542f9ed31bd37a92";
479
479
+
src = fetchurl {
480
480
+
url = https://api.github.com/repos/ramsey/uuid/zipball/7e1633a6964b48589b142d60542f9ed31bd37a92;
481
481
+
sha256 = "0s6z2c8jvwjmxzy2kqmxqpz0val9i5r757mdwf2yc7qrwm6bwd15";
482
482
+
};
483
483
+
};
484
484
+
};
485
485
+
"robrichards/xmlseclibs" = {
486
486
+
targetDir = "";
487
487
+
src = composerEnv.buildZipPackage {
488
488
+
name = "robrichards-xmlseclibs-f8f19e58f26cdb42c54b214ff8a820760292f8df";
489
489
+
src = fetchurl {
490
490
+
url = https://api.github.com/repos/robrichards/xmlseclibs/zipball/f8f19e58f26cdb42c54b214ff8a820760292f8df;
491
491
+
sha256 = "01zlpm36rrdj310cfmiz2fnabszxd3fq80fa8x8j3f9ki7dvhh5y";
492
492
+
};
493
493
+
};
494
494
+
};
495
495
+
"sabberworm/php-css-parser" = {
496
496
+
targetDir = "";
497
497
+
src = composerEnv.buildZipPackage {
498
498
+
name = "sabberworm-php-css-parser-d217848e1396ef962fb1997cf3e2421acba7f796";
499
499
+
src = fetchurl {
500
500
+
url = https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/d217848e1396ef962fb1997cf3e2421acba7f796;
501
501
+
sha256 = "17jkly8k02p54qa004spikakxis8syjw3vhwgrsi9g1cb4wsg3g9";
502
502
+
};
503
503
+
};
504
504
+
};
505
505
+
"scrivo/highlight.php" = {
506
506
+
targetDir = "";
507
507
+
src = composerEnv.buildZipPackage {
508
508
+
name = "scrivo-highlight.php-44a3d4136edb5ad8551590bf90f437db80b2d466";
509
509
+
src = fetchurl {
510
510
+
url = https://api.github.com/repos/scrivo/highlight.php/zipball/44a3d4136edb5ad8551590bf90f437db80b2d466;
511
511
+
sha256 = "0p0bj3yqiaa917lgx4ycwic2qqlg3cxka2adhziqzhlq9jqhzi8r";
512
512
+
};
513
513
+
};
514
514
+
};
515
515
+
"socialiteproviders/discord" = {
516
516
+
targetDir = "";
517
517
+
src = composerEnv.buildZipPackage {
518
518
+
name = "socialiteproviders-discord-c6eddeb07ace7473e82d02d4db852dfacf5ef574";
519
519
+
src = fetchurl {
520
520
+
url = https://api.github.com/repos/SocialiteProviders/Discord/zipball/c6eddeb07ace7473e82d02d4db852dfacf5ef574;
521
521
+
sha256 = "1w8m7jmlsdk94cqckgd75mwblh3jj6j16w3g4hzysyms25g091xc";
522
522
+
};
523
523
+
};
524
524
+
};
525
525
+
"socialiteproviders/gitlab" = {
526
526
+
targetDir = "";
527
527
+
src = composerEnv.buildZipPackage {
528
528
+
name = "socialiteproviders-gitlab-a8f67d3b02c9ee8c70c25c6728417c0eddcbbb9d";
529
529
+
src = fetchurl {
530
530
+
url = https://api.github.com/repos/SocialiteProviders/GitLab/zipball/a8f67d3b02c9ee8c70c25c6728417c0eddcbbb9d;
531
531
+
sha256 = "1blv2h69dmm0r0djz3h0l0cxkxmzd1fzgg13r3npxx7c80xjpw3a";
532
532
+
};
533
533
+
};
534
534
+
};
535
535
+
"socialiteproviders/manager" = {
536
536
+
targetDir = "";
537
537
+
src = composerEnv.buildZipPackage {
538
538
+
name = "socialiteproviders-manager-0f5e82af0404df0080bdc5c105cef936c1711524";
539
539
+
src = fetchurl {
540
540
+
url = https://api.github.com/repos/SocialiteProviders/Manager/zipball/0f5e82af0404df0080bdc5c105cef936c1711524;
541
541
+
sha256 = "0ppmln72khli94ylnsjarnhzkqzpkc32pn3zf3ljahm1yghccczx";
542
542
+
};
543
543
+
};
544
544
+
};
545
545
+
"socialiteproviders/microsoft-azure" = {
546
546
+
targetDir = "";
547
547
+
src = composerEnv.buildZipPackage {
548
548
+
name = "socialiteproviders-microsoft-azure-7808764f777a01df88be9ca6b14d683e50aaf88a";
549
549
+
src = fetchurl {
550
550
+
url = https://api.github.com/repos/SocialiteProviders/Microsoft-Azure/zipball/7808764f777a01df88be9ca6b14d683e50aaf88a;
551
551
+
sha256 = "1lxsvb5pzqrm467a8737v98sgmsxs6mvxc683p19b2y30g4fyrlj";
552
552
+
};
553
553
+
};
554
554
+
};
555
555
+
"socialiteproviders/okta" = {
556
556
+
targetDir = "";
557
557
+
src = composerEnv.buildZipPackage {
558
558
+
name = "socialiteproviders-okta-e3ef9f23c7d2f86b3b16a174b82333cf4e2459e8";
559
559
+
src = fetchurl {
560
560
+
url = https://api.github.com/repos/SocialiteProviders/Okta/zipball/e3ef9f23c7d2f86b3b16a174b82333cf4e2459e8;
561
561
+
sha256 = "1a3anw5di5nqiabvqpmsjv5x0jasmsn4y876qsv77gazxja880ng";
562
562
+
};
563
563
+
};
564
564
+
};
565
565
+
"socialiteproviders/slack" = {
566
566
+
targetDir = "";
567
567
+
src = composerEnv.buildZipPackage {
568
568
+
name = "socialiteproviders-slack-8efb25c71d98bedf4010a829d1e41ff9fe449bcc";
569
569
+
src = fetchurl {
570
570
+
url = https://api.github.com/repos/SocialiteProviders/Slack/zipball/8efb25c71d98bedf4010a829d1e41ff9fe449bcc;
571
571
+
sha256 = "0ax3n4s1djidkhgvrcgv1qipv3k0fhfd0cvs273h6wh66bjniq66";
572
572
+
};
573
573
+
};
574
574
+
};
575
575
+
"socialiteproviders/twitch" = {
576
576
+
targetDir = "";
577
577
+
src = composerEnv.buildZipPackage {
578
578
+
name = "socialiteproviders-twitch-7accf30ae7a3139b757b4ca8f34989c09a3dbee7";
579
579
+
src = fetchurl {
580
580
+
url = https://api.github.com/repos/SocialiteProviders/Twitch/zipball/7accf30ae7a3139b757b4ca8f34989c09a3dbee7;
581
581
+
sha256 = "089i4fwxb32zmbxib0544jfs48wzjyp7bsqss2bf2xx89dsrx4ah";
582
582
+
};
583
583
+
};
584
584
+
};
585
585
+
"ssddanbrown/htmldiff" = {
586
586
+
targetDir = "";
587
587
+
src = composerEnv.buildZipPackage {
588
588
+
name = "ssddanbrown-htmldiff-f60d5cc278b60305ab980a6665f46117c5b589c0";
589
589
+
src = fetchurl {
590
590
+
url = https://api.github.com/repos/ssddanbrown/HtmlDiff/zipball/f60d5cc278b60305ab980a6665f46117c5b589c0;
591
591
+
sha256 = "12h3swr8rjf5w78kfgwzkf0zb59b4a8mjwf65fgcgvjg115wha9x";
592
592
+
};
593
593
+
};
594
594
+
};
595
595
+
"swiftmailer/swiftmailer" = {
596
596
+
targetDir = "";
597
597
+
src = composerEnv.buildZipPackage {
598
598
+
name = "swiftmailer-swiftmailer-698a6a9f54d7eb321274de3ad19863802c879fb7";
599
599
+
src = fetchurl {
600
600
+
url = https://api.github.com/repos/swiftmailer/swiftmailer/zipball/698a6a9f54d7eb321274de3ad19863802c879fb7;
601
601
+
sha256 = "1zmyr6szxvbc77rs4q1cp7f3vzw1wfx9rbbj7x9s65gh37z9fd1w";
602
602
+
};
603
603
+
};
604
604
+
};
605
605
+
"symfony/console" = {
606
606
+
targetDir = "";
607
607
+
src = composerEnv.buildZipPackage {
608
608
+
name = "symfony-console-24026c44fc37099fa145707fecd43672831b837a";
609
609
+
src = fetchurl {
610
610
+
url = https://api.github.com/repos/symfony/console/zipball/24026c44fc37099fa145707fecd43672831b837a;
611
611
+
sha256 = "19c5yczwxk0965pdg7ka8sa8wsr569r6l725rj4y9sabfd6mg6jf";
612
612
+
};
613
613
+
};
614
614
+
};
615
615
+
"symfony/css-selector" = {
616
616
+
targetDir = "";
617
617
+
src = composerEnv.buildZipPackage {
618
618
+
name = "symfony-css-selector-f907d3e53ecb2a5fad8609eb2f30525287a734c8";
619
619
+
src = fetchurl {
620
620
+
url = https://api.github.com/repos/symfony/css-selector/zipball/f907d3e53ecb2a5fad8609eb2f30525287a734c8;
621
621
+
sha256 = "19yqy81psz2wh8gy2j3phywsgrw9sbcw83l8lbnxbk5khg8hw3nm";
622
622
+
};
623
623
+
};
624
624
+
};
625
625
+
"symfony/debug" = {
626
626
+
targetDir = "";
627
627
+
src = composerEnv.buildZipPackage {
628
628
+
name = "symfony-debug-af4987aa4a5630e9615be9d9c3ed1b0f24ca449c";
629
629
+
src = fetchurl {
630
630
+
url = https://api.github.com/repos/symfony/debug/zipball/af4987aa4a5630e9615be9d9c3ed1b0f24ca449c;
631
631
+
sha256 = "15y1bgdrzq3859ql37ymx4fsvd28kyck69ncm6zyg84q3fhd8i19";
632
632
+
};
633
633
+
};
634
634
+
};
635
635
+
"symfony/deprecation-contracts" = {
636
636
+
targetDir = "";
637
637
+
src = composerEnv.buildZipPackage {
638
638
+
name = "symfony-deprecation-contracts-5fa56b4074d1ae755beb55617ddafe6f5d78f665";
639
639
+
src = fetchurl {
640
640
+
url = https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665;
641
641
+
sha256 = "0ny59x0aaipqaj956wx7ak5f6d5rn90766swp5m18019v9cppg10";
642
642
+
};
643
643
+
};
644
644
+
};
645
645
+
"symfony/error-handler" = {
646
646
+
targetDir = "";
647
647
+
src = composerEnv.buildZipPackage {
648
648
+
name = "symfony-error-handler-d603654eaeb713503bba3e308b9e748e5a6d3f2e";
649
649
+
src = fetchurl {
650
650
+
url = https://api.github.com/repos/symfony/error-handler/zipball/d603654eaeb713503bba3e308b9e748e5a6d3f2e;
651
651
+
sha256 = "15xdk9bbyfdm8yf19jfb3zr1yaj0lprf9pmxgj630vbpbqkgsd8f";
652
652
+
};
653
653
+
};
654
654
+
};
655
655
+
"symfony/event-dispatcher" = {
656
656
+
targetDir = "";
657
657
+
src = composerEnv.buildZipPackage {
658
658
+
name = "symfony-event-dispatcher-c352647244bd376bf7d31efbd5401f13f50dad0c";
659
659
+
src = fetchurl {
660
660
+
url = https://api.github.com/repos/symfony/event-dispatcher/zipball/c352647244bd376bf7d31efbd5401f13f50dad0c;
661
661
+
sha256 = "1cxgn0y83i4qqx757kq96jadwwbc68h11snhvy175xvy8nvsmxkd";
662
662
+
};
663
663
+
};
664
664
+
};
665
665
+
"symfony/event-dispatcher-contracts" = {
666
666
+
targetDir = "";
667
667
+
src = composerEnv.buildZipPackage {
668
668
+
name = "symfony-event-dispatcher-contracts-84e23fdcd2517bf37aecbd16967e83f0caee25a7";
669
669
+
src = fetchurl {
670
670
+
url = https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/84e23fdcd2517bf37aecbd16967e83f0caee25a7;
671
671
+
sha256 = "1pcfrlc0rg8vdnp23y3y1p5qzng5nxf5i2c36g9x9f480xrnc1fw";
672
672
+
};
673
673
+
};
674
674
+
};
675
675
+
"symfony/finder" = {
676
676
+
targetDir = "";
677
677
+
src = composerEnv.buildZipPackage {
678
678
+
name = "symfony-finder-25d79cfccfc12e84e7a63a248c3f0720fdd92db6";
679
679
+
src = fetchurl {
680
680
+
url = https://api.github.com/repos/symfony/finder/zipball/25d79cfccfc12e84e7a63a248c3f0720fdd92db6;
681
681
+
sha256 = "04fwddn12sj6vzr5xr4xd25m86cn4l15079490h3q3igprzvrqk8";
682
682
+
};
683
683
+
};
684
684
+
};
685
685
+
"symfony/http-client-contracts" = {
686
686
+
targetDir = "";
687
687
+
src = composerEnv.buildZipPackage {
688
688
+
name = "symfony-http-client-contracts-41db680a15018f9c1d4b23516059633ce280ca33";
689
689
+
src = fetchurl {
690
690
+
url = https://api.github.com/repos/symfony/http-client-contracts/zipball/41db680a15018f9c1d4b23516059633ce280ca33;
691
691
+
sha256 = "1iia9rpbri1whp2dw4qfhh90gmkdvxhgjwxi54q7wlnlhijgga81";
692
692
+
};
693
693
+
};
694
694
+
};
695
695
+
"symfony/http-foundation" = {
696
696
+
targetDir = "";
697
697
+
src = composerEnv.buildZipPackage {
698
698
+
name = "symfony-http-foundation-8888741b633f6c3d1e572b7735ad2cae3e03f9c5";
699
699
+
src = fetchurl {
700
700
+
url = https://api.github.com/repos/symfony/http-foundation/zipball/8888741b633f6c3d1e572b7735ad2cae3e03f9c5;
701
701
+
sha256 = "0qs389nxxqc6nwx5x6b9kz8ykdlhdx7k8k6nd2apppxpqalvk6sw";
702
702
+
};
703
703
+
};
704
704
+
};
705
705
+
"symfony/http-kernel" = {
706
706
+
targetDir = "";
707
707
+
src = composerEnv.buildZipPackage {
708
708
+
name = "symfony-http-kernel-07ea794a327d7c8c5d76e3058fde9fec6a711cb4";
709
709
+
src = fetchurl {
710
710
+
url = https://api.github.com/repos/symfony/http-kernel/zipball/07ea794a327d7c8c5d76e3058fde9fec6a711cb4;
711
711
+
sha256 = "0mnay6nn299ljjgaqqbk8kcl431wrzvzsqybvl648pf513mp9vy9";
712
712
+
};
713
713
+
};
714
714
+
};
715
715
+
"symfony/mime" = {
716
716
+
targetDir = "";
717
717
+
src = composerEnv.buildZipPackage {
718
718
+
name = "symfony-mime-7dee6a43493f39b51ff6c5bb2bd576fe40a76c86";
719
719
+
src = fetchurl {
720
720
+
url = https://api.github.com/repos/symfony/mime/zipball/7dee6a43493f39b51ff6c5bb2bd576fe40a76c86;
721
721
+
sha256 = "0931zsmnpx75b9b34a03l0sfp22mailaa2y5az3cgx9v0bkc0vka";
722
722
+
};
723
723
+
};
724
724
+
};
725
725
+
"symfony/polyfill-ctype" = {
726
726
+
targetDir = "";
727
727
+
src = composerEnv.buildZipPackage {
728
728
+
name = "symfony-polyfill-ctype-c6c942b1ac76c82448322025e084cadc56048b4e";
729
729
+
src = fetchurl {
730
730
+
url = https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e;
731
731
+
sha256 = "0jpk859wx74vm03q5s9z25f4ak2138p2x5q3b587wvy8rq2m4pbd";
732
732
+
};
733
733
+
};
734
734
+
};
735
735
+
"symfony/polyfill-iconv" = {
736
736
+
targetDir = "";
737
737
+
src = composerEnv.buildZipPackage {
738
738
+
name = "symfony-polyfill-iconv-06fb361659649bcfd6a208a0f1fcaf4e827ad342";
739
739
+
src = fetchurl {
740
740
+
url = https://api.github.com/repos/symfony/polyfill-iconv/zipball/06fb361659649bcfd6a208a0f1fcaf4e827ad342;
741
741
+
sha256 = "0glb56w5q4v2j629rkndp2c7v4mcs6xdl14nwaaxy85lr5w4ixnq";
742
742
+
};
743
743
+
};
744
744
+
};
745
745
+
"symfony/polyfill-intl-idn" = {
746
746
+
targetDir = "";
747
747
+
src = composerEnv.buildZipPackage {
748
748
+
name = "symfony-polyfill-intl-idn-2d63434d922daf7da8dd863e7907e67ee3031483";
749
749
+
src = fetchurl {
750
750
+
url = https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/2d63434d922daf7da8dd863e7907e67ee3031483;
751
751
+
sha256 = "0sk592qrdb6dvk6v8msjva8p672qmhmnzkw1lw53gks0xrc20xjy";
752
752
+
};
753
753
+
};
754
754
+
};
755
755
+
"symfony/polyfill-intl-normalizer" = {
756
756
+
targetDir = "";
757
757
+
src = composerEnv.buildZipPackage {
758
758
+
name = "symfony-polyfill-intl-normalizer-43a0283138253ed1d48d352ab6d0bdb3f809f248";
759
759
+
src = fetchurl {
760
760
+
url = https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/43a0283138253ed1d48d352ab6d0bdb3f809f248;
761
761
+
sha256 = "04irkl6aks8zyfy17ni164060liihfyraqm1fmpjbs5hq0b14sc9";
762
762
+
};
763
763
+
};
764
764
+
};
765
765
+
"symfony/polyfill-mbstring" = {
766
766
+
targetDir = "";
767
767
+
src = composerEnv.buildZipPackage {
768
768
+
name = "symfony-polyfill-mbstring-5232de97ee3b75b0360528dae24e73db49566ab1";
769
769
+
src = fetchurl {
770
770
+
url = https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1;
771
771
+
sha256 = "1mm670fxj2x72a9mbkyzs3yifpp6glravq2ss438bags1xf6psz8";
772
772
+
};
773
773
+
};
774
774
+
};
775
775
+
"symfony/polyfill-php72" = {
776
776
+
targetDir = "";
777
777
+
src = composerEnv.buildZipPackage {
778
778
+
name = "symfony-polyfill-php72-cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9";
779
779
+
src = fetchurl {
780
780
+
url = https://api.github.com/repos/symfony/polyfill-php72/zipball/cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9;
781
781
+
sha256 = "12dmz2n1b9pqqd758ja0c8h8h5dxdai5ik74iwvaxc5xn86a026b";
782
782
+
};
783
783
+
};
784
784
+
};
785
785
+
"symfony/polyfill-php73" = {
786
786
+
targetDir = "";
787
787
+
src = composerEnv.buildZipPackage {
788
788
+
name = "symfony-polyfill-php73-a678b42e92f86eca04b7fa4c0f6f19d097fb69e2";
789
789
+
src = fetchurl {
790
790
+
url = https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2;
791
791
+
sha256 = "10rq2x2q9hsdzskrz0aml5qcji27ypxam324044fi24nl60fyzg0";
792
792
+
};
793
793
+
};
794
794
+
};
795
795
+
"symfony/polyfill-php80" = {
796
796
+
targetDir = "";
797
797
+
src = composerEnv.buildZipPackage {
798
798
+
name = "symfony-polyfill-php80-dc3063ba22c2a1fd2f45ed856374d79114998f91";
799
799
+
src = fetchurl {
800
800
+
url = https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91;
801
801
+
sha256 = "1mhfjibk7mqyzlqpz6jjpxpd93fnfw0nik140x3mq1d2blg5cbvd";
802
802
+
};
803
803
+
};
804
804
+
};
805
805
+
"symfony/process" = {
806
806
+
targetDir = "";
807
807
+
src = composerEnv.buildZipPackage {
808
808
+
name = "symfony-process-7e950b6366d4da90292c2e7fa820b3c1842b965a";
809
809
+
src = fetchurl {
810
810
+
url = https://api.github.com/repos/symfony/process/zipball/7e950b6366d4da90292c2e7fa820b3c1842b965a;
811
811
+
sha256 = "07ykgz5bjd45izf5n6jm2n27wcaa7aih2wlsiln1ffj9vqd6l1s4";
812
812
+
};
813
813
+
};
814
814
+
};
815
815
+
"symfony/routing" = {
816
816
+
targetDir = "";
817
817
+
src = composerEnv.buildZipPackage {
818
818
+
name = "symfony-routing-87529f6e305c7acb162840d1ea57922038072425";
819
819
+
src = fetchurl {
820
820
+
url = https://api.github.com/repos/symfony/routing/zipball/87529f6e305c7acb162840d1ea57922038072425;
821
821
+
sha256 = "0qrgacividsp7c61y03qh8lb4vj30g0mvljnm5k60h4zzdmivlgc";
822
822
+
};
823
823
+
};
824
824
+
};
825
825
+
"symfony/service-contracts" = {
826
826
+
targetDir = "";
827
827
+
src = composerEnv.buildZipPackage {
828
828
+
name = "symfony-service-contracts-d15da7ba4957ffb8f1747218be9e1a121fd298a1";
829
829
+
src = fetchurl {
830
830
+
url = https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1;
831
831
+
sha256 = "168iq1lp2r5qb5h8j0s17da09iaj2h5hrrdc9rw2p73hq8rvm1w2";
832
832
+
};
833
833
+
};
834
834
+
};
835
835
+
"symfony/translation" = {
836
836
+
targetDir = "";
837
837
+
src = composerEnv.buildZipPackage {
838
838
+
name = "symfony-translation-e1d0c67167a553556d9f974b5fa79c2448df317a";
839
839
+
src = fetchurl {
840
840
+
url = https://api.github.com/repos/symfony/translation/zipball/e1d0c67167a553556d9f974b5fa79c2448df317a;
841
841
+
sha256 = "1b6fj278i1wdf4l7py9n86lmhrqmzvjy7kapjpfkz03adn2ps127";
842
842
+
};
843
843
+
};
844
844
+
};
845
845
+
"symfony/translation-contracts" = {
846
846
+
targetDir = "";
847
847
+
src = composerEnv.buildZipPackage {
848
848
+
name = "symfony-translation-contracts-e2eaa60b558f26a4b0354e1bbb25636efaaad105";
849
849
+
src = fetchurl {
850
850
+
url = https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105;
851
851
+
sha256 = "1k26yvgk84rz6ja9ml6l6iwbbi68qsqnq2cpky044g9ymvlg8d5g";
852
852
+
};
853
853
+
};
854
854
+
};
855
855
+
"symfony/var-dumper" = {
856
856
+
targetDir = "";
857
857
+
src = composerEnv.buildZipPackage {
858
858
+
name = "symfony-var-dumper-a1eab2f69906dc83c5ddba4632180260d0ab4f7f";
859
859
+
src = fetchurl {
860
860
+
url = https://api.github.com/repos/symfony/var-dumper/zipball/a1eab2f69906dc83c5ddba4632180260d0ab4f7f;
861
861
+
sha256 = "1yw12jbx6gf5mvg7jrr1v57ah3b2s4hflz2p1m98nayi4qhdp20m";
862
862
+
};
863
863
+
};
864
864
+
};
865
865
+
"tijsverkoyen/css-to-inline-styles" = {
866
866
+
targetDir = "";
867
867
+
src = composerEnv.buildZipPackage {
868
868
+
name = "tijsverkoyen-css-to-inline-styles-b43b05cf43c1b6d849478965062b6ef73e223bb5";
869
869
+
src = fetchurl {
870
870
+
url = https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5;
871
871
+
sha256 = "0lc6jviz8faqxxs453dbqvfdmm6l2iczxla22v2r6xhakl58pf3w";
872
872
+
};
873
873
+
};
874
874
+
};
875
875
+
"vlucas/phpdotenv" = {
876
876
+
targetDir = "";
877
877
+
src = composerEnv.buildZipPackage {
878
878
+
name = "vlucas-phpdotenv-5e679f7616db829358341e2d5cccbd18773bdab8";
879
879
+
src = fetchurl {
880
880
+
url = https://api.github.com/repos/vlucas/phpdotenv/zipball/5e679f7616db829358341e2d5cccbd18773bdab8;
881
881
+
sha256 = "05j5wj1hry30vaqna4a232gjlibp89ha3ibhy04x5lbm0c98b73q";
882
882
+
};
883
883
+
};
884
884
+
};
885
885
+
};
886
886
+
devPackages = {};
887
887
+
in
888
888
+
composerEnv.buildPackage {
889
889
+
inherit packages devPackages noDev;
890
890
+
name = "bookstack";
891
891
+
src = ./.;
892
892
+
executable = false;
893
893
+
symlinkDependencies = false;
894
894
+
meta = {
895
895
+
license = "MIT";
896
896
+
};
897
897
+
}
+50
pkgs/servers/web-apps/bookstack/update.sh
···
1
1
+
#!/usr/bin/env nix-shell
2
2
+
#! nix-shell -i bash -p nix curl jq nix-update
3
3
+
4
4
+
# check if composer2nix is installed
5
5
+
if ! command -v composer2nix &> /dev/null; then
6
6
+
echo "Please install composer2nix (https://github.com/svanderburg/composer2nix) to run this script."
7
7
+
exit 1
8
8
+
fi
9
9
+
10
10
+
CURRENT_VERSION=$(nix eval --raw '(with import ../../../.. {}; bookstack.version)')
11
11
+
TARGET_VERSION_REMOTE=$(curl https://api.github.com/repos/bookstackapp/bookstack/releases/latest | jq -r ".tag_name")
12
12
+
TARGET_VERSION=${TARGET_VERSION_REMOTE:1}
13
13
+
BOOKSTACK=https://github.com/bookstackapp/bookstack/raw/$TARGET_VERSION_REMOTE
14
14
+
SHA256=$(nix-prefetch-url --unpack "https://github.com/bookstackapp/bookstack/archive/v$TARGET_VERSION/bookstack.tar.gz")
15
15
+
16
16
+
if [[ "$CURRENT_VERSION" == "$TARGET_VERSION" ]]; then
17
17
+
echo "bookstack is up-to-date: ${CURRENT_VERSION}"
18
18
+
exit 0
19
19
+
fi
20
20
+
21
21
+
curl -LO "$BOOKSTACK/composer.json"
22
22
+
curl -LO "$BOOKSTACK/composer.lock"
23
23
+
24
24
+
composer2nix --name "bookstack" \
25
25
+
--composition=composition.nix \
26
26
+
--no-dev
27
27
+
rm composer.json composer.lock
28
28
+
29
29
+
# change version number
30
30
+
sed -e "s/version =.*;/version = \"$TARGET_VERSION\";/g" \
31
31
+
-e "s/sha256 =.*;/sha256 = \"$SHA256\";/g" \
32
32
+
-i ./default.nix
33
33
+
34
34
+
# fix composer-env.nix
35
35
+
sed -e "s/stdenv\.lib/lib/g" \
36
36
+
-e '3s/stdenv, writeTextFile/stdenv, lib, writeTextFile/' \
37
37
+
-i ./composer-env.nix
38
38
+
39
39
+
# fix composition.nix
40
40
+
sed -e '7s/stdenv writeTextFile/stdenv lib writeTextFile/' \
41
41
+
-i composition.nix
42
42
+
43
43
+
# fix missing newline
44
44
+
echo "" >> composition.nix
45
45
+
echo "" >> php-packages.nix
46
46
+
47
47
+
cd ../../../..
48
48
+
nix-build -A bookstack
49
49
+
50
50
+
exit $?
+2
pkgs/top-level/all-packages.nix
···
1643
1643
1644
1644
boringtun = callPackage ../tools/networking/boringtun { };
1645
1645
1646
1646
+
bookstack = callPackage ../servers/web-apps/bookstack { };
1647
1647
+
1646
1648
# Upstream recommends qt5.12 and it doesn't build with qt5.15
1647
1649
boomerang = libsForQt512.callPackage ../development/tools/boomerang { };
1648
1650