bookstack: init at 0.31.7

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