diff options
Diffstat (limited to 'virtual')
124 files changed, 0 insertions, 35485 deletions
diff --git a/virtual/eldiron.nix b/virtual/eldiron.nix deleted file mode 100644 index 337ea2f..0000000 --- a/virtual/eldiron.nix +++ /dev/null | |||
@@ -1,92 +0,0 @@ | |||
1 | { | ||
2 | network = { | ||
3 | description = "Immae's network"; | ||
4 | enableRollback = true; | ||
5 | }; | ||
6 | |||
7 | eldiron = { config, pkgs, mylibs, myconfig, ... }: | ||
8 | with mylibs; | ||
9 | { | ||
10 | _module.args = { | ||
11 | mylibs = import ../libs.nix; | ||
12 | myconfig = { | ||
13 | env = import ./environment.nix; | ||
14 | ips = { | ||
15 | main = "176.9.151.89"; | ||
16 | production = "176.9.151.154"; | ||
17 | integration = "176.9.151.155"; | ||
18 | }; | ||
19 | }; | ||
20 | }; | ||
21 | |||
22 | imports = [ | ||
23 | ./modules/certificates.nix | ||
24 | ./modules/gitolite | ||
25 | ./modules/databases | ||
26 | ./modules/websites | ||
27 | ]; | ||
28 | services.myGitolite.enable = true; | ||
29 | services.myDatabases.enable = true; | ||
30 | services.myWebsites.production.enable = true; | ||
31 | services.myWebsites.integration.enable = true; | ||
32 | services.myWebsites.tools.enable = true; | ||
33 | |||
34 | networking = { | ||
35 | firewall = { | ||
36 | enable = true; | ||
37 | allowedTCPPorts = [ 22 ]; | ||
38 | }; | ||
39 | }; | ||
40 | |||
41 | deployment = { | ||
42 | targetEnv = "hetzner"; | ||
43 | hetzner = { | ||
44 | robotUser = myconfig.env.hetzner.user; | ||
45 | robotPass = myconfig.env.hetzner.pass; | ||
46 | mainIPv4 = myconfig.ips.main; | ||
47 | partitions = '' | ||
48 | clearpart --all --initlabel --drives=sda,sdb | ||
49 | |||
50 | part swap1 --recommended --label=swap1 --fstype=swap --ondisk=sda | ||
51 | part swap2 --recommended --label=swap2 --fstype=swap --ondisk=sdb | ||
52 | |||
53 | part raid.1 --grow --ondisk=sda | ||
54 | part raid.2 --grow --ondisk=sdb | ||
55 | |||
56 | raid / --level=1 --device=md0 --fstype=ext4 --label=root raid.1 raid.2 | ||
57 | ''; | ||
58 | }; | ||
59 | }; | ||
60 | |||
61 | environment.systemPackages = [ | ||
62 | pkgs.telnet | ||
63 | pkgs.htop | ||
64 | pkgs.vim | ||
65 | ]; | ||
66 | |||
67 | services.openssh.extraConfig = '' | ||
68 | AuthorizedKeysCommand /etc/ssh/ldap_authorized_keys | ||
69 | AuthorizedKeysCommandUser nobody | ||
70 | ''; | ||
71 | |||
72 | environment.etc."ssh/ldap_authorized_keys" = let | ||
73 | ldap_authorized_keys = | ||
74 | wrap { | ||
75 | name = "ldap_authorized_keys"; | ||
76 | file = ./ldap_authorized_keys.sh; | ||
77 | vars = { | ||
78 | LDAP_PASS = myconfig.env.sshd.ldap.password; | ||
79 | GITOLITE_SHELL = "${pkgs.gitolite}/bin/gitolite-shell"; | ||
80 | ECHO = "${pkgs.coreutils}/bin/echo"; | ||
81 | }; | ||
82 | paths = [ pkgs.openldap pkgs.stdenv.shellPackage pkgs.gnugrep pkgs.gnused pkgs.coreutils ]; | ||
83 | }; | ||
84 | in { | ||
85 | enable = true; | ||
86 | mode = "0755"; | ||
87 | user = "root"; | ||
88 | source = ldap_authorized_keys; | ||
89 | }; | ||
90 | |||
91 | }; | ||
92 | } | ||
diff --git a/virtual/ldap_authorized_keys.sh b/virtual/ldap_authorized_keys.sh deleted file mode 100755 index e8d7a64..0000000 --- a/virtual/ldap_authorized_keys.sh +++ /dev/null | |||
@@ -1,150 +0,0 @@ | |||
1 | #!/usr/bin/env bash | ||
2 | |||
3 | LDAPSEARCH=ldapsearch | ||
4 | KEY="immaeSshKey" | ||
5 | LDAP_BIND="cn=ssh,ou=services,dc=immae,dc=eu" | ||
6 | #LDAP_PASS="password taken from environment" | ||
7 | LDAP_HOST="ldap.immae.eu" | ||
8 | LDAP_MEMBER="cn=users,cn=ssh,ou=services,dc=immae,dc=eu" | ||
9 | LDAP_GITOLITE_MEMBER="cn=users,cn=gitolite,ou=services,dc=immae,dc=eu" | ||
10 | LDAP_PUB_RESTRICT_MEMBER="cn=restrict,cn=pub,ou=services,dc=immae,dc=eu" | ||
11 | LDAP_PUB_FORWARD_MEMBER="cn=forward,cn=pub,ou=services,dc=immae,dc=eu" | ||
12 | LDAP_BASE="dc=immae,dc=eu" | ||
13 | |||
14 | suitable_for() { | ||
15 | type_for="$1" | ||
16 | key="$2" | ||
17 | |||
18 | if [[ $key != *$'\n'* ]] && [[ $key == ssh-* ]]; then | ||
19 | echo "$key" | ||
20 | else | ||
21 | key_type=$(cut -d " " -f 1 <<< "$key") | ||
22 | |||
23 | if grep -q "\b-$type_for\b" <<< "$key_type"; then | ||
24 | echo "" | ||
25 | elif grep -q "\b$type_for\b" <<< "$key_type"; then | ||
26 | echo $(sed -e "s/^[^ ]* //g" <<< "$key") | ||
27 | else | ||
28 | echo "" | ||
29 | fi | ||
30 | fi | ||
31 | } | ||
32 | |||
33 | clean_key_line() { | ||
34 | type_for="$1" | ||
35 | line="$2" | ||
36 | |||
37 | if [[ "$line" == $KEY::* ]]; then | ||
38 | # base64 keys should't happen, unless wrong copy-pasting | ||
39 | key="" | ||
40 | else | ||
41 | key=$(sed -e "s/^$KEY: *//" -e "s/ *$//" <<< "$line") | ||
42 | fi | ||
43 | |||
44 | suitable_for "$type_for" "$key" | ||
45 | } | ||
46 | |||
47 | ldap_search() { | ||
48 | $LDAPSEARCH -h $LDAP_HOST -b $LDAP_BASE -D $LDAP_BIND -w "$LDAP_PASS" -x -o ldif-wrap=no -LLL "$@" | ||
49 | } | ||
50 | |||
51 | ldap_keys() { | ||
52 | user=$1; | ||
53 | if [[ $user == gitolite ]]; then | ||
54 | ldap_search '(&(memberOf='$LDAP_GITOLITE_MEMBER')('$KEY'=*))' $KEY | \ | ||
55 | while read line ; | ||
56 | do | ||
57 | if [ ! -z "$line" ]; then | ||
58 | if [[ $line == dn* ]]; then | ||
59 | user=$(sed -n 's/.*uid=\([^,]*\).*/\1/p' <<< "$line") | ||
60 | if [ -n "$user" ]; then | ||
61 | if [[ $user == "immae" ]] || [[ $user == "denise" ]]; then | ||
62 | # Capitalize first letter (backward compatibility) | ||
63 | user=$(sed -r 's/^([a-z])/\U\1/' <<< "$user") | ||
64 | fi | ||
65 | else | ||
66 | # Service fake user | ||
67 | user=$(sed -n 's/.*cn=\([^,]*\).*/\1/p' <<< "$line") | ||
68 | fi | ||
69 | elif [[ $line == $KEY* ]]; then | ||
70 | key=$(clean_key_line git "$line") | ||
71 | if [ ! -z "$key" ]; then | ||
72 | if [[ $key != *$'\n'* ]] && [[ $key == ssh-* ]]; then | ||
73 | echo -n 'command="'$GITOLITE_SHELL' '$user'",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ' | ||
74 | echo $key | ||
75 | fi | ||
76 | fi | ||
77 | fi | ||
78 | fi | ||
79 | done | ||
80 | exit 0 | ||
81 | elif [[ $user == pub ]]; then | ||
82 | ldap_search '(&(memberOf='$LDAP_PUB_RESTRICT_MEMBER')('$KEY'=*))' $KEY | \ | ||
83 | while read line ; | ||
84 | do | ||
85 | if [ ! -z "$line" ]; then | ||
86 | if [[ $line == dn* ]]; then | ||
87 | echo "" | ||
88 | user=$(sed -n 's/.*uid=\([^,]*\).*/\1/p' <<< "$line") | ||
89 | echo "# $user" | ||
90 | elif [[ $line == $KEY* ]]; then | ||
91 | key=$(clean_key_line pub "$line") | ||
92 | key_forward=$(clean_key_line forward "$line") | ||
93 | if [ ! -z "$key" ]; then | ||
94 | if [[ $key != *$'\n'* ]] && [[ $key == ssh-* ]]; then | ||
95 | echo -n 'command="$HOME/bin/restrict '$user'" ' | ||
96 | echo $key | ||
97 | fi | ||
98 | elif [ ! -z "$key_forward" ]; then | ||
99 | if [[ $key_forward != *$'\n'* ]] && [[ $key_forward == ssh-* ]]; then | ||
100 | echo "# forward only" | ||
101 | echo -n 'no-pty,no-X11-forwarding,command="'$ECHO' forward only" ' | ||
102 | echo $key_forward | ||
103 | fi | ||
104 | fi | ||
105 | fi | ||
106 | fi | ||
107 | done | ||
108 | |||
109 | echo "" | ||
110 | ldap_search '(&(memberOf='$LDAP_PUB_FORWARD_MEMBER')('$KEY'=*))' $KEY | \ | ||
111 | while read line ; | ||
112 | do | ||
113 | if [ ! -z "$line" ]; then | ||
114 | if [[ $line == dn* ]]; then | ||
115 | echo "" | ||
116 | user=$(sed -n 's/.*uid=\([^,]*\).*/\1/p' <<< "$line") | ||
117 | echo "# $user" | ||
118 | elif [[ $line == $KEY* ]]; then | ||
119 | key=$(clean_key_line forward "$line") | ||
120 | if [ ! -z "$key" ]; then | ||
121 | if [[ $key != *$'\n'* ]] && [[ $key == ssh-* ]]; then | ||
122 | echo -n 'no-pty,no-X11-forwarding,command="'$ECHO' forward only" ' | ||
123 | echo $key | ||
124 | fi | ||
125 | fi | ||
126 | fi | ||
127 | fi | ||
128 | done | ||
129 | exit 0 | ||
130 | else | ||
131 | ldap_search '(&(memberOf='$LDAP_MEMBER')('$KEY'=*)(uid='$user'))' $KEY | \ | ||
132 | while read line ; | ||
133 | do | ||
134 | if [ ! -z "$line" ]; then | ||
135 | if [[ $line == dn* ]]; then | ||
136 | user=$(sed -n 's/.*uid=\([^,]*\).*/\1/p' <<< "$line") | ||
137 | elif [[ $line == $KEY* ]]; then | ||
138 | key=$(clean_key_line ssh "$line") | ||
139 | if [ ! -z "$key" ]; then | ||
140 | if [[ $key != *$'\n'* ]] && [[ $key == ssh-* ]]; then | ||
141 | echo $key | ||
142 | fi | ||
143 | fi | ||
144 | fi | ||
145 | fi | ||
146 | done | ||
147 | fi | ||
148 | } | ||
149 | |||
150 | ldap_keys $@ | ||
diff --git a/virtual/migrate_hetzner.md b/virtual/migrate_hetzner.md deleted file mode 100644 index c7fbe20..0000000 --- a/virtual/migrate_hetzner.md +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | nixops show a deprecation message at each deployment because hetzner | ||
2 | info is outdated. To fix it: | ||
3 | |||
4 | cp -a ~/.nixops ~/.nixops.bak | ||
5 | |||
6 | nixops export --all > all.json | ||
7 | |||
8 | network=$(cat all.json| jq -r '."cef694f3-081d-11e9-b31f-0242ec186adf".resources.eldiron."hetzner.networkInfo"' | jq -r -c '.networking.interfaces.eth0 = { "ipv4": { "addresses": [ { "address": .networking.interfaces.eth0.ipAddress, "prefixLength": .networking.interfaces.eth0.prefixLength } ] } }') | ||
9 | |||
10 | cat all.json | jq --arg network "$network" '."cef694f3-081d-11e9-b31f-0242ec186adf".resources.eldiron."hetzner.networkInfo" = $network' > all_new.json | ||
11 | |||
12 | nixops delete --force -d eldiron | ||
13 | |||
14 | nixops import < all_new.json | ||
15 | |||
16 | rm all.json all_new.json | ||
17 | |||
18 | *check that everything works*, then: | ||
19 | |||
20 | rm -rf ~/.nixops.bak | ||
diff --git a/virtual/modules/certificates.nix b/virtual/modules/certificates.nix deleted file mode 100644 index 7fae729..0000000 --- a/virtual/modules/certificates.nix +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | { lib, pkgs, config, mylibs, ... }: | ||
2 | { | ||
3 | options.services.myCertificates = { | ||
4 | certConfig = lib.mkOption { | ||
5 | default = { | ||
6 | webroot = "/var/lib/acme/acme-challenge"; | ||
7 | email = "ismael@bouya.org"; | ||
8 | postRun = '' | ||
9 | systemctl reload httpdTools.service httpdInte.service httpdProd.service | ||
10 | ''; | ||
11 | plugins = [ "cert.pem" "chain.pem" "fullchain.pem" "full.pem" "key.pem" "account_key.json" ]; | ||
12 | }; | ||
13 | description = "Default configuration for certificates"; | ||
14 | }; | ||
15 | }; | ||
16 | |||
17 | config = { | ||
18 | security.acme.preliminarySelfsigned = true; | ||
19 | |||
20 | security.acme.certs = { | ||
21 | "eldiron" = config.services.myCertificates.certConfig // { | ||
22 | domain = "eldiron.immae.eu"; | ||
23 | }; | ||
24 | }; | ||
25 | }; | ||
26 | } | ||
diff --git a/virtual/modules/databases/default.nix b/virtual/modules/databases/default.nix deleted file mode 100644 index 94d8d75..0000000 --- a/virtual/modules/databases/default.nix +++ /dev/null | |||
@@ -1,170 +0,0 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | ||
2 | let | ||
3 | cfg = config.services.myDatabases; | ||
4 | in { | ||
5 | options.services.myDatabases = { | ||
6 | enable = lib.mkEnableOption "my databases service"; | ||
7 | postgresql = { | ||
8 | enable = lib.mkOption { | ||
9 | default = cfg.enable; | ||
10 | example = true; | ||
11 | description = "Whether to enable postgresql database"; | ||
12 | type = lib.types.bool; | ||
13 | }; | ||
14 | }; | ||
15 | |||
16 | mariadb = { | ||
17 | enable = lib.mkOption { | ||
18 | default = cfg.enable; | ||
19 | example = true; | ||
20 | description = "Whether to enable mariadb database"; | ||
21 | type = lib.types.bool; | ||
22 | }; | ||
23 | }; | ||
24 | |||
25 | redis = { | ||
26 | enable = lib.mkOption { | ||
27 | default = cfg.enable; | ||
28 | example = true; | ||
29 | description = "Whether to enable redis database"; | ||
30 | type = lib.types.bool; | ||
31 | }; | ||
32 | }; | ||
33 | }; | ||
34 | |||
35 | config = lib.mkIf cfg.enable { | ||
36 | nixpkgs.config.packageOverrides = oldpkgs: rec { | ||
37 | postgresql = postgresql111; | ||
38 | postgresql111 = oldpkgs.postgresql100.overrideAttrs(old: rec { | ||
39 | passthru = old.passthru // { psqlSchema = "11.0"; }; | ||
40 | name = "postgresql-11.1"; | ||
41 | src = pkgs.fetchurl { | ||
42 | url = "mirror://postgresql/source/v11.1/${name}.tar.bz2"; | ||
43 | sha256 = "026v0sicsh7avzi45waf8shcbhivyxmi7qgn9fd1x0vl520mx0ch"; | ||
44 | }; | ||
45 | configureFlags = old.configureFlags ++ [ "--with-pam" ]; | ||
46 | buildInputs = (old.buildInputs or []) ++ [ pkgs.pam ]; | ||
47 | patches = old.patches ++ [ | ||
48 | ./postgresql_run_socket_path.patch | ||
49 | ]; | ||
50 | }); | ||
51 | mariadb = mariadbPAM; | ||
52 | mariadbPAM = oldpkgs.mariadb.overrideAttrs(old: rec { | ||
53 | cmakeFlags = old.cmakeFlags ++ [ "-DWITH_AUTHENTICATION_PAM=ON" ]; | ||
54 | buildInputs = old.buildInputs ++ [ pkgs.pam ]; | ||
55 | }); | ||
56 | }; | ||
57 | |||
58 | networking.firewall.allowedTCPPorts = [ 3306 5432 ]; | ||
59 | |||
60 | services.mysql = rec { | ||
61 | enable = cfg.mariadb.enable; | ||
62 | package = pkgs.mariadb; | ||
63 | }; | ||
64 | |||
65 | security.acme.certs."postgresql" = config.services.myCertificates.certConfig // { | ||
66 | user = "postgres"; | ||
67 | group = "postgres"; | ||
68 | plugins = [ "fullchain.pem" "key.pem" "account_key.json" ]; | ||
69 | domain = "db-1.immae.eu"; | ||
70 | postRun = '' | ||
71 | systemctl reload postgresql.service | ||
72 | ''; | ||
73 | }; | ||
74 | |||
75 | system.activationScripts.postgresql = '' | ||
76 | install -m 0755 -o postgres -g postgres -d ${myconfig.env.databases.postgresql.socket} | ||
77 | ''; | ||
78 | |||
79 | services.postgresql = rec { | ||
80 | enable = cfg.postgresql.enable; | ||
81 | package = pkgs.postgresql; | ||
82 | enableTCPIP = true; | ||
83 | extraConfig = '' | ||
84 | max_connections = 100 | ||
85 | wal_level = logical | ||
86 | shared_buffers = 128MB | ||
87 | max_wal_size = 1GB | ||
88 | min_wal_size = 80MB | ||
89 | log_timezone = 'Europe/Paris' | ||
90 | datestyle = 'iso, mdy' | ||
91 | timezone = 'Europe/Paris' | ||
92 | lc_messages = 'en_US.UTF-8' | ||
93 | lc_monetary = 'en_US.UTF-8' | ||
94 | lc_numeric = 'en_US.UTF-8' | ||
95 | lc_time = 'en_US.UTF-8' | ||
96 | default_text_search_config = 'pg_catalog.english' | ||
97 | ssl = on | ||
98 | ssl_cert_file = '/var/lib/acme/postgresql/fullchain.pem' | ||
99 | ssl_key_file = '/var/lib/acme/postgresql/key.pem' | ||
100 | ''; | ||
101 | authentication = '' | ||
102 | local all postgres ident | ||
103 | local all all md5 | ||
104 | hostssl all all samehost md5 | ||
105 | hostssl all all 178.33.252.96/32 md5 | ||
106 | hostssl all all 188.165.209.148/32 md5 | ||
107 | hostssl all all all pam | ||
108 | hostssl replication backup-1 2001:41d0:302:1100::9:e5a9/128 pam pamservice=postgresql_replication | ||
109 | hostssl replication backup-1 54.37.151.137/32 pam pamservice=postgresql_replication | ||
110 | ''; | ||
111 | }; | ||
112 | |||
113 | security.pam.services = let | ||
114 | pam_ldap = "${pkgs.pam_ldap}/lib/security/pam_ldap.so"; | ||
115 | pam_ldap_mysql = pkgs.writeText "mysql.conf" '' | ||
116 | host ${myconfig.env.ldap.host} | ||
117 | base ${myconfig.env.ldap.base} | ||
118 | binddn cn=mysql,cn=pam,ou=services,dc=immae,dc=eu | ||
119 | bindpw ${myconfig.env.databases.mysql.pam_password} | ||
120 | ssl start_tls | ||
121 | pam_filter memberOf=cn=users,cn=mysql,cn=pam,ou=services,dc=immae,dc=eu | ||
122 | ''; | ||
123 | pam_ldap_postgresql_replication = pkgs.writeText "postgresql.conf" '' | ||
124 | host ${myconfig.env.ldap.host} | ||
125 | base ${myconfig.env.ldap.base} | ||
126 | binddn ${myconfig.env.ldap.host_dn} | ||
127 | bindpw ${myconfig.env.ldap.password} | ||
128 | ssl start_tls | ||
129 | pam_login_attribute cn | ||
130 | ''; | ||
131 | in [ | ||
132 | { | ||
133 | name = "mysql"; | ||
134 | text = '' | ||
135 | # https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/ | ||
136 | auth required ${pam_ldap} config=${pam_ldap_mysql} | ||
137 | account required ${pam_ldap} config=${pam_ldap_mysql} | ||
138 | ''; | ||
139 | } | ||
140 | { | ||
141 | name = "postgresql"; | ||
142 | text = '' | ||
143 | auth required ${pam_ldap} config=${pam_ldap_postgresql_replication} | ||
144 | account required ${pam_ldap} config=${pam_ldap_postgresql_replication} | ||
145 | ''; | ||
146 | } | ||
147 | { | ||
148 | name = "postgresql_replication"; | ||
149 | text = '' | ||
150 | auth required ${pam_ldap} config=${pam_ldap_postgresql_replication} | ||
151 | account required ${pam_ldap} config=${pam_ldap_postgresql_replication} | ||
152 | ''; | ||
153 | } | ||
154 | ]; | ||
155 | |||
156 | services.redis = rec { | ||
157 | enable = config.services.myDatabases.redis.enable; | ||
158 | bind = "127.0.0.1"; | ||
159 | unixSocket = myconfig.env.databases.redis.socket; | ||
160 | extraConfig = '' | ||
161 | unixsocketperm 777 | ||
162 | maxclients 1024 | ||
163 | ''; | ||
164 | }; | ||
165 | system.activationScripts.redis = '' | ||
166 | mkdir -p $(dirname ${myconfig.env.databases.redis.socket}) | ||
167 | chown redis $(dirname ${myconfig.env.databases.redis.socket}) | ||
168 | ''; | ||
169 | }; | ||
170 | } | ||
diff --git a/virtual/modules/databases/postgresql_run_socket_path.patch b/virtual/modules/databases/postgresql_run_socket_path.patch deleted file mode 100644 index b558c7b..0000000 --- a/virtual/modules/databases/postgresql_run_socket_path.patch +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | diff -Naur postgresql-9.2.0.sockets/src/include/pg_config_manual.h postgresql-9.2.0/src/include/pg_config_manual.h | ||
2 | --- postgresql-9.2.0.sockets/src/include/pg_config_manual.h 2012-09-06 17:26:17.000000000 -0400 | ||
3 | +++ postgresql-9.2.0/src/include/pg_config_manual.h 2012-09-06 18:13:18.183092471 -0400 | ||
4 | @@ -144,7 +144,7 @@ | ||
5 | * here's where to twiddle it. You can also override this at runtime | ||
6 | * with the postmaster's -k switch. | ||
7 | */ | ||
8 | -#define DEFAULT_PGSOCKET_DIR "/tmp" | ||
9 | +#define DEFAULT_PGSOCKET_DIR "/run/postgresql" | ||
10 | |||
11 | /* | ||
12 | * The random() function is expected to yield values between 0 and | ||
diff --git a/virtual/modules/gitolite/default.nix b/virtual/modules/gitolite/default.nix deleted file mode 100644 index 21eabc4..0000000 --- a/virtual/modules/gitolite/default.nix +++ /dev/null | |||
@@ -1,75 +0,0 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | ||
2 | let | ||
3 | cfg = config.services.myGitolite; | ||
4 | in { | ||
5 | options.services.myGitolite = { | ||
6 | enable = lib.mkEnableOption "my gitolite service"; | ||
7 | gitoliteDir = lib.mkOption { | ||
8 | type = lib.types.string; | ||
9 | default = "/var/lib/gitolite"; | ||
10 | }; | ||
11 | }; | ||
12 | |||
13 | config = lib.mkIf cfg.enable { | ||
14 | nixpkgs.config.packageOverrides = oldpkgs: rec { | ||
15 | gitolite = oldpkgs.gitolite.overrideAttrs(old: rec { | ||
16 | name = "gitolite-${version}"; | ||
17 | version = "3.6.10"; | ||
18 | src = pkgs.fetchFromGitHub { | ||
19 | owner = "sitaramc"; | ||
20 | repo = "gitolite"; | ||
21 | rev = "v${version}"; | ||
22 | sha256 = "0p2697mn6rwm03ndlv7q137zczai82n41aplq1g006ii7f12xy8h"; | ||
23 | }; | ||
24 | }); | ||
25 | }; | ||
26 | |||
27 | networking.firewall.allowedTCPPorts = [ 9418 ]; | ||
28 | |||
29 | services.gitDaemon = { | ||
30 | enable = true; | ||
31 | user = "gitolite"; | ||
32 | group = "gitolite"; | ||
33 | basePath = "${cfg.gitoliteDir}/repositories"; | ||
34 | }; | ||
35 | |||
36 | system.activationScripts.gitolite = let | ||
37 | gitolite_ldap_groups = mylibs.wrap { | ||
38 | name = "gitolite_ldap_groups.sh"; | ||
39 | file = ./gitolite_ldap_groups.sh; | ||
40 | vars = { | ||
41 | LDAP_PASS = myconfig.env.tools.gitolite.ldap.password; | ||
42 | }; | ||
43 | paths = [ pkgs.openldap pkgs.stdenv.shellPackage pkgs.gnugrep pkgs.coreutils ]; | ||
44 | }; | ||
45 | in { | ||
46 | deps = [ "users" ]; | ||
47 | text = '' | ||
48 | if [ -d ${cfg.gitoliteDir} ]; then | ||
49 | ln -sf ${gitolite_ldap_groups} ${cfg.gitoliteDir}/gitolite_ldap_groups.sh | ||
50 | chmod g+rx ${cfg.gitoliteDir} | ||
51 | fi | ||
52 | if [ -f ${cfg.gitoliteDir}/projects.list ]; then | ||
53 | chmod g+r ${cfg.gitoliteDir}/projects.list | ||
54 | fi | ||
55 | ''; | ||
56 | }; | ||
57 | |||
58 | users.users.wwwrun.extraGroups = [ "gitolite" ]; | ||
59 | |||
60 | users.users.gitolite.packages = let | ||
61 | python-packages = python-packages: with python-packages; [ | ||
62 | simplejson | ||
63 | urllib3 | ||
64 | ]; | ||
65 | in | ||
66 | [ | ||
67 | (pkgs.python3.withPackages python-packages) | ||
68 | ]; | ||
69 | # Installation: https://git.immae.eu/mantisbt/view.php?id=93 | ||
70 | services.gitolite = { | ||
71 | enable = true; | ||
72 | adminPubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXqRbiHw7QoHADNIEuo4nUT9fSOIEBMdJZH0bkQAxXyJFyCM1IMz0pxsHV0wu9tdkkr36bPEUj2aV5bkYLBN6nxcV2Y49X8bjOSCPfx3n6Own1h+NeZVBj4ZByrFmqCbTxUJIZ2bZKcWOFncML39VmWdsVhNjg0X4NBBehqXRIKr2gt3E/ESAxTYJFm0BnU0baciw9cN0bsRGqvFgf5h2P48CIAfwhVcGmPQnnAwabnosYQzRWxR0OygH5Kd8mePh6FheIRIigfXsDO8f/jdxwut8buvNIf3m5EBr3tUbTsvM+eV3M5vKGt7sk8T64DVtepTSdOOWtp+47ktsnHOMh immae@immae.eu"; | ||
73 | }; | ||
74 | }; | ||
75 | } | ||
diff --git a/virtual/modules/gitolite/gitolite_ldap_groups.sh b/virtual/modules/gitolite/gitolite_ldap_groups.sh deleted file mode 100755 index 5f7ef6d..0000000 --- a/virtual/modules/gitolite/gitolite_ldap_groups.sh +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | #!/usr/bin/env bash | ||
2 | |||
3 | uid_param="$1" | ||
4 | ldap_host="ldap.immae.eu" | ||
5 | ldap_binddn="cn=gitolite,ou=services,dc=immae,dc=eu" | ||
6 | ldap_bindpw="$LDAP_PASS" | ||
7 | ldap_searchbase="dc=immae,dc=eu" | ||
8 | ldap_scope="subtree" | ||
9 | |||
10 | ldap_options="-h ${ldap_host} -x -D ${ldap_binddn} -w ${ldap_bindpw} -b ${ldap_searchbase} -s ${ldap_scope}" | ||
11 | |||
12 | ldap_filter="(&(memberOf=cn=groups,cn=gitolite,ou=services,dc=immae,dc=eu)(|(member=uid=${uid_param},ou=users,dc=immae,dc=eu)(member=uid=${uid_param},ou=group_users,dc=immae,dc=eu)))" | ||
13 | ldap_result=$(ldapsearch ${ldap_options} -LLL "${ldap_filter}" cn | grep 'cn:' | cut -d' ' -f2) | ||
14 | |||
15 | echo "$ldap_result" | ||
diff --git a/virtual/modules/websites/apache/httpd_inte.nix b/virtual/modules/websites/apache/httpd_inte.nix deleted file mode 100644 index 0417281..0000000 --- a/virtual/modules/websites/apache/httpd_inte.nix +++ /dev/null | |||
@@ -1,715 +0,0 @@ | |||
1 | { config, lib, pkgs, ... }: | ||
2 | |||
3 | with lib; | ||
4 | |||
5 | let | ||
6 | |||
7 | mainCfg = config.services.httpdInte; | ||
8 | |||
9 | httpd = mainCfg.package.out; | ||
10 | |||
11 | version24 = !versionOlder httpd.version "2.4"; | ||
12 | |||
13 | httpdConf = mainCfg.configFile; | ||
14 | |||
15 | php = mainCfg.phpPackage.override { apacheHttpd = httpd.dev; /* otherwise it only gets .out */ }; | ||
16 | |||
17 | phpMajorVersion = head (splitString "." php.version); | ||
18 | |||
19 | mod_perl = pkgs.apacheHttpdPackages.mod_perl.override { apacheHttpd = httpd; }; | ||
20 | |||
21 | defaultListen = cfg: if cfg.enableSSL | ||
22 | then [{ip = "*"; port = 443;}] | ||
23 | else [{ip = "*"; port = 80;}]; | ||
24 | |||
25 | getListen = cfg: | ||
26 | let list = (lib.optional (cfg.port != 0) {ip = "*"; port = cfg.port;}) ++ cfg.listen; | ||
27 | in if list == [] | ||
28 | then defaultListen cfg | ||
29 | else list; | ||
30 | |||
31 | listenToString = l: "${l.ip}:${toString l.port}"; | ||
32 | |||
33 | extraModules = attrByPath ["extraModules"] [] mainCfg; | ||
34 | extraForeignModules = filter isAttrs extraModules; | ||
35 | extraApacheModules = filter isString extraModules; | ||
36 | |||
37 | |||
38 | makeServerInfo = cfg: { | ||
39 | # Canonical name must not include a trailing slash. | ||
40 | canonicalNames = | ||
41 | let defaultPort = (head (defaultListen cfg)).port; in | ||
42 | map (port: | ||
43 | (if cfg.enableSSL then "https" else "http") + "://" + | ||
44 | cfg.hostName + | ||
45 | (if port != defaultPort then ":${toString port}" else "") | ||
46 | ) (map (x: x.port) (getListen cfg)); | ||
47 | |||
48 | # Admin address: inherit from the main server if not specified for | ||
49 | # a virtual host. | ||
50 | adminAddr = if cfg.adminAddr != null then cfg.adminAddr else mainCfg.adminAddr; | ||
51 | |||
52 | vhostConfig = cfg; | ||
53 | serverConfig = mainCfg; | ||
54 | fullConfig = config; # machine config | ||
55 | }; | ||
56 | |||
57 | |||
58 | allHosts = [mainCfg] ++ mainCfg.virtualHosts; | ||
59 | |||
60 | |||
61 | callSubservices = serverInfo: defs: | ||
62 | let f = svc: | ||
63 | let | ||
64 | svcFunction = | ||
65 | if svc ? function then svc.function | ||
66 | # instead of using serviceType="mediawiki"; you can copy mediawiki.nix to any location outside nixpkgs, modify it at will, and use serviceExpression=./mediawiki.nix; | ||
67 | else if svc ? serviceExpression then import (toString svc.serviceExpression) | ||
68 | else import (toString "${toString ./.}/${if svc ? serviceType then svc.serviceType else svc.serviceName}.nix"); | ||
69 | config = (evalModules | ||
70 | { modules = [ { options = res.options; config = svc.config or svc; } ]; | ||
71 | check = false; | ||
72 | }).config; | ||
73 | defaults = { | ||
74 | extraConfig = ""; | ||
75 | extraModules = []; | ||
76 | extraModulesPre = []; | ||
77 | extraPath = []; | ||
78 | extraServerPath = []; | ||
79 | globalEnvVars = []; | ||
80 | robotsEntries = ""; | ||
81 | startupScript = ""; | ||
82 | enablePHP = false; | ||
83 | enablePerl = false; | ||
84 | phpOptions = ""; | ||
85 | options = {}; | ||
86 | documentRoot = null; | ||
87 | }; | ||
88 | res = defaults // svcFunction { inherit config lib pkgs serverInfo php; }; | ||
89 | in res; | ||
90 | in map f defs; | ||
91 | |||
92 | |||
93 | # !!! callSubservices is expensive | ||
94 | subservicesFor = cfg: callSubservices (makeServerInfo cfg) cfg.extraSubservices; | ||
95 | |||
96 | mainSubservices = subservicesFor mainCfg; | ||
97 | |||
98 | allSubservices = mainSubservices ++ concatMap subservicesFor mainCfg.virtualHosts; | ||
99 | |||
100 | |||
101 | enableSSL = any (vhost: vhost.enableSSL) allHosts; | ||
102 | |||
103 | |||
104 | # Names of modules from ${httpd}/modules that we want to load. | ||
105 | apacheModules = | ||
106 | [ # HTTP authentication mechanisms: basic and digest. | ||
107 | "auth_basic" "auth_digest" | ||
108 | |||
109 | # Authentication: is the user who he claims to be? | ||
110 | "authn_file" "authn_dbm" "authn_anon" | ||
111 | (if version24 then "authn_core" else "authn_alias") | ||
112 | |||
113 | # Authorization: is the user allowed access? | ||
114 | "authz_user" "authz_groupfile" "authz_host" | ||
115 | |||
116 | # Other modules. | ||
117 | "ext_filter" "include" "log_config" "env" "mime_magic" | ||
118 | "cern_meta" "expires" "headers" "usertrack" /* "unique_id" */ "setenvif" | ||
119 | "mime" "dav" "status" "autoindex" "asis" "info" "dav_fs" | ||
120 | "vhost_alias" "negotiation" "dir" "imagemap" "actions" "speling" | ||
121 | "userdir" "alias" "rewrite" "proxy" "proxy_http" | ||
122 | ] | ||
123 | ++ optionals version24 [ | ||
124 | "mpm_${mainCfg.multiProcessingModule}" | ||
125 | "authz_core" | ||
126 | "unixd" | ||
127 | "cache" "cache_disk" | ||
128 | "slotmem_shm" | ||
129 | "socache_shmcb" | ||
130 | # For compatibility with old configurations, the new module mod_access_compat is provided. | ||
131 | "access_compat" | ||
132 | ] | ||
133 | ++ (if mainCfg.multiProcessingModule == "prefork" then [ "cgi" ] else [ "cgid" ]) | ||
134 | ++ optional enableSSL "ssl" | ||
135 | ++ extraApacheModules; | ||
136 | |||
137 | |||
138 | allDenied = if version24 then '' | ||
139 | Require all denied | ||
140 | '' else '' | ||
141 | Order deny,allow | ||
142 | Deny from all | ||
143 | ''; | ||
144 | |||
145 | allGranted = if version24 then '' | ||
146 | Require all granted | ||
147 | '' else '' | ||
148 | Order allow,deny | ||
149 | Allow from all | ||
150 | ''; | ||
151 | |||
152 | |||
153 | loggingConf = (if mainCfg.logFormat != "none" then '' | ||
154 | ErrorLog ${mainCfg.logDir}/error_log | ||
155 | |||
156 | LogLevel notice | ||
157 | |||
158 | LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined | ||
159 | LogFormat "%h %l %u %t \"%r\" %>s %b" common | ||
160 | LogFormat "%{Referer}i -> %U" referer | ||
161 | LogFormat "%{User-agent}i" agent | ||
162 | |||
163 | CustomLog ${mainCfg.logDir}/access_log ${mainCfg.logFormat} | ||
164 | '' else '' | ||
165 | ErrorLog /dev/null | ||
166 | ''); | ||
167 | |||
168 | |||
169 | browserHacks = '' | ||
170 | BrowserMatch "Mozilla/2" nokeepalive | ||
171 | BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 | ||
172 | BrowserMatch "RealPlayer 4\.0" force-response-1.0 | ||
173 | BrowserMatch "Java/1\.0" force-response-1.0 | ||
174 | BrowserMatch "JDK/1\.0" force-response-1.0 | ||
175 | BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully | ||
176 | BrowserMatch "^WebDrive" redirect-carefully | ||
177 | BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully | ||
178 | BrowserMatch "^gnome-vfs" redirect-carefully | ||
179 | ''; | ||
180 | |||
181 | |||
182 | sslConf = '' | ||
183 | SSLSessionCache ${if version24 then "shmcb" else "shm"}:${mainCfg.stateDir}/ssl_scache(512000) | ||
184 | |||
185 | ${if version24 then "Mutex" else "SSLMutex"} posixsem | ||
186 | |||
187 | SSLRandomSeed startup builtin | ||
188 | SSLRandomSeed connect builtin | ||
189 | |||
190 | SSLProtocol All -SSLv2 -SSLv3 | ||
191 | SSLCipherSuite HIGH:!aNULL:!MD5:!EXP | ||
192 | SSLHonorCipherOrder on | ||
193 | ''; | ||
194 | |||
195 | |||
196 | mimeConf = '' | ||
197 | TypesConfig ${httpd}/conf/mime.types | ||
198 | |||
199 | AddType application/x-x509-ca-cert .crt | ||
200 | AddType application/x-pkcs7-crl .crl | ||
201 | AddType application/x-httpd-php .php .phtml | ||
202 | |||
203 | <IfModule mod_mime_magic.c> | ||
204 | MIMEMagicFile ${httpd}/conf/magic | ||
205 | </IfModule> | ||
206 | ''; | ||
207 | |||
208 | |||
209 | perServerConf = isMainServer: cfg: let | ||
210 | |||
211 | serverInfo = makeServerInfo cfg; | ||
212 | |||
213 | subservices = callSubservices serverInfo cfg.extraSubservices; | ||
214 | |||
215 | maybeDocumentRoot = fold (svc: acc: | ||
216 | if acc == null then svc.documentRoot else assert svc.documentRoot == null; acc | ||
217 | ) null ([ cfg ] ++ subservices); | ||
218 | |||
219 | documentRoot = if maybeDocumentRoot != null then maybeDocumentRoot else | ||
220 | pkgs.runCommand "empty" {} "mkdir -p $out"; | ||
221 | |||
222 | documentRootConf = '' | ||
223 | DocumentRoot "${documentRoot}" | ||
224 | |||
225 | <Directory "${documentRoot}"> | ||
226 | Options Indexes FollowSymLinks | ||
227 | AllowOverride None | ||
228 | ${allGranted} | ||
229 | </Directory> | ||
230 | ''; | ||
231 | |||
232 | robotsTxt = | ||
233 | concatStringsSep "\n" (filter (x: x != "") ( | ||
234 | # If this is a vhost, the include the entries for the main server as well. | ||
235 | (if isMainServer then [] else [mainCfg.robotsEntries] ++ map (svc: svc.robotsEntries) mainSubservices) | ||
236 | ++ [cfg.robotsEntries] | ||
237 | ++ (map (svc: svc.robotsEntries) subservices))); | ||
238 | |||
239 | in '' | ||
240 | ${concatStringsSep "\n" (map (n: "ServerName ${n}") serverInfo.canonicalNames)} | ||
241 | |||
242 | ${concatMapStrings (alias: "ServerAlias ${alias}\n") cfg.serverAliases} | ||
243 | |||
244 | ${if cfg.sslServerCert != null then '' | ||
245 | SSLCertificateFile ${cfg.sslServerCert} | ||
246 | SSLCertificateKeyFile ${cfg.sslServerKey} | ||
247 | ${if cfg.sslServerChain != null then '' | ||
248 | SSLCertificateChainFile ${cfg.sslServerChain} | ||
249 | '' else ""} | ||
250 | '' else ""} | ||
251 | |||
252 | ${if cfg.enableSSL then '' | ||
253 | SSLEngine on | ||
254 | '' else if enableSSL then /* i.e., SSL is enabled for some host, but not this one */ | ||
255 | '' | ||
256 | SSLEngine off | ||
257 | '' else ""} | ||
258 | |||
259 | ${if isMainServer || cfg.adminAddr != null then '' | ||
260 | ServerAdmin ${cfg.adminAddr} | ||
261 | '' else ""} | ||
262 | |||
263 | ${if !isMainServer && mainCfg.logPerVirtualHost then '' | ||
264 | ErrorLog ${mainCfg.logDir}/error_log-${cfg.hostName} | ||
265 | CustomLog ${mainCfg.logDir}/access_log-${cfg.hostName} ${cfg.logFormat} | ||
266 | '' else ""} | ||
267 | |||
268 | ${optionalString (robotsTxt != "") '' | ||
269 | Alias /robots.txt ${pkgs.writeText "robots.txt" robotsTxt} | ||
270 | ''} | ||
271 | |||
272 | ${if isMainServer || maybeDocumentRoot != null then documentRootConf else ""} | ||
273 | |||
274 | ${if cfg.enableUserDir then '' | ||
275 | |||
276 | UserDir public_html | ||
277 | UserDir disabled root | ||
278 | |||
279 | <Directory "/home/*/public_html"> | ||
280 | AllowOverride FileInfo AuthConfig Limit Indexes | ||
281 | Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec | ||
282 | <Limit GET POST OPTIONS> | ||
283 | ${allGranted} | ||
284 | </Limit> | ||
285 | <LimitExcept GET POST OPTIONS> | ||
286 | ${allDenied} | ||
287 | </LimitExcept> | ||
288 | </Directory> | ||
289 | |||
290 | '' else ""} | ||
291 | |||
292 | ${if cfg.globalRedirect != null && cfg.globalRedirect != "" then '' | ||
293 | RedirectPermanent / ${cfg.globalRedirect} | ||
294 | '' else ""} | ||
295 | |||
296 | ${ | ||
297 | let makeFileConf = elem: '' | ||
298 | Alias ${elem.urlPath} ${elem.file} | ||
299 | ''; | ||
300 | in concatMapStrings makeFileConf cfg.servedFiles | ||
301 | } | ||
302 | |||
303 | ${ | ||
304 | let makeDirConf = elem: '' | ||
305 | Alias ${elem.urlPath} ${elem.dir}/ | ||
306 | <Directory ${elem.dir}> | ||
307 | Options +Indexes | ||
308 | ${allGranted} | ||
309 | AllowOverride All | ||
310 | </Directory> | ||
311 | ''; | ||
312 | in concatMapStrings makeDirConf cfg.servedDirs | ||
313 | } | ||
314 | |||
315 | ${concatMapStrings (svc: svc.extraConfig) subservices} | ||
316 | |||
317 | ${cfg.extraConfig} | ||
318 | ''; | ||
319 | |||
320 | |||
321 | confFile = pkgs.writeText "httpd.conf" '' | ||
322 | |||
323 | ServerRoot ${httpd} | ||
324 | |||
325 | ${optionalString version24 '' | ||
326 | DefaultRuntimeDir ${mainCfg.stateDir}/runtime | ||
327 | ''} | ||
328 | |||
329 | PidFile ${mainCfg.stateDir}/httpd.pid | ||
330 | |||
331 | ${optionalString (mainCfg.multiProcessingModule != "prefork") '' | ||
332 | # mod_cgid requires this. | ||
333 | ScriptSock ${mainCfg.stateDir}/cgisock | ||
334 | ''} | ||
335 | |||
336 | <IfModule prefork.c> | ||
337 | MaxClients ${toString mainCfg.maxClients} | ||
338 | MaxRequestsPerChild ${toString mainCfg.maxRequestsPerChild} | ||
339 | </IfModule> | ||
340 | |||
341 | ${let | ||
342 | listen = concatMap getListen allHosts; | ||
343 | toStr = listen: "Listen ${listenToString listen}\n"; | ||
344 | uniqueListen = uniqList {inputList = map toStr listen;}; | ||
345 | in concatStrings uniqueListen | ||
346 | } | ||
347 | |||
348 | User ${mainCfg.user} | ||
349 | Group ${mainCfg.group} | ||
350 | |||
351 | ${let | ||
352 | load = {name, path}: "LoadModule ${name}_module ${path}\n"; | ||
353 | allModules = | ||
354 | concatMap (svc: svc.extraModulesPre) allSubservices | ||
355 | ++ map (name: {inherit name; path = "${httpd}/modules/mod_${name}.so";}) apacheModules | ||
356 | ++ optional mainCfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; } | ||
357 | ++ optional enablePHP { name = "php${phpMajorVersion}"; path = "${php}/modules/libphp${phpMajorVersion}.so"; } | ||
358 | ++ optional enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; } | ||
359 | ++ concatMap (svc: svc.extraModules) allSubservices | ||
360 | ++ extraForeignModules; | ||
361 | in concatMapStrings load allModules | ||
362 | } | ||
363 | |||
364 | AddHandler type-map var | ||
365 | |||
366 | <Files ~ "^\.ht"> | ||
367 | ${allDenied} | ||
368 | </Files> | ||
369 | |||
370 | ${mimeConf} | ||
371 | ${loggingConf} | ||
372 | ${browserHacks} | ||
373 | |||
374 | Include ${httpd}/conf/extra/httpd-default.conf | ||
375 | Include ${httpd}/conf/extra/httpd-autoindex.conf | ||
376 | Include ${httpd}/conf/extra/httpd-multilang-errordoc.conf | ||
377 | Include ${httpd}/conf/extra/httpd-languages.conf | ||
378 | |||
379 | ${if enableSSL then sslConf else ""} | ||
380 | |||
381 | # Fascist default - deny access to everything. | ||
382 | <Directory /> | ||
383 | Options FollowSymLinks | ||
384 | AllowOverride None | ||
385 | ${allDenied} | ||
386 | </Directory> | ||
387 | |||
388 | # Generate directives for the main server. | ||
389 | ${perServerConf true mainCfg} | ||
390 | |||
391 | # Always enable virtual hosts; it doesn't seem to hurt. | ||
392 | ${let | ||
393 | listen = concatMap getListen allHosts; | ||
394 | uniqueListen = uniqList {inputList = listen;}; | ||
395 | directives = concatMapStrings (listen: "NameVirtualHost ${listenToString listen}\n") uniqueListen; | ||
396 | in optionalString (!version24) directives | ||
397 | } | ||
398 | |||
399 | ${let | ||
400 | makeVirtualHost = vhost: '' | ||
401 | <VirtualHost ${concatStringsSep " " (map listenToString (getListen vhost))}> | ||
402 | ${perServerConf false vhost} | ||
403 | </VirtualHost> | ||
404 | ''; | ||
405 | in concatMapStrings makeVirtualHost mainCfg.virtualHosts | ||
406 | } | ||
407 | ''; | ||
408 | |||
409 | |||
410 | enablePHP = mainCfg.enablePHP || any (svc: svc.enablePHP) allSubservices; | ||
411 | |||
412 | enablePerl = mainCfg.enablePerl || any (svc: svc.enablePerl) allSubservices; | ||
413 | |||
414 | |||
415 | # Generate the PHP configuration file. Should probably be factored | ||
416 | # out into a separate module. | ||
417 | phpIni = pkgs.runCommand "php.ini" | ||
418 | { options = concatStringsSep "\n" | ||
419 | ([ mainCfg.phpOptions ] ++ (map (svc: svc.phpOptions) allSubservices)); | ||
420 | } | ||
421 | '' | ||
422 | cat ${php}/etc/php.ini > $out | ||
423 | echo "$options" >> $out | ||
424 | ''; | ||
425 | |||
426 | in | ||
427 | |||
428 | |||
429 | { | ||
430 | |||
431 | ###### interface | ||
432 | |||
433 | options = { | ||
434 | |||
435 | services.httpdInte = { | ||
436 | |||
437 | enable = mkOption { | ||
438 | type = types.bool; | ||
439 | default = false; | ||
440 | description = "Whether to enable the Apache HTTP Server."; | ||
441 | }; | ||
442 | |||
443 | package = mkOption { | ||
444 | type = types.package; | ||
445 | default = pkgs.apacheHttpd; | ||
446 | defaultText = "pkgs.apacheHttpd"; | ||
447 | description = '' | ||
448 | Overridable attribute of the Apache HTTP Server package to use. | ||
449 | ''; | ||
450 | }; | ||
451 | |||
452 | configFile = mkOption { | ||
453 | type = types.path; | ||
454 | default = confFile; | ||
455 | defaultText = "confFile"; | ||
456 | example = literalExample ''pkgs.writeText "httpd.conf" "# my custom config file ..."''; | ||
457 | description = '' | ||
458 | Override the configuration file used by Apache. By default, | ||
459 | NixOS generates one automatically. | ||
460 | ''; | ||
461 | }; | ||
462 | |||
463 | extraConfig = mkOption { | ||
464 | type = types.lines; | ||
465 | default = ""; | ||
466 | description = '' | ||
467 | Cnfiguration lines appended to the generated Apache | ||
468 | configuration file. Note that this mechanism may not work | ||
469 | when <option>configFile</option> is overridden. | ||
470 | ''; | ||
471 | }; | ||
472 | |||
473 | extraModules = mkOption { | ||
474 | type = types.listOf types.unspecified; | ||
475 | default = []; | ||
476 | example = literalExample ''[ "proxy_connect" { name = "php5"; path = "''${pkgs.php}/modules/libphp5.so"; } ]''; | ||
477 | description = '' | ||
478 | Additional Apache modules to be used. These can be | ||
479 | specified as a string in the case of modules distributed | ||
480 | with Apache, or as an attribute set specifying the | ||
481 | <varname>name</varname> and <varname>path</varname> of the | ||
482 | module. | ||
483 | ''; | ||
484 | }; | ||
485 | |||
486 | logPerVirtualHost = mkOption { | ||
487 | type = types.bool; | ||
488 | default = false; | ||
489 | description = '' | ||
490 | If enabled, each virtual host gets its own | ||
491 | <filename>access_log</filename> and | ||
492 | <filename>error_log</filename>, namely suffixed by the | ||
493 | <option>hostName</option> of the virtual host. | ||
494 | ''; | ||
495 | }; | ||
496 | |||
497 | user = mkOption { | ||
498 | type = types.str; | ||
499 | default = "wwwrun"; | ||
500 | description = '' | ||
501 | User account under which httpd runs. The account is created | ||
502 | automatically if it doesn't exist. | ||
503 | ''; | ||
504 | }; | ||
505 | |||
506 | group = mkOption { | ||
507 | type = types.str; | ||
508 | default = "wwwrun"; | ||
509 | description = '' | ||
510 | Group under which httpd runs. The account is created | ||
511 | automatically if it doesn't exist. | ||
512 | ''; | ||
513 | }; | ||
514 | |||
515 | logDir = mkOption { | ||
516 | type = types.path; | ||
517 | default = "/var/log/httpd"; | ||
518 | description = '' | ||
519 | Directory for Apache's log files. It is created automatically. | ||
520 | ''; | ||
521 | }; | ||
522 | |||
523 | stateDir = mkOption { | ||
524 | type = types.path; | ||
525 | default = "/run/httpd"; | ||
526 | description = '' | ||
527 | Directory for Apache's transient runtime state (such as PID | ||
528 | files). It is created automatically. Note that the default, | ||
529 | <filename>/run/httpd</filename>, is deleted at boot time. | ||
530 | ''; | ||
531 | }; | ||
532 | |||
533 | virtualHosts = mkOption { | ||
534 | type = types.listOf (types.submodule ( | ||
535 | { options = import ./per-server-options.nix { | ||
536 | inherit lib; | ||
537 | forMainServer = false; | ||
538 | }; | ||
539 | })); | ||
540 | default = []; | ||
541 | example = [ | ||
542 | { hostName = "foo"; | ||
543 | documentRoot = "/data/webroot-foo"; | ||
544 | } | ||
545 | { hostName = "bar"; | ||
546 | documentRoot = "/data/webroot-bar"; | ||
547 | } | ||
548 | ]; | ||
549 | description = '' | ||
550 | Specification of the virtual hosts served by Apache. Each | ||
551 | element should be an attribute set specifying the | ||
552 | configuration of the virtual host. The available options | ||
553 | are the non-global options permissible for the main host. | ||
554 | ''; | ||
555 | }; | ||
556 | |||
557 | enableMellon = mkOption { | ||
558 | type = types.bool; | ||
559 | default = false; | ||
560 | description = "Whether to enable the mod_auth_mellon module."; | ||
561 | }; | ||
562 | |||
563 | enablePHP = mkOption { | ||
564 | type = types.bool; | ||
565 | default = false; | ||
566 | description = "Whether to enable the PHP module."; | ||
567 | }; | ||
568 | |||
569 | phpPackage = mkOption { | ||
570 | type = types.package; | ||
571 | default = pkgs.php; | ||
572 | defaultText = "pkgs.php"; | ||
573 | description = '' | ||
574 | Overridable attribute of the PHP package to use. | ||
575 | ''; | ||
576 | }; | ||
577 | |||
578 | enablePerl = mkOption { | ||
579 | type = types.bool; | ||
580 | default = false; | ||
581 | description = "Whether to enable the Perl module (mod_perl)."; | ||
582 | }; | ||
583 | |||
584 | phpOptions = mkOption { | ||
585 | type = types.lines; | ||
586 | default = ""; | ||
587 | example = | ||
588 | '' | ||
589 | date.timezone = "CET" | ||
590 | ''; | ||
591 | description = | ||
592 | "Options appended to the PHP configuration file <filename>php.ini</filename>."; | ||
593 | }; | ||
594 | |||
595 | multiProcessingModule = mkOption { | ||
596 | type = types.str; | ||
597 | default = "prefork"; | ||
598 | example = "worker"; | ||
599 | description = | ||
600 | '' | ||
601 | Multi-processing module to be used by Apache. Available | ||
602 | modules are <literal>prefork</literal> (the default; | ||
603 | handles each request in a separate child process), | ||
604 | <literal>worker</literal> (hybrid approach that starts a | ||
605 | number of child processes each running a number of | ||
606 | threads) and <literal>event</literal> (a recent variant of | ||
607 | <literal>worker</literal> that handles persistent | ||
608 | connections more efficiently). | ||
609 | ''; | ||
610 | }; | ||
611 | |||
612 | maxClients = mkOption { | ||
613 | type = types.int; | ||
614 | default = 150; | ||
615 | example = 8; | ||
616 | description = "Maximum number of httpd processes (prefork)"; | ||
617 | }; | ||
618 | |||
619 | maxRequestsPerChild = mkOption { | ||
620 | type = types.int; | ||
621 | default = 0; | ||
622 | example = 500; | ||
623 | description = | ||
624 | "Maximum number of httpd requests answered per httpd child (prefork), 0 means unlimited"; | ||
625 | }; | ||
626 | } | ||
627 | |||
628 | # Include the options shared between the main server and virtual hosts. | ||
629 | // (import ./per-server-options.nix { | ||
630 | inherit lib; | ||
631 | forMainServer = true; | ||
632 | }); | ||
633 | |||
634 | }; | ||
635 | |||
636 | |||
637 | ###### implementation | ||
638 | |||
639 | config = mkIf config.services.httpdInte.enable { | ||
640 | |||
641 | assertions = [ { assertion = mainCfg.enableSSL == true | ||
642 | -> mainCfg.sslServerCert != null | ||
643 | && mainCfg.sslServerKey != null; | ||
644 | message = "SSL is enabled for httpd, but sslServerCert and/or sslServerKey haven't been specified."; } | ||
645 | ]; | ||
646 | |||
647 | warnings = map (cfg: ''apache-httpd's port option is deprecated. Use listen = [{/*ip = "*"; */ port = ${toString cfg.port};}]; instead'' ) (lib.filter (cfg: cfg.port != 0) allHosts); | ||
648 | |||
649 | environment.systemPackages = [httpd] ++ concatMap (svc: svc.extraPath) allSubservices; | ||
650 | |||
651 | services.httpdInte.phpOptions = | ||
652 | '' | ||
653 | ; Needed for PHP's mail() function. | ||
654 | sendmail_path = sendmail -t -i | ||
655 | '' + optionalString (!isNull config.time.timeZone) '' | ||
656 | |||
657 | ; Apparently PHP doesn't use $TZ. | ||
658 | date.timezone = "${config.time.timeZone}" | ||
659 | ''; | ||
660 | |||
661 | systemd.services.httpdInte = | ||
662 | { description = "Apache HTTPD"; | ||
663 | |||
664 | wantedBy = [ "multi-user.target" ]; | ||
665 | wants = [ "keys.target" ]; | ||
666 | after = [ "network.target" "fs.target" "postgresql.service" "keys.target" ]; | ||
667 | |||
668 | path = | ||
669 | [ httpd pkgs.coreutils pkgs.gnugrep ] | ||
670 | ++ # Needed for PHP's mail() function. !!! Probably the | ||
671 | # ssmtp module should export the path to sendmail in | ||
672 | # some way. | ||
673 | optional config.networking.defaultMailServer.directDelivery pkgs.ssmtp | ||
674 | ++ concatMap (svc: svc.extraServerPath) allSubservices; | ||
675 | |||
676 | environment = | ||
677 | optionalAttrs enablePHP { PHPRC = phpIni; } | ||
678 | // optionalAttrs mainCfg.enableMellon { LD_LIBRARY_PATH = "${pkgs.xmlsec}/lib"; } | ||
679 | // (listToAttrs (concatMap (svc: svc.globalEnvVars) allSubservices)); | ||
680 | |||
681 | preStart = | ||
682 | '' | ||
683 | mkdir -m 0750 -p ${mainCfg.stateDir} | ||
684 | [ $(id -u) != 0 ] || chown root.${mainCfg.group} ${mainCfg.stateDir} | ||
685 | ${optionalString version24 '' | ||
686 | mkdir -m 0750 -p "${mainCfg.stateDir}/runtime" | ||
687 | [ $(id -u) != 0 ] || chown root.${mainCfg.group} "${mainCfg.stateDir}/runtime" | ||
688 | ''} | ||
689 | mkdir -m 0700 -p ${mainCfg.logDir} | ||
690 | |||
691 | # Get rid of old semaphores. These tend to accumulate across | ||
692 | # server restarts, eventually preventing it from restarting | ||
693 | # successfully. | ||
694 | for i in $(${pkgs.utillinux}/bin/ipcs -s | grep ' ${mainCfg.user} ' | cut -f2 -d ' '); do | ||
695 | ${pkgs.utillinux}/bin/ipcrm -s $i | ||
696 | done | ||
697 | |||
698 | # Run the startup hooks for the subservices. | ||
699 | for i in ${toString (map (svn: svn.startupScript) allSubservices)}; do | ||
700 | echo Running Apache startup hook $i... | ||
701 | $i | ||
702 | done | ||
703 | ''; | ||
704 | |||
705 | serviceConfig.ExecStart = "@${httpd}/bin/httpd httpd -f ${httpdConf}"; | ||
706 | serviceConfig.ExecStop = "${httpd}/bin/httpd -f ${httpdConf} -k graceful-stop"; | ||
707 | serviceConfig.ExecReload = "${httpd}/bin/httpd -f ${httpdConf} -k graceful"; | ||
708 | serviceConfig.Type = "forking"; | ||
709 | serviceConfig.PIDFile = "${mainCfg.stateDir}/httpd.pid"; | ||
710 | serviceConfig.Restart = "always"; | ||
711 | serviceConfig.RestartSec = "5s"; | ||
712 | }; | ||
713 | |||
714 | }; | ||
715 | } | ||
diff --git a/virtual/modules/websites/apache/httpd_prod.nix b/virtual/modules/websites/apache/httpd_prod.nix deleted file mode 100644 index 5aee602..0000000 --- a/virtual/modules/websites/apache/httpd_prod.nix +++ /dev/null | |||
@@ -1,715 +0,0 @@ | |||
1 | { config, lib, pkgs, ... }: | ||
2 | |||
3 | with lib; | ||
4 | |||
5 | let | ||
6 | |||
7 | mainCfg = config.services.httpdProd; | ||
8 | |||
9 | httpd = mainCfg.package.out; | ||
10 | |||
11 | version24 = !versionOlder httpd.version "2.4"; | ||
12 | |||
13 | httpdConf = mainCfg.configFile; | ||
14 | |||
15 | php = mainCfg.phpPackage.override { apacheHttpd = httpd.dev; /* otherwise it only gets .out */ }; | ||
16 | |||
17 | phpMajorVersion = head (splitString "." php.version); | ||
18 | |||
19 | mod_perl = pkgs.apacheHttpdPackages.mod_perl.override { apacheHttpd = httpd; }; | ||
20 | |||
21 | defaultListen = cfg: if cfg.enableSSL | ||
22 | then [{ip = "*"; port = 443;}] | ||
23 | else [{ip = "*"; port = 80;}]; | ||
24 | |||
25 | getListen = cfg: | ||
26 | let list = (lib.optional (cfg.port != 0) {ip = "*"; port = cfg.port;}) ++ cfg.listen; | ||
27 | in if list == [] | ||
28 | then defaultListen cfg | ||
29 | else list; | ||
30 | |||
31 | listenToString = l: "${l.ip}:${toString l.port}"; | ||
32 | |||
33 | extraModules = attrByPath ["extraModules"] [] mainCfg; | ||
34 | extraForeignModules = filter isAttrs extraModules; | ||
35 | extraApacheModules = filter isString extraModules; | ||
36 | |||
37 | |||
38 | makeServerInfo = cfg: { | ||
39 | # Canonical name must not include a trailing slash. | ||
40 | canonicalNames = | ||
41 | let defaultPort = (head (defaultListen cfg)).port; in | ||
42 | map (port: | ||
43 | (if cfg.enableSSL then "https" else "http") + "://" + | ||
44 | cfg.hostName + | ||
45 | (if port != defaultPort then ":${toString port}" else "") | ||
46 | ) (map (x: x.port) (getListen cfg)); | ||
47 | |||
48 | # Admin address: inherit from the main server if not specified for | ||
49 | # a virtual host. | ||
50 | adminAddr = if cfg.adminAddr != null then cfg.adminAddr else mainCfg.adminAddr; | ||
51 | |||
52 | vhostConfig = cfg; | ||
53 | serverConfig = mainCfg; | ||
54 | fullConfig = config; # machine config | ||
55 | }; | ||
56 | |||
57 | |||
58 | allHosts = [mainCfg] ++ mainCfg.virtualHosts; | ||
59 | |||
60 | |||
61 | callSubservices = serverInfo: defs: | ||
62 | let f = svc: | ||
63 | let | ||
64 | svcFunction = | ||
65 | if svc ? function then svc.function | ||
66 | # instead of using serviceType="mediawiki"; you can copy mediawiki.nix to any location outside nixpkgs, modify it at will, and use serviceExpression=./mediawiki.nix; | ||
67 | else if svc ? serviceExpression then import (toString svc.serviceExpression) | ||
68 | else import (toString "${toString ./.}/${if svc ? serviceType then svc.serviceType else svc.serviceName}.nix"); | ||
69 | config = (evalModules | ||
70 | { modules = [ { options = res.options; config = svc.config or svc; } ]; | ||
71 | check = false; | ||
72 | }).config; | ||
73 | defaults = { | ||
74 | extraConfig = ""; | ||
75 | extraModules = []; | ||
76 | extraModulesPre = []; | ||
77 | extraPath = []; | ||
78 | extraServerPath = []; | ||
79 | globalEnvVars = []; | ||
80 | robotsEntries = ""; | ||
81 | startupScript = ""; | ||
82 | enablePHP = false; | ||
83 | enablePerl = false; | ||
84 | phpOptions = ""; | ||
85 | options = {}; | ||
86 | documentRoot = null; | ||
87 | }; | ||
88 | res = defaults // svcFunction { inherit config lib pkgs serverInfo php; }; | ||
89 | in res; | ||
90 | in map f defs; | ||
91 | |||
92 | |||
93 | # !!! callSubservices is expensive | ||
94 | subservicesFor = cfg: callSubservices (makeServerInfo cfg) cfg.extraSubservices; | ||
95 | |||
96 | mainSubservices = subservicesFor mainCfg; | ||
97 | |||
98 | allSubservices = mainSubservices ++ concatMap subservicesFor mainCfg.virtualHosts; | ||
99 | |||
100 | |||
101 | enableSSL = any (vhost: vhost.enableSSL) allHosts; | ||
102 | |||
103 | |||
104 | # Names of modules from ${httpd}/modules that we want to load. | ||
105 | apacheModules = | ||
106 | [ # HTTP authentication mechanisms: basic and digest. | ||
107 | "auth_basic" "auth_digest" | ||
108 | |||
109 | # Authentication: is the user who he claims to be? | ||
110 | "authn_file" "authn_dbm" "authn_anon" | ||
111 | (if version24 then "authn_core" else "authn_alias") | ||
112 | |||
113 | # Authorization: is the user allowed access? | ||
114 | "authz_user" "authz_groupfile" "authz_host" | ||
115 | |||
116 | # Other modules. | ||
117 | "ext_filter" "include" "log_config" "env" "mime_magic" | ||
118 | "cern_meta" "expires" "headers" "usertrack" /* "unique_id" */ "setenvif" | ||
119 | "mime" "dav" "status" "autoindex" "asis" "info" "dav_fs" | ||
120 | "vhost_alias" "negotiation" "dir" "imagemap" "actions" "speling" | ||
121 | "userdir" "alias" "rewrite" "proxy" "proxy_http" | ||
122 | ] | ||
123 | ++ optionals version24 [ | ||
124 | "mpm_${mainCfg.multiProcessingModule}" | ||
125 | "authz_core" | ||
126 | "unixd" | ||
127 | "cache" "cache_disk" | ||
128 | "slotmem_shm" | ||
129 | "socache_shmcb" | ||
130 | # For compatibility with old configurations, the new module mod_access_compat is provided. | ||
131 | "access_compat" | ||
132 | ] | ||
133 | ++ (if mainCfg.multiProcessingModule == "prefork" then [ "cgi" ] else [ "cgid" ]) | ||
134 | ++ optional enableSSL "ssl" | ||
135 | ++ extraApacheModules; | ||
136 | |||
137 | |||
138 | allDenied = if version24 then '' | ||
139 | Require all denied | ||
140 | '' else '' | ||
141 | Order deny,allow | ||
142 | Deny from all | ||
143 | ''; | ||
144 | |||
145 | allGranted = if version24 then '' | ||
146 | Require all granted | ||
147 | '' else '' | ||
148 | Order allow,deny | ||
149 | Allow from all | ||
150 | ''; | ||
151 | |||
152 | |||
153 | loggingConf = (if mainCfg.logFormat != "none" then '' | ||
154 | ErrorLog ${mainCfg.logDir}/error_log | ||
155 | |||
156 | LogLevel notice | ||
157 | |||
158 | LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined | ||
159 | LogFormat "%h %l %u %t \"%r\" %>s %b" common | ||
160 | LogFormat "%{Referer}i -> %U" referer | ||
161 | LogFormat "%{User-agent}i" agent | ||
162 | |||
163 | CustomLog ${mainCfg.logDir}/access_log ${mainCfg.logFormat} | ||
164 | '' else '' | ||
165 | ErrorLog /dev/null | ||
166 | ''); | ||
167 | |||
168 | |||
169 | browserHacks = '' | ||
170 | BrowserMatch "Mozilla/2" nokeepalive | ||
171 | BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 | ||
172 | BrowserMatch "RealPlayer 4\.0" force-response-1.0 | ||
173 | BrowserMatch "Java/1\.0" force-response-1.0 | ||
174 | BrowserMatch "JDK/1\.0" force-response-1.0 | ||
175 | BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully | ||
176 | BrowserMatch "^WebDrive" redirect-carefully | ||
177 | BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully | ||
178 | BrowserMatch "^gnome-vfs" redirect-carefully | ||
179 | ''; | ||
180 | |||
181 | |||
182 | sslConf = '' | ||
183 | SSLSessionCache ${if version24 then "shmcb" else "shm"}:${mainCfg.stateDir}/ssl_scache(512000) | ||
184 | |||
185 | ${if version24 then "Mutex" else "SSLMutex"} posixsem | ||
186 | |||
187 | SSLRandomSeed startup builtin | ||
188 | SSLRandomSeed connect builtin | ||
189 | |||
190 | SSLProtocol All -SSLv2 -SSLv3 | ||
191 | SSLCipherSuite HIGH:!aNULL:!MD5:!EXP | ||
192 | SSLHonorCipherOrder on | ||
193 | ''; | ||
194 | |||
195 | |||
196 | mimeConf = '' | ||
197 | TypesConfig ${httpd}/conf/mime.types | ||
198 | |||
199 | AddType application/x-x509-ca-cert .crt | ||
200 | AddType application/x-pkcs7-crl .crl | ||
201 | AddType application/x-httpd-php .php .phtml | ||
202 | |||
203 | <IfModule mod_mime_magic.c> | ||
204 | MIMEMagicFile ${httpd}/conf/magic | ||
205 | </IfModule> | ||
206 | ''; | ||
207 | |||
208 | |||
209 | perServerConf = isMainServer: cfg: let | ||
210 | |||
211 | serverInfo = makeServerInfo cfg; | ||
212 | |||
213 | subservices = callSubservices serverInfo cfg.extraSubservices; | ||
214 | |||
215 | maybeDocumentRoot = fold (svc: acc: | ||
216 | if acc == null then svc.documentRoot else assert svc.documentRoot == null; acc | ||
217 | ) null ([ cfg ] ++ subservices); | ||
218 | |||
219 | documentRoot = if maybeDocumentRoot != null then maybeDocumentRoot else | ||
220 | pkgs.runCommand "empty" {} "mkdir -p $out"; | ||
221 | |||
222 | documentRootConf = '' | ||
223 | DocumentRoot "${documentRoot}" | ||
224 | |||
225 | <Directory "${documentRoot}"> | ||
226 | Options Indexes FollowSymLinks | ||
227 | AllowOverride None | ||
228 | ${allGranted} | ||
229 | </Directory> | ||
230 | ''; | ||
231 | |||
232 | robotsTxt = | ||
233 | concatStringsSep "\n" (filter (x: x != "") ( | ||
234 | # If this is a vhost, the include the entries for the main server as well. | ||
235 | (if isMainServer then [] else [mainCfg.robotsEntries] ++ map (svc: svc.robotsEntries) mainSubservices) | ||
236 | ++ [cfg.robotsEntries] | ||
237 | ++ (map (svc: svc.robotsEntries) subservices))); | ||
238 | |||
239 | in '' | ||
240 | ${concatStringsSep "\n" (map (n: "ServerName ${n}") serverInfo.canonicalNames)} | ||
241 | |||
242 | ${concatMapStrings (alias: "ServerAlias ${alias}\n") cfg.serverAliases} | ||
243 | |||
244 | ${if cfg.sslServerCert != null then '' | ||
245 | SSLCertificateFile ${cfg.sslServerCert} | ||
246 | SSLCertificateKeyFile ${cfg.sslServerKey} | ||
247 | ${if cfg.sslServerChain != null then '' | ||
248 | SSLCertificateChainFile ${cfg.sslServerChain} | ||
249 | '' else ""} | ||
250 | '' else ""} | ||
251 | |||
252 | ${if cfg.enableSSL then '' | ||
253 | SSLEngine on | ||
254 | '' else if enableSSL then /* i.e., SSL is enabled for some host, but not this one */ | ||
255 | '' | ||
256 | SSLEngine off | ||
257 | '' else ""} | ||
258 | |||
259 | ${if isMainServer || cfg.adminAddr != null then '' | ||
260 | ServerAdmin ${cfg.adminAddr} | ||
261 | '' else ""} | ||
262 | |||
263 | ${if !isMainServer && mainCfg.logPerVirtualHost then '' | ||
264 | ErrorLog ${mainCfg.logDir}/error_log-${cfg.hostName} | ||
265 | CustomLog ${mainCfg.logDir}/access_log-${cfg.hostName} ${cfg.logFormat} | ||
266 | '' else ""} | ||
267 | |||
268 | ${optionalString (robotsTxt != "") '' | ||
269 | Alias /robots.txt ${pkgs.writeText "robots.txt" robotsTxt} | ||
270 | ''} | ||
271 | |||
272 | ${if isMainServer || maybeDocumentRoot != null then documentRootConf else ""} | ||
273 | |||
274 | ${if cfg.enableUserDir then '' | ||
275 | |||
276 | UserDir public_html | ||
277 | UserDir disabled root | ||
278 | |||
279 | <Directory "/home/*/public_html"> | ||
280 | AllowOverride FileInfo AuthConfig Limit Indexes | ||
281 | Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec | ||
282 | <Limit GET POST OPTIONS> | ||
283 | ${allGranted} | ||
284 | </Limit> | ||
285 | <LimitExcept GET POST OPTIONS> | ||
286 | ${allDenied} | ||
287 | </LimitExcept> | ||
288 | </Directory> | ||
289 | |||
290 | '' else ""} | ||
291 | |||
292 | ${if cfg.globalRedirect != null && cfg.globalRedirect != "" then '' | ||
293 | RedirectPermanent / ${cfg.globalRedirect} | ||
294 | '' else ""} | ||
295 | |||
296 | ${ | ||
297 | let makeFileConf = elem: '' | ||
298 | Alias ${elem.urlPath} ${elem.file} | ||
299 | ''; | ||
300 | in concatMapStrings makeFileConf cfg.servedFiles | ||
301 | } | ||
302 | |||
303 | ${ | ||
304 | let makeDirConf = elem: '' | ||
305 | Alias ${elem.urlPath} ${elem.dir}/ | ||
306 | <Directory ${elem.dir}> | ||
307 | Options +Indexes | ||
308 | ${allGranted} | ||
309 | AllowOverride All | ||
310 | </Directory> | ||
311 | ''; | ||
312 | in concatMapStrings makeDirConf cfg.servedDirs | ||
313 | } | ||
314 | |||
315 | ${concatMapStrings (svc: svc.extraConfig) subservices} | ||
316 | |||
317 | ${cfg.extraConfig} | ||
318 | ''; | ||
319 | |||
320 | |||
321 | confFile = pkgs.writeText "httpd.conf" '' | ||
322 | |||
323 | ServerRoot ${httpd} | ||
324 | |||
325 | ${optionalString version24 '' | ||
326 | DefaultRuntimeDir ${mainCfg.stateDir}/runtime | ||
327 | ''} | ||
328 | |||
329 | PidFile ${mainCfg.stateDir}/httpd.pid | ||
330 | |||
331 | ${optionalString (mainCfg.multiProcessingModule != "prefork") '' | ||
332 | # mod_cgid requires this. | ||
333 | ScriptSock ${mainCfg.stateDir}/cgisock | ||
334 | ''} | ||
335 | |||
336 | <IfModule prefork.c> | ||
337 | MaxClients ${toString mainCfg.maxClients} | ||
338 | MaxRequestsPerChild ${toString mainCfg.maxRequestsPerChild} | ||
339 | </IfModule> | ||
340 | |||
341 | ${let | ||
342 | listen = concatMap getListen allHosts; | ||
343 | toStr = listen: "Listen ${listenToString listen}\n"; | ||
344 | uniqueListen = uniqList {inputList = map toStr listen;}; | ||
345 | in concatStrings uniqueListen | ||
346 | } | ||
347 | |||
348 | User ${mainCfg.user} | ||
349 | Group ${mainCfg.group} | ||
350 | |||
351 | ${let | ||
352 | load = {name, path}: "LoadModule ${name}_module ${path}\n"; | ||
353 | allModules = | ||
354 | concatMap (svc: svc.extraModulesPre) allSubservices | ||
355 | ++ map (name: {inherit name; path = "${httpd}/modules/mod_${name}.so";}) apacheModules | ||
356 | ++ optional mainCfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; } | ||
357 | ++ optional enablePHP { name = "php${phpMajorVersion}"; path = "${php}/modules/libphp${phpMajorVersion}.so"; } | ||
358 | ++ optional enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; } | ||
359 | ++ concatMap (svc: svc.extraModules) allSubservices | ||
360 | ++ extraForeignModules; | ||
361 | in concatMapStrings load allModules | ||
362 | } | ||
363 | |||
364 | AddHandler type-map var | ||
365 | |||
366 | <Files ~ "^\.ht"> | ||
367 | ${allDenied} | ||
368 | </Files> | ||
369 | |||
370 | ${mimeConf} | ||
371 | ${loggingConf} | ||
372 | ${browserHacks} | ||
373 | |||
374 | Include ${httpd}/conf/extra/httpd-default.conf | ||
375 | Include ${httpd}/conf/extra/httpd-autoindex.conf | ||
376 | Include ${httpd}/conf/extra/httpd-multilang-errordoc.conf | ||
377 | Include ${httpd}/conf/extra/httpd-languages.conf | ||
378 | |||
379 | ${if enableSSL then sslConf else ""} | ||
380 | |||
381 | # Fascist default - deny access to everything. | ||
382 | <Directory /> | ||
383 | Options FollowSymLinks | ||
384 | AllowOverride None | ||
385 | ${allDenied} | ||
386 | </Directory> | ||
387 | |||
388 | # Generate directives for the main server. | ||
389 | ${perServerConf true mainCfg} | ||
390 | |||
391 | # Always enable virtual hosts; it doesn't seem to hurt. | ||
392 | ${let | ||
393 | listen = concatMap getListen allHosts; | ||
394 | uniqueListen = uniqList {inputList = listen;}; | ||
395 | directives = concatMapStrings (listen: "NameVirtualHost ${listenToString listen}\n") uniqueListen; | ||
396 | in optionalString (!version24) directives | ||
397 | } | ||
398 | |||
399 | ${let | ||
400 | makeVirtualHost = vhost: '' | ||
401 | <VirtualHost ${concatStringsSep " " (map listenToString (getListen vhost))}> | ||
402 | ${perServerConf false vhost} | ||
403 | </VirtualHost> | ||
404 | ''; | ||
405 | in concatMapStrings makeVirtualHost mainCfg.virtualHosts | ||
406 | } | ||
407 | ''; | ||
408 | |||
409 | |||
410 | enablePHP = mainCfg.enablePHP || any (svc: svc.enablePHP) allSubservices; | ||
411 | |||
412 | enablePerl = mainCfg.enablePerl || any (svc: svc.enablePerl) allSubservices; | ||
413 | |||
414 | |||
415 | # Generate the PHP configuration file. Should probably be factored | ||
416 | # out into a separate module. | ||
417 | phpIni = pkgs.runCommand "php.ini" | ||
418 | { options = concatStringsSep "\n" | ||
419 | ([ mainCfg.phpOptions ] ++ (map (svc: svc.phpOptions) allSubservices)); | ||
420 | } | ||
421 | '' | ||
422 | cat ${php}/etc/php.ini > $out | ||
423 | echo "$options" >> $out | ||
424 | ''; | ||
425 | |||
426 | in | ||
427 | |||
428 | |||
429 | { | ||
430 | |||
431 | ###### interface | ||
432 | |||
433 | options = { | ||
434 | |||
435 | services.httpdProd = { | ||
436 | |||
437 | enable = mkOption { | ||
438 | type = types.bool; | ||
439 | default = false; | ||
440 | description = "Whether to enable the Apache HTTP Server."; | ||
441 | }; | ||
442 | |||
443 | package = mkOption { | ||
444 | type = types.package; | ||
445 | default = pkgs.apacheHttpd; | ||
446 | defaultText = "pkgs.apacheHttpd"; | ||
447 | description = '' | ||
448 | Overridable attribute of the Apache HTTP Server package to use. | ||
449 | ''; | ||
450 | }; | ||
451 | |||
452 | configFile = mkOption { | ||
453 | type = types.path; | ||
454 | default = confFile; | ||
455 | defaultText = "confFile"; | ||
456 | example = literalExample ''pkgs.writeText "httpd.conf" "# my custom config file ..."''; | ||
457 | description = '' | ||
458 | Override the configuration file used by Apache. By default, | ||
459 | NixOS generates one automatically. | ||
460 | ''; | ||
461 | }; | ||
462 | |||
463 | extraConfig = mkOption { | ||
464 | type = types.lines; | ||
465 | default = ""; | ||
466 | description = '' | ||
467 | Cnfiguration lines appended to the generated Apache | ||
468 | configuration file. Note that this mechanism may not work | ||
469 | when <option>configFile</option> is overridden. | ||
470 | ''; | ||
471 | }; | ||
472 | |||
473 | extraModules = mkOption { | ||
474 | type = types.listOf types.unspecified; | ||
475 | default = []; | ||
476 | example = literalExample ''[ "proxy_connect" { name = "php5"; path = "''${pkgs.php}/modules/libphp5.so"; } ]''; | ||
477 | description = '' | ||
478 | Additional Apache modules to be used. These can be | ||
479 | specified as a string in the case of modules distributed | ||
480 | with Apache, or as an attribute set specifying the | ||
481 | <varname>name</varname> and <varname>path</varname> of the | ||
482 | module. | ||
483 | ''; | ||
484 | }; | ||
485 | |||
486 | logPerVirtualHost = mkOption { | ||
487 | type = types.bool; | ||
488 | default = false; | ||
489 | description = '' | ||
490 | If enabled, each virtual host gets its own | ||
491 | <filename>access_log</filename> and | ||
492 | <filename>error_log</filename>, namely suffixed by the | ||
493 | <option>hostName</option> of the virtual host. | ||
494 | ''; | ||
495 | }; | ||
496 | |||
497 | user = mkOption { | ||
498 | type = types.str; | ||
499 | default = "wwwrun"; | ||
500 | description = '' | ||
501 | User account under which httpd runs. The account is created | ||
502 | automatically if it doesn't exist. | ||
503 | ''; | ||
504 | }; | ||
505 | |||
506 | group = mkOption { | ||
507 | type = types.str; | ||
508 | default = "wwwrun"; | ||
509 | description = '' | ||
510 | Group under which httpd runs. The account is created | ||
511 | automatically if it doesn't exist. | ||
512 | ''; | ||
513 | }; | ||
514 | |||
515 | logDir = mkOption { | ||
516 | type = types.path; | ||
517 | default = "/var/log/httpd"; | ||
518 | description = '' | ||
519 | Directory for Apache's log files. It is created automatically. | ||
520 | ''; | ||
521 | }; | ||
522 | |||
523 | stateDir = mkOption { | ||
524 | type = types.path; | ||
525 | default = "/run/httpd"; | ||
526 | description = '' | ||
527 | Directory for Apache's transient runtime state (such as PID | ||
528 | files). It is created automatically. Note that the default, | ||
529 | <filename>/run/httpd</filename>, is deleted at boot time. | ||
530 | ''; | ||
531 | }; | ||
532 | |||
533 | virtualHosts = mkOption { | ||
534 | type = types.listOf (types.submodule ( | ||
535 | { options = import ./per-server-options.nix { | ||
536 | inherit lib; | ||
537 | forMainServer = false; | ||
538 | }; | ||
539 | })); | ||
540 | default = []; | ||
541 | example = [ | ||
542 | { hostName = "foo"; | ||
543 | documentRoot = "/data/webroot-foo"; | ||
544 | } | ||
545 | { hostName = "bar"; | ||
546 | documentRoot = "/data/webroot-bar"; | ||
547 | } | ||
548 | ]; | ||
549 | description = '' | ||
550 | Specification of the virtual hosts served by Apache. Each | ||
551 | element should be an attribute set specifying the | ||
552 | configuration of the virtual host. The available options | ||
553 | are the non-global options permissible for the main host. | ||
554 | ''; | ||
555 | }; | ||
556 | |||
557 | enableMellon = mkOption { | ||
558 | type = types.bool; | ||
559 | default = false; | ||
560 | description = "Whether to enable the mod_auth_mellon module."; | ||
561 | }; | ||
562 | |||
563 | enablePHP = mkOption { | ||
564 | type = types.bool; | ||
565 | default = false; | ||
566 | description = "Whether to enable the PHP module."; | ||
567 | }; | ||
568 | |||
569 | phpPackage = mkOption { | ||
570 | type = types.package; | ||
571 | default = pkgs.php; | ||
572 | defaultText = "pkgs.php"; | ||
573 | description = '' | ||
574 | Overridable attribute of the PHP package to use. | ||
575 | ''; | ||
576 | }; | ||
577 | |||
578 | enablePerl = mkOption { | ||
579 | type = types.bool; | ||
580 | default = false; | ||
581 | description = "Whether to enable the Perl module (mod_perl)."; | ||
582 | }; | ||
583 | |||
584 | phpOptions = mkOption { | ||
585 | type = types.lines; | ||
586 | default = ""; | ||
587 | example = | ||
588 | '' | ||
589 | date.timezone = "CET" | ||
590 | ''; | ||
591 | description = | ||
592 | "Options appended to the PHP configuration file <filename>php.ini</filename>."; | ||
593 | }; | ||
594 | |||
595 | multiProcessingModule = mkOption { | ||
596 | type = types.str; | ||
597 | default = "prefork"; | ||
598 | example = "worker"; | ||
599 | description = | ||
600 | '' | ||
601 | Multi-processing module to be used by Apache. Available | ||
602 | modules are <literal>prefork</literal> (the default; | ||
603 | handles each request in a separate child process), | ||
604 | <literal>worker</literal> (hybrid approach that starts a | ||
605 | number of child processes each running a number of | ||
606 | threads) and <literal>event</literal> (a recent variant of | ||
607 | <literal>worker</literal> that handles persistent | ||
608 | connections more efficiently). | ||
609 | ''; | ||
610 | }; | ||
611 | |||
612 | maxClients = mkOption { | ||
613 | type = types.int; | ||
614 | default = 150; | ||
615 | example = 8; | ||
616 | description = "Maximum number of httpd processes (prefork)"; | ||
617 | }; | ||
618 | |||
619 | maxRequestsPerChild = mkOption { | ||
620 | type = types.int; | ||
621 | default = 0; | ||
622 | example = 500; | ||
623 | description = | ||
624 | "Maximum number of httpd requests answered per httpd child (prefork), 0 means unlimited"; | ||
625 | }; | ||
626 | } | ||
627 | |||
628 | # Include the options shared between the main server and virtual hosts. | ||
629 | // (import ./per-server-options.nix { | ||
630 | inherit lib; | ||
631 | forMainServer = true; | ||
632 | }); | ||
633 | |||
634 | }; | ||
635 | |||
636 | |||
637 | ###### implementation | ||
638 | |||
639 | config = mkIf config.services.httpdProd.enable { | ||
640 | |||
641 | assertions = [ { assertion = mainCfg.enableSSL == true | ||
642 | -> mainCfg.sslServerCert != null | ||
643 | && mainCfg.sslServerKey != null; | ||
644 | message = "SSL is enabled for httpd, but sslServerCert and/or sslServerKey haven't been specified."; } | ||
645 | ]; | ||
646 | |||
647 | warnings = map (cfg: ''apache-httpd's port option is deprecated. Use listen = [{/*ip = "*"; */ port = ${toString cfg.port};}]; instead'' ) (lib.filter (cfg: cfg.port != 0) allHosts); | ||
648 | |||
649 | environment.systemPackages = [httpd] ++ concatMap (svc: svc.extraPath) allSubservices; | ||
650 | |||
651 | services.httpdProd.phpOptions = | ||
652 | '' | ||
653 | ; Needed for PHP's mail() function. | ||
654 | sendmail_path = sendmail -t -i | ||
655 | '' + optionalString (!isNull config.time.timeZone) '' | ||
656 | |||
657 | ; Apparently PHP doesn't use $TZ. | ||
658 | date.timezone = "${config.time.timeZone}" | ||
659 | ''; | ||
660 | |||
661 | systemd.services.httpdProd = | ||
662 | { description = "Apache HTTPD"; | ||
663 | |||
664 | wantedBy = [ "multi-user.target" ]; | ||
665 | wants = [ "keys.target" ]; | ||
666 | after = [ "network.target" "fs.target" "postgresql.service" "keys.target" ]; | ||
667 | |||
668 | path = | ||
669 | [ httpd pkgs.coreutils pkgs.gnugrep ] | ||
670 | ++ # Needed for PHP's mail() function. !!! Probably the | ||
671 | # ssmtp module should export the path to sendmail in | ||
672 | # some way. | ||
673 | optional config.networking.defaultMailServer.directDelivery pkgs.ssmtp | ||
674 | ++ concatMap (svc: svc.extraServerPath) allSubservices; | ||
675 | |||
676 | environment = | ||
677 | optionalAttrs enablePHP { PHPRC = phpIni; } | ||
678 | // optionalAttrs mainCfg.enableMellon { LD_LIBRARY_PATH = "${pkgs.xmlsec}/lib"; } | ||
679 | // (listToAttrs (concatMap (svc: svc.globalEnvVars) allSubservices)); | ||
680 | |||
681 | preStart = | ||
682 | '' | ||
683 | mkdir -m 0750 -p ${mainCfg.stateDir} | ||
684 | [ $(id -u) != 0 ] || chown root.${mainCfg.group} ${mainCfg.stateDir} | ||
685 | ${optionalString version24 '' | ||
686 | mkdir -m 0750 -p "${mainCfg.stateDir}/runtime" | ||
687 | [ $(id -u) != 0 ] || chown root.${mainCfg.group} "${mainCfg.stateDir}/runtime" | ||
688 | ''} | ||
689 | mkdir -m 0700 -p ${mainCfg.logDir} | ||
690 | |||
691 | # Get rid of old semaphores. These tend to accumulate across | ||
692 | # server restarts, eventually preventing it from restarting | ||
693 | # successfully. | ||
694 | for i in $(${pkgs.utillinux}/bin/ipcs -s | grep ' ${mainCfg.user} ' | cut -f2 -d ' '); do | ||
695 | ${pkgs.utillinux}/bin/ipcrm -s $i | ||
696 | done | ||
697 | |||
698 | # Run the startup hooks for the subservices. | ||
699 | for i in ${toString (map (svn: svn.startupScript) allSubservices)}; do | ||
700 | echo Running Apache startup hook $i... | ||
701 | $i | ||
702 | done | ||
703 | ''; | ||
704 | |||
705 | serviceConfig.ExecStart = "@${httpd}/bin/httpd httpd -f ${httpdConf}"; | ||
706 | serviceConfig.ExecStop = "${httpd}/bin/httpd -f ${httpdConf} -k graceful-stop"; | ||
707 | serviceConfig.ExecReload = "${httpd}/bin/httpd -f ${httpdConf} -k graceful"; | ||
708 | serviceConfig.Type = "forking"; | ||
709 | serviceConfig.PIDFile = "${mainCfg.stateDir}/httpd.pid"; | ||
710 | serviceConfig.Restart = "always"; | ||
711 | serviceConfig.RestartSec = "5s"; | ||
712 | }; | ||
713 | |||
714 | }; | ||
715 | } | ||
diff --git a/virtual/modules/websites/apache/httpd_tools.nix b/virtual/modules/websites/apache/httpd_tools.nix deleted file mode 100644 index c0b779b..0000000 --- a/virtual/modules/websites/apache/httpd_tools.nix +++ /dev/null | |||
@@ -1,727 +0,0 @@ | |||
1 | { config, lib, pkgs, ... }: | ||
2 | |||
3 | with lib; | ||
4 | |||
5 | let | ||
6 | |||
7 | mainCfg = config.services.httpdTools; | ||
8 | |||
9 | httpd = mainCfg.package.out; | ||
10 | |||
11 | version24 = !versionOlder httpd.version "2.4"; | ||
12 | |||
13 | httpdConf = mainCfg.configFile; | ||
14 | |||
15 | php = mainCfg.phpPackage.override { apacheHttpd = httpd.dev; /* otherwise it only gets .out */ }; | ||
16 | |||
17 | phpMajorVersion = head (splitString "." php.version); | ||
18 | |||
19 | mod_perl = pkgs.apacheHttpdPackages.mod_perl.override { apacheHttpd = httpd; }; | ||
20 | |||
21 | defaultListen = cfg: if cfg.enableSSL | ||
22 | then [{ip = "*"; port = 443;}] | ||
23 | else [{ip = "*"; port = 80;}]; | ||
24 | |||
25 | getListen = cfg: | ||
26 | let list = (lib.optional (cfg.port != 0) {ip = "*"; port = cfg.port;}) ++ cfg.listen; | ||
27 | in if list == [] | ||
28 | then defaultListen cfg | ||
29 | else list; | ||
30 | |||
31 | listenToString = l: "${l.ip}:${toString l.port}"; | ||
32 | |||
33 | extraModules = attrByPath ["extraModules"] [] mainCfg; | ||
34 | extraForeignModules = filter isAttrs extraModules; | ||
35 | extraApacheModules = filter isString extraModules; | ||
36 | |||
37 | |||
38 | makeServerInfo = cfg: { | ||
39 | # Canonical name must not include a trailing slash. | ||
40 | canonicalNames = | ||
41 | let defaultPort = (head (defaultListen cfg)).port; in | ||
42 | map (port: | ||
43 | (if cfg.enableSSL then "https" else "http") + "://" + | ||
44 | cfg.hostName + | ||
45 | (if port != defaultPort then ":${toString port}" else "") | ||
46 | ) (map (x: x.port) (getListen cfg)); | ||
47 | |||
48 | # Admin address: inherit from the main server if not specified for | ||
49 | # a virtual host. | ||
50 | adminAddr = if cfg.adminAddr != null then cfg.adminAddr else mainCfg.adminAddr; | ||
51 | |||
52 | vhostConfig = cfg; | ||
53 | serverConfig = mainCfg; | ||
54 | fullConfig = config; # machine config | ||
55 | }; | ||
56 | |||
57 | |||
58 | allHosts = [mainCfg] ++ mainCfg.virtualHosts; | ||
59 | |||
60 | |||
61 | callSubservices = serverInfo: defs: | ||
62 | let f = svc: | ||
63 | let | ||
64 | svcFunction = | ||
65 | if svc ? function then svc.function | ||
66 | # instead of using serviceType="mediawiki"; you can copy mediawiki.nix to any location outside nixpkgs, modify it at will, and use serviceExpression=./mediawiki.nix; | ||
67 | else if svc ? serviceExpression then import (toString svc.serviceExpression) | ||
68 | else import (toString "${toString ./.}/${if svc ? serviceType then svc.serviceType else svc.serviceName}.nix"); | ||
69 | config = (evalModules | ||
70 | { modules = [ { options = res.options; config = svc.config or svc; } ]; | ||
71 | check = false; | ||
72 | }).config; | ||
73 | defaults = { | ||
74 | extraConfig = ""; | ||
75 | extraModules = []; | ||
76 | extraModulesPre = []; | ||
77 | extraPath = []; | ||
78 | extraServerPath = []; | ||
79 | globalEnvVars = []; | ||
80 | robotsEntries = ""; | ||
81 | startupScript = ""; | ||
82 | enablePHP = false; | ||
83 | enablePerl = false; | ||
84 | phpOptions = ""; | ||
85 | options = {}; | ||
86 | documentRoot = null; | ||
87 | }; | ||
88 | res = defaults // svcFunction { inherit config lib pkgs serverInfo php; }; | ||
89 | in res; | ||
90 | in map f defs; | ||
91 | |||
92 | |||
93 | # !!! callSubservices is expensive | ||
94 | subservicesFor = cfg: callSubservices (makeServerInfo cfg) cfg.extraSubservices; | ||
95 | |||
96 | mainSubservices = subservicesFor mainCfg; | ||
97 | |||
98 | allSubservices = mainSubservices ++ concatMap subservicesFor mainCfg.virtualHosts; | ||
99 | |||
100 | |||
101 | enableSSL = any (vhost: vhost.enableSSL) allHosts; | ||
102 | |||
103 | |||
104 | # Names of modules from ${httpd}/modules that we want to load. | ||
105 | apacheModules = | ||
106 | [ # HTTP authentication mechanisms: basic and digest. | ||
107 | "auth_basic" "auth_digest" | ||
108 | |||
109 | # Authentication: is the user who he claims to be? | ||
110 | "authn_file" "authn_dbm" "authn_anon" | ||
111 | (if version24 then "authn_core" else "authn_alias") | ||
112 | |||
113 | # Authorization: is the user allowed access? | ||
114 | "authz_user" "authz_groupfile" "authz_host" | ||
115 | |||
116 | # Other modules. | ||
117 | "ext_filter" "include" "log_config" "env" "mime_magic" | ||
118 | "cern_meta" "expires" "headers" "usertrack" /* "unique_id" */ "setenvif" | ||
119 | "mime" "dav" "status" "autoindex" "asis" "info" "dav_fs" | ||
120 | "vhost_alias" "negotiation" "dir" "imagemap" "actions" "speling" | ||
121 | "userdir" "alias" "rewrite" "proxy" "proxy_http" | ||
122 | ] | ||
123 | ++ optionals version24 [ | ||
124 | "mpm_${mainCfg.multiProcessingModule}" | ||
125 | "authz_core" | ||
126 | "unixd" | ||
127 | "cache" "cache_disk" | ||
128 | "slotmem_shm" | ||
129 | "socache_shmcb" | ||
130 | # For compatibility with old configurations, the new module mod_access_compat is provided. | ||
131 | "access_compat" | ||
132 | ] | ||
133 | ++ (if mainCfg.multiProcessingModule == "prefork" then [ "cgi" ] else [ "cgid" ]) | ||
134 | ++ optional enableSSL "ssl" | ||
135 | ++ extraApacheModules; | ||
136 | |||
137 | |||
138 | allDenied = if version24 then '' | ||
139 | Require all denied | ||
140 | '' else '' | ||
141 | Order deny,allow | ||
142 | Deny from all | ||
143 | ''; | ||
144 | |||
145 | allGranted = if version24 then '' | ||
146 | Require all granted | ||
147 | '' else '' | ||
148 | Order allow,deny | ||
149 | Allow from all | ||
150 | ''; | ||
151 | |||
152 | |||
153 | loggingConf = (if mainCfg.logFormat != "none" then '' | ||
154 | ErrorLog ${mainCfg.logDir}/error_log | ||
155 | |||
156 | LogLevel notice | ||
157 | |||
158 | LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined | ||
159 | LogFormat "%h %l %u %t \"%r\" %>s %b" common | ||
160 | LogFormat "%{Referer}i -> %U" referer | ||
161 | LogFormat "%{User-agent}i" agent | ||
162 | |||
163 | CustomLog ${mainCfg.logDir}/access_log ${mainCfg.logFormat} | ||
164 | '' else '' | ||
165 | ErrorLog /dev/null | ||
166 | ''); | ||
167 | |||
168 | |||
169 | browserHacks = '' | ||
170 | BrowserMatch "Mozilla/2" nokeepalive | ||
171 | BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 | ||
172 | BrowserMatch "RealPlayer 4\.0" force-response-1.0 | ||
173 | BrowserMatch "Java/1\.0" force-response-1.0 | ||
174 | BrowserMatch "JDK/1\.0" force-response-1.0 | ||
175 | BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully | ||
176 | BrowserMatch "^WebDrive" redirect-carefully | ||
177 | BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully | ||
178 | BrowserMatch "^gnome-vfs" redirect-carefully | ||
179 | ''; | ||
180 | |||
181 | |||
182 | sslConf = '' | ||
183 | SSLSessionCache ${if version24 then "shmcb" else "shm"}:${mainCfg.stateDir}/ssl_scache(512000) | ||
184 | |||
185 | ${if version24 then "Mutex" else "SSLMutex"} posixsem | ||
186 | |||
187 | SSLRandomSeed startup builtin | ||
188 | SSLRandomSeed connect builtin | ||
189 | |||
190 | SSLProtocol All -SSLv2 -SSLv3 | ||
191 | SSLCipherSuite HIGH:!aNULL:!MD5:!EXP | ||
192 | SSLHonorCipherOrder on | ||
193 | ''; | ||
194 | |||
195 | |||
196 | mimeConf = '' | ||
197 | TypesConfig ${httpd}/conf/mime.types | ||
198 | |||
199 | AddType application/x-x509-ca-cert .crt | ||
200 | AddType application/x-pkcs7-crl .crl | ||
201 | AddType application/x-httpd-php .php .phtml | ||
202 | |||
203 | <IfModule mod_mime_magic.c> | ||
204 | MIMEMagicFile ${httpd}/conf/magic | ||
205 | </IfModule> | ||
206 | ''; | ||
207 | |||
208 | |||
209 | perServerConf = isMainServer: cfg: let | ||
210 | |||
211 | serverInfo = makeServerInfo cfg; | ||
212 | |||
213 | subservices = callSubservices serverInfo cfg.extraSubservices; | ||
214 | |||
215 | maybeDocumentRoot = fold (svc: acc: | ||
216 | if acc == null then svc.documentRoot else assert svc.documentRoot == null; acc | ||
217 | ) null ([ cfg ] ++ subservices); | ||
218 | |||
219 | documentRoot = if maybeDocumentRoot != null then maybeDocumentRoot else | ||
220 | pkgs.runCommand "empty" {} "mkdir -p $out"; | ||
221 | |||
222 | documentRootConf = '' | ||
223 | DocumentRoot "${documentRoot}" | ||
224 | |||
225 | <Directory "${documentRoot}"> | ||
226 | Options Indexes FollowSymLinks | ||
227 | AllowOverride None | ||
228 | ${allGranted} | ||
229 | </Directory> | ||
230 | ''; | ||
231 | |||
232 | robotsTxt = | ||
233 | concatStringsSep "\n" (filter (x: x != "") ( | ||
234 | # If this is a vhost, the include the entries for the main server as well. | ||
235 | (if isMainServer then [] else [mainCfg.robotsEntries] ++ map (svc: svc.robotsEntries) mainSubservices) | ||
236 | ++ [cfg.robotsEntries] | ||
237 | ++ (map (svc: svc.robotsEntries) subservices))); | ||
238 | |||
239 | in '' | ||
240 | ${concatStringsSep "\n" (map (n: "ServerName ${n}") serverInfo.canonicalNames)} | ||
241 | |||
242 | ${concatMapStrings (alias: "ServerAlias ${alias}\n") cfg.serverAliases} | ||
243 | |||
244 | ${if cfg.sslServerCert != null then '' | ||
245 | SSLCertificateFile ${cfg.sslServerCert} | ||
246 | SSLCertificateKeyFile ${cfg.sslServerKey} | ||
247 | ${if cfg.sslServerChain != null then '' | ||
248 | SSLCertificateChainFile ${cfg.sslServerChain} | ||
249 | '' else ""} | ||
250 | '' else ""} | ||
251 | |||
252 | ${if cfg.enableSSL then '' | ||
253 | SSLEngine on | ||
254 | '' else if enableSSL then /* i.e., SSL is enabled for some host, but not this one */ | ||
255 | '' | ||
256 | SSLEngine off | ||
257 | '' else ""} | ||
258 | |||
259 | ${if isMainServer || cfg.adminAddr != null then '' | ||
260 | ServerAdmin ${cfg.adminAddr} | ||
261 | '' else ""} | ||
262 | |||
263 | ${if !isMainServer && mainCfg.logPerVirtualHost then '' | ||
264 | ErrorLog ${mainCfg.logDir}/error_log-${cfg.hostName} | ||
265 | CustomLog ${mainCfg.logDir}/access_log-${cfg.hostName} ${cfg.logFormat} | ||
266 | '' else ""} | ||
267 | |||
268 | ${optionalString (robotsTxt != "") '' | ||
269 | Alias /robots.txt ${pkgs.writeText "robots.txt" robotsTxt} | ||
270 | ''} | ||
271 | |||
272 | ${if isMainServer || maybeDocumentRoot != null then documentRootConf else ""} | ||
273 | |||
274 | ${if cfg.enableUserDir then '' | ||
275 | |||
276 | UserDir public_html | ||
277 | UserDir disabled root | ||
278 | |||
279 | <Directory "/home/*/public_html"> | ||
280 | AllowOverride FileInfo AuthConfig Limit Indexes | ||
281 | Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec | ||
282 | <Limit GET POST OPTIONS> | ||
283 | ${allGranted} | ||
284 | </Limit> | ||
285 | <LimitExcept GET POST OPTIONS> | ||
286 | ${allDenied} | ||
287 | </LimitExcept> | ||
288 | </Directory> | ||
289 | |||
290 | '' else ""} | ||
291 | |||
292 | ${if cfg.globalRedirect != null && cfg.globalRedirect != "" then '' | ||
293 | RedirectPermanent / ${cfg.globalRedirect} | ||
294 | '' else ""} | ||
295 | |||
296 | ${ | ||
297 | let makeFileConf = elem: '' | ||
298 | Alias ${elem.urlPath} ${elem.file} | ||
299 | ''; | ||
300 | in concatMapStrings makeFileConf cfg.servedFiles | ||
301 | } | ||
302 | |||
303 | ${ | ||
304 | let makeDirConf = elem: '' | ||
305 | Alias ${elem.urlPath} ${elem.dir}/ | ||
306 | <Directory ${elem.dir}> | ||
307 | Options +Indexes | ||
308 | ${allGranted} | ||
309 | AllowOverride All | ||
310 | </Directory> | ||
311 | ''; | ||
312 | in concatMapStrings makeDirConf cfg.servedDirs | ||
313 | } | ||
314 | |||
315 | ${concatMapStrings (svc: svc.extraConfig) subservices} | ||
316 | |||
317 | ${cfg.extraConfig} | ||
318 | ''; | ||
319 | |||
320 | |||
321 | confFile = pkgs.writeText "httpd.conf" '' | ||
322 | |||
323 | ServerRoot ${httpd} | ||
324 | |||
325 | ${optionalString version24 '' | ||
326 | DefaultRuntimeDir ${mainCfg.stateDir}/runtime | ||
327 | ''} | ||
328 | |||
329 | PidFile ${mainCfg.stateDir}/httpd.pid | ||
330 | |||
331 | ${optionalString (mainCfg.multiProcessingModule != "prefork") '' | ||
332 | # mod_cgid requires this. | ||
333 | ScriptSock ${mainCfg.stateDir}/cgisock | ||
334 | ''} | ||
335 | |||
336 | <IfModule prefork.c> | ||
337 | MaxClients ${toString mainCfg.maxClients} | ||
338 | MaxRequestsPerChild ${toString mainCfg.maxRequestsPerChild} | ||
339 | </IfModule> | ||
340 | |||
341 | ${let | ||
342 | listen = concatMap getListen allHosts; | ||
343 | toStr = listen: "Listen ${listenToString listen}\n"; | ||
344 | uniqueListen = uniqList {inputList = map toStr listen;}; | ||
345 | in concatStrings uniqueListen | ||
346 | } | ||
347 | |||
348 | User ${mainCfg.user} | ||
349 | Group ${mainCfg.group} | ||
350 | |||
351 | ${let | ||
352 | load = {name, path}: "LoadModule ${name}_module ${path}\n"; | ||
353 | allModules = | ||
354 | concatMap (svc: svc.extraModulesPre) allSubservices | ||
355 | ++ map (name: {inherit name; path = "${httpd}/modules/mod_${name}.so";}) apacheModules | ||
356 | ++ optional mainCfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; } | ||
357 | ++ optional enablePHP { name = "php${phpMajorVersion}"; path = "${php}/modules/libphp${phpMajorVersion}.so"; } | ||
358 | ++ optional enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; } | ||
359 | ++ concatMap (svc: svc.extraModules) allSubservices | ||
360 | ++ extraForeignModules; | ||
361 | in concatMapStrings load allModules | ||
362 | } | ||
363 | |||
364 | AddHandler type-map var | ||
365 | |||
366 | <Files ~ "^\.ht"> | ||
367 | ${allDenied} | ||
368 | </Files> | ||
369 | |||
370 | ${mimeConf} | ||
371 | ${loggingConf} | ||
372 | ${browserHacks} | ||
373 | |||
374 | Include ${httpd}/conf/extra/httpd-default.conf | ||
375 | Include ${httpd}/conf/extra/httpd-autoindex.conf | ||
376 | Include ${httpd}/conf/extra/httpd-multilang-errordoc.conf | ||
377 | Include ${httpd}/conf/extra/httpd-languages.conf | ||
378 | |||
379 | ${if enableSSL then sslConf else ""} | ||
380 | |||
381 | # Fascist default - deny access to everything. | ||
382 | <Directory /> | ||
383 | Options FollowSymLinks | ||
384 | AllowOverride None | ||
385 | ${allDenied} | ||
386 | </Directory> | ||
387 | |||
388 | # Generate directives for the main server. | ||
389 | ${perServerConf true mainCfg} | ||
390 | |||
391 | # Always enable virtual hosts; it doesn't seem to hurt. | ||
392 | ${let | ||
393 | listen = concatMap getListen allHosts; | ||
394 | uniqueListen = uniqList {inputList = listen;}; | ||
395 | directives = concatMapStrings (listen: "NameVirtualHost ${listenToString listen}\n") uniqueListen; | ||
396 | in optionalString (!version24) directives | ||
397 | } | ||
398 | |||
399 | ${let | ||
400 | makeVirtualHost = vhost: '' | ||
401 | <VirtualHost ${concatStringsSep " " (map listenToString (getListen vhost))}> | ||
402 | ${perServerConf false vhost} | ||
403 | </VirtualHost> | ||
404 | ''; | ||
405 | in concatMapStrings makeVirtualHost mainCfg.virtualHosts | ||
406 | } | ||
407 | ''; | ||
408 | |||
409 | |||
410 | enablePHP = mainCfg.enablePHP || any (svc: svc.enablePHP) allSubservices; | ||
411 | |||
412 | enablePerl = mainCfg.enablePerl || any (svc: svc.enablePerl) allSubservices; | ||
413 | |||
414 | |||
415 | # Generate the PHP configuration file. Should probably be factored | ||
416 | # out into a separate module. | ||
417 | phpIni = pkgs.runCommand "php.ini" | ||
418 | { options = concatStringsSep "\n" | ||
419 | ([ mainCfg.phpOptions ] ++ (map (svc: svc.phpOptions) allSubservices)); | ||
420 | } | ||
421 | '' | ||
422 | cat ${php}/etc/php.ini > $out | ||
423 | echo "$options" >> $out | ||
424 | ''; | ||
425 | |||
426 | in | ||
427 | |||
428 | |||
429 | { | ||
430 | |||
431 | ###### interface | ||
432 | |||
433 | options = { | ||
434 | |||
435 | services.httpdTools = { | ||
436 | |||
437 | enable = mkOption { | ||
438 | type = types.bool; | ||
439 | default = false; | ||
440 | description = "Whether to enable the Apache HTTP Server."; | ||
441 | }; | ||
442 | |||
443 | package = mkOption { | ||
444 | type = types.package; | ||
445 | default = pkgs.apacheHttpd; | ||
446 | defaultText = "pkgs.apacheHttpd"; | ||
447 | description = '' | ||
448 | Overridable attribute of the Apache HTTP Server package to use. | ||
449 | ''; | ||
450 | }; | ||
451 | |||
452 | configFile = mkOption { | ||
453 | type = types.path; | ||
454 | default = confFile; | ||
455 | defaultText = "confFile"; | ||
456 | example = literalExample ''pkgs.writeText "httpd.conf" "# my custom config file ..."''; | ||
457 | description = '' | ||
458 | Override the configuration file used by Apache. By default, | ||
459 | NixOS generates one automatically. | ||
460 | ''; | ||
461 | }; | ||
462 | |||
463 | extraConfig = mkOption { | ||
464 | type = types.lines; | ||
465 | default = ""; | ||
466 | description = '' | ||
467 | Cnfiguration lines appended to the generated Apache | ||
468 | configuration file. Note that this mechanism may not work | ||
469 | when <option>configFile</option> is overridden. | ||
470 | ''; | ||
471 | }; | ||
472 | |||
473 | extraModules = mkOption { | ||
474 | type = types.listOf types.unspecified; | ||
475 | default = []; | ||
476 | example = literalExample ''[ "proxy_connect" { name = "php5"; path = "''${pkgs.php}/modules/libphp5.so"; } ]''; | ||
477 | description = '' | ||
478 | Additional Apache modules to be used. These can be | ||
479 | specified as a string in the case of modules distributed | ||
480 | with Apache, or as an attribute set specifying the | ||
481 | <varname>name</varname> and <varname>path</varname> of the | ||
482 | module. | ||
483 | ''; | ||
484 | }; | ||
485 | |||
486 | logPerVirtualHost = mkOption { | ||
487 | type = types.bool; | ||
488 | default = false; | ||
489 | description = '' | ||
490 | If enabled, each virtual host gets its own | ||
491 | <filename>access_log</filename> and | ||
492 | <filename>error_log</filename>, namely suffixed by the | ||
493 | <option>hostName</option> of the virtual host. | ||
494 | ''; | ||
495 | }; | ||
496 | |||
497 | user = mkOption { | ||
498 | type = types.str; | ||
499 | default = "wwwrun"; | ||
500 | description = '' | ||
501 | User account under which httpd runs. The account is created | ||
502 | automatically if it doesn't exist. | ||
503 | ''; | ||
504 | }; | ||
505 | |||
506 | group = mkOption { | ||
507 | type = types.str; | ||
508 | default = "wwwrun"; | ||
509 | description = '' | ||
510 | Group under which httpd runs. The account is created | ||
511 | automatically if it doesn't exist. | ||
512 | ''; | ||
513 | }; | ||
514 | |||
515 | logDir = mkOption { | ||
516 | type = types.path; | ||
517 | default = "/var/log/httpd"; | ||
518 | description = '' | ||
519 | Directory for Apache's log files. It is created automatically. | ||
520 | ''; | ||
521 | }; | ||
522 | |||
523 | stateDir = mkOption { | ||
524 | type = types.path; | ||
525 | default = "/run/httpd"; | ||
526 | description = '' | ||
527 | Directory for Apache's transient runtime state (such as PID | ||
528 | files). It is created automatically. Note that the default, | ||
529 | <filename>/run/httpd</filename>, is deleted at boot time. | ||
530 | ''; | ||
531 | }; | ||
532 | |||
533 | virtualHosts = mkOption { | ||
534 | type = types.listOf (types.submodule ( | ||
535 | { options = import ./per-server-options.nix { | ||
536 | inherit lib; | ||
537 | forMainServer = false; | ||
538 | }; | ||
539 | })); | ||
540 | default = []; | ||
541 | example = [ | ||
542 | { hostName = "foo"; | ||
543 | documentRoot = "/data/webroot-foo"; | ||
544 | } | ||
545 | { hostName = "bar"; | ||
546 | documentRoot = "/data/webroot-bar"; | ||
547 | } | ||
548 | ]; | ||
549 | description = '' | ||
550 | Specification of the virtual hosts served by Apache. Each | ||
551 | element should be an attribute set specifying the | ||
552 | configuration of the virtual host. The available options | ||
553 | are the non-global options permissible for the main host. | ||
554 | ''; | ||
555 | }; | ||
556 | |||
557 | enableMellon = mkOption { | ||
558 | type = types.bool; | ||
559 | default = false; | ||
560 | description = "Whether to enable the mod_auth_mellon module."; | ||
561 | }; | ||
562 | |||
563 | enablePHP = mkOption { | ||
564 | type = types.bool; | ||
565 | default = false; | ||
566 | description = "Whether to enable the PHP module."; | ||
567 | }; | ||
568 | |||
569 | phpPackage = mkOption { | ||
570 | type = types.package; | ||
571 | default = pkgs.php; | ||
572 | defaultText = "pkgs.php"; | ||
573 | description = '' | ||
574 | Overridable attribute of the PHP package to use. | ||
575 | ''; | ||
576 | }; | ||
577 | |||
578 | enablePerl = mkOption { | ||
579 | type = types.bool; | ||
580 | default = false; | ||
581 | description = "Whether to enable the Perl module (mod_perl)."; | ||
582 | }; | ||
583 | |||
584 | phpOptions = mkOption { | ||
585 | type = types.lines; | ||
586 | default = ""; | ||
587 | example = | ||
588 | '' | ||
589 | date.timezone = "CET" | ||
590 | ''; | ||
591 | description = | ||
592 | "Options appended to the PHP configuration file <filename>php.ini</filename>."; | ||
593 | }; | ||
594 | |||
595 | multiProcessingModule = mkOption { | ||
596 | type = types.str; | ||
597 | default = "prefork"; | ||
598 | example = "worker"; | ||
599 | description = | ||
600 | '' | ||
601 | Multi-processing module to be used by Apache. Available | ||
602 | modules are <literal>prefork</literal> (the default; | ||
603 | handles each request in a separate child process), | ||
604 | <literal>worker</literal> (hybrid approach that starts a | ||
605 | number of child processes each running a number of | ||
606 | threads) and <literal>event</literal> (a recent variant of | ||
607 | <literal>worker</literal> that handles persistent | ||
608 | connections more efficiently). | ||
609 | ''; | ||
610 | }; | ||
611 | |||
612 | maxClients = mkOption { | ||
613 | type = types.int; | ||
614 | default = 150; | ||
615 | example = 8; | ||
616 | description = "Maximum number of httpd processes (prefork)"; | ||
617 | }; | ||
618 | |||
619 | maxRequestsPerChild = mkOption { | ||
620 | type = types.int; | ||
621 | default = 0; | ||
622 | example = 500; | ||
623 | description = | ||
624 | "Maximum number of httpd requests answered per httpd child (prefork), 0 means unlimited"; | ||
625 | }; | ||
626 | } | ||
627 | |||
628 | # Include the options shared between the main server and virtual hosts. | ||
629 | // (import ./per-server-options.nix { | ||
630 | inherit lib; | ||
631 | forMainServer = true; | ||
632 | }); | ||
633 | |||
634 | }; | ||
635 | |||
636 | |||
637 | ###### implementation | ||
638 | |||
639 | config = mkIf config.services.httpdTools.enable { | ||
640 | |||
641 | assertions = [ { assertion = mainCfg.enableSSL == true | ||
642 | -> mainCfg.sslServerCert != null | ||
643 | && mainCfg.sslServerKey != null; | ||
644 | message = "SSL is enabled for httpd, but sslServerCert and/or sslServerKey haven't been specified."; } | ||
645 | ]; | ||
646 | |||
647 | warnings = map (cfg: ''apache-httpd's port option is deprecated. Use listen = [{/*ip = "*"; */ port = ${toString cfg.port};}]; instead'' ) (lib.filter (cfg: cfg.port != 0) allHosts); | ||
648 | |||
649 | users.users = optionalAttrs (mainCfg.user == "wwwrun") (singleton | ||
650 | { name = "wwwrun"; | ||
651 | group = mainCfg.group; | ||
652 | description = "Apache httpd user"; | ||
653 | uid = config.ids.uids.wwwrun; | ||
654 | }); | ||
655 | |||
656 | users.groups = optionalAttrs (mainCfg.group == "wwwrun") (singleton | ||
657 | { name = "wwwrun"; | ||
658 | gid = config.ids.gids.wwwrun; | ||
659 | }); | ||
660 | |||
661 | environment.systemPackages = [httpd] ++ concatMap (svc: svc.extraPath) allSubservices; | ||
662 | |||
663 | services.httpdTools.phpOptions = | ||
664 | '' | ||
665 | ; Needed for PHP's mail() function. | ||
666 | sendmail_path = sendmail -t -i | ||
667 | '' + optionalString (!isNull config.time.timeZone) '' | ||
668 | |||
669 | ; Apparently PHP doesn't use $TZ. | ||
670 | date.timezone = "${config.time.timeZone}" | ||
671 | ''; | ||
672 | |||
673 | systemd.services.httpdTools = | ||
674 | { description = "Apache HTTPD"; | ||
675 | |||
676 | wantedBy = [ "multi-user.target" ]; | ||
677 | wants = [ "keys.target" ]; | ||
678 | after = [ "network.target" "fs.target" "postgresql.service" "keys.target" ]; | ||
679 | |||
680 | path = | ||
681 | [ httpd pkgs.coreutils pkgs.gnugrep ] | ||
682 | ++ # Needed for PHP's mail() function. !!! Probably the | ||
683 | # ssmtp module should export the path to sendmail in | ||
684 | # some way. | ||
685 | optional config.networking.defaultMailServer.directDelivery pkgs.ssmtp | ||
686 | ++ concatMap (svc: svc.extraServerPath) allSubservices; | ||
687 | |||
688 | environment = | ||
689 | optionalAttrs enablePHP { PHPRC = phpIni; } | ||
690 | // optionalAttrs mainCfg.enableMellon { LD_LIBRARY_PATH = "${pkgs.xmlsec}/lib"; } | ||
691 | // (listToAttrs (concatMap (svc: svc.globalEnvVars) allSubservices)); | ||
692 | |||
693 | preStart = | ||
694 | '' | ||
695 | mkdir -m 0750 -p ${mainCfg.stateDir} | ||
696 | [ $(id -u) != 0 ] || chown root.${mainCfg.group} ${mainCfg.stateDir} | ||
697 | ${optionalString version24 '' | ||
698 | mkdir -m 0750 -p "${mainCfg.stateDir}/runtime" | ||
699 | [ $(id -u) != 0 ] || chown root.${mainCfg.group} "${mainCfg.stateDir}/runtime" | ||
700 | ''} | ||
701 | mkdir -m 0700 -p ${mainCfg.logDir} | ||
702 | |||
703 | # Get rid of old semaphores. These tend to accumulate across | ||
704 | # server restarts, eventually preventing it from restarting | ||
705 | # successfully. | ||
706 | for i in $(${pkgs.utillinux}/bin/ipcs -s | grep ' ${mainCfg.user} ' | cut -f2 -d ' '); do | ||
707 | ${pkgs.utillinux}/bin/ipcrm -s $i | ||
708 | done | ||
709 | |||
710 | # Run the startup hooks for the subservices. | ||
711 | for i in ${toString (map (svn: svn.startupScript) allSubservices)}; do | ||
712 | echo Running Apache startup hook $i... | ||
713 | $i | ||
714 | done | ||
715 | ''; | ||
716 | |||
717 | serviceConfig.ExecStart = "@${httpd}/bin/httpd httpd -f ${httpdConf}"; | ||
718 | serviceConfig.ExecStop = "${httpd}/bin/httpd -f ${httpdConf} -k graceful-stop"; | ||
719 | serviceConfig.ExecReload = "${httpd}/bin/httpd -f ${httpdConf} -k graceful"; | ||
720 | serviceConfig.Type = "forking"; | ||
721 | serviceConfig.PIDFile = "${mainCfg.stateDir}/httpd.pid"; | ||
722 | serviceConfig.Restart = "always"; | ||
723 | serviceConfig.RestartSec = "5s"; | ||
724 | }; | ||
725 | |||
726 | }; | ||
727 | } | ||
diff --git a/virtual/modules/websites/apache/per-server-options.nix b/virtual/modules/websites/apache/per-server-options.nix deleted file mode 100644 index 4bbd041..0000000 --- a/virtual/modules/websites/apache/per-server-options.nix +++ /dev/null | |||
@@ -1,188 +0,0 @@ | |||
1 | # This file defines the options that can be used both for the Apache | ||
2 | # main server configuration, and for the virtual hosts. (The latter | ||
3 | # has additional options that affect the web server as a whole, like | ||
4 | # the user/group to run under.) | ||
5 | |||
6 | { forMainServer, lib }: | ||
7 | |||
8 | with lib; | ||
9 | |||
10 | { | ||
11 | |||
12 | hostName = mkOption { | ||
13 | type = types.str; | ||
14 | default = "localhost"; | ||
15 | description = "Canonical hostname for the server."; | ||
16 | }; | ||
17 | |||
18 | serverAliases = mkOption { | ||
19 | type = types.listOf types.str; | ||
20 | default = []; | ||
21 | example = ["www.example.org" "www.example.org:8080" "example.org"]; | ||
22 | description = '' | ||
23 | Additional names of virtual hosts served by this virtual host configuration. | ||
24 | ''; | ||
25 | }; | ||
26 | |||
27 | port = mkOption { | ||
28 | type = types.int; | ||
29 | default = 0; | ||
30 | description = '' | ||
31 | Port for the server. Option will be removed, use <option>listen</option> instead. | ||
32 | ''; | ||
33 | }; | ||
34 | |||
35 | listen = mkOption { | ||
36 | type = types.listOf (types.submodule ( | ||
37 | { | ||
38 | options = { | ||
39 | port = mkOption { | ||
40 | type = types.int; | ||
41 | description = "port to listen on"; | ||
42 | }; | ||
43 | ip = mkOption { | ||
44 | type = types.string; | ||
45 | default = "*"; | ||
46 | description = "Ip to listen on. 0.0.0.0 for ipv4 only, * for all."; | ||
47 | }; | ||
48 | }; | ||
49 | } )); | ||
50 | description = '' | ||
51 | List of { /* ip: "*"; */ port = 80;} to listen on | ||
52 | ''; | ||
53 | |||
54 | default = []; | ||
55 | }; | ||
56 | |||
57 | enableSSL = mkOption { | ||
58 | type = types.bool; | ||
59 | default = false; | ||
60 | description = "Whether to enable SSL (https) support."; | ||
61 | }; | ||
62 | |||
63 | # Note: sslServerCert and sslServerKey can be left empty, but this | ||
64 | # only makes sense for virtual hosts (they will inherit from the | ||
65 | # main server). | ||
66 | |||
67 | sslServerCert = mkOption { | ||
68 | type = types.nullOr types.path; | ||
69 | default = null; | ||
70 | example = "/var/host.cert"; | ||
71 | description = "Path to server SSL certificate."; | ||
72 | }; | ||
73 | |||
74 | sslServerKey = mkOption { | ||
75 | type = types.path; | ||
76 | example = "/var/host.key"; | ||
77 | description = "Path to server SSL certificate key."; | ||
78 | }; | ||
79 | |||
80 | sslServerChain = mkOption { | ||
81 | type = types.nullOr types.path; | ||
82 | default = null; | ||
83 | example = "/var/ca.pem"; | ||
84 | description = "Path to server SSL chain file."; | ||
85 | }; | ||
86 | |||
87 | adminAddr = mkOption ({ | ||
88 | type = types.nullOr types.str; | ||
89 | example = "admin@example.org"; | ||
90 | description = "E-mail address of the server administrator."; | ||
91 | } // (if forMainServer then {} else {default = null;})); | ||
92 | |||
93 | documentRoot = mkOption { | ||
94 | type = types.nullOr types.path; | ||
95 | default = null; | ||
96 | example = "/data/webserver/docs"; | ||
97 | description = '' | ||
98 | The path of Apache's document root directory. If left undefined, | ||
99 | an empty directory in the Nix store will be used as root. | ||
100 | ''; | ||
101 | }; | ||
102 | |||
103 | servedDirs = mkOption { | ||
104 | type = types.listOf types.attrs; | ||
105 | default = []; | ||
106 | example = [ | ||
107 | { urlPath = "/nix"; | ||
108 | dir = "/home/eelco/Dev/nix-homepage"; | ||
109 | } | ||
110 | ]; | ||
111 | description = '' | ||
112 | This option provides a simple way to serve static directories. | ||
113 | ''; | ||
114 | }; | ||
115 | |||
116 | servedFiles = mkOption { | ||
117 | type = types.listOf types.attrs; | ||
118 | default = []; | ||
119 | example = [ | ||
120 | { urlPath = "/foo/bar.png"; | ||
121 | file = "/home/eelco/some-file.png"; | ||
122 | } | ||
123 | ]; | ||
124 | description = '' | ||
125 | This option provides a simple way to serve individual, static files. | ||
126 | ''; | ||
127 | }; | ||
128 | |||
129 | extraConfig = mkOption { | ||
130 | type = types.lines; | ||
131 | default = ""; | ||
132 | example = '' | ||
133 | <Directory /home> | ||
134 | Options FollowSymlinks | ||
135 | AllowOverride All | ||
136 | </Directory> | ||
137 | ''; | ||
138 | description = '' | ||
139 | These lines go to httpd.conf verbatim. They will go after | ||
140 | directories and directory aliases defined by default. | ||
141 | ''; | ||
142 | }; | ||
143 | |||
144 | extraSubservices = mkOption { | ||
145 | type = types.listOf types.unspecified; | ||
146 | default = []; | ||
147 | description = "Extra subservices to enable in the webserver."; | ||
148 | }; | ||
149 | |||
150 | enableUserDir = mkOption { | ||
151 | type = types.bool; | ||
152 | default = false; | ||
153 | description = '' | ||
154 | Whether to enable serving <filename>~/public_html</filename> as | ||
155 | <literal>/~<replaceable>username</replaceable></literal>. | ||
156 | ''; | ||
157 | }; | ||
158 | |||
159 | globalRedirect = mkOption { | ||
160 | type = types.nullOr types.str; | ||
161 | default = null; | ||
162 | example = http://newserver.example.org/; | ||
163 | description = '' | ||
164 | If set, all requests for this host are redirected permanently to | ||
165 | the given URL. | ||
166 | ''; | ||
167 | }; | ||
168 | |||
169 | logFormat = mkOption { | ||
170 | type = types.str; | ||
171 | default = "common"; | ||
172 | example = "combined"; | ||
173 | description = '' | ||
174 | Log format for Apache's log files. Possible values are: combined, common, referer, agent. | ||
175 | ''; | ||
176 | }; | ||
177 | |||
178 | robotsEntries = mkOption { | ||
179 | type = types.lines; | ||
180 | default = ""; | ||
181 | example = "Disallow: /foo/"; | ||
182 | description = '' | ||
183 | Specification of pages to be ignored by web crawlers. See <link | ||
184 | xlink:href='http://www.robotstxt.org/'/> for details. | ||
185 | ''; | ||
186 | }; | ||
187 | |||
188 | } | ||
diff --git a/virtual/modules/websites/aten/aten.json b/virtual/modules/websites/aten/aten.json deleted file mode 100644 index 53569b6..0000000 --- a/virtual/modules/websites/aten/aten.json +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | { | ||
2 | "tag": "b99537f-master", | ||
3 | "meta": { | ||
4 | "name": "aten", | ||
5 | "url": "gitolite@git.immae.eu:perso/Immae/Sites/Aten", | ||
6 | "branch": "master" | ||
7 | }, | ||
8 | "git": { | ||
9 | "url": "gitolite@git.immae.eu:perso/Immae/Sites/Aten", | ||
10 | "rev": "b99537fdad41291afb4f1bb8b2e2aa4081c71fae", | ||
11 | "sha256": "15mlyik6zivxwry6zc906bqnivxhby27yr8kj4lg5n68pvb877dn", | ||
12 | "fetchSubmodules": true | ||
13 | } | ||
14 | } | ||
diff --git a/virtual/modules/websites/aten/aten.nix b/virtual/modules/websites/aten/aten.nix deleted file mode 100644 index 69e1d4c..0000000 --- a/virtual/modules/websites/aten/aten.nix +++ /dev/null | |||
@@ -1,136 +0,0 @@ | |||
1 | { lib, writeText, fetchedGitPrivate, stdenv, composerEnv, fetchurl, fetchgit, binutils, python, nodejs, libsass, yarn2nix }: | ||
2 | let | ||
3 | aten = { config }: rec { | ||
4 | environment = config.environment; | ||
5 | varDir = "/var/lib/aten_${environment}"; | ||
6 | phpFpm = rec { | ||
7 | socket = "/var/run/phpfpm/aten-${environment}.sock"; | ||
8 | pool = '' | ||
9 | listen = ${socket} | ||
10 | user = ${apache.user} | ||
11 | group = ${apache.group} | ||
12 | listen.owner = ${apache.user} | ||
13 | listen.group = ${apache.group} | ||
14 | php_admin_value[upload_max_filesize] = 20M | ||
15 | php_admin_value[post_max_size] = 20M | ||
16 | ;php_admin_flag[log_errors] = on | ||
17 | php_admin_value[open_basedir] = "${webappDir}:${varDir}:/tmp" | ||
18 | php_admin_value[session.save_path] = "${varDir}/phpSessions" | ||
19 | ${if environment == "dev" then '' | ||
20 | pm = ondemand | ||
21 | pm.max_children = 5 | ||
22 | pm.process_idle_timeout = 60 | ||
23 | env[SYMFONY_DEBUG_MODE] = "yes" | ||
24 | '' else '' | ||
25 | pm = dynamic | ||
26 | pm.max_children = 20 | ||
27 | pm.start_servers = 2 | ||
28 | pm.min_spare_servers = 1 | ||
29 | pm.max_spare_servers = 3 | ||
30 | ''}''; | ||
31 | }; | ||
32 | apache = { | ||
33 | user = "wwwrun"; | ||
34 | group = "wwwrun"; | ||
35 | modules = [ "proxy_fcgi" ]; | ||
36 | vhostConf = '' | ||
37 | <FilesMatch "\.php$"> | ||
38 | SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" | ||
39 | </FilesMatch> | ||
40 | |||
41 | SetEnv APP_ENV "${environment}" | ||
42 | SetEnv APP_SECRET "${config.secret}" | ||
43 | SetEnv DATABASE_URL "${config.psql_url}" | ||
44 | |||
45 | ${if environment == "dev" then '' | ||
46 | <Location /> | ||
47 | Use LDAPConnect | ||
48 | Require ldap-group cn=dev.aten.pro,cn=httpd,ou=services,dc=immae,dc=eu | ||
49 | ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=https://aten.pro\"></html>" | ||
50 | </Location> | ||
51 | |||
52 | <Location /backend> | ||
53 | Use LDAPConnect | ||
54 | Require ldap-group cn=dev.aten.pro,cn=httpd,ou=services,dc=immae,dc=eu | ||
55 | ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=https://aten.pro\"></html>" | ||
56 | </Location> | ||
57 | '' else '' | ||
58 | Use Stats aten.pro | ||
59 | |||
60 | <Location /backend> | ||
61 | Use LDAPConnect | ||
62 | Require ldap-group cn=aten.pro,cn=httpd,ou=services,dc=immae,dc=eu | ||
63 | ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=https://aten.pro\"></html>" | ||
64 | </Location> | ||
65 | ''} | ||
66 | |||
67 | <Directory ${webRoot}> | ||
68 | Options Indexes FollowSymLinks MultiViews Includes | ||
69 | AllowOverride All | ||
70 | Require all granted | ||
71 | DirectoryIndex index.php | ||
72 | FallbackResource /index.php | ||
73 | </Directory> | ||
74 | ''; | ||
75 | }; | ||
76 | activationScript = { | ||
77 | deps = [ "wrappers" ]; | ||
78 | text = '' | ||
79 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} | ||
80 | install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions | ||
81 | if [ ! -f "${varDir}/currentWebappDir" -o \ | ||
82 | "${webappDir}" != "$(cat ${varDir}/currentWebappDir 2>/dev/null)" ]; then | ||
83 | pushd ${webappDir} > /dev/null | ||
84 | $wrapperDir/sudo -u wwwrun APP_ENV=${environment} ./bin/console --env=${environment} cache:clear --no-warmup | ||
85 | popd > /dev/null | ||
86 | echo -n "${webappDir}" > ${varDir}/currentWebappDir | ||
87 | fi | ||
88 | ''; | ||
89 | }; | ||
90 | yarnModules = let | ||
91 | info = fetchedGitPrivate ./aten.json; | ||
92 | in | ||
93 | yarn2nix.mkYarnModules { | ||
94 | name = "aten-yarn-modules"; | ||
95 | packageJSON = "${info.src}/package.json"; | ||
96 | yarnLock = "${info.src}/yarn.lock"; | ||
97 | pkgConfig = { | ||
98 | node-sass = { | ||
99 | buildInputs = [ binutils libsass python ]; | ||
100 | postInstall = let | ||
101 | nodeHeaders = fetchurl { | ||
102 | url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz"; | ||
103 | sha256 = "12zzsf8my43b8qnlacp871ih5vqafl2vlpqp51xp6h3gckn2frwy"; | ||
104 | }; | ||
105 | in | ||
106 | '' | ||
107 | export AR=${binutils.bintools}/bin/ar | ||
108 | node scripts/build.js --tarball=${nodeHeaders} | ||
109 | ''; | ||
110 | }; | ||
111 | }; | ||
112 | }; | ||
113 | webappDir = composerEnv.buildPackage ( | ||
114 | import ./php-packages.nix { inherit composerEnv fetchurl fetchgit; } // | ||
115 | fetchedGitPrivate ./aten.json // | ||
116 | rec { | ||
117 | noDev = (environment == "prod"); | ||
118 | preInstall = '' | ||
119 | export SYMFONY_ENV="${environment}" | ||
120 | export APP_ENV="${environment}" | ||
121 | export DATABASE_URL="${config.psql_url}" | ||
122 | export APP_SECRET="${config.secret}" | ||
123 | ''; | ||
124 | postInstall = '' | ||
125 | cd $out | ||
126 | ln -sf ${yarnModules}/node_modules . | ||
127 | yarn run --offline encore production | ||
128 | rm -rf var/{log,cache} | ||
129 | ln -sf ../../../../../../../${varDir}/{log,cache} var/ | ||
130 | ''; | ||
131 | buildInputs = [ yarn2nix.yarn ]; | ||
132 | }); | ||
133 | webRoot = "${webappDir}/public"; | ||
134 | }; | ||
135 | in | ||
136 | aten | ||
diff --git a/virtual/modules/websites/aten/default.nix b/virtual/modules/websites/aten/default.nix deleted file mode 100644 index db2ab49..0000000 --- a/virtual/modules/websites/aten/default.nix +++ /dev/null | |||
@@ -1,68 +0,0 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | ||
2 | let | ||
3 | aten = pkgs.callPackage ./aten.nix { inherit (mylibs) fetchedGitPrivate; }; | ||
4 | aten_dev = aten { | ||
5 | config = myconfig.env.websites.aten.integration; | ||
6 | }; | ||
7 | aten_prod = aten { | ||
8 | config = myconfig.env.websites.aten.production; | ||
9 | }; | ||
10 | |||
11 | cfg = config.services.myWebsites.Aten; | ||
12 | in { | ||
13 | options.services.myWebsites.Aten = { | ||
14 | production = { | ||
15 | enable = lib.mkEnableOption "enable Aten's website in production"; | ||
16 | }; | ||
17 | integration = { | ||
18 | enable = lib.mkEnableOption "enable Aten's website in integration"; | ||
19 | }; | ||
20 | }; | ||
21 | |||
22 | imports = [ | ||
23 | ../commons/stats.nix | ||
24 | ]; | ||
25 | |||
26 | config = lib.mkMerge [ | ||
27 | (lib.mkIf cfg.production.enable { | ||
28 | services.myWebsites.commons.stats.enable = true; | ||
29 | services.myWebsites.commons.stats.sites = [ | ||
30 | { | ||
31 | name = "aten.pro"; | ||
32 | conf = ./goaccess.conf; | ||
33 | } | ||
34 | ]; | ||
35 | |||
36 | security.acme.certs."aten" = config.services.myCertificates.certConfig // { | ||
37 | domain = "aten.pro"; | ||
38 | extraDomains = { | ||
39 | "www.aten.pro" = null; | ||
40 | }; | ||
41 | }; | ||
42 | |||
43 | services.myPhpfpm.poolConfigs.aten_prod = aten_prod.phpFpm.pool; | ||
44 | system.activationScripts.aten_prod = aten_prod.activationScript; | ||
45 | services.myWebsites.apacheConfig.aten_prod.modules = aten_prod.apache.modules; | ||
46 | services.myWebsites.production.modules = aten_prod.apache.modules; | ||
47 | services.myWebsites.production.vhostConfs.aten = { | ||
48 | certName = "aten"; | ||
49 | hosts = [ "aten.pro" "www.aten.pro" ]; | ||
50 | root = aten_prod.webRoot; | ||
51 | extraConfig = [ aten_prod.apache.vhostConf ]; | ||
52 | }; | ||
53 | }) | ||
54 | (lib.mkIf cfg.integration.enable { | ||
55 | security.acme.certs."eldiron".extraDomains."dev.aten.pro" = null; | ||
56 | services.myPhpfpm.poolConfigs.aten_dev = aten_dev.phpFpm.pool; | ||
57 | system.activationScripts.aten_dev = aten_dev.activationScript; | ||
58 | services.myWebsites.integration.modules = aten_dev.apache.modules; | ||
59 | services.myWebsites.integration.vhostConfs.aten = { | ||
60 | certName = "eldiron"; | ||
61 | hosts = [ "dev.aten.pro" ]; | ||
62 | root = aten_dev.webRoot; | ||
63 | extraConfig = [ aten_dev.apache.vhostConf ]; | ||
64 | }; | ||
65 | }) | ||
66 | ]; | ||
67 | } | ||
68 | |||
diff --git a/virtual/modules/websites/aten/goaccess.conf b/virtual/modules/websites/aten/goaccess.conf deleted file mode 100644 index 07cce57..0000000 --- a/virtual/modules/websites/aten/goaccess.conf +++ /dev/null | |||
@@ -1,99 +0,0 @@ | |||
1 | time-format %H:%M:%S | ||
2 | date-format %d/%b/%Y | ||
3 | |||
4 | #sur immae.eu | ||
5 | #log-format %v %h %^[%d:%t %^] "%r" %s %b "%R" "%u" $^ | ||
6 | |||
7 | log-format VCOMBINED | ||
8 | #= %v:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u" | ||
9 | |||
10 | html-prefs {"theme":"bright","layout":"vertical"} | ||
11 | |||
12 | exclude-ip 188.165.209.148 | ||
13 | exclude-ip 178.33.252.96 | ||
14 | exclude-ip 2001:41d0:2:9c94::1 | ||
15 | exclude-ip 2001:41d0:2:9c94:: | ||
16 | exclude-ip 176.9.151.89 | ||
17 | exclude-ip 2a01:4f8:160:3445:: | ||
18 | exclude-ip 82.255.56.72 | ||
19 | |||
20 | no-query-string true | ||
21 | |||
22 | keep-db-files true | ||
23 | load-from-disk true | ||
24 | db-path /var/lib/goaccess/aten.pro | ||
25 | |||
26 | ignore-panel REFERRERS | ||
27 | ignore-panel KEYPHRASES | ||
28 | |||
29 | static-file .css | ||
30 | static-file .js | ||
31 | static-file .jpg | ||
32 | static-file .png | ||
33 | static-file .gif | ||
34 | static-file .ico | ||
35 | static-file .jpeg | ||
36 | static-file .pdf | ||
37 | static-file .csv | ||
38 | static-file .mpeg | ||
39 | static-file .mpg | ||
40 | static-file .swf | ||
41 | static-file .woff | ||
42 | static-file .woff2 | ||
43 | static-file .xls | ||
44 | static-file .xlsx | ||
45 | static-file .doc | ||
46 | static-file .docx | ||
47 | static-file .ppt | ||
48 | static-file .pptx | ||
49 | static-file .txt | ||
50 | static-file .zip | ||
51 | static-file .ogg | ||
52 | static-file .mp3 | ||
53 | static-file .mp4 | ||
54 | static-file .exe | ||
55 | static-file .iso | ||
56 | static-file .gz | ||
57 | static-file .rar | ||
58 | static-file .svg | ||
59 | static-file .bmp | ||
60 | static-file .tar | ||
61 | static-file .tgz | ||
62 | static-file .tiff | ||
63 | static-file .tif | ||
64 | static-file .ttf | ||
65 | static-file .flv | ||
66 | #static-file .less | ||
67 | #static-file .ac3 | ||
68 | #static-file .avi | ||
69 | #static-file .bz2 | ||
70 | #static-file .class | ||
71 | #static-file .cue | ||
72 | #static-file .dae | ||
73 | #static-file .dat | ||
74 | #static-file .dts | ||
75 | #static-file .ejs | ||
76 | #static-file .eot | ||
77 | #static-file .eps | ||
78 | #static-file .img | ||
79 | #static-file .jar | ||
80 | #static-file .map | ||
81 | #static-file .mid | ||
82 | #static-file .midi | ||
83 | #static-file .ogv | ||
84 | #static-file .webm | ||
85 | #static-file .mkv | ||
86 | #static-file .odp | ||
87 | #static-file .ods | ||
88 | #static-file .odt | ||
89 | #static-file .otf | ||
90 | #static-file .pict | ||
91 | #static-file .pls | ||
92 | #static-file .ps | ||
93 | #static-file .qt | ||
94 | #static-file .rm | ||
95 | #static-file .svgz | ||
96 | #static-file .wav | ||
97 | #static-file .webp | ||
98 | |||
99 | |||
diff --git a/virtual/modules/websites/aten/php-packages.nix b/virtual/modules/websites/aten/php-packages.nix deleted file mode 100644 index 8d86587..0000000 --- a/virtual/modules/websites/aten/php-packages.nix +++ /dev/null | |||
@@ -1,740 +0,0 @@ | |||
1 | # Generated with composer2nix and adapted to return only the list of | ||
2 | # packages | ||
3 | { composerEnv, fetchurl, fetchgit ? null }: | ||
4 | { | ||
5 | packages = { | ||
6 | "behat/transliterator" = { | ||
7 | targetDir = ""; | ||
8 | src = composerEnv.buildZipPackage { | ||
9 | name = "behat-transliterator-826ce7e9c2a6664c0d1f381cbb38b1fb80a7ee2c"; | ||
10 | src = fetchurl { | ||
11 | url = https://api.github.com/repos/Behat/Transliterator/zipball/826ce7e9c2a6664c0d1f381cbb38b1fb80a7ee2c; | ||
12 | sha256 = "1mgc9azx79fkrxahji3xwbgqhlcnvh3xk6llqdvhjb7vgzj4bqq0"; | ||
13 | }; | ||
14 | }; | ||
15 | }; | ||
16 | "doctrine/annotations" = { | ||
17 | targetDir = ""; | ||
18 | src = composerEnv.buildZipPackage { | ||
19 | name = "doctrine-annotations-c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5"; | ||
20 | src = fetchurl { | ||
21 | url = https://api.github.com/repos/doctrine/annotations/zipball/c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5; | ||
22 | sha256 = "0b80xpqd3j99xgm0c41kbgy0k6knrfnd29223c93295sb12112g7"; | ||
23 | }; | ||
24 | }; | ||
25 | }; | ||
26 | "doctrine/cache" = { | ||
27 | targetDir = ""; | ||
28 | src = composerEnv.buildZipPackage { | ||
29 | name = "doctrine-cache-d768d58baee9a4862ca783840eca1b9add7a7f57"; | ||
30 | src = fetchurl { | ||
31 | url = https://api.github.com/repos/doctrine/cache/zipball/d768d58baee9a4862ca783840eca1b9add7a7f57; | ||
32 | sha256 = "1kljhw4gqp12iz88h6ymsrlfir2fis7icn6dffyizfc1csyb4s2i"; | ||
33 | }; | ||
34 | }; | ||
35 | }; | ||
36 | "doctrine/collections" = { | ||
37 | targetDir = ""; | ||
38 | src = composerEnv.buildZipPackage { | ||
39 | name = "doctrine-collections-a01ee38fcd999f34d9bfbcee59dbda5105449cbf"; | ||
40 | src = fetchurl { | ||
41 | url = https://api.github.com/repos/doctrine/collections/zipball/a01ee38fcd999f34d9bfbcee59dbda5105449cbf; | ||
42 | sha256 = "0d36zc21ka0pdac9xpkxsgf5zzw9gp0m9lk3r3xs5y70j0lkkkis"; | ||
43 | }; | ||
44 | }; | ||
45 | }; | ||
46 | "doctrine/common" = { | ||
47 | targetDir = ""; | ||
48 | src = composerEnv.buildZipPackage { | ||
49 | name = "doctrine-common-30e33f60f64deec87df728c02b107f82cdafad9d"; | ||
50 | src = fetchurl { | ||
51 | url = https://api.github.com/repos/doctrine/common/zipball/30e33f60f64deec87df728c02b107f82cdafad9d; | ||
52 | sha256 = "0s4vv14ibyx62a9aj3wn5cs2bbxd72fajmfmi8qb5l11gx0375na"; | ||
53 | }; | ||
54 | }; | ||
55 | }; | ||
56 | "doctrine/dbal" = { | ||
57 | targetDir = ""; | ||
58 | src = composerEnv.buildZipPackage { | ||
59 | name = "doctrine-dbal-22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9"; | ||
60 | src = fetchurl { | ||
61 | url = https://api.github.com/repos/doctrine/dbal/zipball/22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9; | ||
62 | sha256 = "0kbahs699jd8pxf512dgg7arv49dc7qzi3mx8snxqm4h15n5brnj"; | ||
63 | }; | ||
64 | }; | ||
65 | }; | ||
66 | "doctrine/doctrine-bundle" = { | ||
67 | targetDir = ""; | ||
68 | src = composerEnv.buildZipPackage { | ||
69 | name = "doctrine-doctrine-bundle-82d2c63cd09acbde2332f55d9aa7b28aefe4983d"; | ||
70 | src = fetchurl { | ||
71 | url = https://api.github.com/repos/doctrine/DoctrineBundle/zipball/82d2c63cd09acbde2332f55d9aa7b28aefe4983d; | ||
72 | sha256 = "0gzrigv360rp50yxpwidbkf8vlagym0w1if010yz5xcfrz37cpn3"; | ||
73 | }; | ||
74 | }; | ||
75 | }; | ||
76 | "doctrine/doctrine-cache-bundle" = { | ||
77 | targetDir = ""; | ||
78 | src = composerEnv.buildZipPackage { | ||
79 | name = "doctrine-doctrine-cache-bundle-5514c90d9fb595e1095e6d66ebb98ce9ef049927"; | ||
80 | src = fetchurl { | ||
81 | url = https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/5514c90d9fb595e1095e6d66ebb98ce9ef049927; | ||
82 | sha256 = "04njrfhw4fc2ifacd9h0wd9i14l7ycv3hanbqrw5ilsai02j6asa"; | ||
83 | }; | ||
84 | }; | ||
85 | }; | ||
86 | "doctrine/doctrine-migrations-bundle" = { | ||
87 | targetDir = ""; | ||
88 | src = composerEnv.buildZipPackage { | ||
89 | name = "doctrine-doctrine-migrations-bundle-49fa399181db4bf4f9f725126bd1cb65c4398dce"; | ||
90 | src = fetchurl { | ||
91 | url = https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/49fa399181db4bf4f9f725126bd1cb65c4398dce; | ||
92 | sha256 = "1a73xjhjrjlvkh8d253kfc2rbxd2h4hwafhv5078dy7rg6x9blyn"; | ||
93 | }; | ||
94 | }; | ||
95 | }; | ||
96 | "doctrine/event-manager" = { | ||
97 | targetDir = ""; | ||
98 | src = composerEnv.buildZipPackage { | ||
99 | name = "doctrine-event-manager-a520bc093a0170feeb6b14e9d83f3a14452e64b3"; | ||
100 | src = fetchurl { | ||
101 | url = https://api.github.com/repos/doctrine/event-manager/zipball/a520bc093a0170feeb6b14e9d83f3a14452e64b3; | ||
102 | sha256 = "165cxvw4idqj01l63nya2whpdb3fz6ld54rx198b71bzwfrydl88"; | ||
103 | }; | ||
104 | }; | ||
105 | }; | ||
106 | "doctrine/inflector" = { | ||
107 | targetDir = ""; | ||
108 | src = composerEnv.buildZipPackage { | ||
109 | name = "doctrine-inflector-5527a48b7313d15261292c149e55e26eae771b0a"; | ||
110 | src = fetchurl { | ||
111 | url = https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a; | ||
112 | sha256 = "0ng6vlwjr8h6hqwa32ynykz1mhlfsff5hirjidlk086ab6njppa5"; | ||
113 | }; | ||
114 | }; | ||
115 | }; | ||
116 | "doctrine/instantiator" = { | ||
117 | targetDir = ""; | ||
118 | src = composerEnv.buildZipPackage { | ||
119 | name = "doctrine-instantiator-185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"; | ||
120 | src = fetchurl { | ||
121 | url = https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda; | ||
122 | sha256 = "1mah9a6mb30qad1zryzjain2dxw29d8h4bjkbcs3srpm3p891msy"; | ||
123 | }; | ||
124 | }; | ||
125 | }; | ||
126 | "doctrine/lexer" = { | ||
127 | targetDir = ""; | ||
128 | src = composerEnv.buildZipPackage { | ||
129 | name = "doctrine-lexer-83893c552fd2045dd78aef794c31e694c37c0b8c"; | ||
130 | src = fetchurl { | ||
131 | url = https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c; | ||
132 | sha256 = "0cyh3vwcl163cx1vrcwmhlh5jg9h47xwiqgzc6rwscxw0ppd1v74"; | ||
133 | }; | ||
134 | }; | ||
135 | }; | ||
136 | "doctrine/migrations" = { | ||
137 | targetDir = ""; | ||
138 | src = composerEnv.buildZipPackage { | ||
139 | name = "doctrine-migrations-215438c0eef3e5f9b7da7d09c6b90756071b43e6"; | ||
140 | src = fetchurl { | ||
141 | url = https://api.github.com/repos/doctrine/migrations/zipball/215438c0eef3e5f9b7da7d09c6b90756071b43e6; | ||
142 | sha256 = "0k6sgw65vji9rgib10mq2m634m41a67inspkrcw4qixig2lnb3ld"; | ||
143 | }; | ||
144 | }; | ||
145 | }; | ||
146 | "doctrine/orm" = { | ||
147 | targetDir = ""; | ||
148 | src = composerEnv.buildZipPackage { | ||
149 | name = "doctrine-orm-434820973cadf2da2d66e7184be370084cc32ca8"; | ||
150 | src = fetchurl { | ||
151 | url = https://api.github.com/repos/doctrine/orm/zipball/434820973cadf2da2d66e7184be370084cc32ca8; | ||
152 | sha256 = "114fyq8kaf5qzfkp8sdygqflf3z94va1cs5c3scycfpg9cmi4gls"; | ||
153 | }; | ||
154 | }; | ||
155 | }; | ||
156 | "doctrine/persistence" = { | ||
157 | targetDir = ""; | ||
158 | src = composerEnv.buildZipPackage { | ||
159 | name = "doctrine-persistence-c0f1c17602afc18b4cbd8e1c8125f264c9cf7d38"; | ||
160 | src = fetchurl { | ||
161 | url = https://api.github.com/repos/doctrine/persistence/zipball/c0f1c17602afc18b4cbd8e1c8125f264c9cf7d38; | ||
162 | sha256 = "0xdm5n38rjas1mlyxc15sg1as5h7y012mdb0j9lr6cvphgnaxxv7"; | ||
163 | }; | ||
164 | }; | ||
165 | }; | ||
166 | "doctrine/reflection" = { | ||
167 | targetDir = ""; | ||
168 | src = composerEnv.buildZipPackage { | ||
169 | name = "doctrine-reflection-02538d3f95e88eb397a5f86274deb2c6175c2ab6"; | ||
170 | src = fetchurl { | ||
171 | url = https://api.github.com/repos/doctrine/reflection/zipball/02538d3f95e88eb397a5f86274deb2c6175c2ab6; | ||
172 | sha256 = "12n9zik4lxb9lx1jf0nbvg9vl9nv958a7z1yjx48scfxd1d1sxjy"; | ||
173 | }; | ||
174 | }; | ||
175 | }; | ||
176 | "gedmo/doctrine-extensions" = { | ||
177 | targetDir = ""; | ||
178 | src = composerEnv.buildZipPackage { | ||
179 | name = "gedmo-doctrine-extensions-87c78ff9fd4b90460386f753d95622f6fbbfcb27"; | ||
180 | src = fetchurl { | ||
181 | url = https://api.github.com/repos/Atlantic18/DoctrineExtensions/zipball/87c78ff9fd4b90460386f753d95622f6fbbfcb27; | ||
182 | sha256 = "0jfg0a19lhdv5b3c032ghknxhvc1f0x2n7fcwp47bm1rbz222q0z"; | ||
183 | }; | ||
184 | }; | ||
185 | }; | ||
186 | "giggsey/libphonenumber-for-php" = { | ||
187 | targetDir = ""; | ||
188 | src = composerEnv.buildZipPackage { | ||
189 | name = "giggsey-libphonenumber-for-php-a71f260c2efce10ded8af030a20fa13edfb0e9be"; | ||
190 | src = fetchurl { | ||
191 | url = https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/a71f260c2efce10ded8af030a20fa13edfb0e9be; | ||
192 | sha256 = "15id03c1msyhri7j4i63r535g3g56n3x99i8301as63w7m1ybfj5"; | ||
193 | }; | ||
194 | }; | ||
195 | }; | ||
196 | "giggsey/locale" = { | ||
197 | targetDir = ""; | ||
198 | src = composerEnv.buildZipPackage { | ||
199 | name = "giggsey-locale-da6845720b5d104d319d7e84576f54e44dd9e4f5"; | ||
200 | src = fetchurl { | ||
201 | url = https://api.github.com/repos/giggsey/Locale/zipball/da6845720b5d104d319d7e84576f54e44dd9e4f5; | ||
202 | sha256 = "0gc8im06h5l794a0drd74s3inps22jr1zr5wnw0b89m06d4nw42j"; | ||
203 | }; | ||
204 | }; | ||
205 | }; | ||
206 | "jdorn/sql-formatter" = { | ||
207 | targetDir = ""; | ||
208 | src = composerEnv.buildZipPackage { | ||
209 | name = "jdorn-sql-formatter-64990d96e0959dff8e059dfcdc1af130728d92bc"; | ||
210 | src = fetchurl { | ||
211 | url = https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc; | ||
212 | sha256 = "1dnmkm8mxylvxjwi0bdkzrlklncqx92fa4fwqp5bh2ypj8gaagzi"; | ||
213 | }; | ||
214 | }; | ||
215 | }; | ||
216 | "ocramius/package-versions" = { | ||
217 | targetDir = ""; | ||
218 | needsModifyRights = true; | ||
219 | src = composerEnv.buildZipPackage { | ||
220 | name = "ocramius-package-versions-4489d5002c49d55576fa0ba786f42dbb009be46f"; | ||
221 | src = fetchurl { | ||
222 | url = https://api.github.com/repos/Ocramius/PackageVersions/zipball/4489d5002c49d55576fa0ba786f42dbb009be46f; | ||
223 | sha256 = "039c404g9597x45xh04bnn8kmcyknkbnr57yb9s7vf29vfrg4881"; | ||
224 | }; | ||
225 | }; | ||
226 | }; | ||
227 | "ocramius/proxy-manager" = { | ||
228 | targetDir = ""; | ||
229 | src = composerEnv.buildZipPackage { | ||
230 | name = "ocramius-proxy-manager-14b137b06b0f911944132df9d51e445a35920ab1"; | ||
231 | src = fetchurl { | ||
232 | url = https://api.github.com/repos/Ocramius/ProxyManager/zipball/14b137b06b0f911944132df9d51e445a35920ab1; | ||
233 | sha256 = "10y5msgh2jdlw4w075fasv40yq01szjy15m3f0wgc89hlfmqz0sn"; | ||
234 | }; | ||
235 | }; | ||
236 | }; | ||
237 | "opensoft/doctrine-postgres-types" = { | ||
238 | targetDir = ""; | ||
239 | src = composerEnv.buildZipPackage { | ||
240 | name = "opensoft-doctrine-postgres-types-7e69bdfeb2ae61c2f1e90872370cdf0135fb3006"; | ||
241 | src = fetchurl { | ||
242 | url = https://api.github.com/repos/opensoft/doctrine-postgres-types/zipball/7e69bdfeb2ae61c2f1e90872370cdf0135fb3006; | ||
243 | sha256 = "1v9rjq82dxnpnb6bir6irkj54324a02qlybayvq2gf2807241bjj"; | ||
244 | }; | ||
245 | }; | ||
246 | }; | ||
247 | "presta/sitemap-bundle" = { | ||
248 | targetDir = ""; | ||
249 | src = composerEnv.buildZipPackage { | ||
250 | name = "presta-sitemap-bundle-16a2c0eae7320e3647013e48026a6a6bd14f75df"; | ||
251 | src = fetchurl { | ||
252 | url = https://api.github.com/repos/prestaconcept/PrestaSitemapBundle/zipball/16a2c0eae7320e3647013e48026a6a6bd14f75df; | ||
253 | sha256 = "1hqh144awazafa2vpv091h9pyqrppbalcvzf9c1n6h387jwwj5l8"; | ||
254 | }; | ||
255 | }; | ||
256 | }; | ||
257 | "psr/cache" = { | ||
258 | targetDir = ""; | ||
259 | src = composerEnv.buildZipPackage { | ||
260 | name = "psr-cache-d11b50ad223250cf17b86e38383413f5a6764bf8"; | ||
261 | src = fetchurl { | ||
262 | url = https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8; | ||
263 | sha256 = "06i2k3dx3b4lgn9a4v1dlgv8l9wcl4kl7vzhh63lbji0q96hv8qz"; | ||
264 | }; | ||
265 | }; | ||
266 | }; | ||
267 | "psr/container" = { | ||
268 | targetDir = ""; | ||
269 | src = composerEnv.buildZipPackage { | ||
270 | name = "psr-container-b7ce3b176482dbbc1245ebf52b181af44c2cf55f"; | ||
271 | src = fetchurl { | ||
272 | url = https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f; | ||
273 | sha256 = "0rkz64vgwb0gfi09klvgay4qnw993l1dc03vyip7d7m2zxi6cy4j"; | ||
274 | }; | ||
275 | }; | ||
276 | }; | ||
277 | "psr/log" = { | ||
278 | targetDir = ""; | ||
279 | src = composerEnv.buildZipPackage { | ||
280 | name = "psr-log-6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd"; | ||
281 | src = fetchurl { | ||
282 | url = https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd; | ||
283 | sha256 = "1i351p3gd1pgjcjxv7mwwkiw79f1xiqr38irq22156h05zlcx80d"; | ||
284 | }; | ||
285 | }; | ||
286 | }; | ||
287 | "psr/simple-cache" = { | ||
288 | targetDir = ""; | ||
289 | src = composerEnv.buildZipPackage { | ||
290 | name = "psr-simple-cache-408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"; | ||
291 | src = fetchurl { | ||
292 | url = https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b; | ||
293 | sha256 = "1djgzclkamjxi9jy4m9ggfzgq1vqxaga2ip7l3cj88p7rwkzjxgw"; | ||
294 | }; | ||
295 | }; | ||
296 | }; | ||
297 | "sensio/framework-extra-bundle" = { | ||
298 | targetDir = ""; | ||
299 | src = composerEnv.buildZipPackage { | ||
300 | name = "sensio-framework-extra-bundle-1fdf591c4b388e62dbb2579de89c1560b33f865d"; | ||
301 | src = fetchurl { | ||
302 | url = https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/1fdf591c4b388e62dbb2579de89c1560b33f865d; | ||
303 | sha256 = "0hhw3lsvgm78rqphgmdrg2inc9997lwx0290x71hsixk08khnlb1"; | ||
304 | }; | ||
305 | }; | ||
306 | }; | ||
307 | "symfony/asset" = { | ||
308 | targetDir = ""; | ||
309 | src = composerEnv.buildZipPackage { | ||
310 | name = "symfony-asset-fb06338fd3762f8615b51a58e5e9299ccca03876"; | ||
311 | src = fetchurl { | ||
312 | url = https://api.github.com/repos/symfony/asset/zipball/fb06338fd3762f8615b51a58e5e9299ccca03876; | ||
313 | sha256 = "19fbnz2h4z5nxzcy8n3bfbcjwgncabwdlxh70qfkr7bswpsxr6p3"; | ||
314 | }; | ||
315 | }; | ||
316 | }; | ||
317 | "symfony/cache" = { | ||
318 | targetDir = ""; | ||
319 | src = composerEnv.buildZipPackage { | ||
320 | name = "symfony-cache-5c4b50d6ba4f1c8955c3454444c1e3cfddaaad41"; | ||
321 | src = fetchurl { | ||
322 | url = https://api.github.com/repos/symfony/cache/zipball/5c4b50d6ba4f1c8955c3454444c1e3cfddaaad41; | ||
323 | sha256 = "1wn2rd3n5nj300vsygh60vbjh2k9lh7s9c3ayl614hahrfcfb29s"; | ||
324 | }; | ||
325 | }; | ||
326 | }; | ||
327 | "symfony/config" = { | ||
328 | targetDir = ""; | ||
329 | src = composerEnv.buildZipPackage { | ||
330 | name = "symfony-config-005d9a083d03f588677d15391a716b1ac9b887c0"; | ||
331 | src = fetchurl { | ||
332 | url = https://api.github.com/repos/symfony/config/zipball/005d9a083d03f588677d15391a716b1ac9b887c0; | ||
333 | sha256 = "1h20qhkzsl5xwzs3rg1yyaq5yn8rg92krfzmpmfgv7d3jp1v03as"; | ||
334 | }; | ||
335 | }; | ||
336 | }; | ||
337 | "symfony/console" = { | ||
338 | targetDir = ""; | ||
339 | src = composerEnv.buildZipPackage { | ||
340 | name = "symfony-console-4dff24e5d01e713818805c1862d2e3f901ee7dd0"; | ||
341 | src = fetchurl { | ||
342 | url = https://api.github.com/repos/symfony/console/zipball/4dff24e5d01e713818805c1862d2e3f901ee7dd0; | ||
343 | sha256 = "016l3hxcbvyxz3kkkynk12gi8949hl3x09dwsh0x5wqikgnp64c2"; | ||
344 | }; | ||
345 | }; | ||
346 | }; | ||
347 | "symfony/contracts" = { | ||
348 | targetDir = ""; | ||
349 | src = composerEnv.buildZipPackage { | ||
350 | name = "symfony-contracts-1aa7ab2429c3d594dd70689604b5cf7421254cdf"; | ||
351 | src = fetchurl { | ||
352 | url = https://api.github.com/repos/symfony/contracts/zipball/1aa7ab2429c3d594dd70689604b5cf7421254cdf; | ||
353 | sha256 = "0jhav49lngmrjg4r5kdpmc7lhmasn2fzkmbvhw62l4i1vnm5r5bm"; | ||
354 | }; | ||
355 | }; | ||
356 | }; | ||
357 | "symfony/debug" = { | ||
358 | targetDir = ""; | ||
359 | src = composerEnv.buildZipPackage { | ||
360 | name = "symfony-debug-e0a2b92ee0b5b934f973d90c2f58e18af109d276"; | ||
361 | src = fetchurl { | ||
362 | url = https://api.github.com/repos/symfony/debug/zipball/e0a2b92ee0b5b934f973d90c2f58e18af109d276; | ||
363 | sha256 = "0yzyaprsrmbc93gzwr1wdjx05kin7b4hqy5w74zkcxyab09pan7f"; | ||
364 | }; | ||
365 | }; | ||
366 | }; | ||
367 | "symfony/dependency-injection" = { | ||
368 | targetDir = ""; | ||
369 | src = composerEnv.buildZipPackage { | ||
370 | name = "symfony-dependency-injection-e4adc57a48d3fa7f394edfffa9e954086d7740e5"; | ||
371 | src = fetchurl { | ||
372 | url = https://api.github.com/repos/symfony/dependency-injection/zipball/e4adc57a48d3fa7f394edfffa9e954086d7740e5; | ||
373 | sha256 = "0g8ssf7qm0jf0anvflp033xwdim9z4g73k3kz1vs3smw4pffl6nv"; | ||
374 | }; | ||
375 | }; | ||
376 | }; | ||
377 | "symfony/doctrine-bridge" = { | ||
378 | targetDir = ""; | ||
379 | src = composerEnv.buildZipPackage { | ||
380 | name = "symfony-doctrine-bridge-3466c911438e176c20e1943c529131889432d12f"; | ||
381 | src = fetchurl { | ||
382 | url = https://api.github.com/repos/symfony/doctrine-bridge/zipball/3466c911438e176c20e1943c529131889432d12f; | ||
383 | sha256 = "0qq644z7l9j9fyydlj68p9f43a9i20rnmxy8pkq5sn4r0yn06bb8"; | ||
384 | }; | ||
385 | }; | ||
386 | }; | ||
387 | "symfony/event-dispatcher" = { | ||
388 | targetDir = ""; | ||
389 | src = composerEnv.buildZipPackage { | ||
390 | name = "symfony-event-dispatcher-921f49c3158a276d27c0d770a5a347a3b718b328"; | ||
391 | src = fetchurl { | ||
392 | url = https://api.github.com/repos/symfony/event-dispatcher/zipball/921f49c3158a276d27c0d770a5a347a3b718b328; | ||
393 | sha256 = "05i8syqbzhh11cf2i9d64s8b5x41mfsribfa62rvc0mhbqk7ifzf"; | ||
394 | }; | ||
395 | }; | ||
396 | }; | ||
397 | "symfony/filesystem" = { | ||
398 | targetDir = ""; | ||
399 | src = composerEnv.buildZipPackage { | ||
400 | name = "symfony-filesystem-2f4c8b999b3b7cadb2a69390b01af70886753710"; | ||
401 | src = fetchurl { | ||
402 | url = https://api.github.com/repos/symfony/filesystem/zipball/2f4c8b999b3b7cadb2a69390b01af70886753710; | ||
403 | sha256 = "1gi14q8gf250a3rzmr6arb08ljpzpfg868vm0z21fgmf0zh0dqr6"; | ||
404 | }; | ||
405 | }; | ||
406 | }; | ||
407 | "symfony/finder" = { | ||
408 | targetDir = ""; | ||
409 | src = composerEnv.buildZipPackage { | ||
410 | name = "symfony-finder-e53d477d7b5c4982d0e1bfd2298dbee63d01441d"; | ||
411 | src = fetchurl { | ||
412 | url = https://api.github.com/repos/symfony/finder/zipball/e53d477d7b5c4982d0e1bfd2298dbee63d01441d; | ||
413 | sha256 = "1mpxwgvfqzng36xbdvda6nk1zidyr9dgswccmr4z15k0i9gi0qsj"; | ||
414 | }; | ||
415 | }; | ||
416 | }; | ||
417 | "symfony/flex" = { | ||
418 | targetDir = ""; | ||
419 | src = composerEnv.buildZipPackage { | ||
420 | name = "symfony-flex-955774ecf07b10230bb5b44e150ba078b45f68fa"; | ||
421 | src = fetchurl { | ||
422 | url = https://api.github.com/repos/symfony/flex/zipball/955774ecf07b10230bb5b44e150ba078b45f68fa; | ||
423 | sha256 = "069v1s810mq5kqvx68x87lmlz0h9b2kgla1znnibnbh6j6k4qg6d"; | ||
424 | }; | ||
425 | }; | ||
426 | }; | ||
427 | "symfony/form" = { | ||
428 | targetDir = ""; | ||
429 | src = composerEnv.buildZipPackage { | ||
430 | name = "symfony-form-5ab767b7732154ca6f45c92e30e081178edf30ad"; | ||
431 | src = fetchurl { | ||
432 | url = https://api.github.com/repos/symfony/form/zipball/5ab767b7732154ca6f45c92e30e081178edf30ad; | ||
433 | sha256 = "1g65a7hl1kk6rpa6q52fyzy6vkjafr3233hi2qiggyp0qys20kcc"; | ||
434 | }; | ||
435 | }; | ||
436 | }; | ||
437 | "symfony/framework-bundle" = { | ||
438 | targetDir = ""; | ||
439 | src = composerEnv.buildZipPackage { | ||
440 | name = "symfony-framework-bundle-eb32d67140510f04fe9cc5fb9ad38fda09591db1"; | ||
441 | src = fetchurl { | ||
442 | url = https://api.github.com/repos/symfony/framework-bundle/zipball/eb32d67140510f04fe9cc5fb9ad38fda09591db1; | ||
443 | sha256 = "06dpqppwyngq1frww0q0zjs0gj8na0fi67czlhqf2x2lizgz6wjd"; | ||
444 | }; | ||
445 | }; | ||
446 | }; | ||
447 | "symfony/http-foundation" = { | ||
448 | targetDir = ""; | ||
449 | src = composerEnv.buildZipPackage { | ||
450 | name = "symfony-http-foundation-1b31f3017fadd8cb05cf2c8aebdbf3b12a943851"; | ||
451 | src = fetchurl { | ||
452 | url = https://api.github.com/repos/symfony/http-foundation/zipball/1b31f3017fadd8cb05cf2c8aebdbf3b12a943851; | ||
453 | sha256 = "0s6mx79gl6sp39bk8213xcdzx4ld5xim38s8lckm7wqnkvx94mfl"; | ||
454 | }; | ||
455 | }; | ||
456 | }; | ||
457 | "symfony/http-kernel" = { | ||
458 | targetDir = ""; | ||
459 | src = composerEnv.buildZipPackage { | ||
460 | name = "symfony-http-kernel-b39ceffc0388232c309cbde3a7c3685f2ec0a624"; | ||
461 | src = fetchurl { | ||
462 | url = https://api.github.com/repos/symfony/http-kernel/zipball/b39ceffc0388232c309cbde3a7c3685f2ec0a624; | ||
463 | sha256 = "17rb1hl9r8rlqw1cv9qx2ckvz81g2ylppirq035mya1a848y5ym5"; | ||
464 | }; | ||
465 | }; | ||
466 | }; | ||
467 | "symfony/inflector" = { | ||
468 | targetDir = ""; | ||
469 | src = composerEnv.buildZipPackage { | ||
470 | name = "symfony-inflector-f9a637c0359f74404d44cf0da0a3ce53bae0787e"; | ||
471 | src = fetchurl { | ||
472 | url = https://api.github.com/repos/symfony/inflector/zipball/f9a637c0359f74404d44cf0da0a3ce53bae0787e; | ||
473 | sha256 = "1sp1pk716biyplqpakcpq71ik2h2m1bvsz9cfj9zd63y2723xna3"; | ||
474 | }; | ||
475 | }; | ||
476 | }; | ||
477 | "symfony/intl" = { | ||
478 | targetDir = ""; | ||
479 | src = composerEnv.buildZipPackage { | ||
480 | name = "symfony-intl-748a1c54903344385f88fef75da293915b16a207"; | ||
481 | src = fetchurl { | ||
482 | url = https://api.github.com/repos/symfony/intl/zipball/748a1c54903344385f88fef75da293915b16a207; | ||
483 | sha256 = "1vwa2n7fglxs8rv1yrbxn6vgizg73asimg794igk27i90xdybfmc"; | ||
484 | }; | ||
485 | }; | ||
486 | }; | ||
487 | "symfony/lts" = { | ||
488 | targetDir = ""; | ||
489 | src = composerEnv.buildZipPackage { | ||
490 | name = "symfony-lts-c1affae45b78aee036effa1759237e7fa96d4af2"; | ||
491 | src = fetchurl { | ||
492 | url = https://api.github.com/repos/symfony/lts/zipball/c1affae45b78aee036effa1759237e7fa96d4af2; | ||
493 | sha256 = "0vk9pn4xl7ascvllak0gschdd1w2mxma3ng04j3r1n13zccxc33s"; | ||
494 | }; | ||
495 | }; | ||
496 | }; | ||
497 | "symfony/options-resolver" = { | ||
498 | targetDir = ""; | ||
499 | src = composerEnv.buildZipPackage { | ||
500 | name = "symfony-options-resolver-a9c38e8a3da2c03b3e71fdffa6efb0bda51390ba"; | ||
501 | src = fetchurl { | ||
502 | url = https://api.github.com/repos/symfony/options-resolver/zipball/a9c38e8a3da2c03b3e71fdffa6efb0bda51390ba; | ||
503 | sha256 = "1fjjlp09mwkjcxg98bihqlq4miq24k13691051f5p39lcy03zmb3"; | ||
504 | }; | ||
505 | }; | ||
506 | }; | ||
507 | "symfony/orm-pack" = { | ||
508 | targetDir = ""; | ||
509 | src = composerEnv.buildZipPackage { | ||
510 | name = "symfony-orm-pack-1b58f752cd917a08c9c8df020781d9c46a2275b1"; | ||
511 | src = fetchurl { | ||
512 | url = https://api.github.com/repos/symfony/orm-pack/zipball/1b58f752cd917a08c9c8df020781d9c46a2275b1; | ||
513 | sha256 = "1sk8jchaw29lmpq76yb24mc1csmifnkvbjdrgjdgqs6x5i39plli"; | ||
514 | }; | ||
515 | }; | ||
516 | }; | ||
517 | "symfony/polyfill-intl-icu" = { | ||
518 | targetDir = ""; | ||
519 | src = composerEnv.buildZipPackage { | ||
520 | name = "symfony-polyfill-intl-icu-f22a90256d577c7ef7efad8df1f0201663d57644"; | ||
521 | src = fetchurl { | ||
522 | url = https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/f22a90256d577c7ef7efad8df1f0201663d57644; | ||
523 | sha256 = "0x7h8l248l1gc07xmvfixq6p80ifdaa29qympfq3jzfb79k69slq"; | ||
524 | }; | ||
525 | }; | ||
526 | }; | ||
527 | "symfony/polyfill-mbstring" = { | ||
528 | targetDir = ""; | ||
529 | src = composerEnv.buildZipPackage { | ||
530 | name = "symfony-polyfill-mbstring-c79c051f5b3a46be09205c73b80b346e4153e494"; | ||
531 | src = fetchurl { | ||
532 | url = https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494; | ||
533 | sha256 = "18v2777cky55ah6xi4dh383mp4iddwzmnvx81qd86y1kgfykwhpi"; | ||
534 | }; | ||
535 | }; | ||
536 | }; | ||
537 | "symfony/property-access" = { | ||
538 | targetDir = ""; | ||
539 | src = composerEnv.buildZipPackage { | ||
540 | name = "symfony-property-access-b6df4e1849f389468edb36e2e59877d4a8170723"; | ||
541 | src = fetchurl { | ||
542 | url = https://api.github.com/repos/symfony/property-access/zipball/b6df4e1849f389468edb36e2e59877d4a8170723; | ||
543 | sha256 = "16pbnv3x56gp5wxakmbphf3d4igkjyr3v693n3cjm62h72z4dxf3"; | ||
544 | }; | ||
545 | }; | ||
546 | }; | ||
547 | "symfony/routing" = { | ||
548 | targetDir = ""; | ||
549 | src = composerEnv.buildZipPackage { | ||
550 | name = "symfony-routing-649460207e77da6c545326c7f53618d23ad2c866"; | ||
551 | src = fetchurl { | ||
552 | url = https://api.github.com/repos/symfony/routing/zipball/649460207e77da6c545326c7f53618d23ad2c866; | ||
553 | sha256 = "1qjkgghs0kp4lk4711d3gx26vvilrrrjbbz02navzfqy4xjrf0sw"; | ||
554 | }; | ||
555 | }; | ||
556 | }; | ||
557 | "symfony/translation" = { | ||
558 | targetDir = ""; | ||
559 | src = composerEnv.buildZipPackage { | ||
560 | name = "symfony-translation-c0e2191e9bed845946ab3d99767513b56ca7dcd6"; | ||
561 | src = fetchurl { | ||
562 | url = https://api.github.com/repos/symfony/translation/zipball/c0e2191e9bed845946ab3d99767513b56ca7dcd6; | ||
563 | sha256 = "0gzq7f2izsiam9blha85bzvg7x6zc4f3x3bkwhzma6x6ipjfkla2"; | ||
564 | }; | ||
565 | }; | ||
566 | }; | ||
567 | "symfony/twig-bridge" = { | ||
568 | targetDir = ""; | ||
569 | src = composerEnv.buildZipPackage { | ||
570 | name = "symfony-twig-bridge-2e928d6c8244e7f3b32bcfac5814095a83179e60"; | ||
571 | src = fetchurl { | ||
572 | url = https://api.github.com/repos/symfony/twig-bridge/zipball/2e928d6c8244e7f3b32bcfac5814095a83179e60; | ||
573 | sha256 = "1f902j8b0lyqjss9r2mf7j63apv5z8ki57vmcdcw5jlqagbmw1y1"; | ||
574 | }; | ||
575 | }; | ||
576 | }; | ||
577 | "symfony/twig-bundle" = { | ||
578 | targetDir = ""; | ||
579 | src = composerEnv.buildZipPackage { | ||
580 | name = "symfony-twig-bundle-024820cbb4aeffc4843c4170b69c057fb4840fb3"; | ||
581 | src = fetchurl { | ||
582 | url = https://api.github.com/repos/symfony/twig-bundle/zipball/024820cbb4aeffc4843c4170b69c057fb4840fb3; | ||
583 | sha256 = "1qqfpxw228lc024whpr4j6aa6k9ly290nxz9c9ds826lllg2l1zh"; | ||
584 | }; | ||
585 | }; | ||
586 | }; | ||
587 | "symfony/validator" = { | ||
588 | targetDir = ""; | ||
589 | src = composerEnv.buildZipPackage { | ||
590 | name = "symfony-validator-cd35bb14a0e81bd99835e36cac4db1e72ad1939b"; | ||
591 | src = fetchurl { | ||
592 | url = https://api.github.com/repos/symfony/validator/zipball/cd35bb14a0e81bd99835e36cac4db1e72ad1939b; | ||
593 | sha256 = "1809yz483mv5mmrw14v3b371dmjab7i455gxkrqm0z8n0wjdn6i3"; | ||
594 | }; | ||
595 | }; | ||
596 | }; | ||
597 | "symfony/var-exporter" = { | ||
598 | targetDir = ""; | ||
599 | src = composerEnv.buildZipPackage { | ||
600 | name = "symfony-var-exporter-a39222e357362424b61dcde50e2f7b5a7d3306db"; | ||
601 | src = fetchurl { | ||
602 | url = https://api.github.com/repos/symfony/var-exporter/zipball/a39222e357362424b61dcde50e2f7b5a7d3306db; | ||
603 | sha256 = "1ys2sc3ivgfxq7kj8cydxqh5179d3niqxsy10lgg18c5a6bsj41j"; | ||
604 | }; | ||
605 | }; | ||
606 | }; | ||
607 | "symfony/webpack-encore-pack" = { | ||
608 | targetDir = ""; | ||
609 | src = composerEnv.buildZipPackage { | ||
610 | name = "symfony-webpack-encore-pack-8d7f51379d7ae17aea7cf501d910a11896895ac4"; | ||
611 | src = fetchurl { | ||
612 | url = https://api.github.com/repos/symfony/webpack-encore-pack/zipball/8d7f51379d7ae17aea7cf501d910a11896895ac4; | ||
613 | sha256 = "0k6xavcyihx45dsrm1r2r1lbn7vryy463akz66w4gycx5dcqrw0j"; | ||
614 | }; | ||
615 | }; | ||
616 | }; | ||
617 | "symfony/yaml" = { | ||
618 | targetDir = ""; | ||
619 | src = composerEnv.buildZipPackage { | ||
620 | name = "symfony-yaml-c41175c801e3edfda90f32e292619d10c27103d7"; | ||
621 | src = fetchurl { | ||
622 | url = https://api.github.com/repos/symfony/yaml/zipball/c41175c801e3edfda90f32e292619d10c27103d7; | ||
623 | sha256 = "0bh9365mmvzhdk1m0b1xarlg0swx9pv916m7xifcmdrxn67w552p"; | ||
624 | }; | ||
625 | }; | ||
626 | }; | ||
627 | "twig/twig" = { | ||
628 | targetDir = ""; | ||
629 | src = composerEnv.buildZipPackage { | ||
630 | name = "twig-twig-a11dd39f5b6589e14f0ff3b36675d06047c589b1"; | ||
631 | src = fetchurl { | ||
632 | url = https://api.github.com/repos/twigphp/Twig/zipball/a11dd39f5b6589e14f0ff3b36675d06047c589b1; | ||
633 | sha256 = "0rnwam9379gj5m4ik0fh6c81dbr7kwj2b3x1gnmpf6awa5fm261n"; | ||
634 | }; | ||
635 | }; | ||
636 | }; | ||
637 | "zendframework/zend-code" = { | ||
638 | targetDir = ""; | ||
639 | src = composerEnv.buildZipPackage { | ||
640 | name = "zendframework-zend-code-c21db169075c6ec4b342149f446e7b7b724f95eb"; | ||
641 | src = fetchurl { | ||
642 | url = https://api.github.com/repos/zendframework/zend-code/zipball/c21db169075c6ec4b342149f446e7b7b724f95eb; | ||
643 | sha256 = "031mfsahjkl63348020wq05273kvszx0dv2766zmzncnd6fcggw1"; | ||
644 | }; | ||
645 | }; | ||
646 | }; | ||
647 | "zendframework/zend-eventmanager" = { | ||
648 | targetDir = ""; | ||
649 | src = composerEnv.buildZipPackage { | ||
650 | name = "zendframework-zend-eventmanager-a5e2583a211f73604691586b8406ff7296a946dd"; | ||
651 | src = fetchurl { | ||
652 | url = https://api.github.com/repos/zendframework/zend-eventmanager/zipball/a5e2583a211f73604691586b8406ff7296a946dd; | ||
653 | sha256 = "08a05gn40hfdy2zhz4gcd3r6q7m7zcaks5kpvb9dx1awgx0pzr8n"; | ||
654 | }; | ||
655 | }; | ||
656 | }; | ||
657 | }; | ||
658 | devPackages = { | ||
659 | "nikic/php-parser" = { | ||
660 | targetDir = ""; | ||
661 | src = composerEnv.buildZipPackage { | ||
662 | name = "nikic-php-parser-8aae5b59b83bb4d0dbf07b0a835f2680a658f610"; | ||
663 | src = fetchurl { | ||
664 | url = https://api.github.com/repos/nikic/PHP-Parser/zipball/8aae5b59b83bb4d0dbf07b0a835f2680a658f610; | ||
665 | sha256 = "103ix4bsvrwyc4wxh9cqd38xffn25kq3phnpgk8b3z7dqvvr2pss"; | ||
666 | }; | ||
667 | }; | ||
668 | }; | ||
669 | "symfony/dotenv" = { | ||
670 | targetDir = ""; | ||
671 | src = composerEnv.buildZipPackage { | ||
672 | name = "symfony-dotenv-97f135ab40f969cbeae27d482ff63acbc33dbe2a"; | ||
673 | src = fetchurl { | ||
674 | url = https://api.github.com/repos/symfony/dotenv/zipball/97f135ab40f969cbeae27d482ff63acbc33dbe2a; | ||
675 | sha256 = "1jwpxb4w0mi5p89k51l1g84hnnj9s8kjl9jsx3xj39hhc3dy44pc"; | ||
676 | }; | ||
677 | }; | ||
678 | }; | ||
679 | "symfony/maker-bundle" = { | ||
680 | targetDir = ""; | ||
681 | src = composerEnv.buildZipPackage { | ||
682 | name = "symfony-maker-bundle-24b19cccad0c658eca516b35b08668d123fabf92"; | ||
683 | src = fetchurl { | ||
684 | url = https://api.github.com/repos/symfony/maker-bundle/zipball/24b19cccad0c658eca516b35b08668d123fabf92; | ||
685 | sha256 = "1wm17jl3gk0m5ma7nz40y7ryxgm0qncrxcrqdqg5x6afwla85grp"; | ||
686 | }; | ||
687 | }; | ||
688 | }; | ||
689 | "symfony/polyfill-php72" = { | ||
690 | targetDir = ""; | ||
691 | src = composerEnv.buildZipPackage { | ||
692 | name = "symfony-polyfill-php72-9050816e2ca34a8e916c3a0ae8b9c2fccf68b631"; | ||
693 | src = fetchurl { | ||
694 | url = https://api.github.com/repos/symfony/polyfill-php72/zipball/9050816e2ca34a8e916c3a0ae8b9c2fccf68b631; | ||
695 | sha256 = "1smd08fw64mf89s9ma099ayfjlz26wrix9hfr6kh5w4d0rzrhmlw"; | ||
696 | }; | ||
697 | }; | ||
698 | }; | ||
699 | "symfony/profiler-pack" = { | ||
700 | targetDir = ""; | ||
701 | src = composerEnv.buildZipPackage { | ||
702 | name = "symfony-profiler-pack-99c4370632c2a59bb0444852f92140074ef02209"; | ||
703 | src = fetchurl { | ||
704 | url = https://api.github.com/repos/symfony/profiler-pack/zipball/99c4370632c2a59bb0444852f92140074ef02209; | ||
705 | sha256 = "12xisnrqq6q5l0v8bric0p23bsaxh50x43fq7wn2adnsz24nv9pi"; | ||
706 | }; | ||
707 | }; | ||
708 | }; | ||
709 | "symfony/stopwatch" = { | ||
710 | targetDir = ""; | ||
711 | src = composerEnv.buildZipPackage { | ||
712 | name = "symfony-stopwatch-ec076716412274e51f8a7ea675d9515e5c311123"; | ||
713 | src = fetchurl { | ||
714 | url = https://api.github.com/repos/symfony/stopwatch/zipball/ec076716412274e51f8a7ea675d9515e5c311123; | ||
715 | sha256 = "0fzh2bh7lm8f222hk5ihfkpi697babfrz1r0dghlws17hfbgzgax"; | ||
716 | }; | ||
717 | }; | ||
718 | }; | ||
719 | "symfony/var-dumper" = { | ||
720 | targetDir = ""; | ||
721 | src = composerEnv.buildZipPackage { | ||
722 | name = "symfony-var-dumper-db61258540350725f4beb6b84006e32398acd120"; | ||
723 | src = fetchurl { | ||
724 | url = https://api.github.com/repos/symfony/var-dumper/zipball/db61258540350725f4beb6b84006e32398acd120; | ||
725 | sha256 = "0pw3hf4mcc1q9miswrjbgr32x0a2dfjvpi16pjzw173xmf79i4iz"; | ||
726 | }; | ||
727 | }; | ||
728 | }; | ||
729 | "symfony/web-profiler-bundle" = { | ||
730 | targetDir = ""; | ||
731 | src = composerEnv.buildZipPackage { | ||
732 | name = "symfony-web-profiler-bundle-198cb0a6b85346bbab5e1bc74a0eb175b9fa2d08"; | ||
733 | src = fetchurl { | ||
734 | url = https://api.github.com/repos/symfony/web-profiler-bundle/zipball/198cb0a6b85346bbab5e1bc74a0eb175b9fa2d08; | ||
735 | sha256 = "0r4r3zf22860mdx8b2l72ghz8liyi3l39cc1934b2lkh2kghlsi6"; | ||
736 | }; | ||
737 | }; | ||
738 | }; | ||
739 | }; | ||
740 | } | ||
diff --git a/virtual/modules/websites/chloe/chloe.json b/virtual/modules/websites/chloe/chloe.json deleted file mode 100644 index 686d751..0000000 --- a/virtual/modules/websites/chloe/chloe.json +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | { | ||
2 | "tag": "96fc4eb-master", | ||
3 | "meta": { | ||
4 | "name": "chloe", | ||
5 | "url": "gitolite@git.immae.eu:perso/Immae/Sites/Chloe", | ||
6 | "branch": "master" | ||
7 | }, | ||
8 | "git": { | ||
9 | "url": "gitolite@git.immae.eu:perso/Immae/Sites/Chloe", | ||
10 | "rev": "96fc4eb0099a29b0f9a58fb4eaec4bf14ac65f0a", | ||
11 | "sha256": "0mf15j6z86j2smm2k360cmm5djhcjbs9949pznwi57kw97vkm1s3", | ||
12 | "fetchSubmodules": true | ||
13 | } | ||
14 | } | ||
diff --git a/virtual/modules/websites/chloe/chloe.nix b/virtual/modules/websites/chloe/chloe.nix deleted file mode 100644 index 355cca7..0000000 --- a/virtual/modules/websites/chloe/chloe.nix +++ /dev/null | |||
@@ -1,123 +0,0 @@ | |||
1 | { stdenv, lib, fetchzip, fetchurl, fetchedGitPrivate, sassc }: | ||
2 | let | ||
3 | chloe = { config }: rec { | ||
4 | environment = config.environment; | ||
5 | phpFpm = rec { | ||
6 | socket = "/var/run/phpfpm/chloe-${environment}.sock"; | ||
7 | pool = '' | ||
8 | listen = ${socket} | ||
9 | user = ${apache.user} | ||
10 | group = ${apache.group} | ||
11 | listen.owner = ${apache.user} | ||
12 | listen.group = ${apache.group} | ||
13 | php_admin_value[upload_max_filesize] = 20M | ||
14 | php_admin_value[post_max_size] = 20M | ||
15 | ;php_admin_flag[log_errors] = on | ||
16 | php_admin_value[open_basedir] = "${../commons/spip/spip_mes_options.php}:${configDir}:${webRoot}:${varDir}:/tmp" | ||
17 | php_admin_value[session.save_path] = "${varDir}/phpSessions" | ||
18 | env[SPIP_CONFIG_DIR] = "${configDir}" | ||
19 | env[SPIP_VAR_DIR] = "${varDir}" | ||
20 | env[SPIP_SITE] = "chloe-${environment}" | ||
21 | env[SPIP_LDAP_BASE] = "dc=immae,dc=eu" | ||
22 | env[SPIP_LDAP_HOST] = "ldaps://ldap.immae.eu" | ||
23 | env[SPIP_LDAP_SEARCH_DN] = "${config.ldap.dn}" | ||
24 | env[SPIP_LDAP_SEARCH_PW] = "${config.ldap.password}" | ||
25 | env[SPIP_LDAP_SEARCH] = "${config.ldap.search}" | ||
26 | env[SPIP_MYSQL_HOST] = "db-1.immae.eu" | ||
27 | env[SPIP_MYSQL_DB] = "${config.mysql.name}" | ||
28 | env[SPIP_MYSQL_USER] = "${config.mysql.user}" | ||
29 | env[SPIP_MYSQL_PASSWORD] = "${config.mysql.password}" | ||
30 | ${if environment == "dev" then '' | ||
31 | pm = ondemand | ||
32 | pm.max_children = 5 | ||
33 | pm.process_idle_timeout = 60 | ||
34 | '' else '' | ||
35 | pm = dynamic | ||
36 | pm.max_children = 20 | ||
37 | pm.start_servers = 2 | ||
38 | pm.min_spare_servers = 1 | ||
39 | pm.max_spare_servers = 3 | ||
40 | ''}''; | ||
41 | }; | ||
42 | apache = { | ||
43 | user = "wwwrun"; | ||
44 | group = "wwwrun"; | ||
45 | modules = [ "proxy_fcgi" ]; | ||
46 | vhostConf = '' | ||
47 | RewriteEngine On | ||
48 | ${if environment == "prod" then '' | ||
49 | RewriteRule ^/news.rss /spip.php?page=backend&id_rubrique=1 | ||
50 | '' else ""} | ||
51 | |||
52 | <FilesMatch "\.php$"> | ||
53 | SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" | ||
54 | </FilesMatch> | ||
55 | |||
56 | <Directory ${webRoot}> | ||
57 | DirectoryIndex index.php index.htm index.html | ||
58 | Options -Indexes +FollowSymLinks +MultiViews +Includes | ||
59 | Include ${webRoot}/htaccess.txt | ||
60 | |||
61 | AllowOverride AuthConfig FileInfo Limit | ||
62 | Require all granted | ||
63 | </Directory> | ||
64 | |||
65 | <DirectoryMatch "${webRoot}/squelettes"> | ||
66 | Require all denied | ||
67 | </DirectoryMatch> | ||
68 | |||
69 | <FilesMatch "(.htaccess|rewrite-rules|.gitignore)$"> | ||
70 | Require all denied | ||
71 | </FilesMatch> | ||
72 | |||
73 | ${if environment == "dev" then '' | ||
74 | <Location /> | ||
75 | Use LDAPConnect | ||
76 | Require ldap-group cn=chloe.immae.eu,cn=httpd,ou=services,dc=immae,dc=eu | ||
77 | ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=https://osteopathe-cc.fr\"></html>" | ||
78 | </Location> | ||
79 | '' else '' | ||
80 | Use Stats osteopathe-cc.fr | ||
81 | ''} | ||
82 | ''; | ||
83 | }; | ||
84 | activationScript = { | ||
85 | deps = [ "wrappers" ]; | ||
86 | text = '' | ||
87 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} ${varDir}/IMG ${varDir}/tmp ${varDir}/local | ||
88 | install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions | ||
89 | ''; | ||
90 | }; | ||
91 | configDir = ./chloe_config_ + environment; | ||
92 | varDir = "/var/lib/chloe_${environment}"; | ||
93 | siteDir = stdenv.mkDerivation (fetchedGitPrivate ./chloe.json // rec { | ||
94 | buildPhase = '' | ||
95 | make | ||
96 | ''; | ||
97 | installPhase = '' | ||
98 | cp -a . $out | ||
99 | ''; | ||
100 | buildInputs = [ sassc ]; | ||
101 | }); | ||
102 | webRoot = stdenv.mkDerivation rec { | ||
103 | name = "chloe-${environment}-spip-${version}"; | ||
104 | version = "3.2.3"; | ||
105 | src = fetchzip { | ||
106 | url = "https://files.spip.net/spip/archives/SPIP-v${version}.zip"; | ||
107 | sha256 = "1r1mjvsnrp6mvkgjakvi3x4ms8m8k5mp93micbbg8r99fj7qlfkq"; | ||
108 | }; | ||
109 | paches = [ ../commons/spip/spip_ldap_patch.patch ]; | ||
110 | buildPhase = '' | ||
111 | rm -rf IMG local tmp config/remove.txt | ||
112 | ln -sf ${../commons/spip/spip_mes_options.php} config/mes_options.php | ||
113 | echo "Require all denied" > "config/.htaccess" | ||
114 | ln -sf ../../../../../${varDir}/{IMG,local} . | ||
115 | ''; | ||
116 | installPhase = '' | ||
117 | cp -a . $out | ||
118 | cp -a ${siteDir}/* $out | ||
119 | ''; | ||
120 | }; | ||
121 | }; | ||
122 | in | ||
123 | chloe | ||
diff --git a/virtual/modules/websites/chloe/chloe_config_dev/chmod.php b/virtual/modules/websites/chloe/chloe_config_dev/chmod.php deleted file mode 100644 index aae16cd..0000000 --- a/virtual/modules/websites/chloe/chloe_config_dev/chmod.php +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | <?php | ||
2 | if (!defined("_ECRIRE_INC_VERSION")) return; | ||
3 | if (!defined('_SPIP_CHMOD')) define('_SPIP_CHMOD', 0777); | ||
4 | ?> \ No newline at end of file | ||
diff --git a/virtual/modules/websites/chloe/chloe_config_dev/connect.php b/virtual/modules/websites/chloe/chloe_config_dev/connect.php deleted file mode 100644 index 2e4439f..0000000 --- a/virtual/modules/websites/chloe/chloe_config_dev/connect.php +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | <?php | ||
2 | if (!defined("_ECRIRE_INC_VERSION")) return; | ||
3 | define('_MYSQL_SET_SQL_MODE',true); | ||
4 | $GLOBALS['spip_connect_version'] = 0.7; | ||
5 | spip_connect_db(getenv("SPIP_MYSQL_HOST"),'',getenv("SPIP_MYSQL_USER"),getenv("SPIP_MYSQL_PASSWORD"),getenv("SPIP_MYSQL_DB"),'mysql', 'spip','ldap.php'); | ||
6 | ?> | ||
diff --git a/virtual/modules/websites/chloe/chloe_config_dev/ldap.php b/virtual/modules/websites/chloe/chloe_config_dev/ldap.php deleted file mode 100644 index 825b7ed..0000000 --- a/virtual/modules/websites/chloe/chloe_config_dev/ldap.php +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | <?php | ||
2 | if (!defined("_ECRIRE_INC_VERSION")) return; | ||
3 | $GLOBALS['ldap_base'] = getenv("SPIP_LDAP_BASE"); | ||
4 | $GLOBALS['ldap_link'] = @ldap_connect(getenv("SPIP_LDAP_HOST")); | ||
5 | @ldap_set_option($GLOBALS['ldap_link'],LDAP_OPT_PROTOCOL_VERSION,'3'); | ||
6 | @ldap_bind($GLOBALS['ldap_link'],getenv("SPIP_LDAP_SEARCH_DN"), getenv("SPIP_LDAP_SEARCH_PW")); | ||
7 | $GLOBALS['ldap_champs'] = array('login' => array('sAMAccountName','uid','login','userid','cn','sn'),'nom' => 'cn','email' => 'mail','bio' => 'description',); | ||
8 | $GLOBALS['ldap_search'] = getenv("SPIP_LDAP_SEARCH"); | ||
9 | ?> | ||
diff --git a/virtual/modules/websites/chloe/chloe_config_prod/chmod.php b/virtual/modules/websites/chloe/chloe_config_prod/chmod.php deleted file mode 100644 index aae16cd..0000000 --- a/virtual/modules/websites/chloe/chloe_config_prod/chmod.php +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | <?php | ||
2 | if (!defined("_ECRIRE_INC_VERSION")) return; | ||
3 | if (!defined('_SPIP_CHMOD')) define('_SPIP_CHMOD', 0777); | ||
4 | ?> \ No newline at end of file | ||
diff --git a/virtual/modules/websites/chloe/chloe_config_prod/connect.php b/virtual/modules/websites/chloe/chloe_config_prod/connect.php deleted file mode 100644 index 2e4439f..0000000 --- a/virtual/modules/websites/chloe/chloe_config_prod/connect.php +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | <?php | ||
2 | if (!defined("_ECRIRE_INC_VERSION")) return; | ||
3 | define('_MYSQL_SET_SQL_MODE',true); | ||
4 | $GLOBALS['spip_connect_version'] = 0.7; | ||
5 | spip_connect_db(getenv("SPIP_MYSQL_HOST"),'',getenv("SPIP_MYSQL_USER"),getenv("SPIP_MYSQL_PASSWORD"),getenv("SPIP_MYSQL_DB"),'mysql', 'spip','ldap.php'); | ||
6 | ?> | ||
diff --git a/virtual/modules/websites/chloe/chloe_config_prod/ldap.php b/virtual/modules/websites/chloe/chloe_config_prod/ldap.php deleted file mode 100644 index 825b7ed..0000000 --- a/virtual/modules/websites/chloe/chloe_config_prod/ldap.php +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | <?php | ||
2 | if (!defined("_ECRIRE_INC_VERSION")) return; | ||
3 | $GLOBALS['ldap_base'] = getenv("SPIP_LDAP_BASE"); | ||
4 | $GLOBALS['ldap_link'] = @ldap_connect(getenv("SPIP_LDAP_HOST")); | ||
5 | @ldap_set_option($GLOBALS['ldap_link'],LDAP_OPT_PROTOCOL_VERSION,'3'); | ||
6 | @ldap_bind($GLOBALS['ldap_link'],getenv("SPIP_LDAP_SEARCH_DN"), getenv("SPIP_LDAP_SEARCH_PW")); | ||
7 | $GLOBALS['ldap_champs'] = array('login' => array('sAMAccountName','uid','login','userid','cn','sn'),'nom' => 'cn','email' => 'mail','bio' => 'description',); | ||
8 | $GLOBALS['ldap_search'] = getenv("SPIP_LDAP_SEARCH"); | ||
9 | ?> | ||
diff --git a/virtual/modules/websites/chloe/default.nix b/virtual/modules/websites/chloe/default.nix deleted file mode 100644 index 94cd4be..0000000 --- a/virtual/modules/websites/chloe/default.nix +++ /dev/null | |||
@@ -1,72 +0,0 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | ||
2 | let | ||
3 | chloe = pkgs.callPackage ./chloe.nix { inherit (mylibs) fetchedGitPrivate; }; | ||
4 | chloe_dev = chloe { | ||
5 | config = myconfig.env.websites.chloe.integration; | ||
6 | }; | ||
7 | chloe_prod = chloe { | ||
8 | config = myconfig.env.websites.chloe.production; | ||
9 | }; | ||
10 | |||
11 | cfg = config.services.myWebsites.Chloe; | ||
12 | in { | ||
13 | options.services.myWebsites.Chloe = { | ||
14 | production = { | ||
15 | enable = lib.mkEnableOption "enable Chloe's website in production"; | ||
16 | }; | ||
17 | integration = { | ||
18 | enable = lib.mkEnableOption "enable Chloe's website in integration"; | ||
19 | }; | ||
20 | }; | ||
21 | |||
22 | imports = [ | ||
23 | ../commons/stats.nix | ||
24 | ]; | ||
25 | |||
26 | config = lib.mkMerge [ | ||
27 | (lib.mkIf cfg.production.enable { | ||
28 | services.myWebsites.commons.stats.enable = true; | ||
29 | services.myWebsites.commons.stats.sites = [ | ||
30 | { | ||
31 | name = "osteopathe-cc.fr"; | ||
32 | conf = ./goaccess.conf; | ||
33 | } | ||
34 | ]; | ||
35 | |||
36 | security.acme.certs."chloe" = config.services.myCertificates.certConfig // { | ||
37 | domain = "osteopathe-cc.fr"; | ||
38 | extraDomains = { | ||
39 | "www.osteopathe-cc.fr" = null; | ||
40 | }; | ||
41 | }; | ||
42 | |||
43 | services.myPhpfpm.poolConfigs.chloe_prod = chloe_prod.phpFpm.pool; | ||
44 | services.myPhpfpm.poolPhpConfigs.chloe_prod = '' | ||
45 | extension=${pkgs.php}/lib/php/extensions/mysqli.so | ||
46 | ''; | ||
47 | system.activationScripts.chloe_prod = chloe_prod.activationScript; | ||
48 | services.myWebsites.production.modules = chloe_prod.apache.modules; | ||
49 | services.myWebsites.production.vhostConfs.chloe = { | ||
50 | certName = "chloe"; | ||
51 | hosts = ["osteopathe-cc.fr" "www.osteopathe-cc.fr" ]; | ||
52 | root = chloe_prod.webRoot; | ||
53 | extraConfig = [ chloe_prod.apache.vhostConf ]; | ||
54 | }; | ||
55 | }) | ||
56 | (lib.mkIf cfg.integration.enable { | ||
57 | security.acme.certs."eldiron".extraDomains."chloe.immae.eu" = null; | ||
58 | services.myPhpfpm.poolConfigs.chloe_dev = chloe_dev.phpFpm.pool; | ||
59 | services.myPhpfpm.poolPhpConfigs.chloe_dev = '' | ||
60 | extension=${pkgs.php}/lib/php/extensions/mysqli.so | ||
61 | ''; | ||
62 | system.activationScripts.chloe_dev = chloe_dev.activationScript; | ||
63 | services.myWebsites.integration.modules = chloe_dev.apache.modules; | ||
64 | services.myWebsites.integration.vhostConfs.chloe = { | ||
65 | certName = "eldiron"; | ||
66 | hosts = ["chloe.immae.eu" ]; | ||
67 | root = chloe_dev.webRoot; | ||
68 | extraConfig = [ chloe_dev.apache.vhostConf ]; | ||
69 | }; | ||
70 | }) | ||
71 | ]; | ||
72 | } | ||
diff --git a/virtual/modules/websites/chloe/goaccess.conf b/virtual/modules/websites/chloe/goaccess.conf deleted file mode 100644 index 89cff6d..0000000 --- a/virtual/modules/websites/chloe/goaccess.conf +++ /dev/null | |||
@@ -1,99 +0,0 @@ | |||
1 | time-format %H:%M:%S | ||
2 | date-format %d/%b/%Y | ||
3 | |||
4 | #sur immae.eu | ||
5 | #log-format %v %h %^[%d:%t %^] "%r" %s %b "%R" "%u" $^ | ||
6 | |||
7 | log-format VCOMBINED | ||
8 | #= %v:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u" | ||
9 | |||
10 | html-prefs {"theme":"bright","layout":"vertical"} | ||
11 | |||
12 | exclude-ip 188.165.209.148 | ||
13 | exclude-ip 178.33.252.96 | ||
14 | exclude-ip 2001:41d0:2:9c94::1 | ||
15 | exclude-ip 2001:41d0:2:9c94:: | ||
16 | exclude-ip 176.9.151.89 | ||
17 | exclude-ip 2a01:4f8:160:3445:: | ||
18 | exclude-ip 82.255.56.72 | ||
19 | |||
20 | no-query-string true | ||
21 | |||
22 | keep-db-files true | ||
23 | load-from-disk true | ||
24 | db-path /var/lib/goaccess/osteopathe-cc.fr | ||
25 | |||
26 | ignore-panel REFERRERS | ||
27 | ignore-panel KEYPHRASES | ||
28 | |||
29 | static-file .css | ||
30 | static-file .js | ||
31 | static-file .jpg | ||
32 | static-file .png | ||
33 | static-file .gif | ||
34 | static-file .ico | ||
35 | static-file .jpeg | ||
36 | static-file .pdf | ||
37 | static-file .csv | ||
38 | static-file .mpeg | ||
39 | static-file .mpg | ||
40 | static-file .swf | ||
41 | static-file .woff | ||
42 | static-file .woff2 | ||
43 | static-file .xls | ||
44 | static-file .xlsx | ||
45 | static-file .doc | ||
46 | static-file .docx | ||
47 | static-file .ppt | ||
48 | static-file .pptx | ||
49 | static-file .txt | ||
50 | static-file .zip | ||
51 | static-file .ogg | ||
52 | static-file .mp3 | ||
53 | static-file .mp4 | ||
54 | static-file .exe | ||
55 | static-file .iso | ||
56 | static-file .gz | ||
57 | static-file .rar | ||
58 | static-file .svg | ||
59 | static-file .bmp | ||
60 | static-file .tar | ||
61 | static-file .tgz | ||
62 | static-file .tiff | ||
63 | static-file .tif | ||
64 | static-file .ttf | ||
65 | static-file .flv | ||
66 | #static-file .less | ||
67 | #static-file .ac3 | ||
68 | #static-file .avi | ||
69 | #static-file .bz2 | ||
70 | #static-file .class | ||
71 | #static-file .cue | ||
72 | #static-file .dae | ||
73 | #static-file .dat | ||
74 | #static-file .dts | ||
75 | #static-file .ejs | ||
76 | #static-file .eot | ||
77 | #static-file .eps | ||
78 | #static-file .img | ||
79 | #static-file .jar | ||
80 | #static-file .map | ||
81 | #static-file .mid | ||
82 | #static-file .midi | ||
83 | #static-file .ogv | ||
84 | #static-file .webm | ||
85 | #static-file .mkv | ||
86 | #static-file .odp | ||
87 | #static-file .ods | ||
88 | #static-file .odt | ||
89 | #static-file .otf | ||
90 | #static-file .pict | ||
91 | #static-file .pls | ||
92 | #static-file .ps | ||
93 | #static-file .qt | ||
94 | #static-file .rm | ||
95 | #static-file .svgz | ||
96 | #static-file .wav | ||
97 | #static-file .webp | ||
98 | |||
99 | |||
diff --git a/virtual/modules/websites/commons/adminer.nix b/virtual/modules/websites/commons/adminer.nix deleted file mode 100644 index 891046f..0000000 --- a/virtual/modules/websites/commons/adminer.nix +++ /dev/null | |||
@@ -1,65 +0,0 @@ | |||
1 | { stdenv, fetchurl, nginx }: | ||
2 | let | ||
3 | adminer = rec { | ||
4 | webRoot = stdenv.mkDerivation rec { | ||
5 | version = "4.7.0"; | ||
6 | name = "adminer-${version}"; | ||
7 | src = fetchurl { | ||
8 | url = "https://www.adminer.org/static/download/${version}/${name}.php"; | ||
9 | sha256 = "1qq2g7rbfh2vrqfm3g0bz0qs057b049n0mhabnsbd1sgnpvnc5z7"; | ||
10 | }; | ||
11 | phases = "installPhase"; | ||
12 | installPhase = '' | ||
13 | mkdir -p $out | ||
14 | cp $src $out/index.php | ||
15 | ''; | ||
16 | }; | ||
17 | phpFpm = rec { | ||
18 | socket = "/var/run/phpfpm/adminer.sock"; | ||
19 | pool = '' | ||
20 | listen = ${socket} | ||
21 | user = ${apache.user} | ||
22 | group = ${apache.group} | ||
23 | listen.owner = ${apache.user} | ||
24 | listen.group = ${apache.group} | ||
25 | pm = ondemand | ||
26 | pm.max_children = 5 | ||
27 | pm.process_idle_timeout = 60 | ||
28 | ;php_admin_flag[log_errors] = on | ||
29 | ; Needed to avoid clashes in browser cookies (same domain) | ||
30 | php_value[session.name] = AdminerPHPSESSID | ||
31 | php_admin_value[open_basedir] = "${webRoot}:/tmp" | ||
32 | php_admin_value[session.save_path] = "/var/lib/php/sessions/adminer" | ||
33 | ''; | ||
34 | }; | ||
35 | apache = { | ||
36 | user = "wwwrun"; | ||
37 | group = "wwwrun"; | ||
38 | modules = [ "proxy_fcgi" ]; | ||
39 | vhostConf = '' | ||
40 | Alias /adminer ${webRoot} | ||
41 | <Directory ${webRoot}> | ||
42 | DirectoryIndex index.php | ||
43 | Require all granted | ||
44 | <FilesMatch "\.php$"> | ||
45 | SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" | ||
46 | </FilesMatch> | ||
47 | </Directory> | ||
48 | ''; | ||
49 | }; | ||
50 | nginxConf = { | ||
51 | alias = webRoot; | ||
52 | index = "index.php"; | ||
53 | extraConfig = '' | ||
54 | include ${nginx}/conf/fastcgi.conf; | ||
55 | fastcgi_split_path_info ^(.+?\.php)(/.*)$; | ||
56 | fastcgi_param HTTP_PROXY ""; | ||
57 | fastcgi_param SCRIPT_FILENAME ${webRoot}/index.php; | ||
58 | fastcgi_pass unix:${phpFpm.socket}; | ||
59 | fastcgi_index index.php; | ||
60 | fastcgi_intercept_errors on; | ||
61 | ''; | ||
62 | }; | ||
63 | }; | ||
64 | in | ||
65 | adminer | ||
diff --git a/virtual/modules/websites/commons/composer-env.nix b/virtual/modules/websites/commons/composer-env.nix deleted file mode 100644 index 416a61c..0000000 --- a/virtual/modules/websites/commons/composer-env.nix +++ /dev/null | |||
@@ -1,280 +0,0 @@ | |||
1 | # This file originates from composer2nix | ||
2 | |||
3 | { stdenv, writeTextFile, fetchurl, php, unzip }: | ||
4 | |||
5 | let | ||
6 | composer = stdenv.mkDerivation { | ||
7 | name = "composer-1.8.0"; | ||
8 | src = fetchurl { | ||
9 | url = https://github.com/composer/composer/releases/download/1.8.0/composer.phar; | ||
10 | sha256 = "19pg9ip2mpyf5cyq34fld7qwl77mshqw3c4nif7sxmpnar6sh089"; | ||
11 | }; | ||
12 | buildInputs = [ php ]; | ||
13 | |||
14 | # We must wrap the composer.phar because of the impure shebang. | ||
15 | # We cannot use patchShebangs because the executable verifies its own integrity and will detect that somebody has tampered with it. | ||
16 | |||
17 | buildCommand = '' | ||
18 | # Copy phar file | ||
19 | mkdir -p $out/share/php | ||
20 | cp $src $out/share/php/composer.phar | ||
21 | chmod 755 $out/share/php/composer.phar | ||
22 | |||
23 | # Create wrapper executable | ||
24 | mkdir -p $out/bin | ||
25 | cat > $out/bin/composer <<EOF | ||
26 | #! ${stdenv.shell} -e | ||
27 | exec ${php}/bin/php $out/share/php/composer.phar "\$@" | ||
28 | EOF | ||
29 | chmod +x $out/bin/composer | ||
30 | ''; | ||
31 | meta = { | ||
32 | description = "Dependency Manager for PHP"; | ||
33 | #license = stdenv.licenses.mit; | ||
34 | maintainers = [ stdenv.lib.maintainers.sander ]; | ||
35 | platforms = stdenv.lib.platforms.unix; | ||
36 | }; | ||
37 | }; | ||
38 | |||
39 | buildZipPackage = { name, src }: | ||
40 | stdenv.mkDerivation { | ||
41 | inherit name src; | ||
42 | buildInputs = [ unzip ]; | ||
43 | buildCommand = '' | ||
44 | unzip $src | ||
45 | baseDir=$(find . -type d -mindepth 1 -maxdepth 1) | ||
46 | cd $baseDir | ||
47 | mkdir -p $out | ||
48 | mv * $out | ||
49 | ''; | ||
50 | }; | ||
51 | |||
52 | buildPackage = | ||
53 | { name | ||
54 | , src | ||
55 | , packages ? {} | ||
56 | , devPackages ? {} | ||
57 | , buildInputs ? [] | ||
58 | , symlinkDependencies ? false | ||
59 | , executable ? false | ||
60 | , removeComposerArtifacts ? false | ||
61 | , postInstall ? "" | ||
62 | , preInstall ? "" | ||
63 | , noDev ? false | ||
64 | , unpackPhase ? "true" | ||
65 | , buildPhase ? "true" | ||
66 | , doRemoveVendor ? true | ||
67 | , ...}@args: | ||
68 | |||
69 | let | ||
70 | reconstructInstalled = writeTextFile { | ||
71 | name = "reconstructinstalled.php"; | ||
72 | executable = true; | ||
73 | text = '' | ||
74 | #! ${php}/bin/php | ||
75 | <?php | ||
76 | if(file_exists($argv[1])) | ||
77 | { | ||
78 | $composerLockStr = file_get_contents($argv[1]); | ||
79 | |||
80 | if($composerLockStr === false) | ||
81 | { | ||
82 | fwrite(STDERR, "Cannot open composer.lock contents\n"); | ||
83 | exit(1); | ||
84 | } | ||
85 | else | ||
86 | { | ||
87 | $config = json_decode($composerLockStr, true); | ||
88 | |||
89 | if(array_key_exists("packages", $config)) | ||
90 | $allPackages = $config["packages"]; | ||
91 | else | ||
92 | $allPackages = array(); | ||
93 | |||
94 | ${stdenv.lib.optionalString (!noDev) '' | ||
95 | if(array_key_exists("packages-dev", $config)) | ||
96 | $allPackages = array_merge($allPackages, $config["packages-dev"]); | ||
97 | ''} | ||
98 | |||
99 | $packagesStr = json_encode($allPackages, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); | ||
100 | print($packagesStr); | ||
101 | } | ||
102 | } | ||
103 | else | ||
104 | print("[]"); | ||
105 | ?> | ||
106 | ''; | ||
107 | }; | ||
108 | |||
109 | constructBin = writeTextFile { | ||
110 | name = "constructbin.php"; | ||
111 | executable = true; | ||
112 | text = '' | ||
113 | #! ${php}/bin/php | ||
114 | <?php | ||
115 | $composerJSONStr = file_get_contents($argv[1]); | ||
116 | |||
117 | if($composerJSONStr === false) | ||
118 | { | ||
119 | fwrite(STDERR, "Cannot open composer.json contents\n"); | ||
120 | exit(1); | ||
121 | } | ||
122 | else | ||
123 | { | ||
124 | $config = json_decode($composerJSONStr, true); | ||
125 | |||
126 | if(array_key_exists("bin-dir", $config)) | ||
127 | $binDir = $config["bin-dir"]; | ||
128 | else | ||
129 | $binDir = "bin"; | ||
130 | |||
131 | if(array_key_exists("bin", $config)) | ||
132 | { | ||
133 | if(!file_exists("vendor/".$binDir)) | ||
134 | mkdir("vendor/".$binDir); | ||
135 | |||
136 | foreach($config["bin"] as $bin) | ||
137 | symlink("../../".$bin, "vendor/".$binDir."/".basename($bin)); | ||
138 | } | ||
139 | } | ||
140 | ?> | ||
141 | ''; | ||
142 | }; | ||
143 | |||
144 | bundleDependencies = dependencies: | ||
145 | stdenv.lib.concatMapStrings (dependencyName: | ||
146 | let | ||
147 | dependency = dependencies.${dependencyName}; | ||
148 | in | ||
149 | '' | ||
150 | ${if dependency.targetDir == "" then '' | ||
151 | vendorDir="$(dirname ${dependencyName})" | ||
152 | mkdir -p "$vendorDir" | ||
153 | ${if symlinkDependencies then | ||
154 | ''ln -s "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"'' | ||
155 | else | ||
156 | ''cp -a "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"'' | ||
157 | }${if dependency.needsModifyRights or false then "\n" + '' | ||
158 | chmod -R u+rwx "$vendorDir/$(basename "${dependencyName}")" | ||
159 | '' else ""} | ||
160 | '' else '' | ||
161 | namespaceDir="${dependencyName}/$(dirname "${dependency.targetDir}")" | ||
162 | mkdir -p "$namespaceDir" | ||
163 | ${if symlinkDependencies then | ||
164 | ''ln -s "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"'' | ||
165 | else | ||
166 | ''cp -a "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"'' | ||
167 | }${if dependency.needsModifyRights or false then "\n" + '' | ||
168 | chmod -R u+rwx "$namespaceDir/$(basename "${dependency.targetDir}")" | ||
169 | '' else ""} | ||
170 | ''} | ||
171 | '') (builtins.attrNames dependencies); | ||
172 | |||
173 | extraArgs = removeAttrs args [ "name" "packages" "devPackages" "buildInputs" ]; | ||
174 | in | ||
175 | stdenv.mkDerivation ({ | ||
176 | name = "composer-${name}"; | ||
177 | buildInputs = [ php composer ] ++ buildInputs; | ||
178 | |||
179 | inherit unpackPhase buildPhase; | ||
180 | |||
181 | installPhase = '' | ||
182 | ${if executable then '' | ||
183 | mkdir -p $out/share/php | ||
184 | cp -a $src $out/share/php/$name | ||
185 | chmod -R u+w $out/share/php/$name | ||
186 | cd $out/share/php/$name | ||
187 | '' else '' | ||
188 | cp -a $src $out | ||
189 | chmod -R u+w $out | ||
190 | cd $out | ||
191 | ''} | ||
192 | |||
193 | # Execute pre install hook | ||
194 | runHook preInstall | ||
195 | |||
196 | # Remove unwanted files | ||
197 | rm -f *.nix | ||
198 | |||
199 | export HOME=$TMPDIR | ||
200 | |||
201 | ${if doRemoveVendor then '' | ||
202 | # Remove the provided vendor folder if it exists | ||
203 | rm -Rf vendor | ||
204 | '' else ""} | ||
205 | # If there is no composer.lock file, compose a dummy file. | ||
206 | # Otherwise, composer attempts to download the package.json file from | ||
207 | # the registry which we do not want. | ||
208 | if [ ! -f composer.lock ] | ||
209 | then | ||
210 | cat > composer.lock <<EOF | ||
211 | { | ||
212 | "packages": [] | ||
213 | } | ||
214 | EOF | ||
215 | fi | ||
216 | |||
217 | # Reconstruct the installed.json file from the lock file | ||
218 | mkdir -p vendor/composer | ||
219 | ${reconstructInstalled} composer.lock > vendor/composer/installed.json | ||
220 | |||
221 | # Copy or symlink the provided dependencies | ||
222 | cd vendor | ||
223 | ${bundleDependencies packages} | ||
224 | ${stdenv.lib.optionalString (!noDev) (bundleDependencies devPackages)} | ||
225 | cd .. | ||
226 | |||
227 | # Reconstruct autoload scripts | ||
228 | # We use the optimize feature because Nix packages cannot change after they have been built | ||
229 | # Using the dynamic loader for a Nix package is useless since there is nothing to dynamically reload. | ||
230 | composer dump-autoload --optimize ${stdenv.lib.optionalString noDev "--no-dev"} | ||
231 | |||
232 | # Run the install step as a validation to confirm that everything works out as expected | ||
233 | composer install --optimize-autoloader ${stdenv.lib.optionalString noDev "--no-dev"} | ||
234 | |||
235 | ${stdenv.lib.optionalString executable '' | ||
236 | # Reconstruct the bin/ folder if we deploy an executable project | ||
237 | ${constructBin} composer.json | ||
238 | ln -s $(pwd)/vendor/bin $out/bin | ||
239 | ''} | ||
240 | |||
241 | ${stdenv.lib.optionalString (!symlinkDependencies) '' | ||
242 | # Patch the shebangs if possible | ||
243 | if [ -d $(pwd)/vendor/bin ] | ||
244 | then | ||
245 | # Look for all executables in bin/ | ||
246 | for i in $(pwd)/vendor/bin/* | ||
247 | do | ||
248 | # Look for their location | ||
249 | realFile=$(readlink -f "$i") | ||
250 | |||
251 | # Restore write permissions | ||
252 | chmod u+wx "$(dirname "$realFile")" | ||
253 | chmod u+w "$realFile" | ||
254 | |||
255 | # Patch shebang | ||
256 | sed -e "s|#!/usr/bin/php|#!${php}/bin/php|" \ | ||
257 | -e "s|#!/usr/bin/env php|#!${php}/bin/php|" \ | ||
258 | "$realFile" > tmp | ||
259 | mv tmp "$realFile" | ||
260 | chmod u+x "$realFile" | ||
261 | done | ||
262 | fi | ||
263 | ''} | ||
264 | |||
265 | if [ "$removeComposerArtifacts" = "1" ] | ||
266 | then | ||
267 | # Remove composer stuff | ||
268 | rm -f composer.json composer.lock | ||
269 | fi | ||
270 | |||
271 | # Execute post install hook | ||
272 | runHook postInstall | ||
273 | ''; | ||
274 | } // extraArgs); | ||
275 | in | ||
276 | { | ||
277 | composer = stdenv.lib.makeOverridable composer; | ||
278 | buildZipPackage = stdenv.lib.makeOverridable buildZipPackage; | ||
279 | buildPackage = stdenv.lib.makeOverridable buildPackage; | ||
280 | } | ||
diff --git a/virtual/modules/websites/commons/spip/spip_ldap_patch.patch b/virtual/modules/websites/commons/spip/spip_ldap_patch.patch deleted file mode 100644 index 653c909..0000000 --- a/virtual/modules/websites/commons/spip/spip_ldap_patch.patch +++ /dev/null | |||
@@ -1,60 +0,0 @@ | |||
1 | --- old/ecrire/auth/ldap.php 2017-06-08 21:58:17.000000000 +0200 | ||
2 | +++ new/ecrire/auth/ldap.php 2017-06-10 02:54:02.687954143 +0200 | ||
3 | @@ -171,24 +171,41 @@ | ||
4 | $desc = isset($ldap['attributes']) && $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'] ; | ||
5 | |||
6 | $logins = is_array($desc['login']) ? $desc['login'] : array($desc['login']); | ||
7 | + if (isset($GLOBALS['ldap_search'])) { | ||
8 | + $search_query = str_replace("%user%", $login_search, $GLOBALS['ldap_search']); | ||
9 | + $result = @ldap_search($ldap_link, $ldap_base, $search_query, array("dn")); | ||
10 | + $info = @ldap_get_entries($ldap_link, $result); | ||
11 | + // Ne pas accepter les resultats si plus d'une entree | ||
12 | + // (on veut un attribut unique) | ||
13 | |||
14 | - // Tenter une recherche pour essayer de retrouver le DN | ||
15 | - foreach ($logins as $att) { | ||
16 | - $result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", array("dn")); | ||
17 | - $info = @ldap_get_entries($ldap_link, $result); | ||
18 | - // Ne pas accepter les resultats si plus d'une entree | ||
19 | - // (on veut un attribut unique) | ||
20 | + if (is_array($info) and $info['count'] == 1) { | ||
21 | + $dn = $info[0]['dn']; | ||
22 | + if (!$checkpass) { | ||
23 | + return $dn; | ||
24 | + } | ||
25 | + if (@ldap_bind($ldap_link, $dn, $pass)) { | ||
26 | + return $dn; | ||
27 | + } | ||
28 | + } | ||
29 | + } else { | ||
30 | + // Tenter une recherche pour essayer de retrouver le DN | ||
31 | + foreach ($logins as $att) { | ||
32 | + $result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", array("dn")); | ||
33 | + $info = @ldap_get_entries($ldap_link, $result); | ||
34 | + // Ne pas accepter les resultats si plus d'une entree | ||
35 | + // (on veut un attribut unique) | ||
36 | |||
37 | - if (is_array($info) and $info['count'] == 1) { | ||
38 | - $dn = $info[0]['dn']; | ||
39 | - if (!$checkpass) { | ||
40 | - return $dn; | ||
41 | - } | ||
42 | - if (@ldap_bind($ldap_link, $dn, $pass)) { | ||
43 | - return $dn; | ||
44 | - } | ||
45 | - } | ||
46 | - } | ||
47 | + if (is_array($info) and $info['count'] == 1) { | ||
48 | + $dn = $info[0]['dn']; | ||
49 | + if (!$checkpass) { | ||
50 | + return $dn; | ||
51 | + } | ||
52 | + if (@ldap_bind($ldap_link, $dn, $pass)) { | ||
53 | + return $dn; | ||
54 | + } | ||
55 | + } | ||
56 | + } | ||
57 | + } | ||
58 | |||
59 | if ($checkpass and !isset($dn)) { | ||
60 | // Si echec, essayer de deviner le DN | ||
diff --git a/virtual/modules/websites/commons/spip/spip_mes_options.php b/virtual/modules/websites/commons/spip/spip_mes_options.php deleted file mode 100644 index 8db8389..0000000 --- a/virtual/modules/websites/commons/spip/spip_mes_options.php +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | <?php // /!\ Important: There must be no blank space before <?php or after ?> | ||
2 | // This file was inspired from the spip contrib website | ||
3 | // http://www.spip.net/fr_article3811.html | ||
4 | |||
5 | $config_dir = getenv('SPIP_CONFIG_DIR') . '/'; | ||
6 | $var_dir = getenv('SPIP_VAR_DIR') . '/'; | ||
7 | |||
8 | $cookie_prefix = str_replace('.', '_', getenv("SPIP_SITE")); | ||
9 | $table_prefix = 'spip'; | ||
10 | |||
11 | spip_initialisation( | ||
12 | $config_dir, | ||
13 | _DIR_RACINE . _NOM_PERMANENTS_ACCESSIBLES, | ||
14 | $var_dir . _NOM_TEMPORAIRES_INACCESSIBLES, | ||
15 | _DIR_RACINE . _NOM_TEMPORAIRES_ACCESSIBLES | ||
16 | ); | ||
17 | |||
18 | ?> | ||
diff --git a/virtual/modules/websites/commons/stats.nix b/virtual/modules/websites/commons/stats.nix deleted file mode 100644 index b5bf0e0..0000000 --- a/virtual/modules/websites/commons/stats.nix +++ /dev/null | |||
@@ -1,67 +0,0 @@ | |||
1 | { lib, pkgs, config, mylibs, ... }: | ||
2 | let | ||
3 | cfg = config.services.myWebsites.commons.stats; | ||
4 | in { | ||
5 | options = { | ||
6 | services.myWebsites.commons.stats = { | ||
7 | enable = lib.mkEnableOption "enable statistics"; | ||
8 | sites = lib.mkOption { | ||
9 | type = lib.types.listOf (lib.types.submodule { | ||
10 | options = { | ||
11 | conf = lib.mkOption { type = lib.types.path; }; | ||
12 | name = lib.mkOption { type = lib.types.string; }; | ||
13 | }; | ||
14 | }); | ||
15 | default = []; | ||
16 | description = "Sites to generate stats"; | ||
17 | }; | ||
18 | }; | ||
19 | }; | ||
20 | |||
21 | config = lib.mkIf cfg.enable { | ||
22 | environment.systemPackages = [ | ||
23 | pkgs.goaccess | ||
24 | ]; | ||
25 | |||
26 | nixpkgs.config.packageOverrides = oldpkgs: rec { | ||
27 | goaccess = oldpkgs.goaccess.overrideAttrs(old: rec { | ||
28 | name = "goaccess-${version}"; | ||
29 | version = "1.3"; | ||
30 | src = pkgs.fetchurl { | ||
31 | url = "https://tar.goaccess.io/${name}.tar.gz"; | ||
32 | sha256 = "16vv3pj7pbraq173wlxa89jjsd279004j4kgzlrsk1dz4if5qxwc"; | ||
33 | }; | ||
34 | configureFlags = old.configureFlags ++ [ "--enable-tcb=btree" ]; | ||
35 | buildInputs = old.buildInputs ++ [ pkgs.tokyocabinet pkgs.bzip2 ]; | ||
36 | }); | ||
37 | }; | ||
38 | |||
39 | services.cron = { | ||
40 | enable = true; | ||
41 | systemCronJobs = let | ||
42 | stats = domain: conf: let | ||
43 | d = pkgs.writeScriptBin "stats-${domain}" '' | ||
44 | #!${pkgs.stdenv.shell} | ||
45 | set -e | ||
46 | shopt -s nullglob | ||
47 | date_regex=$(LC_ALL=C date -d yesterday +'%d\/%b\/%Y') | ||
48 | TMPFILE=$(mktemp) | ||
49 | trap "rm -f $TMPFILE" EXIT | ||
50 | |||
51 | cat /var/log/httpd/access_log-${domain} | sed -n "/\\[$date_regex/ p" > $TMPFILE | ||
52 | for i in /var/log/httpd/access_log-${domain}*.gz; do | ||
53 | zcat "$i" | sed -n "/\\[$date_regex/ p" >> $TMPFILE | ||
54 | done | ||
55 | goaccess $TMPFILE --no-progress -o /var/lib/goaccess/${domain}/index.html -p ${conf} | ||
56 | ''; | ||
57 | in "${d}/bin/stats-${domain}"; | ||
58 | in | ||
59 | pkgs.lib.lists.imap0 (i: v: "${toString (i+5)} 0 * * * root ${stats v.name v.conf}") cfg.sites; | ||
60 | }; | ||
61 | |||
62 | system.activationScripts.goaccess = '' | ||
63 | mkdir -p /var/lib/goaccess | ||
64 | '' + | ||
65 | builtins.concatStringsSep "\n" (map (v: "mkdir -p /var/lib/goaccess/${v.name}") cfg.sites); | ||
66 | }; | ||
67 | } | ||
diff --git a/virtual/modules/websites/connexionswing/connexionswing.json b/virtual/modules/websites/connexionswing/connexionswing.json deleted file mode 100644 index 44d9f0e..0000000 --- a/virtual/modules/websites/connexionswing/connexionswing.json +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | { | ||
2 | "tag": "dfcdce0-master", | ||
3 | "meta": { | ||
4 | "name": "connexionswing", | ||
5 | "url": "gitolite@git.immae.eu:perso/Immae/Projets/Connexionswing", | ||
6 | "branch": "master" | ||
7 | }, | ||
8 | "git": { | ||
9 | "url": "gitolite@git.immae.eu:perso/Immae/Projets/Connexionswing", | ||
10 | "rev": "dfcdce04d11a75f5e850e6dc3a049de4517fc107", | ||
11 | "sha256": "0ddirwxs2ify3bni6nv787nb31ckyn2hsrcq8g01b5cfv5havkwq", | ||
12 | "fetchSubmodules": true | ||
13 | } | ||
14 | } | ||
diff --git a/virtual/modules/websites/connexionswing/connexionswing.nix b/virtual/modules/websites/connexionswing/connexionswing.nix deleted file mode 100644 index f394574..0000000 --- a/virtual/modules/websites/connexionswing/connexionswing.nix +++ /dev/null | |||
@@ -1,170 +0,0 @@ | |||
1 | { pkgs, lib, writeText, fetchedGitPrivate, stdenv, composerEnv, phpPackages, fetchurl, fetchgit }: | ||
2 | let | ||
3 | connexionswing = { config }: rec { | ||
4 | environment = config.environment; | ||
5 | varDir = "/var/lib/connexionswing_${environment}"; | ||
6 | configRoot = | ||
7 | writeText "parameters.yml" '' | ||
8 | # This file is auto-generated during the composer install | ||
9 | parameters: | ||
10 | database_host: db-1.immae.eu | ||
11 | database_port: null | ||
12 | database_name: ${config.mysql.name} | ||
13 | database_user: ${config.mysql.user} | ||
14 | database_password: ${config.mysql.password} | ||
15 | database_server_version: ${pkgs.mariadb.mysqlVersion} | ||
16 | mailer_transport: smtp | ||
17 | mailer_host: mail.immae.eu | ||
18 | mailer_user: null | ||
19 | mailer_password: null | ||
20 | subscription_email: ${config.email} | ||
21 | allow_robots: true | ||
22 | secret: ${config.secret} | ||
23 | ''; | ||
24 | phpFpm = rec { | ||
25 | socket = "/var/run/phpfpm/connexionswing-${environment}.sock"; | ||
26 | phpConfig = '' | ||
27 | extension=${phpPackages.imagick}/lib/php/extensions/imagick.so | ||
28 | ''; | ||
29 | pool = '' | ||
30 | listen = ${socket} | ||
31 | user = ${apache.user} | ||
32 | group = ${apache.group} | ||
33 | listen.owner = ${apache.user} | ||
34 | listen.group = ${apache.group} | ||
35 | php_admin_value[upload_max_filesize] = 20M | ||
36 | php_admin_value[post_max_size] = 20M | ||
37 | ;php_admin_flag[log_errors] = on | ||
38 | php_admin_value[open_basedir] = "${configRoot}:${webappDir}:${varDir}:/tmp" | ||
39 | php_admin_value[session.save_path] = "${varDir}/phpSessions" | ||
40 | ${if environment == "dev" then '' | ||
41 | pm = ondemand | ||
42 | pm.max_children = 5 | ||
43 | pm.process_idle_timeout = 60 | ||
44 | env[SYMFONY_DEBUG_MODE] = "yes" | ||
45 | '' else '' | ||
46 | pm = dynamic | ||
47 | pm.max_children = 20 | ||
48 | pm.start_servers = 2 | ||
49 | pm.min_spare_servers = 1 | ||
50 | pm.max_spare_servers = 3 | ||
51 | ''}''; | ||
52 | }; | ||
53 | apache = { | ||
54 | user = "wwwrun"; | ||
55 | group = "wwwrun"; | ||
56 | modules = [ "proxy_fcgi" ]; | ||
57 | vhostConf = '' | ||
58 | <FilesMatch "\.php$"> | ||
59 | SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" | ||
60 | </FilesMatch> | ||
61 | |||
62 | <Directory ${varDir}/medias> | ||
63 | Options FollowSymLinks | ||
64 | AllowOverride None | ||
65 | Require all granted | ||
66 | </Directory> | ||
67 | |||
68 | <Directory ${varDir}/uploads> | ||
69 | Options FollowSymLinks | ||
70 | AllowOverride None | ||
71 | Require all granted | ||
72 | </Directory> | ||
73 | |||
74 | ${if environment == "dev" then '' | ||
75 | <Location /> | ||
76 | Use LDAPConnect | ||
77 | Require ldap-group cn=connexionswing.immae.eu,cn=httpd,ou=services,dc=immae,dc=eu | ||
78 | ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=https://connexionswing.com\"></html>" | ||
79 | </Location> | ||
80 | |||
81 | <Directory ${webRoot}> | ||
82 | Options Indexes FollowSymLinks MultiViews Includes | ||
83 | AllowOverride None | ||
84 | Require all granted | ||
85 | |||
86 | DirectoryIndex app_dev.php | ||
87 | |||
88 | <IfModule mod_negotiation.c> | ||
89 | Options -MultiViews | ||
90 | </IfModule> | ||
91 | |||
92 | <IfModule mod_rewrite.c> | ||
93 | RewriteEngine On | ||
94 | |||
95 | RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ | ||
96 | RewriteRule ^(.*) - [E=BASE:%1] | ||
97 | |||
98 | # Maintenance script | ||
99 | RewriteCond %{DOCUMENT_ROOT}/maintenance.php -f | ||
100 | RewriteCond %{SCRIPT_FILENAME} !maintenance.php | ||
101 | RewriteRule ^.*$ %{ENV:BASE}/maintenance.php [R=503,L] | ||
102 | ErrorDocument 503 /maintenance.php | ||
103 | |||
104 | # Sets the HTTP_AUTHORIZATION header removed by Apache | ||
105 | RewriteCond %{HTTP:Authorization} . | ||
106 | RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] | ||
107 | |||
108 | RewriteCond %{ENV:REDIRECT_STATUS} ^$ | ||
109 | RewriteRule ^app_dev\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L] | ||
110 | |||
111 | # If the requested filename exists, simply serve it. | ||
112 | # We only want to let Apache serve files and not directories. | ||
113 | RewriteCond %{REQUEST_FILENAME} -f | ||
114 | RewriteRule ^ - [L] | ||
115 | |||
116 | # Rewrite all other queries to the front controller. | ||
117 | RewriteRule ^ %{ENV:BASE}/app_dev.php [L] | ||
118 | </IfModule> | ||
119 | |||
120 | </Directory> | ||
121 | '' else '' | ||
122 | Use Stats connexionswing.com | ||
123 | |||
124 | <Directory ${webRoot}> | ||
125 | Options Indexes FollowSymLinks MultiViews Includes | ||
126 | AllowOverride All | ||
127 | Require all granted | ||
128 | </Directory> | ||
129 | ''} | ||
130 | ''; | ||
131 | }; | ||
132 | activationScript = { | ||
133 | deps = [ "wrappers" ]; | ||
134 | text = '' | ||
135 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} \ | ||
136 | ${varDir}/medias \ | ||
137 | ${varDir}/uploads \ | ||
138 | ${varDir}/var | ||
139 | install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions | ||
140 | if [ ! -f "${varDir}/currentWebappDir" -o \ | ||
141 | "${webappDir}" != "$(cat ${varDir}/currentWebappDir 2>/dev/null)" ]; then | ||
142 | pushd ${webappDir} > /dev/null | ||
143 | $wrapperDir/sudo -u wwwrun ./bin/console --env=${environment} cache:clear --no-warmup | ||
144 | popd > /dev/null | ||
145 | echo -n "${webappDir}" > ${varDir}/currentWebappDir | ||
146 | fi | ||
147 | ''; | ||
148 | }; | ||
149 | webappDir = composerEnv.buildPackage ( | ||
150 | import ./php-packages.nix { inherit composerEnv fetchurl fetchgit; } // | ||
151 | fetchedGitPrivate ./connexionswing.json // | ||
152 | rec { | ||
153 | noDev = (environment == "prod"); | ||
154 | preInstall = '' | ||
155 | export SYMFONY_ENV="${environment}" | ||
156 | ''; | ||
157 | postInstall = '' | ||
158 | cd $out | ||
159 | ${if environment == "prod" then "php ./bin/console assetic:dump --env=prod --no-debug" else ""} | ||
160 | rm app/config/parameters.yml | ||
161 | ln -sf ${configRoot} app/config/parameters.yml | ||
162 | rm -rf var/{logs,cache} | ||
163 | ln -sf ../../../../../../${varDir}/var/{logs,cache} var/ | ||
164 | ln -sf ../../../../../${varDir}/{medias,uploads} web/images/ | ||
165 | ''; | ||
166 | }); | ||
167 | webRoot = "${webappDir}/web"; | ||
168 | }; | ||
169 | in | ||
170 | connexionswing | ||
diff --git a/virtual/modules/websites/connexionswing/default.nix b/virtual/modules/websites/connexionswing/default.nix deleted file mode 100644 index 5ce3525..0000000 --- a/virtual/modules/websites/connexionswing/default.nix +++ /dev/null | |||
@@ -1,72 +0,0 @@ | |||
1 | { lib, pkgs, config, mylibs, myconfig, ... }: | ||
2 | let | ||
3 | connexionswing = pkgs.callPackage ./connexionswing.nix { inherit (mylibs) fetchedGitPrivate; }; | ||
4 | connexionswing_dev = connexionswing { | ||
5 | config = myconfig.env.websites.connexionswing.integration; | ||
6 | }; | ||
7 | connexionswing_prod = connexionswing { | ||
8 | config = myconfig.env.websites.connexionswing.production; | ||
9 | }; | ||
10 | |||
11 | cfg = config.services.myWebsites.Connexionswing; | ||
12 | in { | ||
13 | options.services.myWebsites.Connexionswing = { | ||
14 | production = { | ||
15 | enable = lib.mkEnableOption "enable Connexionswing's website in production"; | ||
16 | }; | ||
17 | integration = { | ||
18 | enable = lib.mkEnableOption "enable Connexionswing's website in integration"; | ||
19 | }; | ||
20 | }; | ||
21 | |||
22 | imports = [ | ||
23 | ../commons/stats.nix | ||
24 | ]; | ||
25 | |||
26 | config = lib.mkMerge [ | ||
27 | (lib.mkIf cfg.production.enable { | ||
28 | services.myWebsites.commons.stats.enable = true; | ||
29 | services.myWebsites.commons.stats.sites = [ | ||
30 | { | ||
31 | name = "connexionswing.com"; | ||
32 | conf = ./goaccess.conf; | ||
33 | } | ||
34 | ]; | ||
35 | |||
36 | security.acme.certs."connexionswing" = config.services.myCertificates.certConfig // { | ||
37 | domain = "connexionswing.com"; | ||
38 | extraDomains = { | ||
39 | "www.connexionswing.com" = null; | ||
40 | "sandetludo.com" = null; | ||
41 | "www.sandetludo.com" = null; | ||
42 | }; | ||
43 | }; | ||
44 | |||
45 | services.myPhpfpm.poolConfigs.connexionswing_prod = connexionswing_prod.phpFpm.pool; | ||
46 | services.myPhpfpm.poolPhpConfigs.connexionswing_prod = connexionswing_prod.phpFpm.phpConfig; | ||
47 | system.activationScripts.connexionswing_prod = connexionswing_prod.activationScript; | ||
48 | services.myWebsites.production.modules = connexionswing_prod.apache.modules; | ||
49 | services.myWebsites.production.vhostConfs.connexionswing = { | ||
50 | certName = "connexionswing"; | ||
51 | hosts = ["connexionswing.com" "sandetludo.com" "www.connexionswing.com" "www.sandetludo.com" ]; | ||
52 | root = connexionswing_prod.webRoot; | ||
53 | extraConfig = [ connexionswing_prod.apache.vhostConf ]; | ||
54 | }; | ||
55 | }) | ||
56 | (lib.mkIf cfg.integration.enable { | ||
57 | security.acme.certs."eldiron".extraDomains."sandetludo.immae.eu" = null; | ||
58 | security.acme.certs."eldiron".extraDomains."connexionswing.immae.eu" = null; | ||
59 | services.myPhpfpm.poolConfigs.connexionswing_dev = connexionswing_dev.phpFpm.pool; | ||
60 | services.myPhpfpm.poolPhpConfigs.connexionswing_dev = connexionswing_dev.phpFpm.phpConfig; | ||
61 | system.activationScripts.connexionswing_dev = connexionswing_dev.activationScript; | ||
62 | services.myWebsites.integration.modules = connexionswing_dev.apache.modules; | ||
63 | services.myWebsites.integration.vhostConfs.connexionswing = { | ||
64 | certName = "eldiron"; | ||
65 | hosts = ["connexionswing.immae.eu" "sandetludo.immae.eu" ]; | ||
66 | root = connexionswing_dev.webRoot; | ||
67 | extraConfig = [ connexionswing_dev.apache.vhostConf ]; | ||
68 | }; | ||
69 | }) | ||
70 | ]; | ||
71 | } | ||
72 | |||
diff --git a/virtual/modules/websites/connexionswing/goaccess.conf b/virtual/modules/websites/connexionswing/goaccess.conf deleted file mode 100644 index 05ad083..0000000 --- a/virtual/modules/websites/connexionswing/goaccess.conf +++ /dev/null | |||
@@ -1,99 +0,0 @@ | |||
1 | time-format %H:%M:%S | ||
2 | date-format %d/%b/%Y | ||
3 | |||
4 | #sur immae.eu | ||
5 | #log-format %v %h %^[%d:%t %^] "%r" %s %b "%R" "%u" $^ | ||
6 | |||
7 | log-format VCOMBINED | ||
8 | #= %v:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u" | ||
9 | |||
10 | html-prefs {"theme":"bright","layout":"vertical"} | ||
11 | |||
12 | exclude-ip 188.165.209.148 | ||
13 | exclude-ip 178.33.252.96 | ||
14 | exclude-ip 2001:41d0:2:9c94::1 | ||
15 | exclude-ip 2001:41d0:2:9c94:: | ||
16 | exclude-ip 176.9.151.89 | ||
17 | exclude-ip 2a01:4f8:160:3445:: | ||
18 | exclude-ip 82.255.56.72 | ||
19 | |||
20 | no-query-string true | ||
21 | |||
22 | keep-db-files true | ||
23 | load-from-disk true | ||
24 | db-path /var/lib/goaccess/connexionswing.com | ||
25 | |||
26 | ignore-panel REFERRERS | ||
27 | ignore-panel KEYPHRASES | ||
28 | |||
29 | static-file .css | ||
30 | static-file .js | ||
31 | static-file .jpg | ||
32 | static-file .png | ||
33 | static-file .gif | ||
34 | static-file .ico | ||
35 | static-file .jpeg | ||
36 | static-file .pdf | ||
37 | static-file .csv | ||
38 | static-file .mpeg | ||
39 | static-file .mpg | ||
40 | static-file .swf | ||
41 | static-file .woff | ||
42 | static-file .woff2 | ||
43 | static-file .xls | ||
44 | static-file .xlsx | ||
45 | static-file .doc | ||
46 | static-file .docx | ||
47 | static-file .ppt | ||
48 | static-file .pptx | ||
49 | static-file .txt | ||
50 | static-file .zip | ||
51 | static-file .ogg | ||
52 | static-file .mp3 | ||
53 | static-file .mp4 | ||
54 | static-file .exe | ||
55 | static-file .iso | ||
56 | static-file .gz | ||
57 | static-file .rar | ||
58 | static-file .svg | ||
59 | static-file .bmp | ||
60 | static-file .tar | ||
61 | static-file .tgz | ||
62 | static-file .tiff | ||
63 | static-file .tif | ||
64 | static-file .ttf | ||
65 | static-file .flv | ||
66 | #static-file .less | ||
67 | #static-file .ac3 | ||
68 | #static-file .avi | ||
69 | #static-file .bz2 | ||
70 | #static-file .class | ||
71 | #static-file .cue | ||
72 | #static-file .dae | ||
73 | #static-file .dat | ||
74 | #static-file .dts | ||
75 | #static-file .ejs | ||
76 | #static-file .eot | ||
77 | #static-file .eps | ||
78 | #static-file .img | ||
79 | #static-file .jar | ||
80 | #static-file .map | ||
81 | #static-file .mid | ||
82 | #static-file .midi | ||
83 | #static-file .ogv | ||
84 | #static-file .webm | ||
85 | #static-file .mkv | ||
86 | #static-file .odp | ||
87 | #static-file .ods | ||
88 | #static-file .odt | ||
89 | #static-file .otf | ||
90 | #static-file .pict | ||
91 | #static-file .pls | ||
92 | #static-file .ps | ||
93 | #static-file .qt | ||
94 | #static-file .rm | ||
95 | #static-file .svgz | ||
96 | #static-file .wav | ||
97 | #static-file .webp | ||
98 | |||
99 | |||
diff --git a/virtual/modules/websites/connexionswing/php-packages.nix b/virtual/modules/websites/connexionswing/php-packages.nix deleted file mode 100644 index 581b437..0000000 --- a/virtual/modules/websites/connexionswing/php-packages.nix +++ /dev/null | |||
@@ -1,597 +0,0 @@ | |||
1 | # Generated with composer2nix and adapted to return only the list of | ||
2 | # packages | ||
3 | { composerEnv, fetchurl, fetchgit ? null }: | ||
4 | { | ||
5 | packages = { | ||
6 | "behat/transliterator" = { | ||
7 | targetDir = ""; | ||
8 | src = composerEnv.buildZipPackage { | ||
9 | name = "behat-transliterator-826ce7e9c2a6664c0d1f381cbb38b1fb80a7ee2c"; | ||
10 | src = fetchurl { | ||
11 | url = https://api.github.com/repos/Behat/Transliterator/zipball/826ce7e9c2a6664c0d1f381cbb38b1fb80a7ee2c; | ||
12 | sha256 = "1mgc9azx79fkrxahji3xwbgqhlcnvh3xk6llqdvhjb7vgzj4bqq0"; | ||
13 | }; | ||
14 | }; | ||
15 | }; | ||
16 | "components/bootstrap" = { | ||
17 | targetDir = ""; | ||
18 | src = composerEnv.buildZipPackage { | ||
19 | name = "components-bootstrap-670295b9d6170a79acc8586a15e729bf24128275"; | ||
20 | src = fetchurl { | ||
21 | url = https://api.github.com/repos/components/bootstrap/zipball/670295b9d6170a79acc8586a15e729bf24128275; | ||
22 | sha256 = "0lcq9cjnywvf1nd8k99flgcf2dmfgyyxzsvcpip8xiibmh5x04p9"; | ||
23 | }; | ||
24 | }; | ||
25 | }; | ||
26 | "components/jquery" = { | ||
27 | targetDir = ""; | ||
28 | src = composerEnv.buildZipPackage { | ||
29 | name = "components-jquery-5dd7297d7603e11e53bdcca2a71074d92de37b8f"; | ||
30 | src = fetchurl { | ||
31 | url = https://api.github.com/repos/components/jquery/zipball/5dd7297d7603e11e53bdcca2a71074d92de37b8f; | ||
32 | sha256 = "1maplw3yic1pzbwwl2amjlivipsi1w0r8bq7i0mmjaqf7wij506i"; | ||
33 | }; | ||
34 | }; | ||
35 | }; | ||
36 | "components/jqueryui" = { | ||
37 | targetDir = ""; | ||
38 | src = composerEnv.buildZipPackage { | ||
39 | name = "components-jqueryui-44ecf3794cc56b65954cc19737234a3119d036cc"; | ||
40 | src = fetchurl { | ||
41 | url = https://api.github.com/repos/components/jqueryui/zipball/44ecf3794cc56b65954cc19737234a3119d036cc; | ||
42 | sha256 = "1y0ppxk44jkxbh38i05sg0zcgk927s5wy6sjngwr5qifibqbcbhk"; | ||
43 | }; | ||
44 | }; | ||
45 | }; | ||
46 | "composer/ca-bundle" = { | ||
47 | targetDir = ""; | ||
48 | src = composerEnv.buildZipPackage { | ||
49 | name = "composer-ca-bundle-d2c0a83b7533d6912e8d516756ebd34f893e9169"; | ||
50 | src = fetchurl { | ||
51 | url = https://api.github.com/repos/composer/ca-bundle/zipball/d2c0a83b7533d6912e8d516756ebd34f893e9169; | ||
52 | sha256 = "1as399dzrfbjnifb87j1g5cvrbacyddbay8fv59i56xx1bdq7lwc"; | ||
53 | }; | ||
54 | }; | ||
55 | }; | ||
56 | "doctrine/annotations" = { | ||
57 | targetDir = ""; | ||
58 | src = composerEnv.buildZipPackage { | ||
59 | name = "doctrine-annotations-54cacc9b81758b14e3ce750f205a393d52339e97"; | ||
60 | src = fetchurl { | ||
61 | url = https://api.github.com/repos/doctrine/annotations/zipball/54cacc9b81758b14e3ce750f205a393d52339e97; | ||
62 | sha256 = "1wi5skihqbcinlkrkr15nmmvqkn2gydqib8xl232abdvfq1q0w24"; | ||
63 | }; | ||
64 | }; | ||
65 | }; | ||
66 | "doctrine/cache" = { | ||
67 | targetDir = ""; | ||
68 | src = composerEnv.buildZipPackage { | ||
69 | name = "doctrine-cache-eb152c5100571c7a45470ff2a35095ab3f3b900b"; | ||
70 | src = fetchurl { | ||
71 | url = https://api.github.com/repos/doctrine/cache/zipball/eb152c5100571c7a45470ff2a35095ab3f3b900b; | ||
72 | sha256 = "0iq0qqv1smlqz63jhj2fpjy54c5dwfwxyf5c89iky6i0yb81gwyd"; | ||
73 | }; | ||
74 | }; | ||
75 | }; | ||
76 | "doctrine/collections" = { | ||
77 | targetDir = ""; | ||
78 | src = composerEnv.buildZipPackage { | ||
79 | name = "doctrine-collections-1a4fb7e902202c33cce8c55989b945612943c2ba"; | ||
80 | src = fetchurl { | ||
81 | url = https://api.github.com/repos/doctrine/collections/zipball/1a4fb7e902202c33cce8c55989b945612943c2ba; | ||
82 | sha256 = "0fkiwkx7zbmfnh4p21za807lh1n7g1f4lpgy8y59g4r5krvpl90w"; | ||
83 | }; | ||
84 | }; | ||
85 | }; | ||
86 | "doctrine/common" = { | ||
87 | targetDir = ""; | ||
88 | src = composerEnv.buildZipPackage { | ||
89 | name = "doctrine-common-4acb8f89626baafede6ee5475bc5844096eba8a9"; | ||
90 | src = fetchurl { | ||
91 | url = https://api.github.com/repos/doctrine/common/zipball/4acb8f89626baafede6ee5475bc5844096eba8a9; | ||
92 | sha256 = "0qjqframvg81z3lwqaj5haanqj9v3dfbj170pxmwlgmrfsbr16zh"; | ||
93 | }; | ||
94 | }; | ||
95 | }; | ||
96 | "doctrine/dbal" = { | ||
97 | targetDir = ""; | ||
98 | src = composerEnv.buildZipPackage { | ||
99 | name = "doctrine-dbal-729340d8d1eec8f01bff708e12e449a3415af873"; | ||
100 | src = fetchurl { | ||
101 | url = https://api.github.com/repos/doctrine/dbal/zipball/729340d8d1eec8f01bff708e12e449a3415af873; | ||
102 | sha256 = "184p8h0n6mcm0y6vfyh0z6qcxmmf8h5z4vdvxd4ycmx0531lnhj3"; | ||
103 | }; | ||
104 | }; | ||
105 | }; | ||
106 | "doctrine/doctrine-bundle" = { | ||
107 | targetDir = ""; | ||
108 | src = composerEnv.buildZipPackage { | ||
109 | name = "doctrine-doctrine-bundle-703fad32e4c8cbe609caf45a71a1d4266c830f0f"; | ||
110 | src = fetchurl { | ||
111 | url = https://api.github.com/repos/doctrine/DoctrineBundle/zipball/703fad32e4c8cbe609caf45a71a1d4266c830f0f; | ||
112 | sha256 = "0v2f63j22i3im8jbmv7spi8j42fay6dnxjvbxnbwj190ajxl6sdp"; | ||
113 | }; | ||
114 | }; | ||
115 | }; | ||
116 | "doctrine/doctrine-cache-bundle" = { | ||
117 | targetDir = ""; | ||
118 | src = composerEnv.buildZipPackage { | ||
119 | name = "doctrine-doctrine-cache-bundle-4c8e363f96427924e7e519c5b5119b4f54512697"; | ||
120 | src = fetchurl { | ||
121 | url = https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/4c8e363f96427924e7e519c5b5119b4f54512697; | ||
122 | sha256 = "1irm04iijzq6gziknwyb10a9s0xbzh04xs5i2d6aac86cc29187c"; | ||
123 | }; | ||
124 | }; | ||
125 | }; | ||
126 | "doctrine/doctrine-migrations-bundle" = { | ||
127 | targetDir = ""; | ||
128 | src = composerEnv.buildZipPackage { | ||
129 | name = "doctrine-doctrine-migrations-bundle-a9e506369f931351a2a6dd2aef588a822802b1b7"; | ||
130 | src = fetchurl { | ||
131 | url = https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/a9e506369f931351a2a6dd2aef588a822802b1b7; | ||
132 | sha256 = "1jgrqsgdwcm2g8rml76qr6b19s1vxfbnrp43qr6n1g9kbx7y9wg9"; | ||
133 | }; | ||
134 | }; | ||
135 | }; | ||
136 | "doctrine/inflector" = { | ||
137 | targetDir = ""; | ||
138 | src = composerEnv.buildZipPackage { | ||
139 | name = "doctrine-inflector-90b2128806bfde671b6952ab8bea493942c1fdae"; | ||
140 | src = fetchurl { | ||
141 | url = https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae; | ||
142 | sha256 = "01vmclj3k7xil51jg329fznshh8d07pvm4mr89lvfn1d7fyrq6qw"; | ||
143 | }; | ||
144 | }; | ||
145 | }; | ||
146 | "doctrine/instantiator" = { | ||
147 | targetDir = ""; | ||
148 | src = composerEnv.buildZipPackage { | ||
149 | name = "doctrine-instantiator-8e884e78f9f0eb1329e445619e04456e64d8051d"; | ||
150 | src = fetchurl { | ||
151 | url = https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d; | ||
152 | sha256 = "15dcja45rnwya431pcm826l68k1g8f1fabl7rih69alcdyvdlln4"; | ||
153 | }; | ||
154 | }; | ||
155 | }; | ||
156 | "doctrine/lexer" = { | ||
157 | targetDir = ""; | ||
158 | src = composerEnv.buildZipPackage { | ||
159 | name = "doctrine-lexer-83893c552fd2045dd78aef794c31e694c37c0b8c"; | ||
160 | src = fetchurl { | ||
161 | url = https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c; | ||
162 | sha256 = "0cyh3vwcl163cx1vrcwmhlh5jg9h47xwiqgzc6rwscxw0ppd1v74"; | ||
163 | }; | ||
164 | }; | ||
165 | }; | ||
166 | "doctrine/migrations" = { | ||
167 | targetDir = ""; | ||
168 | src = composerEnv.buildZipPackage { | ||
169 | name = "doctrine-migrations-c81147c0f2938a6566594455367e095150547f72"; | ||
170 | src = fetchurl { | ||
171 | url = https://api.github.com/repos/doctrine/migrations/zipball/c81147c0f2938a6566594455367e095150547f72; | ||
172 | sha256 = "0x8hvxbm3f40sx25nq8zlh1kr936pagghzp89l0gdy5bar7cdzi5"; | ||
173 | }; | ||
174 | }; | ||
175 | }; | ||
176 | "doctrine/orm" = { | ||
177 | targetDir = ""; | ||
178 | src = composerEnv.buildZipPackage { | ||
179 | name = "doctrine-orm-810a7baf81462a5ddf10e8baa8cb94b6eec02754"; | ||
180 | src = fetchurl { | ||
181 | url = https://api.github.com/repos/doctrine/doctrine2/zipball/810a7baf81462a5ddf10e8baa8cb94b6eec02754; | ||
182 | sha256 = "1hmkc7917kgnav9hmlgvlp7qwm3zjj910ci71g9yqwjh6s28wrf1"; | ||
183 | }; | ||
184 | }; | ||
185 | }; | ||
186 | "fig/link-util" = { | ||
187 | targetDir = ""; | ||
188 | src = composerEnv.buildZipPackage { | ||
189 | name = "fig-link-util-1a07821801a148be4add11ab0603e4af55a72fac"; | ||
190 | src = fetchurl { | ||
191 | url = https://api.github.com/repos/php-fig/link-util/zipball/1a07821801a148be4add11ab0603e4af55a72fac; | ||
192 | sha256 = "0ky1pq4a17br5zvcychjghgwr6wpkgp409hdv0ljdk3ks90w5w64"; | ||
193 | }; | ||
194 | }; | ||
195 | }; | ||
196 | "friendsofsymfony/jsrouting-bundle" = { | ||
197 | targetDir = ""; | ||
198 | src = composerEnv.buildZipPackage { | ||
199 | name = "friendsofsymfony-jsrouting-bundle-49c1069132dcef371fb526351569deabeb6f0d8e"; | ||
200 | src = fetchurl { | ||
201 | url = https://api.github.com/repos/FriendsOfSymfony/FOSJsRoutingBundle/zipball/49c1069132dcef371fb526351569deabeb6f0d8e; | ||
202 | sha256 = "0ymmxhxbjnzj8bk3zq55vq0xvsaq82348v321gy2jyi90d19p5j7"; | ||
203 | }; | ||
204 | }; | ||
205 | }; | ||
206 | "gedmo/doctrine-extensions" = { | ||
207 | targetDir = ""; | ||
208 | src = composerEnv.buildZipPackage { | ||
209 | name = "gedmo-doctrine-extensions-1e400fbd05b7e5f912f55fe95805450f7d3bed60"; | ||
210 | src = fetchurl { | ||
211 | url = https://api.github.com/repos/Atlantic18/DoctrineExtensions/zipball/1e400fbd05b7e5f912f55fe95805450f7d3bed60; | ||
212 | sha256 = "0mpdpmar1hxamz2x2iqjickf1msjh67kkfpsblnklxk5izjwzhxx"; | ||
213 | }; | ||
214 | }; | ||
215 | }; | ||
216 | "immae/connexionswing-ckeditor-component" = { | ||
217 | targetDir = ""; | ||
218 | src = fetchgit { | ||
219 | name = "immae-connexionswing-ckeditor-component-3b35bd273a79f6b01fda7a246aed64aca147ea7a"; | ||
220 | url = "https://git.immae.eu/perso/Immae/Projets/packagist/connexionswing-ckeditor-component.git"; | ||
221 | rev = "3b35bd273a79f6b01fda7a246aed64aca147ea7a"; | ||
222 | sha256 = "1w0y6k28ci73n0db9gwvqg7grzvh1z718ys9v1ik8cla7zw83bni"; | ||
223 | }; | ||
224 | }; | ||
225 | "immae/jquery-touchswipe" = { | ||
226 | targetDir = ""; | ||
227 | src = fetchgit { | ||
228 | name = "immae-jquery-touchswipe-3e15949df974d6612d76dc9ee75cd976dbcc2114"; | ||
229 | url = "https://git.immae.eu/perso/Immae/Projets/packagist/jquery-touchswipe.git"; | ||
230 | rev = "3e15949df974d6612d76dc9ee75cd976dbcc2114"; | ||
231 | sha256 = "1pnvki1j3a65cdwwqs0id790ni813lh3r0m7556gdn0hsqa1cc4d"; | ||
232 | }; | ||
233 | }; | ||
234 | "incenteev/composer-parameter-handler" = { | ||
235 | targetDir = ""; | ||
236 | src = composerEnv.buildZipPackage { | ||
237 | name = "incenteev-composer-parameter-handler-933c45a34814f27f2345c11c37d46b3ca7303550"; | ||
238 | src = fetchurl { | ||
239 | url = https://api.github.com/repos/Incenteev/ParameterHandler/zipball/933c45a34814f27f2345c11c37d46b3ca7303550; | ||
240 | sha256 = "1zqdwlcl790kjyz4rkpva35xkfsp8kslds82fzznj0yigkgnbifm"; | ||
241 | }; | ||
242 | }; | ||
243 | }; | ||
244 | "jdorn/sql-formatter" = { | ||
245 | targetDir = ""; | ||
246 | src = composerEnv.buildZipPackage { | ||
247 | name = "jdorn-sql-formatter-64990d96e0959dff8e059dfcdc1af130728d92bc"; | ||
248 | src = fetchurl { | ||
249 | url = https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc; | ||
250 | sha256 = "1dnmkm8mxylvxjwi0bdkzrlklncqx92fa4fwqp5bh2ypj8gaagzi"; | ||
251 | }; | ||
252 | }; | ||
253 | }; | ||
254 | "kriswallsmith/assetic" = { | ||
255 | targetDir = ""; | ||
256 | src = composerEnv.buildZipPackage { | ||
257 | name = "kriswallsmith-assetic-e911c437dbdf006a8f62c2f59b15b2d69a5e0aa1"; | ||
258 | src = fetchurl { | ||
259 | url = https://api.github.com/repos/kriswallsmith/assetic/zipball/e911c437dbdf006a8f62c2f59b15b2d69a5e0aa1; | ||
260 | sha256 = "1dqk4zvx8fgqf8rb81sj9bipl5431jib2b9kcvxyig5fw99irpf8"; | ||
261 | }; | ||
262 | }; | ||
263 | }; | ||
264 | "monolog/monolog" = { | ||
265 | targetDir = ""; | ||
266 | src = composerEnv.buildZipPackage { | ||
267 | name = "monolog-monolog-fd8c787753b3a2ad11bc60c063cff1358a32a3b4"; | ||
268 | src = fetchurl { | ||
269 | url = https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4; | ||
270 | sha256 = "0avf3y8raw23krwdb7kw9qb5bsr5ls4i7qd2vh7hcds3qjixg3h9"; | ||
271 | }; | ||
272 | }; | ||
273 | }; | ||
274 | "ocramius/proxy-manager" = { | ||
275 | targetDir = ""; | ||
276 | src = composerEnv.buildZipPackage { | ||
277 | name = "ocramius-proxy-manager-57e9272ec0e8deccf09421596e0e2252df440e11"; | ||
278 | src = fetchurl { | ||
279 | url = https://api.github.com/repos/Ocramius/ProxyManager/zipball/57e9272ec0e8deccf09421596e0e2252df440e11; | ||
280 | sha256 = "10crhcnhz42b01i6lv6ysgc7awp7yw82p4i2a4sg6bjihw677yps"; | ||
281 | }; | ||
282 | }; | ||
283 | }; | ||
284 | "paragonie/random_compat" = { | ||
285 | targetDir = ""; | ||
286 | src = composerEnv.buildZipPackage { | ||
287 | name = "paragonie-random_compat-258c89a6b97de7dfaf5b8c7607d0478e236b04fb"; | ||
288 | src = fetchurl { | ||
289 | url = https://api.github.com/repos/paragonie/random_compat/zipball/258c89a6b97de7dfaf5b8c7607d0478e236b04fb; | ||
290 | sha256 = "11arrici2mgfj7r847wm423pqrvfj9wn9jcgyxnq4rzyahaxz5l1"; | ||
291 | }; | ||
292 | }; | ||
293 | }; | ||
294 | "psr/cache" = { | ||
295 | targetDir = ""; | ||
296 | src = composerEnv.buildZipPackage { | ||
297 | name = "psr-cache-d11b50ad223250cf17b86e38383413f5a6764bf8"; | ||
298 | src = fetchurl { | ||
299 | url = https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8; | ||
300 | sha256 = "06i2k3dx3b4lgn9a4v1dlgv8l9wcl4kl7vzhh63lbji0q96hv8qz"; | ||
301 | }; | ||
302 | }; | ||
303 | }; | ||
304 | "psr/container" = { | ||
305 | targetDir = ""; | ||
306 | src = composerEnv.buildZipPackage { | ||
307 | name = "psr-container-b7ce3b176482dbbc1245ebf52b181af44c2cf55f"; | ||
308 | src = fetchurl { | ||
309 | url = https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f; | ||
310 | sha256 = "0rkz64vgwb0gfi09klvgay4qnw993l1dc03vyip7d7m2zxi6cy4j"; | ||
311 | }; | ||
312 | }; | ||
313 | }; | ||
314 | "psr/link" = { | ||
315 | targetDir = ""; | ||
316 | src = composerEnv.buildZipPackage { | ||
317 | name = "psr-link-eea8e8662d5cd3ae4517c9b864493f59fca95562"; | ||
318 | src = fetchurl { | ||
319 | url = https://api.github.com/repos/php-fig/link/zipball/eea8e8662d5cd3ae4517c9b864493f59fca95562; | ||
320 | sha256 = "091k4p9irkqnmq9b0p792wz1hb7dm4rafpjilw9im9xhsxgkmr13"; | ||
321 | }; | ||
322 | }; | ||
323 | }; | ||
324 | "psr/log" = { | ||
325 | targetDir = ""; | ||
326 | src = composerEnv.buildZipPackage { | ||
327 | name = "psr-log-4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"; | ||
328 | src = fetchurl { | ||
329 | url = https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d; | ||
330 | sha256 = "1mlcv17fjw39bjpck176ah1z393b6pnbw3jqhhrblj27c70785md"; | ||
331 | }; | ||
332 | }; | ||
333 | }; | ||
334 | "psr/simple-cache" = { | ||
335 | targetDir = ""; | ||
336 | src = composerEnv.buildZipPackage { | ||
337 | name = "psr-simple-cache-408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"; | ||
338 | src = fetchurl { | ||
339 | url = https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b; | ||
340 | sha256 = "1djgzclkamjxi9jy4m9ggfzgq1vqxaga2ip7l3cj88p7rwkzjxgw"; | ||
341 | }; | ||
342 | }; | ||
343 | }; | ||
344 | "ricbra/robots-txt-bundle" = { | ||
345 | targetDir = "Ricbra/Bundle/RobotsTxtBundle"; | ||
346 | src = composerEnv.buildZipPackage { | ||
347 | name = "ricbra-robots-txt-bundle-80d122a708893a762041464890e59a76babd6c22"; | ||
348 | src = fetchurl { | ||
349 | url = https://api.github.com/repos/ricbra/robots-txt-bundle/zipball/80d122a708893a762041464890e59a76babd6c22; | ||
350 | sha256 = "0w3lfzy1ys0bwl3shy4ychldfd711w1p2y13i1az2z2gh731d0ad"; | ||
351 | }; | ||
352 | }; | ||
353 | }; | ||
354 | "robloach/component-installer" = { | ||
355 | targetDir = ""; | ||
356 | src = composerEnv.buildZipPackage { | ||
357 | name = "robloach-component-installer-908a859aa7c4949ba9ad67091e67bac10b66d3d7"; | ||
358 | src = fetchurl { | ||
359 | url = https://api.github.com/repos/RobLoach/component-installer/zipball/908a859aa7c4949ba9ad67091e67bac10b66d3d7; | ||
360 | sha256 = "19y5sv4k338bihzmm8iac6q43r18vxhmbpvrdhz8jn39r51ampq9"; | ||
361 | }; | ||
362 | }; | ||
363 | }; | ||
364 | "sensio/distribution-bundle" = { | ||
365 | targetDir = ""; | ||
366 | src = composerEnv.buildZipPackage { | ||
367 | name = "sensio-distribution-bundle-eb6266b3b472e4002538610b28a0a04bcf94891a"; | ||
368 | src = fetchurl { | ||
369 | url = https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/eb6266b3b472e4002538610b28a0a04bcf94891a; | ||
370 | sha256 = "0wyffqj924lz9cv0vbahyngjw1g850v0p34swygzzgp3cr0ank13"; | ||
371 | }; | ||
372 | }; | ||
373 | }; | ||
374 | "sensio/framework-extra-bundle" = { | ||
375 | targetDir = ""; | ||
376 | src = composerEnv.buildZipPackage { | ||
377 | name = "sensio-framework-extra-bundle-bb907234df776b68922eb4b25bfa061683597b6a"; | ||
378 | src = fetchurl { | ||
379 | url = https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/bb907234df776b68922eb4b25bfa061683597b6a; | ||
380 | sha256 = "011hcljjcfq5qy4a7mlf0hwqxyb58yci40ini0n5rqandcyk2nck"; | ||
381 | }; | ||
382 | }; | ||
383 | }; | ||
384 | "sensiolabs/security-checker" = { | ||
385 | targetDir = ""; | ||
386 | src = composerEnv.buildZipPackage { | ||
387 | name = "sensiolabs-security-checker-dc270d5fec418cc6ac983671dba5d80ffaffb142"; | ||
388 | src = fetchurl { | ||
389 | url = https://api.github.com/repos/sensiolabs/security-checker/zipball/dc270d5fec418cc6ac983671dba5d80ffaffb142; | ||
390 | sha256 = "0fnshyd6f8j91a7y604nh6sqgscjl48mfa0727g2r4hkdfz8hpd1"; | ||
391 | }; | ||
392 | }; | ||
393 | }; | ||
394 | "swiftmailer/swiftmailer" = { | ||
395 | targetDir = ""; | ||
396 | src = composerEnv.buildZipPackage { | ||
397 | name = "swiftmailer-swiftmailer-7ffc1ea296ed14bf8260b6ef11b80208dbadba91"; | ||
398 | src = fetchurl { | ||
399 | url = https://api.github.com/repos/swiftmailer/swiftmailer/zipball/7ffc1ea296ed14bf8260b6ef11b80208dbadba91; | ||
400 | sha256 = "1vl5pzgvr2yfrj1yfs02mi917b0gr56v76ibi40r51a3346zhp6v"; | ||
401 | }; | ||
402 | }; | ||
403 | }; | ||
404 | "symfony/assetic-bundle" = { | ||
405 | targetDir = ""; | ||
406 | src = composerEnv.buildZipPackage { | ||
407 | name = "symfony-assetic-bundle-2e0a23a4874838e26de6f025e02fc63328921a4c"; | ||
408 | src = fetchurl { | ||
409 | url = https://api.github.com/repos/symfony/assetic-bundle/zipball/2e0a23a4874838e26de6f025e02fc63328921a4c; | ||
410 | sha256 = "17rxrkyzxa6x5nn7qhhhdgx4z0nlznnq5fifza4wv9znca8bbwyc"; | ||
411 | }; | ||
412 | }; | ||
413 | }; | ||
414 | "symfony/monolog-bundle" = { | ||
415 | targetDir = ""; | ||
416 | src = composerEnv.buildZipPackage { | ||
417 | name = "symfony-monolog-bundle-8781649349fe418d51d194f8c9d212c0b97c40dd"; | ||
418 | src = fetchurl { | ||
419 | url = https://api.github.com/repos/symfony/monolog-bundle/zipball/8781649349fe418d51d194f8c9d212c0b97c40dd; | ||
420 | sha256 = "0wcqhg1vfdj3mxacr3fxpgqwy1rk9znjg9bmzx4jymk8l16i7bq8"; | ||
421 | }; | ||
422 | }; | ||
423 | }; | ||
424 | "symfony/polyfill-apcu" = { | ||
425 | targetDir = ""; | ||
426 | src = composerEnv.buildZipPackage { | ||
427 | name = "symfony-polyfill-apcu-9b83bd010112ec196410849e840d9b9fefcb15ad"; | ||
428 | src = fetchurl { | ||
429 | url = https://api.github.com/repos/symfony/polyfill-apcu/zipball/9b83bd010112ec196410849e840d9b9fefcb15ad; | ||
430 | sha256 = "0iiiqbn0bs0zqc95nz8l1qa5ysy0iifx4f27r9wnhzsh6f1h02mv"; | ||
431 | }; | ||
432 | }; | ||
433 | }; | ||
434 | "symfony/polyfill-intl-icu" = { | ||
435 | targetDir = ""; | ||
436 | src = composerEnv.buildZipPackage { | ||
437 | name = "symfony-polyfill-intl-icu-80ee17ae83c10cd513e5144f91a73607a21edb4e"; | ||
438 | src = fetchurl { | ||
439 | url = https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/80ee17ae83c10cd513e5144f91a73607a21edb4e; | ||
440 | sha256 = "1hck9bn8zfb1pmx2yccf4w5dd9rbmvwii7hncin6px6nasi6wzvv"; | ||
441 | }; | ||
442 | }; | ||
443 | }; | ||
444 | "symfony/polyfill-mbstring" = { | ||
445 | targetDir = ""; | ||
446 | src = composerEnv.buildZipPackage { | ||
447 | name = "symfony-polyfill-mbstring-3296adf6a6454a050679cde90f95350ad604b171"; | ||
448 | src = fetchurl { | ||
449 | url = https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171; | ||
450 | sha256 = "02wyx9fjx9lyc5q5d3bnn8aw9xag8im2wqanmbkljwd5vmx9k9b2"; | ||
451 | }; | ||
452 | }; | ||
453 | }; | ||
454 | "symfony/polyfill-php56" = { | ||
455 | targetDir = ""; | ||
456 | src = composerEnv.buildZipPackage { | ||
457 | name = "symfony-polyfill-php56-af98553c84912459db3f636329567809d639a8f6"; | ||
458 | src = fetchurl { | ||
459 | url = https://api.github.com/repos/symfony/polyfill-php56/zipball/af98553c84912459db3f636329567809d639a8f6; | ||
460 | sha256 = "1l1ydsd7cq3s97cpgl4fw1qxc2wmv27yfxa3q8ng9p66ypzvkw42"; | ||
461 | }; | ||
462 | }; | ||
463 | }; | ||
464 | "symfony/polyfill-php70" = { | ||
465 | targetDir = ""; | ||
466 | src = composerEnv.buildZipPackage { | ||
467 | name = "symfony-polyfill-php70-77454693d8f10dd23bb24955cffd2d82db1007a6"; | ||
468 | src = fetchurl { | ||
469 | url = https://api.github.com/repos/symfony/polyfill-php70/zipball/77454693d8f10dd23bb24955cffd2d82db1007a6; | ||
470 | sha256 = "146d620ca725iqdh7j0dqb99h20d4vs641c9vjy9x4jws3rgj905"; | ||
471 | }; | ||
472 | }; | ||
473 | }; | ||
474 | "symfony/polyfill-util" = { | ||
475 | targetDir = ""; | ||
476 | src = composerEnv.buildZipPackage { | ||
477 | name = "symfony-polyfill-util-1a5ad95d9436cbff3296034fe9f8d586dce3fb3a"; | ||
478 | src = fetchurl { | ||
479 | url = https://api.github.com/repos/symfony/polyfill-util/zipball/1a5ad95d9436cbff3296034fe9f8d586dce3fb3a; | ||
480 | sha256 = "0l7w4dlr7y3qijpaiq7hfhbhv1qqz9jjknr1n6k4vrss2a8d1sxk"; | ||
481 | }; | ||
482 | }; | ||
483 | }; | ||
484 | "symfony/swiftmailer-bundle" = { | ||
485 | targetDir = ""; | ||
486 | src = composerEnv.buildZipPackage { | ||
487 | name = "symfony-swiftmailer-bundle-c4808f5169efc05567be983909d00f00521c53ec"; | ||
488 | src = fetchurl { | ||
489 | url = https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/c4808f5169efc05567be983909d00f00521c53ec; | ||
490 | sha256 = "0jmd3slhb3gf3c3krmk2a9fi4ixdxvqlimdkfpj0sfaaq0115y01"; | ||
491 | }; | ||
492 | }; | ||
493 | }; | ||
494 | "symfony/symfony" = { | ||
495 | targetDir = ""; | ||
496 | src = composerEnv.buildZipPackage { | ||
497 | name = "symfony-symfony-4babd75194d45f7a4412560038924f3008c67ef2"; | ||
498 | src = fetchurl { | ||
499 | url = https://api.github.com/repos/symfony/symfony/zipball/4babd75194d45f7a4412560038924f3008c67ef2; | ||
500 | sha256 = "1347qp994yg6k91v5gwdwnn202bz92m0pj4090b59z5nqxh7463d"; | ||
501 | }; | ||
502 | }; | ||
503 | }; | ||
504 | "twig/extensions" = { | ||
505 | targetDir = ""; | ||
506 | src = composerEnv.buildZipPackage { | ||
507 | name = "twig-extensions-d188c76168b853481cc75879ea045bf93d718e9c"; | ||
508 | src = fetchurl { | ||
509 | url = https://api.github.com/repos/twigphp/Twig-extensions/zipball/d188c76168b853481cc75879ea045bf93d718e9c; | ||
510 | sha256 = "0d6wywys5fqzi3m8g8h3sb5phl5y3a7vfc95n214mqp0iwrcmzwm"; | ||
511 | }; | ||
512 | }; | ||
513 | }; | ||
514 | "twig/twig" = { | ||
515 | targetDir = ""; | ||
516 | src = composerEnv.buildZipPackage { | ||
517 | name = "twig-twig-b48680b6eb7d16b5025b9bfc4108d86f6b8af86f"; | ||
518 | src = fetchurl { | ||
519 | url = https://api.github.com/repos/twigphp/Twig/zipball/b48680b6eb7d16b5025b9bfc4108d86f6b8af86f; | ||
520 | sha256 = "1q82f246wq7whl11lx00n0skwmllppvpzg20x6q4frmw44dc6v9a"; | ||
521 | }; | ||
522 | }; | ||
523 | }; | ||
524 | "willdurand/jsonp-callback-validator" = { | ||
525 | targetDir = ""; | ||
526 | src = composerEnv.buildZipPackage { | ||
527 | name = "willdurand-jsonp-callback-validator-1a7d388bb521959e612ef50c5c7b1691b097e909"; | ||
528 | src = fetchurl { | ||
529 | url = https://api.github.com/repos/willdurand/JsonpCallbackValidator/zipball/1a7d388bb521959e612ef50c5c7b1691b097e909; | ||
530 | sha256 = "19ds8f3nbss4b2xvqkcjkcvz0l4c5nhrm8w8yxc8a508r0jmd9in"; | ||
531 | }; | ||
532 | }; | ||
533 | }; | ||
534 | "zendframework/zend-code" = { | ||
535 | targetDir = ""; | ||
536 | src = composerEnv.buildZipPackage { | ||
537 | name = "zendframework-zend-code-95033f061b083e16cdee60530ec260d7d628b887"; | ||
538 | src = fetchurl { | ||
539 | url = https://api.github.com/repos/zendframework/zend-code/zipball/95033f061b083e16cdee60530ec260d7d628b887; | ||
540 | sha256 = "0h77qf267l2sp9wg3n61dpgpf6wh6p5jssy8mrg7vlns2j03f9f5"; | ||
541 | }; | ||
542 | }; | ||
543 | }; | ||
544 | "zendframework/zend-eventmanager" = { | ||
545 | targetDir = ""; | ||
546 | src = composerEnv.buildZipPackage { | ||
547 | name = "zendframework-zend-eventmanager-a5e2583a211f73604691586b8406ff7296a946dd"; | ||
548 | src = fetchurl { | ||
549 | url = https://api.github.com/repos/zendframework/zend-eventmanager/zipball/a5e2583a211f73604691586b8406ff7296a946dd; | ||
550 | sha256 = "08a05gn40hfdy2zhz4gcd3r6q7m7zcaks5kpvb9dx1awgx0pzr8n"; | ||
551 | }; | ||
552 | }; | ||
553 | }; | ||
554 | }; | ||
555 | devPackages = { | ||
556 | "doctrine/data-fixtures" = { | ||
557 | targetDir = ""; | ||
558 | src = composerEnv.buildZipPackage { | ||
559 | name = "doctrine-data-fixtures-17fa5bfe6ff52e35cb3d9ec37c934a2f4bd1fa2e"; | ||
560 | src = fetchurl { | ||
561 | url = https://api.github.com/repos/doctrine/data-fixtures/zipball/17fa5bfe6ff52e35cb3d9ec37c934a2f4bd1fa2e; | ||
562 | sha256 = "15k7vl58kwh02g0a93rab82ifbgmc91srgminzlkjq5kx8agh7ab"; | ||
563 | }; | ||
564 | }; | ||
565 | }; | ||
566 | "doctrine/doctrine-fixtures-bundle" = { | ||
567 | targetDir = ""; | ||
568 | src = composerEnv.buildZipPackage { | ||
569 | name = "doctrine-doctrine-fixtures-bundle-74b8cc70a4a25b774628ee59f4cdf3623a146273"; | ||
570 | src = fetchurl { | ||
571 | url = https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/74b8cc70a4a25b774628ee59f4cdf3623a146273; | ||
572 | sha256 = "1bbflq8k6izwqgp9ka2gyb5y96a80b4lnlc5wrgc5gnih7hqidlf"; | ||
573 | }; | ||
574 | }; | ||
575 | }; | ||
576 | "sensio/generator-bundle" = { | ||
577 | targetDir = ""; | ||
578 | src = composerEnv.buildZipPackage { | ||
579 | name = "sensio-generator-bundle-28cbaa244bd0816fd8908b93f90380bcd7b67a65"; | ||
580 | src = fetchurl { | ||
581 | url = https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/28cbaa244bd0816fd8908b93f90380bcd7b67a65; | ||
582 | sha256 = "1j09y037xk843q8gcyfmwgy6dmn0h67pd5jnsvhj08h92ssbl0c3"; | ||
583 | }; | ||
584 | }; | ||
585 | }; | ||
586 | "symfony/phpunit-bridge" = { | ||
587 | targetDir = ""; | ||
588 | src = composerEnv.buildZipPackage { | ||
589 | name = "symfony-phpunit-bridge-7470518370113785f67a7fd8e6e1667661e88805"; | ||
590 | src = fetchurl { | ||
591 | url = https://api.github.com/repos/symfony/phpunit-bridge/zipball/7470518370113785f67a7fd8e6e1667661e88805; | ||
592 | sha256 = "0jd28ag0wks9sv62rkwsbx68csvdl5gabbz2h01hkqpa23gdkhs9"; | ||
593 | }; | ||
594 | }; | ||
595 | }; | ||
596 | }; | ||
597 | } | ||
diff --git a/virtual/modules/websites/default.nix b/virtual/modules/websites/default.nix deleted file mode 100644 index 4d5ae23..0000000 --- a/virtual/modules/websites/default.nix +++ /dev/null | |||
@@ -1,311 +0,0 @@ | |||
1 | { lib, pkgs, config, mylibs, myconfig, ... }: | ||
2 | let | ||
3 | cfg = config.services.myWebsites; | ||
4 | makeService = name: cfg: let | ||
5 | toVhost = vhostConf: { | ||
6 | enableSSL = true; | ||
7 | sslServerCert = "/var/lib/acme/${vhostConf.certName}/cert.pem"; | ||
8 | sslServerKey = "/var/lib/acme/${vhostConf.certName}/key.pem"; | ||
9 | sslServerChain = "/var/lib/acme/${vhostConf.certName}/fullchain.pem"; | ||
10 | logFormat = "combinedVhost"; | ||
11 | listen = [ | ||
12 | { ip = cfg.ip; port = 443; } | ||
13 | ]; | ||
14 | hostName = builtins.head vhostConf.hosts; | ||
15 | serverAliases = builtins.tail vhostConf.hosts or []; | ||
16 | documentRoot = vhostConf.root; | ||
17 | extraConfig = builtins.concatStringsSep "\n" vhostConf.extraConfig; | ||
18 | }; | ||
19 | redirectVhost = { # Should go last, catchall http -> https redirect | ||
20 | listen = [ { ip = cfg.ip; port = 80; } ]; | ||
21 | hostName = "redirectSSL"; | ||
22 | serverAliases = [ "*" ]; | ||
23 | enableSSL = false; | ||
24 | logFormat = "combinedVhost"; | ||
25 | documentRoot = "/var/lib/acme/acme-challenge"; | ||
26 | extraConfig = '' | ||
27 | RewriteEngine on | ||
28 | RewriteCond "%{REQUEST_URI}" "!^/\.well-known" | ||
29 | RewriteRule ^(.+) https://%{HTTP_HOST}$1 [R=301] | ||
30 | # To redirect in specific "VirtualHost *:80", do | ||
31 | # RedirectMatch 301 ^/((?!\.well-known.*$).*)$ https://host/$1 | ||
32 | # rather than rewrite | ||
33 | ''; | ||
34 | }; | ||
35 | fallbackVhost = toVhost { # Should go first, default choice | ||
36 | certName = "eldiron"; | ||
37 | hosts = ["eldiron.immae.eu" ]; | ||
38 | root = ../../www; | ||
39 | extraConfig = [ "DirectoryIndex index.htm" ]; | ||
40 | }; | ||
41 | in rec { | ||
42 | enable = true; | ||
43 | listen = [ | ||
44 | { ip = cfg.ip; port = 443; } | ||
45 | ]; | ||
46 | stateDir = "/run/httpd_${name}"; | ||
47 | logPerVirtualHost = true; | ||
48 | multiProcessingModule = "worker"; | ||
49 | adminAddr = "httpd@immae.eu"; | ||
50 | logFormat = "combinedVhost"; | ||
51 | extraModules = pkgs.lib.lists.unique (pkgs.lib.lists.flatten cfg.modules); | ||
52 | extraConfig = builtins.concatStringsSep "\n" cfg.extraConfig; | ||
53 | virtualHosts = [ fallbackVhost ] | ||
54 | ++ (pkgs.lib.attrsets.mapAttrsToList (n: v: toVhost v) cfg.vhostConfs) | ||
55 | ++ [ redirectVhost ]; | ||
56 | }; | ||
57 | makeServiceOptions = name: ip: { | ||
58 | enable = lib.mkEnableOption "enable websites in ${name}"; | ||
59 | ip = lib.mkOption { | ||
60 | type = lib.types.string; | ||
61 | default = ip; | ||
62 | description = "${name} ip to listen to"; | ||
63 | }; | ||
64 | modules = lib.mkOption { | ||
65 | type = lib.types.listOf (lib.types.str); | ||
66 | default = []; | ||
67 | }; | ||
68 | extraConfig = lib.mkOption { | ||
69 | type = lib.types.listOf (lib.types.lines); | ||
70 | default = []; | ||
71 | }; | ||
72 | vhostConfs = lib.mkOption { | ||
73 | type = lib.types.attrsOf (lib.types.submodule { | ||
74 | options = { | ||
75 | certName = lib.mkOption { type = lib.types.string; }; | ||
76 | hosts = lib.mkOption { type = lib.types.listOf lib.types.string; }; | ||
77 | root = lib.mkOption { type = lib.types.nullOr lib.types.path; }; | ||
78 | extraConfig = lib.mkOption { type = lib.types.listOf lib.types.lines; default = []; }; | ||
79 | }; | ||
80 | }); | ||
81 | }; | ||
82 | }; | ||
83 | makeModules = cfg: pkgs.lib.lists.flatten (pkgs.lib.attrsets.mapAttrsToList (n: v: v.modules or []) cfg.apacheConfig); | ||
84 | makeExtraConfig = cfg: (builtins.filter (x: x != null) (pkgs.lib.attrsets.mapAttrsToList (n: v: v.extraConfig or null) cfg.apacheConfig)); | ||
85 | in | ||
86 | { | ||
87 | imports = [ | ||
88 | ./chloe | ||
89 | ./ludivine | ||
90 | ./aten | ||
91 | ./piedsjaloux | ||
92 | ./connexionswing | ||
93 | ./tellesflorian | ||
94 | ./tools/db | ||
95 | ./tools/tools | ||
96 | ./tools/dav | ||
97 | ./tools/cloud | ||
98 | ./tools/git | ||
99 | ./tools/mastodon | ||
100 | ./tools/mediagoblin | ||
101 | ./tools/diaspora | ||
102 | ./tools/ether | ||
103 | # built using: | ||
104 | # sed -e "s/services\.httpd/services\.httpdProd/g" .nix-defexpr/channels/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix | ||
105 | # Removed allGranted | ||
106 | # And removed users / groups | ||
107 | ./apache/httpd_prod.nix | ||
108 | ./apache/httpd_inte.nix | ||
109 | # except for this one for users/groups | ||
110 | ./apache/httpd_tools.nix | ||
111 | # Adapted from base phpfpm | ||
112 | ./phpfpm | ||
113 | ]; | ||
114 | |||
115 | options.services.myWebsites = { | ||
116 | production = makeServiceOptions "production" myconfig.ips.production; | ||
117 | integration = makeServiceOptions "integration" myconfig.ips.integration; | ||
118 | tools = makeServiceOptions "tools" myconfig.ips.main; | ||
119 | |||
120 | apacheConfig = lib.mkOption { | ||
121 | type = lib.types.attrsOf (lib.types.submodule { | ||
122 | options = { | ||
123 | modules = lib.mkOption { | ||
124 | type = lib.types.listOf (lib.types.str); | ||
125 | default = []; | ||
126 | }; | ||
127 | extraConfig = lib.mkOption { | ||
128 | type = lib.types.nullOr lib.types.lines; | ||
129 | default = null; | ||
130 | }; | ||
131 | }; | ||
132 | }); | ||
133 | default = {}; | ||
134 | description = "Extra global config"; | ||
135 | }; | ||
136 | |||
137 | }; | ||
138 | |||
139 | config = { | ||
140 | networking = { | ||
141 | firewall = { | ||
142 | enable = true; | ||
143 | allowedTCPPorts = [ 80 443 ]; | ||
144 | }; | ||
145 | interfaces."eth0".ipv4.addresses = [ | ||
146 | # 176.9.151.89 declared in nixops -> infra / tools | ||
147 | { address = myconfig.ips.production; prefixLength = 32; } | ||
148 | { address = myconfig.ips.integration; prefixLength = 32; } | ||
149 | ]; | ||
150 | }; | ||
151 | |||
152 | nixpkgs.config.packageOverrides = oldpkgs: rec { | ||
153 | php = php72; | ||
154 | php72 = (oldpkgs.php72.override { | ||
155 | mysql.connector-c = pkgs.mariadb; | ||
156 | config.php.mysqlnd = false; | ||
157 | config.php.mysqli = false; | ||
158 | }).overrideAttrs(old: rec { | ||
159 | # Didn't manage to build with mysqli + mysql_config connector | ||
160 | configureFlags = old.configureFlags ++ [ | ||
161 | "--with-mysqli=shared,mysqlnd" | ||
162 | ]; | ||
163 | # preConfigure = (old.preConfigure or "") + '' | ||
164 | # export CPPFLAGS="$CPPFLAGS -I${pkgs.mariadb}/include/mysql/server"; | ||
165 | # sed -i -e 's/#include "mysqli_priv.h"/#include "mysqli_priv.h"\n#include <mysql_version.h>/' \ | ||
166 | # ext/mysqli/mysqli.c ext/mysqli/mysqli_prop.c | ||
167 | # ''; | ||
168 | }); | ||
169 | phpPackages = oldpkgs.php72Packages.override { inherit php; }; | ||
170 | composerEnv = import ./commons/composer-env.nix { | ||
171 | inherit (pkgs) stdenv writeTextFile fetchurl php unzip; | ||
172 | }; | ||
173 | }; | ||
174 | |||
175 | services.myWebsites.tools.databases.enable = true; | ||
176 | services.myWebsites.tools.tools.enable = true; | ||
177 | services.myWebsites.tools.dav.enable = true; | ||
178 | services.myWebsites.tools.cloud.enable = true; | ||
179 | services.myWebsites.tools.git.enable = true; | ||
180 | services.myWebsites.tools.mastodon.enable = true; | ||
181 | services.myWebsites.tools.mediagoblin.enable = true; | ||
182 | services.myWebsites.tools.diaspora.enable = true; | ||
183 | services.myWebsites.tools.etherpad-lite.enable = true; | ||
184 | |||
185 | services.myWebsites.Chloe.production.enable = cfg.production.enable; | ||
186 | services.myWebsites.Ludivine.production.enable = cfg.production.enable; | ||
187 | services.myWebsites.Aten.production.enable = cfg.production.enable; | ||
188 | services.myWebsites.PiedsJaloux.production.enable = cfg.production.enable; | ||
189 | services.myWebsites.Connexionswing.production.enable = cfg.production.enable; | ||
190 | |||
191 | services.myWebsites.Chloe.integration.enable = cfg.integration.enable; | ||
192 | services.myWebsites.Ludivine.integration.enable = cfg.integration.enable; | ||
193 | services.myWebsites.Aten.integration.enable = cfg.integration.enable; | ||
194 | services.myWebsites.PiedsJaloux.integration.enable = cfg.integration.enable; | ||
195 | services.myWebsites.Connexionswing.integration.enable = cfg.integration.enable; | ||
196 | services.myWebsites.TellesFlorian.integration.enable = true; | ||
197 | |||
198 | services.myWebsites.apacheConfig = { | ||
199 | gzip = { | ||
200 | modules = [ "deflate" "filter" ]; | ||
201 | extraConfig = '' | ||
202 | AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript | ||
203 | ''; | ||
204 | }; | ||
205 | macros = { | ||
206 | modules = [ "macro" ]; | ||
207 | }; | ||
208 | ldap = { | ||
209 | modules = [ "ldap" "authnz_ldap" ]; | ||
210 | extraConfig = '' | ||
211 | <IfModule ldap_module> | ||
212 | LDAPSharedCacheSize 500000 | ||
213 | LDAPCacheEntries 1024 | ||
214 | LDAPCacheTTL 600 | ||
215 | LDAPOpCacheEntries 1024 | ||
216 | LDAPOpCacheTTL 600 | ||
217 | </IfModule> | ||
218 | |||
219 | <Macro LDAPConnect> | ||
220 | <IfModule authnz_ldap_module> | ||
221 | AuthLDAPURL ldap://ldap.immae.eu:389/dc=immae,dc=eu STARTTLS | ||
222 | AuthLDAPBindDN cn=httpd,ou=services,dc=immae,dc=eu | ||
223 | AuthLDAPBindPassword "${myconfig.env.httpd.ldap.password}" | ||
224 | AuthType Basic | ||
225 | AuthName "Authentification requise (Acces LDAP)" | ||
226 | AuthBasicProvider ldap | ||
227 | </IfModule> | ||
228 | </Macro> | ||
229 | |||
230 | <Macro Stats %{domain}> | ||
231 | Alias /awstats /var/lib/goaccess/%{domain} | ||
232 | <Directory /var/lib/goaccess/%{domain}> | ||
233 | DirectoryIndex index.html | ||
234 | AllowOverride None | ||
235 | Require all granted | ||
236 | </Directory> | ||
237 | <Location /awstats> | ||
238 | Use LDAPConnect | ||
239 | Require ldap-group cn=%{domain},ou=stats,cn=httpd,ou=services,dc=immae,dc=eu | ||
240 | </Location> | ||
241 | </Macro> | ||
242 | |||
243 | ErrorDocument 500 /maintenance_immae.html | ||
244 | ErrorDocument 501 /maintenance_immae.html | ||
245 | ErrorDocument 502 /maintenance_immae.html | ||
246 | ErrorDocument 503 /maintenance_immae.html | ||
247 | ErrorDocument 504 /maintenance_immae.html | ||
248 | Alias /maintenance_immae.html ${../../www}/maintenance_immae.html | ||
249 | ProxyPass /maintenance_immae.html ! | ||
250 | |||
251 | AliasMatch "(.*)/googleb6d69446ff4ca3e5.html" ${../../www}/googleb6d69446ff4ca3e5.html | ||
252 | ''; | ||
253 | }; | ||
254 | http2 = { | ||
255 | modules = [ "http2" ]; | ||
256 | extraConfig = '' | ||
257 | Protocols h2 http/1.1 | ||
258 | ''; | ||
259 | }; | ||
260 | customLog = { | ||
261 | extraConfig = '' | ||
262 | LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedVhost | ||
263 | ''; | ||
264 | }; | ||
265 | }; | ||
266 | |||
267 | system.activationScripts = { | ||
268 | httpd = '' | ||
269 | install -d -m 0755 /var/lib/acme/acme-challenge | ||
270 | install -d -m 0750 -o wwwrun -g wwwrun /var/lib/php/sessions | ||
271 | install -d -m 0750 -o wwwrun -g wwwrun /var/lib/php/sessions/adminer | ||
272 | install -d -m 0750 -o wwwrun -g wwwrun /var/lib/php/sessions/mantisbt | ||
273 | install -d -m 0750 -o wwwrun -g wwwrun /var/lib/php/sessions/davical | ||
274 | ''; | ||
275 | }; | ||
276 | |||
277 | services.myPhpfpm = { | ||
278 | phpPackage = pkgs.php; | ||
279 | phpOptions = '' | ||
280 | session.save_path = "/var/lib/php/sessions" | ||
281 | session.gc_maxlifetime = 60*60*24*15 | ||
282 | session.cache_expire = 60*24*30 | ||
283 | ''; | ||
284 | extraConfig = '' | ||
285 | log_level = notice | ||
286 | ''; | ||
287 | }; | ||
288 | |||
289 | services.httpdProd = makeService "production" config.services.myWebsites.production; | ||
290 | services.myWebsites.production.modules = makeModules cfg; | ||
291 | services.myWebsites.production.extraConfig = makeExtraConfig cfg; | ||
292 | |||
293 | services.httpdInte = makeService "integration" config.services.myWebsites.integration; | ||
294 | services.myWebsites.integration.modules = makeModules cfg; | ||
295 | services.myWebsites.integration.extraConfig = makeExtraConfig cfg; | ||
296 | |||
297 | services.httpdTools = makeService "tools" config.services.myWebsites.tools; | ||
298 | services.myWebsites.tools.modules = makeModules cfg; | ||
299 | services.myWebsites.tools.extraConfig = makeExtraConfig cfg ++ | ||
300 | [ '' | ||
301 | RedirectMatch ^/licen[cs]es?_et_tip(ping)?$ https://www.immae.eu/licences_et_tip.html | ||
302 | RedirectMatch ^/licen[cs]es?_and_tip(ping)?$ https://www.immae.eu/licenses_and_tipping.html | ||
303 | RedirectMatch ^/licen[cs]es?$ https://www.immae.eu/licenses_and_tipping.html | ||
304 | RedirectMatch ^/tip(ping)?$ https://www.immae.eu/licenses_and_tipping.html | ||
305 | RedirectMatch ^/(mentions|mentions_legales|legal)$ https://www.immae.eu/mentions.html | ||
306 | RedirectMatch ^/CGU$ https://www.immae.eu/CGU | ||
307 | '' | ||
308 | ] | ||
309 | ; | ||
310 | }; | ||
311 | } | ||
diff --git a/virtual/modules/websites/ludivine/default.nix b/virtual/modules/websites/ludivine/default.nix deleted file mode 100644 index d13d700..0000000 --- a/virtual/modules/websites/ludivine/default.nix +++ /dev/null | |||
@@ -1,64 +0,0 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | ||
2 | let | ||
3 | ludivinecassal = pkgs.callPackage ./ludivinecassal.nix { inherit (mylibs) fetchedGitPrivate; }; | ||
4 | ludivinecassal_dev = ludivinecassal { | ||
5 | config = myconfig.env.websites.ludivinecassal.integration; | ||
6 | }; | ||
7 | ludivinecassal_prod = ludivinecassal { | ||
8 | config = myconfig.env.websites.ludivinecassal.production; | ||
9 | }; | ||
10 | |||
11 | cfg = config.services.myWebsites.Ludivine; | ||
12 | in { | ||
13 | options.services.myWebsites.Ludivine = { | ||
14 | production = { | ||
15 | enable = lib.mkEnableOption "enable Ludivine's website in production"; | ||
16 | }; | ||
17 | integration = { | ||
18 | enable = lib.mkEnableOption "enable Ludivine's website in integration"; | ||
19 | }; | ||
20 | }; | ||
21 | |||
22 | config = lib.mkMerge [ | ||
23 | (lib.mkIf cfg.production.enable { | ||
24 | services.myWebsites.commons.stats.enable = true; | ||
25 | services.myWebsites.commons.stats.sites = [ | ||
26 | { | ||
27 | name = "ludivinecassal.com"; | ||
28 | conf = ./goaccess.conf; | ||
29 | } | ||
30 | ]; | ||
31 | |||
32 | security.acme.certs."ludivinecassal" = config.services.myCertificates.certConfig // { | ||
33 | domain = "ludivinecassal.com"; | ||
34 | extraDomains = { | ||
35 | "www.ludivinecassal.com" = null; | ||
36 | }; | ||
37 | }; | ||
38 | |||
39 | services.myPhpfpm.poolConfigs.ludivinecassal_prod = ludivinecassal_prod.phpFpm.pool; | ||
40 | system.activationScripts.ludivinecassal_prod = ludivinecassal_prod.activationScript; | ||
41 | services.myWebsites.production.modules = ludivinecassal_prod.apache.modules; | ||
42 | services.myWebsites.production.vhostConfs.ludivine = { | ||
43 | certName = "ludivinecassal"; | ||
44 | hosts = ["ludivinecassal.com" "www.ludivinecassal.com" ]; | ||
45 | root = ludivinecassal_prod.webRoot; | ||
46 | extraConfig = [ ludivinecassal_prod.apache.vhostConf ]; | ||
47 | }; | ||
48 | }) | ||
49 | (lib.mkIf cfg.integration.enable { | ||
50 | security.acme.certs."eldiron".extraDomains."ludivine.immae.eu" = null; | ||
51 | |||
52 | services.myPhpfpm.poolConfigs.ludivinecassal_dev = ludivinecassal_dev.phpFpm.pool; | ||
53 | system.activationScripts.ludivinecassal_dev = ludivinecassal_dev.activationScript; | ||
54 | services.myWebsites.apacheConfig.ludivinecassal_dev.modules = ludivinecassal_dev.apache.modules; | ||
55 | services.myWebsites.integration.modules = ludivinecassal_dev.apache.modules; | ||
56 | services.myWebsites.integration.vhostConfs.ludivine = { | ||
57 | certName = "eldiron"; | ||
58 | hosts = [ "ludivine.immae.eu" ]; | ||
59 | root = ludivinecassal_dev.webRoot; | ||
60 | extraConfig = [ ludivinecassal_dev.apache.vhostConf ]; | ||
61 | }; | ||
62 | }) | ||
63 | ]; | ||
64 | } | ||
diff --git a/virtual/modules/websites/ludivine/goaccess.conf b/virtual/modules/websites/ludivine/goaccess.conf deleted file mode 100644 index 25e5f63..0000000 --- a/virtual/modules/websites/ludivine/goaccess.conf +++ /dev/null | |||
@@ -1,99 +0,0 @@ | |||
1 | time-format %H:%M:%S | ||
2 | date-format %d/%b/%Y | ||
3 | |||
4 | #sur immae.eu | ||
5 | #log-format %v %h %^[%d:%t %^] "%r" %s %b "%R" "%u" $^ | ||
6 | |||
7 | log-format VCOMBINED | ||
8 | #= %v:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u" | ||
9 | |||
10 | html-prefs {"theme":"bright","layout":"vertical"} | ||
11 | |||
12 | exclude-ip 188.165.209.148 | ||
13 | exclude-ip 178.33.252.96 | ||
14 | exclude-ip 2001:41d0:2:9c94::1 | ||
15 | exclude-ip 2001:41d0:2:9c94:: | ||
16 | exclude-ip 176.9.151.89 | ||
17 | exclude-ip 2a01:4f8:160:3445:: | ||
18 | exclude-ip 82.255.56.72 | ||
19 | |||
20 | no-query-string true | ||
21 | |||
22 | keep-db-files true | ||
23 | load-from-disk true | ||
24 | db-path /var/lib/goaccess/ludivinecassal.com | ||
25 | |||
26 | ignore-panel REFERRERS | ||
27 | ignore-panel KEYPHRASES | ||
28 | |||
29 | static-file .css | ||
30 | static-file .js | ||
31 | static-file .jpg | ||
32 | static-file .png | ||
33 | static-file .gif | ||
34 | static-file .ico | ||
35 | static-file .jpeg | ||
36 | static-file .pdf | ||
37 | static-file .csv | ||
38 | static-file .mpeg | ||
39 | static-file .mpg | ||
40 | static-file .swf | ||
41 | static-file .woff | ||
42 | static-file .woff2 | ||
43 | static-file .xls | ||
44 | static-file .xlsx | ||
45 | static-file .doc | ||
46 | static-file .docx | ||
47 | static-file .ppt | ||
48 | static-file .pptx | ||
49 | static-file .txt | ||
50 | static-file .zip | ||
51 | static-file .ogg | ||
52 | static-file .mp3 | ||
53 | static-file .mp4 | ||
54 | static-file .exe | ||
55 | static-file .iso | ||
56 | static-file .gz | ||
57 | static-file .rar | ||
58 | static-file .svg | ||
59 | static-file .bmp | ||
60 | static-file .tar | ||
61 | static-file .tgz | ||
62 | static-file .tiff | ||
63 | static-file .tif | ||
64 | static-file .ttf | ||
65 | static-file .flv | ||
66 | #static-file .less | ||
67 | #static-file .ac3 | ||
68 | #static-file .avi | ||
69 | #static-file .bz2 | ||
70 | #static-file .class | ||
71 | #static-file .cue | ||
72 | #static-file .dae | ||
73 | #static-file .dat | ||
74 | #static-file .dts | ||
75 | #static-file .ejs | ||
76 | #static-file .eot | ||
77 | #static-file .eps | ||
78 | #static-file .img | ||
79 | #static-file .jar | ||
80 | #static-file .map | ||
81 | #static-file .mid | ||
82 | #static-file .midi | ||
83 | #static-file .ogv | ||
84 | #static-file .webm | ||
85 | #static-file .mkv | ||
86 | #static-file .odp | ||
87 | #static-file .ods | ||
88 | #static-file .odt | ||
89 | #static-file .otf | ||
90 | #static-file .pict | ||
91 | #static-file .pls | ||
92 | #static-file .ps | ||
93 | #static-file .qt | ||
94 | #static-file .rm | ||
95 | #static-file .svgz | ||
96 | #static-file .wav | ||
97 | #static-file .webp | ||
98 | |||
99 | |||
diff --git a/virtual/modules/websites/ludivine/ludivinecassal.json b/virtual/modules/websites/ludivine/ludivinecassal.json deleted file mode 100644 index f39b143..0000000 --- a/virtual/modules/websites/ludivine/ludivinecassal.json +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | { | ||
2 | "tag": "0dacc32-master", | ||
3 | "meta": { | ||
4 | "name": "ludivinecassal", | ||
5 | "url": "gitolite@git.immae.eu:perso/Immae/Sites/Ludivine", | ||
6 | "branch": "master" | ||
7 | }, | ||
8 | "git": { | ||
9 | "url": "gitolite@git.immae.eu:perso/Immae/Sites/Ludivine", | ||
10 | "rev": "0dacc320ea052b69f79861c84bceaa89be53de60", | ||
11 | "sha256": "10khg1fq9ixly3xak591n3v0rv3f2hn91rd46d75yv3wjxaj1c2d", | ||
12 | "fetchSubmodules": true | ||
13 | } | ||
14 | } | ||
diff --git a/virtual/modules/websites/ludivine/ludivinecassal.nix b/virtual/modules/websites/ludivine/ludivinecassal.nix deleted file mode 100644 index eff0bf8..0000000 --- a/virtual/modules/websites/ludivine/ludivinecassal.nix +++ /dev/null | |||
@@ -1,166 +0,0 @@ | |||
1 | { pkgs, lib, writeText, fetchedGitPrivate, stdenv, composerEnv, fetchurl, fetchgit, ruby, sass, imagemagick }: | ||
2 | let | ||
3 | ludivinecassal = { config }: rec { | ||
4 | environment = config.environment; | ||
5 | varDir = "/var/lib/ludivinecassal_${environment}"; | ||
6 | configRoot = | ||
7 | writeText "parameters.yml" '' | ||
8 | # This file is auto-generated during the composer install | ||
9 | parameters: | ||
10 | database_host: db-1.immae.eu | ||
11 | database_port: null | ||
12 | database_name: ${config.mysql.name} | ||
13 | database_user: ${config.mysql.user} | ||
14 | database_password: ${config.mysql.password} | ||
15 | database_server_version: ${pkgs.mariadb.mysqlVersion} | ||
16 | mailer_transport: smtp | ||
17 | mailer_host: mail.immae.eu | ||
18 | mailer_user: null | ||
19 | mailer_password: null | ||
20 | secret: ${config.secret} | ||
21 | ldap_host: ldap.immae.eu | ||
22 | ldap_port: 636 | ||
23 | ldap_version: 3 | ||
24 | ldap_ssl: true | ||
25 | ldap_tls: false | ||
26 | ldap_user_bind: 'uid={username},ou=users,dc=immae,dc=eu' | ||
27 | ldap_base_dn: 'dc=immae,dc=eu' | ||
28 | ldap_search_dn: '${config.ldap.dn}' | ||
29 | ldap_search_password: '${config.ldap.password}' | ||
30 | ldap_search_filter: '${config.ldap.search}' | ||
31 | leapt_im: | ||
32 | binary_path: ${imagemagick}/bin | ||
33 | assetic: | ||
34 | sass: ${sass}/bin/sass | ||
35 | ruby: ${ruby}/bin/ruby | ||
36 | ''; | ||
37 | phpFpm = rec { | ||
38 | socket = "/var/run/phpfpm/ludivinecassal-${environment}.sock"; | ||
39 | pool = '' | ||
40 | listen = ${socket} | ||
41 | user = ${apache.user} | ||
42 | group = ${apache.group} | ||
43 | listen.owner = ${apache.user} | ||
44 | listen.group = ${apache.group} | ||
45 | php_admin_value[upload_max_filesize] = 20M | ||
46 | php_admin_value[post_max_size] = 20M | ||
47 | ;php_admin_flag[log_errors] = on | ||
48 | php_admin_value[open_basedir] = "${configRoot}:${webappDir}:${varDir}:/tmp" | ||
49 | php_admin_value[session.save_path] = "${varDir}/phpSessions" | ||
50 | ${if environment == "dev" then '' | ||
51 | pm = ondemand | ||
52 | pm.max_children = 5 | ||
53 | pm.process_idle_timeout = 60 | ||
54 | env[SYMFONY_DEBUG_MODE] = "yes" | ||
55 | '' else '' | ||
56 | pm = dynamic | ||
57 | pm.max_children = 20 | ||
58 | pm.start_servers = 2 | ||
59 | pm.min_spare_servers = 1 | ||
60 | pm.max_spare_servers = 3 | ||
61 | ''}''; | ||
62 | }; | ||
63 | apache = { | ||
64 | user = "wwwrun"; | ||
65 | group = "wwwrun"; | ||
66 | modules = [ "proxy_fcgi" ]; | ||
67 | vhostConf = '' | ||
68 | <FilesMatch "\.php$"> | ||
69 | SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" | ||
70 | </FilesMatch> | ||
71 | |||
72 | ${if environment == "dev" then '' | ||
73 | <Location /> | ||
74 | Use LDAPConnect | ||
75 | Require ldap-group cn=ludivine.immae.eu,cn=httpd,ou=services,dc=immae,dc=eu | ||
76 | ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=https://ludivinecassal.com\"></html>" | ||
77 | </Location> | ||
78 | |||
79 | <Directory ${webRoot}> | ||
80 | Options Indexes FollowSymLinks MultiViews Includes | ||
81 | AllowOverride None | ||
82 | Require all granted | ||
83 | |||
84 | DirectoryIndex app_dev.php | ||
85 | |||
86 | <IfModule mod_negotiation.c> | ||
87 | Options -MultiViews | ||
88 | </IfModule> | ||
89 | |||
90 | <IfModule mod_rewrite.c> | ||
91 | RewriteEngine On | ||
92 | |||
93 | RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ | ||
94 | RewriteRule ^(.*) - [E=BASE:%1] | ||
95 | |||
96 | # Maintenance script | ||
97 | RewriteCond %{DOCUMENT_ROOT}/maintenance.php -f | ||
98 | RewriteCond %{SCRIPT_FILENAME} !maintenance.php | ||
99 | RewriteRule ^.*$ %{ENV:BASE}/maintenance.php [R=503,L] | ||
100 | ErrorDocument 503 /maintenance.php | ||
101 | |||
102 | # Sets the HTTP_AUTHORIZATION header removed by Apache | ||
103 | RewriteCond %{HTTP:Authorization} . | ||
104 | RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] | ||
105 | |||
106 | RewriteCond %{ENV:REDIRECT_STATUS} ^$ | ||
107 | RewriteRule ^app_dev\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L] | ||
108 | |||
109 | # If the requested filename exists, simply serve it. | ||
110 | # We only want to let Apache serve files and not directories. | ||
111 | RewriteCond %{REQUEST_FILENAME} -f | ||
112 | RewriteRule ^ - [L] | ||
113 | |||
114 | # Rewrite all other queries to the front controller. | ||
115 | RewriteRule ^ %{ENV:BASE}/app_dev.php [L] | ||
116 | </IfModule> | ||
117 | |||
118 | </Directory> | ||
119 | '' else '' | ||
120 | Use Stats ludivinecassal.com | ||
121 | |||
122 | <Directory ${webRoot}> | ||
123 | Options Indexes FollowSymLinks MultiViews Includes | ||
124 | AllowOverride All | ||
125 | Require all granted | ||
126 | </Directory> | ||
127 | ''} | ||
128 | ''; | ||
129 | }; | ||
130 | activationScript = { | ||
131 | deps = [ "wrappers" ]; | ||
132 | text = '' | ||
133 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} | ||
134 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir}/tmp | ||
135 | install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions | ||
136 | if [ ! -f "${varDir}/currentWebappDir" -o \ | ||
137 | "${webappDir}" != "$(cat ${varDir}/currentWebappDir 2>/dev/null)" ]; then | ||
138 | pushd ${webappDir} > /dev/null | ||
139 | $wrapperDir/sudo -u wwwrun ./bin/console --env=${environment} cache:clear --no-warmup | ||
140 | popd > /dev/null | ||
141 | echo -n "${webappDir}" > ${varDir}/currentWebappDir | ||
142 | fi | ||
143 | ''; | ||
144 | }; | ||
145 | webappDir = composerEnv.buildPackage ( | ||
146 | import ./php-packages.nix { inherit composerEnv fetchurl fetchgit; } // | ||
147 | fetchedGitPrivate ./ludivinecassal.json // | ||
148 | rec { | ||
149 | noDev = (environment == "prod"); | ||
150 | preInstall = '' | ||
151 | export SYMFONY_ENV="${environment}" | ||
152 | ln -sf ${configRoot} app/config/parameters.yml | ||
153 | sed -i -e "/Incenteev..ParameterHandler..ScriptHandler::buildParameters/d" composer.json | ||
154 | ''; | ||
155 | # /!\ miniatures and data need to be in the same physical dir due to a | ||
156 | # bug in leapt.im (searches for data/../miniatures) | ||
157 | postInstall = '' | ||
158 | rm -rf var/{logs,cache,data,miniatures,tmp} | ||
159 | ln -sf ../../../../../../../${varDir}/{logs,cache,data,miniatures,tmp} var/ | ||
160 | ''; | ||
161 | buildInputs = [ sass ]; | ||
162 | }); | ||
163 | webRoot = "${webappDir}/web"; | ||
164 | }; | ||
165 | in | ||
166 | ludivinecassal | ||
diff --git a/virtual/modules/websites/ludivine/php-packages.nix b/virtual/modules/websites/ludivine/php-packages.nix deleted file mode 100644 index be0c559..0000000 --- a/virtual/modules/websites/ludivine/php-packages.nix +++ /dev/null | |||
@@ -1,868 +0,0 @@ | |||
1 | # Generated with composer2nix and adapted to return only the list of | ||
2 | # packages | ||
3 | { composerEnv, fetchurl, fetchgit ? null }: | ||
4 | { | ||
5 | packages = { | ||
6 | "behat/transliterator" = { | ||
7 | targetDir = ""; | ||
8 | src = composerEnv.buildZipPackage { | ||
9 | name = "behat-transliterator-826ce7e9c2a6664c0d1f381cbb38b1fb80a7ee2c"; | ||
10 | src = fetchurl { | ||
11 | url = https://api.github.com/repos/Behat/Transliterator/zipball/826ce7e9c2a6664c0d1f381cbb38b1fb80a7ee2c; | ||
12 | sha256 = "1mgc9azx79fkrxahji3xwbgqhlcnvh3xk6llqdvhjb7vgzj4bqq0"; | ||
13 | }; | ||
14 | }; | ||
15 | }; | ||
16 | "components/bootstrap" = { | ||
17 | targetDir = ""; | ||
18 | src = composerEnv.buildZipPackage { | ||
19 | name = "components-bootstrap-5d60b2efd3159e1a9e203901849b3493c5aac61f"; | ||
20 | src = fetchurl { | ||
21 | url = https://api.github.com/repos/components/bootstrap/zipball/5d60b2efd3159e1a9e203901849b3493c5aac61f; | ||
22 | sha256 = "0jdyxl86dr2lf8az1vby84i7kdn1qcqkp8fy60rs18gav0aqp4fg"; | ||
23 | }; | ||
24 | }; | ||
25 | }; | ||
26 | "components/jquery" = { | ||
27 | targetDir = ""; | ||
28 | src = composerEnv.buildZipPackage { | ||
29 | name = "components-jquery-459648cda77875519c5da3ae1dd0ed5d170aa649"; | ||
30 | src = fetchurl { | ||
31 | url = https://api.github.com/repos/components/jquery/zipball/459648cda77875519c5da3ae1dd0ed5d170aa649; | ||
32 | sha256 = "04jv8yifhwx0cpkw3y3ng0bs2dv77pzrdd640p59rjxwba6r1lbb"; | ||
33 | }; | ||
34 | }; | ||
35 | }; | ||
36 | "components/jqueryui" = { | ||
37 | targetDir = ""; | ||
38 | src = composerEnv.buildZipPackage { | ||
39 | name = "components-jqueryui-c34f8dbf3ba57b3784b93f26119f436c0e8288e1"; | ||
40 | src = fetchurl { | ||
41 | url = https://api.github.com/repos/components/jqueryui/zipball/c34f8dbf3ba57b3784b93f26119f436c0e8288e1; | ||
42 | sha256 = "00nkg6z8g6l3jysyzsfmfxhxqcdsd3jfqib28j8kn2frzx508xv9"; | ||
43 | }; | ||
44 | }; | ||
45 | }; | ||
46 | "composer/ca-bundle" = { | ||
47 | targetDir = ""; | ||
48 | src = composerEnv.buildZipPackage { | ||
49 | name = "composer-ca-bundle-8afa52cd417f4ec417b4bfe86b68106538a87660"; | ||
50 | src = fetchurl { | ||
51 | url = https://api.github.com/repos/composer/ca-bundle/zipball/8afa52cd417f4ec417b4bfe86b68106538a87660; | ||
52 | sha256 = "18b0gq29frjf4yhl4sl3i3zbz6zr3qjgsjb8cjdhz65vpb50581p"; | ||
53 | }; | ||
54 | }; | ||
55 | }; | ||
56 | "doctrine/annotations" = { | ||
57 | targetDir = ""; | ||
58 | src = composerEnv.buildZipPackage { | ||
59 | name = "doctrine-annotations-c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5"; | ||
60 | src = fetchurl { | ||
61 | url = https://api.github.com/repos/doctrine/annotations/zipball/c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5; | ||
62 | sha256 = "0b80xpqd3j99xgm0c41kbgy0k6knrfnd29223c93295sb12112g7"; | ||
63 | }; | ||
64 | }; | ||
65 | }; | ||
66 | "doctrine/cache" = { | ||
67 | targetDir = ""; | ||
68 | src = composerEnv.buildZipPackage { | ||
69 | name = "doctrine-cache-d768d58baee9a4862ca783840eca1b9add7a7f57"; | ||
70 | src = fetchurl { | ||
71 | url = https://api.github.com/repos/doctrine/cache/zipball/d768d58baee9a4862ca783840eca1b9add7a7f57; | ||
72 | sha256 = "1kljhw4gqp12iz88h6ymsrlfir2fis7icn6dffyizfc1csyb4s2i"; | ||
73 | }; | ||
74 | }; | ||
75 | }; | ||
76 | "doctrine/collections" = { | ||
77 | targetDir = ""; | ||
78 | src = composerEnv.buildZipPackage { | ||
79 | name = "doctrine-collections-a01ee38fcd999f34d9bfbcee59dbda5105449cbf"; | ||
80 | src = fetchurl { | ||
81 | url = https://api.github.com/repos/doctrine/collections/zipball/a01ee38fcd999f34d9bfbcee59dbda5105449cbf; | ||
82 | sha256 = "0d36zc21ka0pdac9xpkxsgf5zzw9gp0m9lk3r3xs5y70j0lkkkis"; | ||
83 | }; | ||
84 | }; | ||
85 | }; | ||
86 | "doctrine/common" = { | ||
87 | targetDir = ""; | ||
88 | src = composerEnv.buildZipPackage { | ||
89 | name = "doctrine-common-30e33f60f64deec87df728c02b107f82cdafad9d"; | ||
90 | src = fetchurl { | ||
91 | url = https://api.github.com/repos/doctrine/common/zipball/30e33f60f64deec87df728c02b107f82cdafad9d; | ||
92 | sha256 = "0s4vv14ibyx62a9aj3wn5cs2bbxd72fajmfmi8qb5l11gx0375na"; | ||
93 | }; | ||
94 | }; | ||
95 | }; | ||
96 | "doctrine/dbal" = { | ||
97 | targetDir = ""; | ||
98 | src = composerEnv.buildZipPackage { | ||
99 | name = "doctrine-dbal-22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9"; | ||
100 | src = fetchurl { | ||
101 | url = https://api.github.com/repos/doctrine/dbal/zipball/22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9; | ||
102 | sha256 = "0kbahs699jd8pxf512dgg7arv49dc7qzi3mx8snxqm4h15n5brnj"; | ||
103 | }; | ||
104 | }; | ||
105 | }; | ||
106 | "doctrine/doctrine-bundle" = { | ||
107 | targetDir = ""; | ||
108 | src = composerEnv.buildZipPackage { | ||
109 | name = "doctrine-doctrine-bundle-82d2c63cd09acbde2332f55d9aa7b28aefe4983d"; | ||
110 | src = fetchurl { | ||
111 | url = https://api.github.com/repos/doctrine/DoctrineBundle/zipball/82d2c63cd09acbde2332f55d9aa7b28aefe4983d; | ||
112 | sha256 = "0gzrigv360rp50yxpwidbkf8vlagym0w1if010yz5xcfrz37cpn3"; | ||
113 | }; | ||
114 | }; | ||
115 | }; | ||
116 | "doctrine/doctrine-cache-bundle" = { | ||
117 | targetDir = ""; | ||
118 | src = composerEnv.buildZipPackage { | ||
119 | name = "doctrine-doctrine-cache-bundle-5514c90d9fb595e1095e6d66ebb98ce9ef049927"; | ||
120 | src = fetchurl { | ||
121 | url = https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/5514c90d9fb595e1095e6d66ebb98ce9ef049927; | ||
122 | sha256 = "04njrfhw4fc2ifacd9h0wd9i14l7ycv3hanbqrw5ilsai02j6asa"; | ||
123 | }; | ||
124 | }; | ||
125 | }; | ||
126 | "doctrine/doctrine-migrations-bundle" = { | ||
127 | targetDir = ""; | ||
128 | src = composerEnv.buildZipPackage { | ||
129 | name = "doctrine-doctrine-migrations-bundle-49fa399181db4bf4f9f725126bd1cb65c4398dce"; | ||
130 | src = fetchurl { | ||
131 | url = https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/49fa399181db4bf4f9f725126bd1cb65c4398dce; | ||
132 | sha256 = "1a73xjhjrjlvkh8d253kfc2rbxd2h4hwafhv5078dy7rg6x9blyn"; | ||
133 | }; | ||
134 | }; | ||
135 | }; | ||
136 | "doctrine/event-manager" = { | ||
137 | targetDir = ""; | ||
138 | src = composerEnv.buildZipPackage { | ||
139 | name = "doctrine-event-manager-a520bc093a0170feeb6b14e9d83f3a14452e64b3"; | ||
140 | src = fetchurl { | ||
141 | url = https://api.github.com/repos/doctrine/event-manager/zipball/a520bc093a0170feeb6b14e9d83f3a14452e64b3; | ||
142 | sha256 = "165cxvw4idqj01l63nya2whpdb3fz6ld54rx198b71bzwfrydl88"; | ||
143 | }; | ||
144 | }; | ||
145 | }; | ||
146 | "doctrine/inflector" = { | ||
147 | targetDir = ""; | ||
148 | src = composerEnv.buildZipPackage { | ||
149 | name = "doctrine-inflector-5527a48b7313d15261292c149e55e26eae771b0a"; | ||
150 | src = fetchurl { | ||
151 | url = https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a; | ||
152 | sha256 = "0ng6vlwjr8h6hqwa32ynykz1mhlfsff5hirjidlk086ab6njppa5"; | ||
153 | }; | ||
154 | }; | ||
155 | }; | ||
156 | "doctrine/instantiator" = { | ||
157 | targetDir = ""; | ||
158 | src = composerEnv.buildZipPackage { | ||
159 | name = "doctrine-instantiator-185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"; | ||
160 | src = fetchurl { | ||
161 | url = https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda; | ||
162 | sha256 = "1mah9a6mb30qad1zryzjain2dxw29d8h4bjkbcs3srpm3p891msy"; | ||
163 | }; | ||
164 | }; | ||
165 | }; | ||
166 | "doctrine/lexer" = { | ||
167 | targetDir = ""; | ||
168 | src = composerEnv.buildZipPackage { | ||
169 | name = "doctrine-lexer-83893c552fd2045dd78aef794c31e694c37c0b8c"; | ||
170 | src = fetchurl { | ||
171 | url = https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c; | ||
172 | sha256 = "0cyh3vwcl163cx1vrcwmhlh5jg9h47xwiqgzc6rwscxw0ppd1v74"; | ||
173 | }; | ||
174 | }; | ||
175 | }; | ||
176 | "doctrine/migrations" = { | ||
177 | targetDir = ""; | ||
178 | src = composerEnv.buildZipPackage { | ||
179 | name = "doctrine-migrations-215438c0eef3e5f9b7da7d09c6b90756071b43e6"; | ||
180 | src = fetchurl { | ||
181 | url = https://api.github.com/repos/doctrine/migrations/zipball/215438c0eef3e5f9b7da7d09c6b90756071b43e6; | ||
182 | sha256 = "0k6sgw65vji9rgib10mq2m634m41a67inspkrcw4qixig2lnb3ld"; | ||
183 | }; | ||
184 | }; | ||
185 | }; | ||
186 | "doctrine/orm" = { | ||
187 | targetDir = ""; | ||
188 | src = composerEnv.buildZipPackage { | ||
189 | name = "doctrine-orm-434820973cadf2da2d66e7184be370084cc32ca8"; | ||
190 | src = fetchurl { | ||
191 | url = https://api.github.com/repos/doctrine/orm/zipball/434820973cadf2da2d66e7184be370084cc32ca8; | ||
192 | sha256 = "114fyq8kaf5qzfkp8sdygqflf3z94va1cs5c3scycfpg9cmi4gls"; | ||
193 | }; | ||
194 | }; | ||
195 | }; | ||
196 | "doctrine/persistence" = { | ||
197 | targetDir = ""; | ||
198 | src = composerEnv.buildZipPackage { | ||
199 | name = "doctrine-persistence-c0f1c17602afc18b4cbd8e1c8125f264c9cf7d38"; | ||
200 | src = fetchurl { | ||
201 | url = https://api.github.com/repos/doctrine/persistence/zipball/c0f1c17602afc18b4cbd8e1c8125f264c9cf7d38; | ||
202 | sha256 = "0xdm5n38rjas1mlyxc15sg1as5h7y012mdb0j9lr6cvphgnaxxv7"; | ||
203 | }; | ||
204 | }; | ||
205 | }; | ||
206 | "doctrine/reflection" = { | ||
207 | targetDir = ""; | ||
208 | src = composerEnv.buildZipPackage { | ||
209 | name = "doctrine-reflection-02538d3f95e88eb397a5f86274deb2c6175c2ab6"; | ||
210 | src = fetchurl { | ||
211 | url = https://api.github.com/repos/doctrine/reflection/zipball/02538d3f95e88eb397a5f86274deb2c6175c2ab6; | ||
212 | sha256 = "12n9zik4lxb9lx1jf0nbvg9vl9nv958a7z1yjx48scfxd1d1sxjy"; | ||
213 | }; | ||
214 | }; | ||
215 | }; | ||
216 | "fig/link-util" = { | ||
217 | targetDir = ""; | ||
218 | src = composerEnv.buildZipPackage { | ||
219 | name = "fig-link-util-1a07821801a148be4add11ab0603e4af55a72fac"; | ||
220 | src = fetchurl { | ||
221 | url = https://api.github.com/repos/php-fig/link-util/zipball/1a07821801a148be4add11ab0603e4af55a72fac; | ||
222 | sha256 = "0ky1pq4a17br5zvcychjghgwr6wpkgp409hdv0ljdk3ks90w5w64"; | ||
223 | }; | ||
224 | }; | ||
225 | }; | ||
226 | "gedmo/doctrine-extensions" = { | ||
227 | targetDir = ""; | ||
228 | src = composerEnv.buildZipPackage { | ||
229 | name = "gedmo-doctrine-extensions-87c78ff9fd4b90460386f753d95622f6fbbfcb27"; | ||
230 | src = fetchurl { | ||
231 | url = https://api.github.com/repos/Atlantic18/DoctrineExtensions/zipball/87c78ff9fd4b90460386f753d95622f6fbbfcb27; | ||
232 | sha256 = "0jfg0a19lhdv5b3c032ghknxhvc1f0x2n7fcwp47bm1rbz222q0z"; | ||
233 | }; | ||
234 | }; | ||
235 | }; | ||
236 | "immae/ludivine-ckeditor-component" = { | ||
237 | targetDir = ""; | ||
238 | src = fetchgit { | ||
239 | name = "immae-ludivine-ckeditor-component-1794320dcfdfcd19572fb1676294f9853a6bbc20"; | ||
240 | url = "https://git.immae.eu/perso/Immae/Projets/packagist/ludivine-ckeditor-component.git"; | ||
241 | rev = "1794320dcfdfcd19572fb1676294f9853a6bbc20"; | ||
242 | sha256 = "080f3znvp0aj5jdpc3ywis0kfzvkwz5mw2jcj12gwq3r5g5i8zdq"; | ||
243 | }; | ||
244 | }; | ||
245 | "immae/ludivine-slick-component" = { | ||
246 | targetDir = ""; | ||
247 | src = fetchgit { | ||
248 | name = "immae-ludivine-slick-component-604734c4a960aac3d99f1008337181ed2b0f04db"; | ||
249 | url = "https://git.immae.eu/perso/Immae/Projets/packagist/ludivine-slick-component.git"; | ||
250 | rev = "604734c4a960aac3d99f1008337181ed2b0f04db"; | ||
251 | sha256 = "041wqv9pa9nvqcgqykx6cnbj539qnr9h1iym7l54igw12yj57w06"; | ||
252 | }; | ||
253 | }; | ||
254 | "incenteev/composer-parameter-handler" = { | ||
255 | targetDir = ""; | ||
256 | src = composerEnv.buildZipPackage { | ||
257 | name = "incenteev-composer-parameter-handler-933c45a34814f27f2345c11c37d46b3ca7303550"; | ||
258 | src = fetchurl { | ||
259 | url = https://api.github.com/repos/Incenteev/ParameterHandler/zipball/933c45a34814f27f2345c11c37d46b3ca7303550; | ||
260 | sha256 = "1zqdwlcl790kjyz4rkpva35xkfsp8kslds82fzznj0yigkgnbifm"; | ||
261 | }; | ||
262 | }; | ||
263 | }; | ||
264 | "jdorn/sql-formatter" = { | ||
265 | targetDir = ""; | ||
266 | src = composerEnv.buildZipPackage { | ||
267 | name = "jdorn-sql-formatter-64990d96e0959dff8e059dfcdc1af130728d92bc"; | ||
268 | src = fetchurl { | ||
269 | url = https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc; | ||
270 | sha256 = "1dnmkm8mxylvxjwi0bdkzrlklncqx92fa4fwqp5bh2ypj8gaagzi"; | ||
271 | }; | ||
272 | }; | ||
273 | }; | ||
274 | "kriswallsmith/assetic" = { | ||
275 | targetDir = ""; | ||
276 | src = composerEnv.buildZipPackage { | ||
277 | name = "kriswallsmith-assetic-e911c437dbdf006a8f62c2f59b15b2d69a5e0aa1"; | ||
278 | src = fetchurl { | ||
279 | url = https://api.github.com/repos/kriswallsmith/assetic/zipball/e911c437dbdf006a8f62c2f59b15b2d69a5e0aa1; | ||
280 | sha256 = "1dqk4zvx8fgqf8rb81sj9bipl5431jib2b9kcvxyig5fw99irpf8"; | ||
281 | }; | ||
282 | }; | ||
283 | }; | ||
284 | "leapt/im-bundle" = { | ||
285 | targetDir = ""; | ||
286 | src = composerEnv.buildZipPackage { | ||
287 | name = "leapt-im-bundle-83442778d118f6edb537b93f9746c3a97e56c3d1"; | ||
288 | src = fetchurl { | ||
289 | url = https://api.github.com/repos/leapt/im-bundle/zipball/83442778d118f6edb537b93f9746c3a97e56c3d1; | ||
290 | sha256 = "1gm4ih3v1j0xjm7mrpspd3yacdwvbqgag22cyqmix0hc9hw3pc6a"; | ||
291 | }; | ||
292 | }; | ||
293 | }; | ||
294 | "luxifer/doctrine-functions" = { | ||
295 | targetDir = ""; | ||
296 | src = composerEnv.buildZipPackage { | ||
297 | name = "luxifer-doctrine-functions-e1c0bb1a5cb002d9fc82d8b32a5da28c02d34c6c"; | ||
298 | src = fetchurl { | ||
299 | url = https://api.github.com/repos/luxifer/doctrine-functions/zipball/e1c0bb1a5cb002d9fc82d8b32a5da28c02d34c6c; | ||
300 | sha256 = "1sw4826nvs5q0y2na9m26rbxfiaw0kfqwhky7x7apicgx5adqfa9"; | ||
301 | }; | ||
302 | }; | ||
303 | }; | ||
304 | "monolog/monolog" = { | ||
305 | targetDir = ""; | ||
306 | src = composerEnv.buildZipPackage { | ||
307 | name = "monolog-monolog-bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266"; | ||
308 | src = fetchurl { | ||
309 | url = https://api.github.com/repos/Seldaek/monolog/zipball/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266; | ||
310 | sha256 = "0h3nnxjf2bdh7nmpqnpij99lqv6bw13r2bx83d8vn5zvblwg5png"; | ||
311 | }; | ||
312 | }; | ||
313 | }; | ||
314 | "ocramius/package-versions" = { | ||
315 | targetDir = ""; | ||
316 | needsModifyRights = true; | ||
317 | src = composerEnv.buildZipPackage { | ||
318 | name = "ocramius-package-versions-4489d5002c49d55576fa0ba786f42dbb009be46f"; | ||
319 | src = fetchurl { | ||
320 | url = https://api.github.com/repos/Ocramius/PackageVersions/zipball/4489d5002c49d55576fa0ba786f42dbb009be46f; | ||
321 | sha256 = "039c404g9597x45xh04bnn8kmcyknkbnr57yb9s7vf29vfrg4881"; | ||
322 | }; | ||
323 | }; | ||
324 | }; | ||
325 | "ocramius/proxy-manager" = { | ||
326 | targetDir = ""; | ||
327 | src = composerEnv.buildZipPackage { | ||
328 | name = "ocramius-proxy-manager-14b137b06b0f911944132df9d51e445a35920ab1"; | ||
329 | src = fetchurl { | ||
330 | url = https://api.github.com/repos/Ocramius/ProxyManager/zipball/14b137b06b0f911944132df9d51e445a35920ab1; | ||
331 | sha256 = "10y5msgh2jdlw4w075fasv40yq01szjy15m3f0wgc89hlfmqz0sn"; | ||
332 | }; | ||
333 | }; | ||
334 | }; | ||
335 | "paragonie/random_compat" = { | ||
336 | targetDir = ""; | ||
337 | src = composerEnv.buildZipPackage { | ||
338 | name = "paragonie-random_compat-84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95"; | ||
339 | src = fetchurl { | ||
340 | url = https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95; | ||
341 | sha256 = "03nsccdvcb79l64b7lsmx0n8ldf5z3v8niqr7bpp6wg401qp9p09"; | ||
342 | }; | ||
343 | }; | ||
344 | }; | ||
345 | "psr/cache" = { | ||
346 | targetDir = ""; | ||
347 | src = composerEnv.buildZipPackage { | ||
348 | name = "psr-cache-d11b50ad223250cf17b86e38383413f5a6764bf8"; | ||
349 | src = fetchurl { | ||
350 | url = https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8; | ||
351 | sha256 = "06i2k3dx3b4lgn9a4v1dlgv8l9wcl4kl7vzhh63lbji0q96hv8qz"; | ||
352 | }; | ||
353 | }; | ||
354 | }; | ||
355 | "psr/container" = { | ||
356 | targetDir = ""; | ||
357 | src = composerEnv.buildZipPackage { | ||
358 | name = "psr-container-b7ce3b176482dbbc1245ebf52b181af44c2cf55f"; | ||
359 | src = fetchurl { | ||
360 | url = https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f; | ||
361 | sha256 = "0rkz64vgwb0gfi09klvgay4qnw993l1dc03vyip7d7m2zxi6cy4j"; | ||
362 | }; | ||
363 | }; | ||
364 | }; | ||
365 | "psr/link" = { | ||
366 | targetDir = ""; | ||
367 | src = composerEnv.buildZipPackage { | ||
368 | name = "psr-link-eea8e8662d5cd3ae4517c9b864493f59fca95562"; | ||
369 | src = fetchurl { | ||
370 | url = https://api.github.com/repos/php-fig/link/zipball/eea8e8662d5cd3ae4517c9b864493f59fca95562; | ||
371 | sha256 = "091k4p9irkqnmq9b0p792wz1hb7dm4rafpjilw9im9xhsxgkmr13"; | ||
372 | }; | ||
373 | }; | ||
374 | }; | ||
375 | "psr/log" = { | ||
376 | targetDir = ""; | ||
377 | src = composerEnv.buildZipPackage { | ||
378 | name = "psr-log-6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd"; | ||
379 | src = fetchurl { | ||
380 | url = https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd; | ||
381 | sha256 = "1i351p3gd1pgjcjxv7mwwkiw79f1xiqr38irq22156h05zlcx80d"; | ||
382 | }; | ||
383 | }; | ||
384 | }; | ||
385 | "psr/simple-cache" = { | ||
386 | targetDir = ""; | ||
387 | src = composerEnv.buildZipPackage { | ||
388 | name = "psr-simple-cache-408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"; | ||
389 | src = fetchurl { | ||
390 | url = https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b; | ||
391 | sha256 = "1djgzclkamjxi9jy4m9ggfzgq1vqxaga2ip7l3cj88p7rwkzjxgw"; | ||
392 | }; | ||
393 | }; | ||
394 | }; | ||
395 | "robloach/component-installer" = { | ||
396 | targetDir = ""; | ||
397 | src = composerEnv.buildZipPackage { | ||
398 | name = "robloach-component-installer-908a859aa7c4949ba9ad67091e67bac10b66d3d7"; | ||
399 | src = fetchurl { | ||
400 | url = https://api.github.com/repos/RobLoach/component-installer/zipball/908a859aa7c4949ba9ad67091e67bac10b66d3d7; | ||
401 | sha256 = "19y5sv4k338bihzmm8iac6q43r18vxhmbpvrdhz8jn39r51ampq9"; | ||
402 | }; | ||
403 | }; | ||
404 | }; | ||
405 | "sensio/distribution-bundle" = { | ||
406 | targetDir = ""; | ||
407 | src = composerEnv.buildZipPackage { | ||
408 | name = "sensio-distribution-bundle-59eac70f15f97ee945924948a6f5e2f6f86b7a4b"; | ||
409 | src = fetchurl { | ||
410 | url = https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/59eac70f15f97ee945924948a6f5e2f6f86b7a4b; | ||
411 | sha256 = "05mj4c0ahwg6l2wipyqfyyjjp1m2vvl7ymp61nvwv7zhvqacvljs"; | ||
412 | }; | ||
413 | }; | ||
414 | }; | ||
415 | "sensio/framework-extra-bundle" = { | ||
416 | targetDir = ""; | ||
417 | src = composerEnv.buildZipPackage { | ||
418 | name = "sensio-framework-extra-bundle-bb907234df776b68922eb4b25bfa061683597b6a"; | ||
419 | src = fetchurl { | ||
420 | url = https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/bb907234df776b68922eb4b25bfa061683597b6a; | ||
421 | sha256 = "011hcljjcfq5qy4a7mlf0hwqxyb58yci40ini0n5rqandcyk2nck"; | ||
422 | }; | ||
423 | }; | ||
424 | }; | ||
425 | "sensiolabs/security-checker" = { | ||
426 | targetDir = ""; | ||
427 | src = composerEnv.buildZipPackage { | ||
428 | name = "sensiolabs-security-checker-46be3f58adac13084497961e10eed9a7fb4d44d1"; | ||
429 | src = fetchurl { | ||
430 | url = https://api.github.com/repos/sensiolabs/security-checker/zipball/46be3f58adac13084497961e10eed9a7fb4d44d1; | ||
431 | sha256 = "1caqf3hdfsajj9nb8fpinvs6apv90g1srwxcyxdnr6a8d6g0p6qi"; | ||
432 | }; | ||
433 | }; | ||
434 | }; | ||
435 | "swiftmailer/swiftmailer" = { | ||
436 | targetDir = ""; | ||
437 | src = composerEnv.buildZipPackage { | ||
438 | name = "swiftmailer-swiftmailer-181b89f18a90f8925ef805f950d47a7190e9b950"; | ||
439 | src = fetchurl { | ||
440 | url = https://api.github.com/repos/swiftmailer/swiftmailer/zipball/181b89f18a90f8925ef805f950d47a7190e9b950; | ||
441 | sha256 = "0hkmawv3bhbqdavy4wxqhzajg5zqd7chsi8w27y2zdi5r35az75d"; | ||
442 | }; | ||
443 | }; | ||
444 | }; | ||
445 | "symfony/assetic-bundle" = { | ||
446 | targetDir = ""; | ||
447 | src = composerEnv.buildZipPackage { | ||
448 | name = "symfony-assetic-bundle-2e0a23a4874838e26de6f025e02fc63328921a4c"; | ||
449 | src = fetchurl { | ||
450 | url = https://api.github.com/repos/symfony/assetic-bundle/zipball/2e0a23a4874838e26de6f025e02fc63328921a4c; | ||
451 | sha256 = "17rxrkyzxa6x5nn7qhhhdgx4z0nlznnq5fifza4wv9znca8bbwyc"; | ||
452 | }; | ||
453 | }; | ||
454 | }; | ||
455 | "symfony/monolog-bundle" = { | ||
456 | targetDir = ""; | ||
457 | src = composerEnv.buildZipPackage { | ||
458 | name = "symfony-monolog-bundle-572e143afc03419a75ab002c80a2fd99299195ff"; | ||
459 | src = fetchurl { | ||
460 | url = https://api.github.com/repos/symfony/monolog-bundle/zipball/572e143afc03419a75ab002c80a2fd99299195ff; | ||
461 | sha256 = "0g8icydnwfbqcbc56pqyc8bv1vp31331w0r75r3hqh225p2j1nd7"; | ||
462 | }; | ||
463 | }; | ||
464 | }; | ||
465 | "symfony/polyfill-apcu" = { | ||
466 | targetDir = ""; | ||
467 | src = composerEnv.buildZipPackage { | ||
468 | name = "symfony-polyfill-apcu-19e1b73bf255265ad0b568f81766ae2a3266d8d2"; | ||
469 | src = fetchurl { | ||
470 | url = https://api.github.com/repos/symfony/polyfill-apcu/zipball/19e1b73bf255265ad0b568f81766ae2a3266d8d2; | ||
471 | sha256 = "0jg33c81kwkpxk0b18jkslz9jkbkxl5k48h6m5b33dm63p1fj05r"; | ||
472 | }; | ||
473 | }; | ||
474 | }; | ||
475 | "symfony/polyfill-ctype" = { | ||
476 | targetDir = ""; | ||
477 | src = composerEnv.buildZipPackage { | ||
478 | name = "symfony-polyfill-ctype-e3d826245268269cd66f8326bd8bc066687b4a19"; | ||
479 | src = fetchurl { | ||
480 | url = https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19; | ||
481 | sha256 = "16md0qmy5jvvl7lc6n6r5hxjdr5i30vl6n9rpkm4b11rh2nqh7mh"; | ||
482 | }; | ||
483 | }; | ||
484 | }; | ||
485 | "symfony/polyfill-intl-icu" = { | ||
486 | targetDir = ""; | ||
487 | src = composerEnv.buildZipPackage { | ||
488 | name = "symfony-polyfill-intl-icu-f22a90256d577c7ef7efad8df1f0201663d57644"; | ||
489 | src = fetchurl { | ||
490 | url = https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/f22a90256d577c7ef7efad8df1f0201663d57644; | ||
491 | sha256 = "0x7h8l248l1gc07xmvfixq6p80ifdaa29qympfq3jzfb79k69slq"; | ||
492 | }; | ||
493 | }; | ||
494 | }; | ||
495 | "symfony/polyfill-mbstring" = { | ||
496 | targetDir = ""; | ||
497 | src = composerEnv.buildZipPackage { | ||
498 | name = "symfony-polyfill-mbstring-c79c051f5b3a46be09205c73b80b346e4153e494"; | ||
499 | src = fetchurl { | ||
500 | url = https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494; | ||
501 | sha256 = "18v2777cky55ah6xi4dh383mp4iddwzmnvx81qd86y1kgfykwhpi"; | ||
502 | }; | ||
503 | }; | ||
504 | }; | ||
505 | "symfony/polyfill-php56" = { | ||
506 | targetDir = ""; | ||
507 | src = composerEnv.buildZipPackage { | ||
508 | name = "symfony-polyfill-php56-ff208829fe1aa48ab9af356992bb7199fed551af"; | ||
509 | src = fetchurl { | ||
510 | url = https://api.github.com/repos/symfony/polyfill-php56/zipball/ff208829fe1aa48ab9af356992bb7199fed551af; | ||
511 | sha256 = "0vmpiwakc7hpbr6jwpk7cqcy41ybgwl6jkn3q8c4ryxynknn5hfk"; | ||
512 | }; | ||
513 | }; | ||
514 | }; | ||
515 | "symfony/polyfill-php70" = { | ||
516 | targetDir = ""; | ||
517 | src = composerEnv.buildZipPackage { | ||
518 | name = "symfony-polyfill-php70-6b88000cdd431cd2e940caa2cb569201f3f84224"; | ||
519 | src = fetchurl { | ||
520 | url = https://api.github.com/repos/symfony/polyfill-php70/zipball/6b88000cdd431cd2e940caa2cb569201f3f84224; | ||
521 | sha256 = "08h77r1i2q4pwdd0yk3pfhqqgk0z7gwmkzmvykx9bfv1z7a0h8ik"; | ||
522 | }; | ||
523 | }; | ||
524 | }; | ||
525 | "symfony/polyfill-util" = { | ||
526 | targetDir = ""; | ||
527 | src = composerEnv.buildZipPackage { | ||
528 | name = "symfony-polyfill-util-3b58903eae668d348a7126f999b0da0f2f93611c"; | ||
529 | src = fetchurl { | ||
530 | url = https://api.github.com/repos/symfony/polyfill-util/zipball/3b58903eae668d348a7126f999b0da0f2f93611c; | ||
531 | sha256 = "00bb5mgljk6d54nyvd4gmc7mbzfr4b4q7h3rxmv8rzq613wcjp3i"; | ||
532 | }; | ||
533 | }; | ||
534 | }; | ||
535 | "symfony/swiftmailer-bundle" = { | ||
536 | targetDir = ""; | ||
537 | src = composerEnv.buildZipPackage { | ||
538 | name = "symfony-swiftmailer-bundle-c4808f5169efc05567be983909d00f00521c53ec"; | ||
539 | src = fetchurl { | ||
540 | url = https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/c4808f5169efc05567be983909d00f00521c53ec; | ||
541 | sha256 = "0jmd3slhb3gf3c3krmk2a9fi4ixdxvqlimdkfpj0sfaaq0115y01"; | ||
542 | }; | ||
543 | }; | ||
544 | }; | ||
545 | "symfony/symfony" = { | ||
546 | targetDir = ""; | ||
547 | src = composerEnv.buildZipPackage { | ||
548 | name = "symfony-symfony-f6b8ddc362b1cf3fb06548693c3adbb736092412"; | ||
549 | src = fetchurl { | ||
550 | url = https://api.github.com/repos/symfony/symfony/zipball/f6b8ddc362b1cf3fb06548693c3adbb736092412; | ||
551 | sha256 = "0ip7k5xf34w4p1zvv2nkv4nyik3asidk3zlgzyc1v57429z0f28q"; | ||
552 | }; | ||
553 | }; | ||
554 | }; | ||
555 | "twig/extensions" = { | ||
556 | targetDir = ""; | ||
557 | src = composerEnv.buildZipPackage { | ||
558 | name = "twig-extensions-57873c8b0c1be51caa47df2cdb824490beb16202"; | ||
559 | src = fetchurl { | ||
560 | url = https://api.github.com/repos/twigphp/Twig-extensions/zipball/57873c8b0c1be51caa47df2cdb824490beb16202; | ||
561 | sha256 = "1sjajjd6vnczvdrl9b8zhzr06l5dflzqiwg9d33d92q8gli4j7jn"; | ||
562 | }; | ||
563 | }; | ||
564 | }; | ||
565 | "twig/twig" = { | ||
566 | targetDir = ""; | ||
567 | src = composerEnv.buildZipPackage { | ||
568 | name = "twig-twig-a11dd39f5b6589e14f0ff3b36675d06047c589b1"; | ||
569 | src = fetchurl { | ||
570 | url = https://api.github.com/repos/twigphp/Twig/zipball/a11dd39f5b6589e14f0ff3b36675d06047c589b1; | ||
571 | sha256 = "0rnwam9379gj5m4ik0fh6c81dbr7kwj2b3x1gnmpf6awa5fm261n"; | ||
572 | }; | ||
573 | }; | ||
574 | }; | ||
575 | "zendframework/zend-code" = { | ||
576 | targetDir = ""; | ||
577 | src = composerEnv.buildZipPackage { | ||
578 | name = "zendframework-zend-code-c21db169075c6ec4b342149f446e7b7b724f95eb"; | ||
579 | src = fetchurl { | ||
580 | url = https://api.github.com/repos/zendframework/zend-code/zipball/c21db169075c6ec4b342149f446e7b7b724f95eb; | ||
581 | sha256 = "031mfsahjkl63348020wq05273kvszx0dv2766zmzncnd6fcggw1"; | ||
582 | }; | ||
583 | }; | ||
584 | }; | ||
585 | "zendframework/zend-eventmanager" = { | ||
586 | targetDir = ""; | ||
587 | src = composerEnv.buildZipPackage { | ||
588 | name = "zendframework-zend-eventmanager-a5e2583a211f73604691586b8406ff7296a946dd"; | ||
589 | src = fetchurl { | ||
590 | url = https://api.github.com/repos/zendframework/zend-eventmanager/zipball/a5e2583a211f73604691586b8406ff7296a946dd; | ||
591 | sha256 = "08a05gn40hfdy2zhz4gcd3r6q7m7zcaks5kpvb9dx1awgx0pzr8n"; | ||
592 | }; | ||
593 | }; | ||
594 | }; | ||
595 | }; | ||
596 | devPackages = { | ||
597 | "doctrine/data-fixtures" = { | ||
598 | targetDir = ""; | ||
599 | src = composerEnv.buildZipPackage { | ||
600 | name = "doctrine-data-fixtures-3a1e2c3c600e615a2dffe56d4ca0875cc5233e0a"; | ||
601 | src = fetchurl { | ||
602 | url = https://api.github.com/repos/doctrine/data-fixtures/zipball/3a1e2c3c600e615a2dffe56d4ca0875cc5233e0a; | ||
603 | sha256 = "0wbxhy7hq17laqgnq9x9ygysv0n1kn7s4x3v89pk7iy622pil3sm"; | ||
604 | }; | ||
605 | }; | ||
606 | }; | ||
607 | "doctrine/doctrine-fixtures-bundle" = { | ||
608 | targetDir = ""; | ||
609 | src = composerEnv.buildZipPackage { | ||
610 | name = "doctrine-doctrine-fixtures-bundle-74b8cc70a4a25b774628ee59f4cdf3623a146273"; | ||
611 | src = fetchurl { | ||
612 | url = https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/74b8cc70a4a25b774628ee59f4cdf3623a146273; | ||
613 | sha256 = "1bbflq8k6izwqgp9ka2gyb5y96a80b4lnlc5wrgc5gnih7hqidlf"; | ||
614 | }; | ||
615 | }; | ||
616 | }; | ||
617 | "fzaninotto/faker" = { | ||
618 | targetDir = ""; | ||
619 | src = composerEnv.buildZipPackage { | ||
620 | name = "fzaninotto-faker-d0190b156bcca848d401fb80f31f504f37141c8d"; | ||
621 | src = fetchurl { | ||
622 | url = https://api.github.com/repos/fzaninotto/Faker/zipball/d0190b156bcca848d401fb80f31f504f37141c8d; | ||
623 | sha256 = "1x7xrxw14x7b0iq7sxi9ynswk8ljga62i77ch7xip4dwgq1dypvi"; | ||
624 | }; | ||
625 | }; | ||
626 | }; | ||
627 | "league/factory-muffin" = { | ||
628 | targetDir = ""; | ||
629 | src = composerEnv.buildZipPackage { | ||
630 | name = "league-factory-muffin-316ed2bac70178567f995d877b831804c9c58d5a"; | ||
631 | src = fetchurl { | ||
632 | url = https://api.github.com/repos/thephpleague/factory-muffin/zipball/316ed2bac70178567f995d877b831804c9c58d5a; | ||
633 | sha256 = "1fxh0hsqifmnhgkwyd460x3w9wn74369lmak3f1m24mn2asiynxq"; | ||
634 | }; | ||
635 | }; | ||
636 | }; | ||
637 | "league/factory-muffin-faker" = { | ||
638 | targetDir = ""; | ||
639 | src = composerEnv.buildZipPackage { | ||
640 | name = "league-factory-muffin-faker-30dbd11bb6be03b47e52bd60006ae198d20ab426"; | ||
641 | src = fetchurl { | ||
642 | url = https://api.github.com/repos/thephpleague/factory-muffin-faker/zipball/30dbd11bb6be03b47e52bd60006ae198d20ab426; | ||
643 | sha256 = "0dsimjdnsmzdd4vwjzw1gz1bb4zlhmv66g3fc9k4nj5bqch6mny1"; | ||
644 | }; | ||
645 | }; | ||
646 | }; | ||
647 | "mikey179/vfsStream" = { | ||
648 | targetDir = ""; | ||
649 | src = composerEnv.buildZipPackage { | ||
650 | name = "mikey179-vfsStream-d5fec95f541d4d71c4823bb5e30cf9b9e5b96145"; | ||
651 | src = fetchurl { | ||
652 | url = https://api.github.com/repos/mikey179/vfsStream/zipball/d5fec95f541d4d71c4823bb5e30cf9b9e5b96145; | ||
653 | sha256 = "034rdds85qr3n7kqz161dqinl909gwnxgjsvychw8m7dyk2dbl99"; | ||
654 | }; | ||
655 | }; | ||
656 | }; | ||
657 | "phpdocumentor/reflection-common" = { | ||
658 | targetDir = ""; | ||
659 | src = composerEnv.buildZipPackage { | ||
660 | name = "phpdocumentor-reflection-common-21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"; | ||
661 | src = fetchurl { | ||
662 | url = https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6; | ||
663 | sha256 = "1yaf1zg9lnkfnq2ndpviv0hg5bza9vjvv5l4wgcn25lx1p8a94w2"; | ||
664 | }; | ||
665 | }; | ||
666 | }; | ||
667 | "phpdocumentor/reflection-docblock" = { | ||
668 | targetDir = ""; | ||
669 | src = composerEnv.buildZipPackage { | ||
670 | name = "phpdocumentor-reflection-docblock-94fd0001232e47129dd3504189fa1c7225010d08"; | ||
671 | src = fetchurl { | ||
672 | url = https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08; | ||
673 | sha256 = "03zvxqb5n9ddvysj8mjdwf59h7sagj5x5z15nhs7mqpcky1w388x"; | ||
674 | }; | ||
675 | }; | ||
676 | }; | ||
677 | "phpdocumentor/type-resolver" = { | ||
678 | targetDir = ""; | ||
679 | src = composerEnv.buildZipPackage { | ||
680 | name = "phpdocumentor-type-resolver-9c977708995954784726e25d0cd1dddf4e65b0f7"; | ||
681 | src = fetchurl { | ||
682 | url = https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7; | ||
683 | sha256 = "0h888r2iy2290yp9i3fij8wd5b7960yi7yn1rwh26x1xxd83n2mb"; | ||
684 | }; | ||
685 | }; | ||
686 | }; | ||
687 | "phpspec/prophecy" = { | ||
688 | targetDir = ""; | ||
689 | src = composerEnv.buildZipPackage { | ||
690 | name = "phpspec-prophecy-4ba436b55987b4bf311cb7c6ba82aa528aac0a06"; | ||
691 | src = fetchurl { | ||
692 | url = https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06; | ||
693 | sha256 = "0sz9fg8r4yvpgrhsh6qaic3p89pafdj8bdf4izbcccq6mdhclxn6"; | ||
694 | }; | ||
695 | }; | ||
696 | }; | ||
697 | "phpunit/php-code-coverage" = { | ||
698 | targetDir = ""; | ||
699 | src = composerEnv.buildZipPackage { | ||
700 | name = "phpunit-php-code-coverage-eabf68b476ac7d0f73793aada060f1c1a9bf8979"; | ||
701 | src = fetchurl { | ||
702 | url = https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979; | ||
703 | sha256 = "0xfkf2kaqrid0ajr8qfh3qnpiqqddl0cmmdy6hd7l9y7ziy6qz8d"; | ||
704 | }; | ||
705 | }; | ||
706 | }; | ||
707 | "phpunit/php-file-iterator" = { | ||
708 | targetDir = ""; | ||
709 | src = composerEnv.buildZipPackage { | ||
710 | name = "phpunit-php-file-iterator-730b01bc3e867237eaac355e06a36b85dd93a8b4"; | ||
711 | src = fetchurl { | ||
712 | url = https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4; | ||
713 | sha256 = "0kbg907g9hrx7pv8v0wnf4ifqywdgvigq6y6z00lyhgd0b8is060"; | ||
714 | }; | ||
715 | }; | ||
716 | }; | ||
717 | "phpunit/php-text-template" = { | ||
718 | targetDir = ""; | ||
719 | src = composerEnv.buildZipPackage { | ||
720 | name = "phpunit-php-text-template-31f8b717e51d9a2afca6c9f046f5d69fc27c8686"; | ||
721 | src = fetchurl { | ||
722 | url = https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686; | ||
723 | sha256 = "1y03m38qqvsbvyakd72v4dram81dw3swyn5jpss153i5nmqr4p76"; | ||
724 | }; | ||
725 | }; | ||
726 | }; | ||
727 | "phpunit/php-timer" = { | ||
728 | targetDir = ""; | ||
729 | src = composerEnv.buildZipPackage { | ||
730 | name = "phpunit-php-timer-3dcf38ca72b158baf0bc245e9184d3fdffa9c46f"; | ||
731 | src = fetchurl { | ||
732 | url = https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f; | ||
733 | sha256 = "1j04r0hqzrv6m1jk5nb92k2nnana72nscqpfk3rgv3fzrrv69ljr"; | ||
734 | }; | ||
735 | }; | ||
736 | }; | ||
737 | "phpunit/php-token-stream" = { | ||
738 | targetDir = ""; | ||
739 | src = composerEnv.buildZipPackage { | ||
740 | name = "phpunit-php-token-stream-1ce90ba27c42e4e44e6d8458241466380b51fa16"; | ||
741 | src = fetchurl { | ||
742 | url = https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16; | ||
743 | sha256 = "0j1v83m268cddhyzi8qvqfzhpz12hrm3dyw6skyqvljdp7l9x6lk"; | ||
744 | }; | ||
745 | }; | ||
746 | }; | ||
747 | "phpunit/phpunit" = { | ||
748 | targetDir = ""; | ||
749 | src = composerEnv.buildZipPackage { | ||
750 | name = "phpunit-phpunit-46023de9a91eec7dfb06cc56cb4e260017298517"; | ||
751 | src = fetchurl { | ||
752 | url = https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517; | ||
753 | sha256 = "0mxhgcmc575hw3n7czindgqiha8jhdi4p19h883vf15fg6xf5iv6"; | ||
754 | }; | ||
755 | }; | ||
756 | }; | ||
757 | "phpunit/phpunit-mock-objects" = { | ||
758 | targetDir = ""; | ||
759 | src = composerEnv.buildZipPackage { | ||
760 | name = "phpunit-phpunit-mock-objects-ac8e7a3db35738d56ee9a76e78a4e03d97628983"; | ||
761 | src = fetchurl { | ||
762 | url = https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983; | ||
763 | sha256 = "0s7nyyafdqw2hp7wsd2mxnjxpk26630vv3wii6hcdb0q8xy8r78i"; | ||
764 | }; | ||
765 | }; | ||
766 | }; | ||
767 | "sebastian/comparator" = { | ||
768 | targetDir = ""; | ||
769 | src = composerEnv.buildZipPackage { | ||
770 | name = "sebastian-comparator-2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"; | ||
771 | src = fetchurl { | ||
772 | url = https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be; | ||
773 | sha256 = "0ymarxgnr8b3iy0w18h5z13iiv0ja17vjryryzfcwlqqhlc6w7iq"; | ||
774 | }; | ||
775 | }; | ||
776 | }; | ||
777 | "sebastian/diff" = { | ||
778 | targetDir = ""; | ||
779 | src = composerEnv.buildZipPackage { | ||
780 | name = "sebastian-diff-7f066a26a962dbe58ddea9f72a4e82874a3975a4"; | ||
781 | src = fetchurl { | ||
782 | url = https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4; | ||
783 | sha256 = "1ppx21vjj79z6d584ryq451k7kvdc511awmqjkj9g4vxj1s1h3j6"; | ||
784 | }; | ||
785 | }; | ||
786 | }; | ||
787 | "sebastian/environment" = { | ||
788 | targetDir = ""; | ||
789 | src = composerEnv.buildZipPackage { | ||
790 | name = "sebastian-environment-be2c607e43ce4c89ecd60e75c6a85c126e754aea"; | ||
791 | src = fetchurl { | ||
792 | url = https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea; | ||
793 | sha256 = "0gzgnk847kf18krq4ybbi2knzj7i0kdghsdlj6qynzzrlf7idij0"; | ||
794 | }; | ||
795 | }; | ||
796 | }; | ||
797 | "sebastian/exporter" = { | ||
798 | targetDir = ""; | ||
799 | src = composerEnv.buildZipPackage { | ||
800 | name = "sebastian-exporter-42c4c2eec485ee3e159ec9884f95b431287edde4"; | ||
801 | src = fetchurl { | ||
802 | url = https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4; | ||
803 | sha256 = "1p5mc4lqwxn79v06jjlgqxynblywcxw2mkhbf6r4jlz0bsrqafxn"; | ||
804 | }; | ||
805 | }; | ||
806 | }; | ||
807 | "sebastian/global-state" = { | ||
808 | targetDir = ""; | ||
809 | src = composerEnv.buildZipPackage { | ||
810 | name = "sebastian-global-state-bc37d50fea7d017d3d340f230811c9f1d7280af4"; | ||
811 | src = fetchurl { | ||
812 | url = https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4; | ||
813 | sha256 = "0y1x16mf9q38s7rlc7k2s6sxn2ccxmyk1q5zgh24hr4yp035f0pb"; | ||
814 | }; | ||
815 | }; | ||
816 | }; | ||
817 | "sebastian/recursion-context" = { | ||
818 | targetDir = ""; | ||
819 | src = composerEnv.buildZipPackage { | ||
820 | name = "sebastian-recursion-context-b19cc3298482a335a95f3016d2f8a6950f0fbcd7"; | ||
821 | src = fetchurl { | ||
822 | url = https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7; | ||
823 | sha256 = "1i9xdv55nkg1yy5q4lmpq1jsjif69hjrwmr1zha6b5qjf6ivlvjm"; | ||
824 | }; | ||
825 | }; | ||
826 | }; | ||
827 | "sebastian/version" = { | ||
828 | targetDir = ""; | ||
829 | src = composerEnv.buildZipPackage { | ||
830 | name = "sebastian-version-58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"; | ||
831 | src = fetchurl { | ||
832 | url = https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6; | ||
833 | sha256 = "1s71b6ss29pcsm0120myriwnzla1kpj13f3f739c7k1wfm69h4wz"; | ||
834 | }; | ||
835 | }; | ||
836 | }; | ||
837 | "sensio/generator-bundle" = { | ||
838 | targetDir = ""; | ||
839 | src = composerEnv.buildZipPackage { | ||
840 | name = "sensio-generator-bundle-28cbaa244bd0816fd8908b93f90380bcd7b67a65"; | ||
841 | src = fetchurl { | ||
842 | url = https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/28cbaa244bd0816fd8908b93f90380bcd7b67a65; | ||
843 | sha256 = "1j09y037xk843q8gcyfmwgy6dmn0h67pd5jnsvhj08h92ssbl0c3"; | ||
844 | }; | ||
845 | }; | ||
846 | }; | ||
847 | "symfony/phpunit-bridge" = { | ||
848 | targetDir = ""; | ||
849 | src = composerEnv.buildZipPackage { | ||
850 | name = "symfony-phpunit-bridge-2155067dfc73e0e77dbc26f236af17e4df552de5"; | ||
851 | src = fetchurl { | ||
852 | url = https://api.github.com/repos/symfony/phpunit-bridge/zipball/2155067dfc73e0e77dbc26f236af17e4df552de5; | ||
853 | sha256 = "1fhqyhvns69pkv086d1sp918bakqq9pk9d16nzck2s4pfdf097pj"; | ||
854 | }; | ||
855 | }; | ||
856 | }; | ||
857 | "webmozart/assert" = { | ||
858 | targetDir = ""; | ||
859 | src = composerEnv.buildZipPackage { | ||
860 | name = "webmozart-assert-83e253c8e0be5b0257b881e1827274667c5c17a9"; | ||
861 | src = fetchurl { | ||
862 | url = https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9; | ||
863 | sha256 = "0d84b0ms9mjpqx368gs7c3qs06mpbx5565j3vs43b1ygnyhhhaqk"; | ||
864 | }; | ||
865 | }; | ||
866 | }; | ||
867 | }; | ||
868 | } | ||
diff --git a/virtual/modules/websites/phpfpm/default.nix b/virtual/modules/websites/phpfpm/default.nix deleted file mode 100644 index 3c6f027..0000000 --- a/virtual/modules/websites/phpfpm/default.nix +++ /dev/null | |||
@@ -1,178 +0,0 @@ | |||
1 | { config, lib, pkgs, ... }: | ||
2 | |||
3 | with lib; | ||
4 | |||
5 | let | ||
6 | cfg = config.services.myPhpfpm; | ||
7 | enabled = cfg.poolConfigs != {} || cfg.pools != {}; | ||
8 | |||
9 | stateDir = "/run/phpfpm"; | ||
10 | |||
11 | poolConfigs = cfg.poolConfigs // mapAttrs mkPool cfg.pools; | ||
12 | |||
13 | mkPool = n: p: '' | ||
14 | listen = ${p.listen} | ||
15 | ${p.extraConfig} | ||
16 | ''; | ||
17 | |||
18 | fpmCfgFile = pool: poolConfig: pkgs.writeText "phpfpm-${pool}.conf" '' | ||
19 | [global] | ||
20 | error_log = syslog | ||
21 | daemonize = no | ||
22 | ${cfg.extraConfig} | ||
23 | |||
24 | [${pool}] | ||
25 | ${poolConfig} | ||
26 | ''; | ||
27 | |||
28 | phpIni = poolPhpOptions: (pkgs.runCommand "php.ini" { | ||
29 | inherit (cfg) phpPackage phpOptions; | ||
30 | inherit poolPhpOptions; | ||
31 | nixDefaults = '' | ||
32 | sendmail_path = "/run/wrappers/bin/sendmail -t -i" | ||
33 | ''; | ||
34 | passAsFile = [ "nixDefaults" "phpOptions" "poolPhpOptions" ]; | ||
35 | } '' | ||
36 | cat $phpPackage/etc/php.ini $nixDefaultsPath $phpOptionsPath $poolPhpOptionsPath > $out | ||
37 | ''); | ||
38 | |||
39 | in { | ||
40 | |||
41 | options = { | ||
42 | services.myPhpfpm = { | ||
43 | extraConfig = mkOption { | ||
44 | type = types.lines; | ||
45 | default = ""; | ||
46 | description = '' | ||
47 | Extra configuration that should be put in the global section of | ||
48 | the PHP-FPM configuration file. Do not specify the options | ||
49 | <literal>error_log</literal> or | ||
50 | <literal>daemonize</literal> here, since they are generated by | ||
51 | NixOS. | ||
52 | ''; | ||
53 | }; | ||
54 | |||
55 | phpPackage = mkOption { | ||
56 | type = types.package; | ||
57 | default = pkgs.php; | ||
58 | defaultText = "pkgs.php"; | ||
59 | description = '' | ||
60 | The PHP package to use for running the PHP-FPM service. | ||
61 | ''; | ||
62 | }; | ||
63 | |||
64 | phpOptions = mkOption { | ||
65 | type = types.lines; | ||
66 | default = ""; | ||
67 | example = | ||
68 | '' | ||
69 | date.timezone = "CET" | ||
70 | ''; | ||
71 | description = | ||
72 | "Options appended to the PHP configuration file <filename>php.ini</filename>."; | ||
73 | }; | ||
74 | |||
75 | poolPhpConfigs = mkOption { | ||
76 | default = {}; | ||
77 | type = types.attrsOf types.lines; | ||
78 | example = literalExample '' | ||
79 | { mypool = ''' | ||
80 | extension = some_extension.so | ||
81 | '''; | ||
82 | } | ||
83 | ''; | ||
84 | description = '' | ||
85 | Extra lines that go into the php configuration specific to pool. | ||
86 | ''; | ||
87 | }; | ||
88 | |||
89 | poolConfigs = mkOption { | ||
90 | default = {}; | ||
91 | type = types.attrsOf types.lines; | ||
92 | example = literalExample '' | ||
93 | { mypool = ''' | ||
94 | listen = /run/phpfpm/mypool | ||
95 | user = nobody | ||
96 | pm = dynamic | ||
97 | pm.max_children = 75 | ||
98 | pm.start_servers = 10 | ||
99 | pm.min_spare_servers = 5 | ||
100 | pm.max_spare_servers = 20 | ||
101 | pm.max_requests = 500 | ||
102 | '''; | ||
103 | } | ||
104 | ''; | ||
105 | description = '' | ||
106 | A mapping between PHP-FPM pool names and their configurations. | ||
107 | See the documentation on <literal>php-fpm.conf</literal> for | ||
108 | details on configuration directives. If no pools are defined, | ||
109 | the phpfpm service is disabled. | ||
110 | ''; | ||
111 | }; | ||
112 | |||
113 | pools = mkOption { | ||
114 | type = types.attrsOf (types.submodule (import ./pool-options.nix { | ||
115 | inherit lib; | ||
116 | })); | ||
117 | default = {}; | ||
118 | example = literalExample '' | ||
119 | { | ||
120 | mypool = { | ||
121 | listen = "/path/to/unix/socket"; | ||
122 | extraConfig = ''' | ||
123 | user = nobody | ||
124 | pm = dynamic | ||
125 | pm.max_children = 75 | ||
126 | pm.start_servers = 10 | ||
127 | pm.min_spare_servers = 5 | ||
128 | pm.max_spare_servers = 20 | ||
129 | pm.max_requests = 500 | ||
130 | '''; | ||
131 | } | ||
132 | }''; | ||
133 | description = '' | ||
134 | PHP-FPM pools. If no pools or poolConfigs are defined, the PHP-FPM | ||
135 | service is disabled. | ||
136 | ''; | ||
137 | }; | ||
138 | }; | ||
139 | }; | ||
140 | |||
141 | config = mkIf enabled { | ||
142 | |||
143 | systemd.slices.phpfpm = { | ||
144 | description = "PHP FastCGI Process manager pools slice"; | ||
145 | }; | ||
146 | |||
147 | systemd.targets.phpfpm = { | ||
148 | description = "PHP FastCGI Process manager pools target"; | ||
149 | wantedBy = [ "multi-user.target" ]; | ||
150 | }; | ||
151 | |||
152 | systemd.services = flip mapAttrs' poolConfigs (pool: poolConfig: | ||
153 | nameValuePair "phpfpm-${pool}" { | ||
154 | description = "PHP FastCGI Process Manager service for pool ${pool}"; | ||
155 | after = [ "network.target" ]; | ||
156 | wantedBy = [ "phpfpm.target" ]; | ||
157 | partOf = [ "phpfpm.target" ]; | ||
158 | preStart = '' | ||
159 | mkdir -p ${stateDir} | ||
160 | ''; | ||
161 | serviceConfig = let | ||
162 | cfgFile = fpmCfgFile pool poolConfig; | ||
163 | poolPhpIni = cfg.poolPhpConfigs.${pool} or ""; | ||
164 | in { | ||
165 | Slice = "phpfpm.slice"; | ||
166 | PrivateDevices = true; | ||
167 | ProtectSystem = "full"; | ||
168 | ProtectHome = true; | ||
169 | # XXX: We need AF_NETLINK to make the sendmail SUID binary from postfix work | ||
170 | RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6 AF_NETLINK"; | ||
171 | Type = "notify"; | ||
172 | ExecStart = "${cfg.phpPackage}/bin/php-fpm -y ${cfgFile} -c ${phpIni poolPhpIni}"; | ||
173 | ExecReload = "${pkgs.coreutils}/bin/kill -USR2 $MAINPID"; | ||
174 | }; | ||
175 | } | ||
176 | ); | ||
177 | }; | ||
178 | } | ||
diff --git a/virtual/modules/websites/phpfpm/pool-options.nix b/virtual/modules/websites/phpfpm/pool-options.nix deleted file mode 100644 index cc688c2..0000000 --- a/virtual/modules/websites/phpfpm/pool-options.nix +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | { lib }: | ||
2 | |||
3 | with lib; { | ||
4 | |||
5 | options = { | ||
6 | |||
7 | listen = mkOption { | ||
8 | type = types.str; | ||
9 | example = "/path/to/unix/socket"; | ||
10 | description = '' | ||
11 | The address on which to accept FastCGI requests. | ||
12 | ''; | ||
13 | }; | ||
14 | |||
15 | extraConfig = mkOption { | ||
16 | type = types.lines; | ||
17 | example = '' | ||
18 | user = nobody | ||
19 | pm = dynamic | ||
20 | pm.max_children = 75 | ||
21 | pm.start_servers = 10 | ||
22 | pm.min_spare_servers = 5 | ||
23 | pm.max_spare_servers = 20 | ||
24 | pm.max_requests = 500 | ||
25 | ''; | ||
26 | |||
27 | description = '' | ||
28 | Extra lines that go into the pool configuration. | ||
29 | See the documentation on <literal>php-fpm.conf</literal> for | ||
30 | details on configuration directives. | ||
31 | ''; | ||
32 | }; | ||
33 | }; | ||
34 | } | ||
35 | |||
diff --git a/virtual/modules/websites/piedsjaloux/default.nix b/virtual/modules/websites/piedsjaloux/default.nix deleted file mode 100644 index f1bb760..0000000 --- a/virtual/modules/websites/piedsjaloux/default.nix +++ /dev/null | |||
@@ -1,67 +0,0 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | ||
2 | let | ||
3 | piedsjaloux = pkgs.callPackage ./piedsjaloux.nix { inherit (mylibs) fetchedGitPrivate; }; | ||
4 | piedsjaloux_dev = piedsjaloux { | ||
5 | config = myconfig.env.websites.piedsjaloux.integration; | ||
6 | }; | ||
7 | piedsjaloux_prod = piedsjaloux { | ||
8 | config = myconfig.env.websites.piedsjaloux.production; | ||
9 | }; | ||
10 | |||
11 | cfg = config.services.myWebsites.PiedsJaloux; | ||
12 | in { | ||
13 | options.services.myWebsites.PiedsJaloux = { | ||
14 | production = { | ||
15 | enable = lib.mkEnableOption "enable PiedsJaloux's website in production"; | ||
16 | }; | ||
17 | integration = { | ||
18 | enable = lib.mkEnableOption "enable PiedsJaloux's website in integration"; | ||
19 | }; | ||
20 | }; | ||
21 | |||
22 | imports = [ | ||
23 | ../commons/stats.nix | ||
24 | ]; | ||
25 | |||
26 | config = lib.mkMerge [ | ||
27 | (lib.mkIf cfg.production.enable { | ||
28 | services.myWebsites.commons.stats.enable = true; | ||
29 | services.myWebsites.commons.stats.sites = [ | ||
30 | { | ||
31 | name = "piedsjaloux.fr"; | ||
32 | conf = ./goaccess.conf; | ||
33 | } | ||
34 | ]; | ||
35 | |||
36 | security.acme.certs."piedsjaloux" = config.services.myCertificates.certConfig // { | ||
37 | domain = "piedsjaloux.fr"; | ||
38 | extraDomains = { | ||
39 | "www.piedsjaloux.fr" = null; | ||
40 | }; | ||
41 | }; | ||
42 | |||
43 | services.myPhpfpm.poolConfigs.piedsjaloux_prod = piedsjaloux_prod.phpFpm.pool; | ||
44 | system.activationScripts.piedsjaloux_prod = piedsjaloux_prod.activationScript; | ||
45 | services.myWebsites.production.modules = piedsjaloux_prod.apache.modules; | ||
46 | services.myWebsites.production.vhostConfs.piedsjaloux = { | ||
47 | certName = "piedsjaloux"; | ||
48 | hosts = [ "piedsjaloux.fr" "www.piedsjaloux.fr" ]; | ||
49 | root = piedsjaloux_prod.webRoot; | ||
50 | extraConfig = [ piedsjaloux_prod.apache.vhostConf ]; | ||
51 | }; | ||
52 | }) | ||
53 | (lib.mkIf cfg.integration.enable { | ||
54 | security.acme.certs."eldiron".extraDomains."piedsjaloux.immae.eu" = null; | ||
55 | services.myPhpfpm.poolConfigs.piedsjaloux_dev = piedsjaloux_dev.phpFpm.pool; | ||
56 | system.activationScripts.piedsjaloux_dev = piedsjaloux_dev.activationScript; | ||
57 | services.myWebsites.integration.modules = piedsjaloux_dev.apache.modules; | ||
58 | services.myWebsites.integration.vhostConfs.piedsjaloux = { | ||
59 | certName = "eldiron"; | ||
60 | hosts = [ "piedsjaloux.immae.eu" ]; | ||
61 | root = piedsjaloux_dev.webRoot; | ||
62 | extraConfig = [ piedsjaloux_dev.apache.vhostConf ]; | ||
63 | }; | ||
64 | }) | ||
65 | ]; | ||
66 | } | ||
67 | |||
diff --git a/virtual/modules/websites/piedsjaloux/goaccess.conf b/virtual/modules/websites/piedsjaloux/goaccess.conf deleted file mode 100644 index 3950f7e..0000000 --- a/virtual/modules/websites/piedsjaloux/goaccess.conf +++ /dev/null | |||
@@ -1,99 +0,0 @@ | |||
1 | time-format %H:%M:%S | ||
2 | date-format %d/%b/%Y | ||
3 | |||
4 | #sur immae.eu | ||
5 | #log-format %v %h %^[%d:%t %^] "%r" %s %b "%R" "%u" $^ | ||
6 | |||
7 | log-format VCOMBINED | ||
8 | #= %v:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u" | ||
9 | |||
10 | html-prefs {"theme":"bright","layout":"vertical"} | ||
11 | |||
12 | exclude-ip 188.165.209.148 | ||
13 | exclude-ip 178.33.252.96 | ||
14 | exclude-ip 2001:41d0:2:9c94::1 | ||
15 | exclude-ip 2001:41d0:2:9c94:: | ||
16 | exclude-ip 176.9.151.89 | ||
17 | exclude-ip 2a01:4f8:160:3445:: | ||
18 | exclude-ip 82.255.56.72 | ||
19 | |||
20 | no-query-string true | ||
21 | |||
22 | keep-db-files true | ||
23 | load-from-disk true | ||
24 | db-path /var/lib/goaccess/piedsjaloux.fr | ||
25 | |||
26 | ignore-panel REFERRERS | ||
27 | ignore-panel KEYPHRASES | ||
28 | |||
29 | static-file .css | ||
30 | static-file .js | ||
31 | static-file .jpg | ||
32 | static-file .png | ||
33 | static-file .gif | ||
34 | static-file .ico | ||
35 | static-file .jpeg | ||
36 | static-file .pdf | ||
37 | static-file .csv | ||
38 | static-file .mpeg | ||
39 | static-file .mpg | ||
40 | static-file .swf | ||
41 | static-file .woff | ||
42 | static-file .woff2 | ||
43 | static-file .xls | ||
44 | static-file .xlsx | ||
45 | static-file .doc | ||
46 | static-file .docx | ||
47 | static-file .ppt | ||
48 | static-file .pptx | ||
49 | static-file .txt | ||
50 | static-file .zip | ||
51 | static-file .ogg | ||
52 | static-file .mp3 | ||
53 | static-file .mp4 | ||
54 | static-file .exe | ||
55 | static-file .iso | ||
56 | static-file .gz | ||
57 | static-file .rar | ||
58 | static-file .svg | ||
59 | static-file .bmp | ||
60 | static-file .tar | ||
61 | static-file .tgz | ||
62 | static-file .tiff | ||
63 | static-file .tif | ||
64 | static-file .ttf | ||
65 | static-file .flv | ||
66 | #static-file .less | ||
67 | #static-file .ac3 | ||
68 | #static-file .avi | ||
69 | #static-file .bz2 | ||
70 | #static-file .class | ||
71 | #static-file .cue | ||
72 | #static-file .dae | ||
73 | #static-file .dat | ||
74 | #static-file .dts | ||
75 | #static-file .ejs | ||
76 | #static-file .eot | ||
77 | #static-file .eps | ||
78 | #static-file .img | ||
79 | #static-file .jar | ||
80 | #static-file .map | ||
81 | #static-file .mid | ||
82 | #static-file .midi | ||
83 | #static-file .ogv | ||
84 | #static-file .webm | ||
85 | #static-file .mkv | ||
86 | #static-file .odp | ||
87 | #static-file .ods | ||
88 | #static-file .odt | ||
89 | #static-file .otf | ||
90 | #static-file .pict | ||
91 | #static-file .pls | ||
92 | #static-file .ps | ||
93 | #static-file .qt | ||
94 | #static-file .rm | ||
95 | #static-file .svgz | ||
96 | #static-file .wav | ||
97 | #static-file .webp | ||
98 | |||
99 | |||
diff --git a/virtual/modules/websites/piedsjaloux/php-packages.nix b/virtual/modules/websites/piedsjaloux/php-packages.nix deleted file mode 100644 index 49c5bd2..0000000 --- a/virtual/modules/websites/piedsjaloux/php-packages.nix +++ /dev/null | |||
@@ -1,1009 +0,0 @@ | |||
1 | # Generated with composer2nix and adapted to return only the list of | ||
2 | # packages | ||
3 | { composerEnv, fetchurl, fetchgit ? null }: | ||
4 | { | ||
5 | packages = { | ||
6 | "behat/transliterator" = { | ||
7 | targetDir = ""; | ||
8 | src = composerEnv.buildZipPackage { | ||
9 | name = "behat-transliterator-826ce7e9c2a6664c0d1f381cbb38b1fb80a7ee2c"; | ||
10 | src = fetchurl { | ||
11 | url = https://api.github.com/repos/Behat/Transliterator/zipball/826ce7e9c2a6664c0d1f381cbb38b1fb80a7ee2c; | ||
12 | sha256 = "1mgc9azx79fkrxahji3xwbgqhlcnvh3xk6llqdvhjb7vgzj4bqq0"; | ||
13 | }; | ||
14 | }; | ||
15 | }; | ||
16 | "components/bootstrap" = { | ||
17 | targetDir = ""; | ||
18 | src = composerEnv.buildZipPackage { | ||
19 | name = "components-bootstrap-5d60b2efd3159e1a9e203901849b3493c5aac61f"; | ||
20 | src = fetchurl { | ||
21 | url = https://api.github.com/repos/components/bootstrap/zipball/5d60b2efd3159e1a9e203901849b3493c5aac61f; | ||
22 | sha256 = "0jdyxl86dr2lf8az1vby84i7kdn1qcqkp8fy60rs18gav0aqp4fg"; | ||
23 | }; | ||
24 | }; | ||
25 | }; | ||
26 | "components/jquery" = { | ||
27 | targetDir = ""; | ||
28 | src = composerEnv.buildZipPackage { | ||
29 | name = "components-jquery-459648cda77875519c5da3ae1dd0ed5d170aa649"; | ||
30 | src = fetchurl { | ||
31 | url = https://api.github.com/repos/components/jquery/zipball/459648cda77875519c5da3ae1dd0ed5d170aa649; | ||
32 | sha256 = "04jv8yifhwx0cpkw3y3ng0bs2dv77pzrdd640p59rjxwba6r1lbb"; | ||
33 | }; | ||
34 | }; | ||
35 | }; | ||
36 | "components/jqueryui" = { | ||
37 | targetDir = ""; | ||
38 | src = composerEnv.buildZipPackage { | ||
39 | name = "components-jqueryui-c34f8dbf3ba57b3784b93f26119f436c0e8288e1"; | ||
40 | src = fetchurl { | ||
41 | url = https://api.github.com/repos/components/jqueryui/zipball/c34f8dbf3ba57b3784b93f26119f436c0e8288e1; | ||
42 | sha256 = "00nkg6z8g6l3jysyzsfmfxhxqcdsd3jfqib28j8kn2frzx508xv9"; | ||
43 | }; | ||
44 | }; | ||
45 | }; | ||
46 | "composer/ca-bundle" = { | ||
47 | targetDir = ""; | ||
48 | src = composerEnv.buildZipPackage { | ||
49 | name = "composer-ca-bundle-8afa52cd417f4ec417b4bfe86b68106538a87660"; | ||
50 | src = fetchurl { | ||
51 | url = https://api.github.com/repos/composer/ca-bundle/zipball/8afa52cd417f4ec417b4bfe86b68106538a87660; | ||
52 | sha256 = "18b0gq29frjf4yhl4sl3i3zbz6zr3qjgsjb8cjdhz65vpb50581p"; | ||
53 | }; | ||
54 | }; | ||
55 | }; | ||
56 | "container-interop/container-interop" = { | ||
57 | targetDir = ""; | ||
58 | src = composerEnv.buildZipPackage { | ||
59 | name = "container-interop-container-interop-79cbf1341c22ec75643d841642dd5d6acd83bdb8"; | ||
60 | src = fetchurl { | ||
61 | url = https://api.github.com/repos/container-interop/container-interop/zipball/79cbf1341c22ec75643d841642dd5d6acd83bdb8; | ||
62 | sha256 = "1pxm461g5flcq50yabr01nw8w17n3g7klpman9ps3im4z0604m52"; | ||
63 | }; | ||
64 | }; | ||
65 | }; | ||
66 | "dmishh/settings-bundle" = { | ||
67 | targetDir = ""; | ||
68 | src = composerEnv.buildZipPackage { | ||
69 | name = "dmishh-settings-bundle-0ee48b015691694a8dcbd3ee654d33386e7bf478"; | ||
70 | src = fetchurl { | ||
71 | url = https://api.github.com/repos/dmishh/SettingsBundle/zipball/0ee48b015691694a8dcbd3ee654d33386e7bf478; | ||
72 | sha256 = "0m2fw5shvnkqlz0nm27ggpmkipfh377y1hjsw343zv1nn72nxfqf"; | ||
73 | }; | ||
74 | }; | ||
75 | }; | ||
76 | "doctrine/annotations" = { | ||
77 | targetDir = ""; | ||
78 | src = composerEnv.buildZipPackage { | ||
79 | name = "doctrine-annotations-c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5"; | ||
80 | src = fetchurl { | ||
81 | url = https://api.github.com/repos/doctrine/annotations/zipball/c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5; | ||
82 | sha256 = "0b80xpqd3j99xgm0c41kbgy0k6knrfnd29223c93295sb12112g7"; | ||
83 | }; | ||
84 | }; | ||
85 | }; | ||
86 | "doctrine/cache" = { | ||
87 | targetDir = ""; | ||
88 | src = composerEnv.buildZipPackage { | ||
89 | name = "doctrine-cache-d768d58baee9a4862ca783840eca1b9add7a7f57"; | ||
90 | src = fetchurl { | ||
91 | url = https://api.github.com/repos/doctrine/cache/zipball/d768d58baee9a4862ca783840eca1b9add7a7f57; | ||
92 | sha256 = "1kljhw4gqp12iz88h6ymsrlfir2fis7icn6dffyizfc1csyb4s2i"; | ||
93 | }; | ||
94 | }; | ||
95 | }; | ||
96 | "doctrine/collections" = { | ||
97 | targetDir = ""; | ||
98 | src = composerEnv.buildZipPackage { | ||
99 | name = "doctrine-collections-a01ee38fcd999f34d9bfbcee59dbda5105449cbf"; | ||
100 | src = fetchurl { | ||
101 | url = https://api.github.com/repos/doctrine/collections/zipball/a01ee38fcd999f34d9bfbcee59dbda5105449cbf; | ||
102 | sha256 = "0d36zc21ka0pdac9xpkxsgf5zzw9gp0m9lk3r3xs5y70j0lkkkis"; | ||
103 | }; | ||
104 | }; | ||
105 | }; | ||
106 | "doctrine/common" = { | ||
107 | targetDir = ""; | ||
108 | src = composerEnv.buildZipPackage { | ||
109 | name = "doctrine-common-30e33f60f64deec87df728c02b107f82cdafad9d"; | ||
110 | src = fetchurl { | ||
111 | url = https://api.github.com/repos/doctrine/common/zipball/30e33f60f64deec87df728c02b107f82cdafad9d; | ||
112 | sha256 = "0s4vv14ibyx62a9aj3wn5cs2bbxd72fajmfmi8qb5l11gx0375na"; | ||
113 | }; | ||
114 | }; | ||
115 | }; | ||
116 | "doctrine/dbal" = { | ||
117 | targetDir = ""; | ||
118 | src = composerEnv.buildZipPackage { | ||
119 | name = "doctrine-dbal-22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9"; | ||
120 | src = fetchurl { | ||
121 | url = https://api.github.com/repos/doctrine/dbal/zipball/22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9; | ||
122 | sha256 = "0kbahs699jd8pxf512dgg7arv49dc7qzi3mx8snxqm4h15n5brnj"; | ||
123 | }; | ||
124 | }; | ||
125 | }; | ||
126 | "doctrine/doctrine-bundle" = { | ||
127 | targetDir = ""; | ||
128 | src = composerEnv.buildZipPackage { | ||
129 | name = "doctrine-doctrine-bundle-82d2c63cd09acbde2332f55d9aa7b28aefe4983d"; | ||
130 | src = fetchurl { | ||
131 | url = https://api.github.com/repos/doctrine/DoctrineBundle/zipball/82d2c63cd09acbde2332f55d9aa7b28aefe4983d; | ||
132 | sha256 = "0gzrigv360rp50yxpwidbkf8vlagym0w1if010yz5xcfrz37cpn3"; | ||
133 | }; | ||
134 | }; | ||
135 | }; | ||
136 | "doctrine/doctrine-cache-bundle" = { | ||
137 | targetDir = ""; | ||
138 | src = composerEnv.buildZipPackage { | ||
139 | name = "doctrine-doctrine-cache-bundle-5514c90d9fb595e1095e6d66ebb98ce9ef049927"; | ||
140 | src = fetchurl { | ||
141 | url = https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/5514c90d9fb595e1095e6d66ebb98ce9ef049927; | ||
142 | sha256 = "04njrfhw4fc2ifacd9h0wd9i14l7ycv3hanbqrw5ilsai02j6asa"; | ||
143 | }; | ||
144 | }; | ||
145 | }; | ||
146 | "doctrine/doctrine-migrations-bundle" = { | ||
147 | targetDir = ""; | ||
148 | src = composerEnv.buildZipPackage { | ||
149 | name = "doctrine-doctrine-migrations-bundle-49fa399181db4bf4f9f725126bd1cb65c4398dce"; | ||
150 | src = fetchurl { | ||
151 | url = https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/49fa399181db4bf4f9f725126bd1cb65c4398dce; | ||
152 | sha256 = "1a73xjhjrjlvkh8d253kfc2rbxd2h4hwafhv5078dy7rg6x9blyn"; | ||
153 | }; | ||
154 | }; | ||
155 | }; | ||
156 | "doctrine/event-manager" = { | ||
157 | targetDir = ""; | ||
158 | src = composerEnv.buildZipPackage { | ||
159 | name = "doctrine-event-manager-a520bc093a0170feeb6b14e9d83f3a14452e64b3"; | ||
160 | src = fetchurl { | ||
161 | url = https://api.github.com/repos/doctrine/event-manager/zipball/a520bc093a0170feeb6b14e9d83f3a14452e64b3; | ||
162 | sha256 = "165cxvw4idqj01l63nya2whpdb3fz6ld54rx198b71bzwfrydl88"; | ||
163 | }; | ||
164 | }; | ||
165 | }; | ||
166 | "doctrine/inflector" = { | ||
167 | targetDir = ""; | ||
168 | src = composerEnv.buildZipPackage { | ||
169 | name = "doctrine-inflector-5527a48b7313d15261292c149e55e26eae771b0a"; | ||
170 | src = fetchurl { | ||
171 | url = https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a; | ||
172 | sha256 = "0ng6vlwjr8h6hqwa32ynykz1mhlfsff5hirjidlk086ab6njppa5"; | ||
173 | }; | ||
174 | }; | ||
175 | }; | ||
176 | "doctrine/instantiator" = { | ||
177 | targetDir = ""; | ||
178 | src = composerEnv.buildZipPackage { | ||
179 | name = "doctrine-instantiator-185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"; | ||
180 | src = fetchurl { | ||
181 | url = https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda; | ||
182 | sha256 = "1mah9a6mb30qad1zryzjain2dxw29d8h4bjkbcs3srpm3p891msy"; | ||
183 | }; | ||
184 | }; | ||
185 | }; | ||
186 | "doctrine/lexer" = { | ||
187 | targetDir = ""; | ||
188 | src = composerEnv.buildZipPackage { | ||
189 | name = "doctrine-lexer-83893c552fd2045dd78aef794c31e694c37c0b8c"; | ||
190 | src = fetchurl { | ||
191 | url = https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c; | ||
192 | sha256 = "0cyh3vwcl163cx1vrcwmhlh5jg9h47xwiqgzc6rwscxw0ppd1v74"; | ||
193 | }; | ||
194 | }; | ||
195 | }; | ||
196 | "doctrine/migrations" = { | ||
197 | targetDir = ""; | ||
198 | src = composerEnv.buildZipPackage { | ||
199 | name = "doctrine-migrations-215438c0eef3e5f9b7da7d09c6b90756071b43e6"; | ||
200 | src = fetchurl { | ||
201 | url = https://api.github.com/repos/doctrine/migrations/zipball/215438c0eef3e5f9b7da7d09c6b90756071b43e6; | ||
202 | sha256 = "0k6sgw65vji9rgib10mq2m634m41a67inspkrcw4qixig2lnb3ld"; | ||
203 | }; | ||
204 | }; | ||
205 | }; | ||
206 | "doctrine/orm" = { | ||
207 | targetDir = ""; | ||
208 | src = composerEnv.buildZipPackage { | ||
209 | name = "doctrine-orm-434820973cadf2da2d66e7184be370084cc32ca8"; | ||
210 | src = fetchurl { | ||
211 | url = https://api.github.com/repos/doctrine/orm/zipball/434820973cadf2da2d66e7184be370084cc32ca8; | ||
212 | sha256 = "114fyq8kaf5qzfkp8sdygqflf3z94va1cs5c3scycfpg9cmi4gls"; | ||
213 | }; | ||
214 | }; | ||
215 | }; | ||
216 | "doctrine/persistence" = { | ||
217 | targetDir = ""; | ||
218 | src = composerEnv.buildZipPackage { | ||
219 | name = "doctrine-persistence-c0f1c17602afc18b4cbd8e1c8125f264c9cf7d38"; | ||
220 | src = fetchurl { | ||
221 | url = https://api.github.com/repos/doctrine/persistence/zipball/c0f1c17602afc18b4cbd8e1c8125f264c9cf7d38; | ||
222 | sha256 = "0xdm5n38rjas1mlyxc15sg1as5h7y012mdb0j9lr6cvphgnaxxv7"; | ||
223 | }; | ||
224 | }; | ||
225 | }; | ||
226 | "doctrine/reflection" = { | ||
227 | targetDir = ""; | ||
228 | src = composerEnv.buildZipPackage { | ||
229 | name = "doctrine-reflection-02538d3f95e88eb397a5f86274deb2c6175c2ab6"; | ||
230 | src = fetchurl { | ||
231 | url = https://api.github.com/repos/doctrine/reflection/zipball/02538d3f95e88eb397a5f86274deb2c6175c2ab6; | ||
232 | sha256 = "12n9zik4lxb9lx1jf0nbvg9vl9nv958a7z1yjx48scfxd1d1sxjy"; | ||
233 | }; | ||
234 | }; | ||
235 | }; | ||
236 | "eko/feedbundle" = { | ||
237 | targetDir = ""; | ||
238 | src = composerEnv.buildZipPackage { | ||
239 | name = "eko-feedbundle-d4e626616d9ccf6527212d3bdda15f9af3838e4f"; | ||
240 | src = fetchurl { | ||
241 | url = https://api.github.com/repos/eko/FeedBundle/zipball/d4e626616d9ccf6527212d3bdda15f9af3838e4f; | ||
242 | sha256 = "145f4mq2bpsdayaiqmgz1asmjx2is4v327h2ny2wp03knnkjvnfq"; | ||
243 | }; | ||
244 | }; | ||
245 | }; | ||
246 | "fig/link-util" = { | ||
247 | targetDir = ""; | ||
248 | src = composerEnv.buildZipPackage { | ||
249 | name = "fig-link-util-1a07821801a148be4add11ab0603e4af55a72fac"; | ||
250 | src = fetchurl { | ||
251 | url = https://api.github.com/repos/php-fig/link-util/zipball/1a07821801a148be4add11ab0603e4af55a72fac; | ||
252 | sha256 = "0ky1pq4a17br5zvcychjghgwr6wpkgp409hdv0ljdk3ks90w5w64"; | ||
253 | }; | ||
254 | }; | ||
255 | }; | ||
256 | "gedmo/doctrine-extensions" = { | ||
257 | targetDir = ""; | ||
258 | src = composerEnv.buildZipPackage { | ||
259 | name = "gedmo-doctrine-extensions-87c78ff9fd4b90460386f753d95622f6fbbfcb27"; | ||
260 | src = fetchurl { | ||
261 | url = https://api.github.com/repos/Atlantic18/DoctrineExtensions/zipball/87c78ff9fd4b90460386f753d95622f6fbbfcb27; | ||
262 | sha256 = "0jfg0a19lhdv5b3c032ghknxhvc1f0x2n7fcwp47bm1rbz222q0z"; | ||
263 | }; | ||
264 | }; | ||
265 | }; | ||
266 | "gregwar/captcha" = { | ||
267 | targetDir = ""; | ||
268 | src = composerEnv.buildZipPackage { | ||
269 | name = "gregwar-captcha-cf953dd79748406e0292cea8c565399681e4d345"; | ||
270 | src = fetchurl { | ||
271 | url = https://api.github.com/repos/Gregwar/Captcha/zipball/cf953dd79748406e0292cea8c565399681e4d345; | ||
272 | sha256 = "153m7bkhs3drxk0jfbq67a8vr1m13g7isc4ck44k5hyfzpcazb5i"; | ||
273 | }; | ||
274 | }; | ||
275 | }; | ||
276 | "gregwar/captcha-bundle" = { | ||
277 | targetDir = ""; | ||
278 | src = composerEnv.buildZipPackage { | ||
279 | name = "gregwar-captcha-bundle-c2d5468556890dd25e0b53bd345fc205562c86f7"; | ||
280 | src = fetchurl { | ||
281 | url = https://api.github.com/repos/Gregwar/CaptchaBundle/zipball/c2d5468556890dd25e0b53bd345fc205562c86f7; | ||
282 | sha256 = "04wcvqq457h6v7mzmrar946swd9akk27fmfig4qj8hpxzj250cgk"; | ||
283 | }; | ||
284 | }; | ||
285 | }; | ||
286 | "helios-ag/fm-bbcode-bundle" = { | ||
287 | targetDir = ""; | ||
288 | src = composerEnv.buildZipPackage { | ||
289 | name = "helios-ag-fm-bbcode-bundle-d88ff5ca6c0ab71ec094d5a7d56b0bc8bc100363"; | ||
290 | src = fetchurl { | ||
291 | url = https://api.github.com/repos/helios-ag/FMBbCodeBundle/zipball/d88ff5ca6c0ab71ec094d5a7d56b0bc8bc100363; | ||
292 | sha256 = "13g9ddd2p3nf1vrbkf6l00qdqz89rq6d8l20p68dmiy7mb6kpynl"; | ||
293 | }; | ||
294 | }; | ||
295 | }; | ||
296 | "immae/piedsjaloux-ckeditor-component" = { | ||
297 | targetDir = ""; | ||
298 | src = fetchgit { | ||
299 | name = "immae-piedsjaloux-ckeditor-component-9946db9daaa76448d0e43247472cdedd2a5ea22a"; | ||
300 | url = "https://git.immae.eu/perso/Immae/Projets/packagist/piedsjaloux-ckeditor-component.git"; | ||
301 | rev = "9946db9daaa76448d0e43247472cdedd2a5ea22a"; | ||
302 | sha256 = "183rgl23li3bqsynfmvv2s7jvlmqf6a5pskgrcxlaxcrr0d09n8c"; | ||
303 | }; | ||
304 | }; | ||
305 | "incenteev/composer-parameter-handler" = { | ||
306 | targetDir = ""; | ||
307 | src = composerEnv.buildZipPackage { | ||
308 | name = "incenteev-composer-parameter-handler-933c45a34814f27f2345c11c37d46b3ca7303550"; | ||
309 | src = fetchurl { | ||
310 | url = https://api.github.com/repos/Incenteev/ParameterHandler/zipball/933c45a34814f27f2345c11c37d46b3ca7303550; | ||
311 | sha256 = "1zqdwlcl790kjyz4rkpva35xkfsp8kslds82fzznj0yigkgnbifm"; | ||
312 | }; | ||
313 | }; | ||
314 | }; | ||
315 | "jdorn/sql-formatter" = { | ||
316 | targetDir = ""; | ||
317 | src = composerEnv.buildZipPackage { | ||
318 | name = "jdorn-sql-formatter-64990d96e0959dff8e059dfcdc1af130728d92bc"; | ||
319 | src = fetchurl { | ||
320 | url = https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc; | ||
321 | sha256 = "1dnmkm8mxylvxjwi0bdkzrlklncqx92fa4fwqp5bh2ypj8gaagzi"; | ||
322 | }; | ||
323 | }; | ||
324 | }; | ||
325 | "kriswallsmith/assetic" = { | ||
326 | targetDir = ""; | ||
327 | src = composerEnv.buildZipPackage { | ||
328 | name = "kriswallsmith-assetic-e911c437dbdf006a8f62c2f59b15b2d69a5e0aa1"; | ||
329 | src = fetchurl { | ||
330 | url = https://api.github.com/repos/kriswallsmith/assetic/zipball/e911c437dbdf006a8f62c2f59b15b2d69a5e0aa1; | ||
331 | sha256 = "1dqk4zvx8fgqf8rb81sj9bipl5431jib2b9kcvxyig5fw99irpf8"; | ||
332 | }; | ||
333 | }; | ||
334 | }; | ||
335 | "leapt/im-bundle" = { | ||
336 | targetDir = ""; | ||
337 | src = composerEnv.buildZipPackage { | ||
338 | name = "leapt-im-bundle-83442778d118f6edb537b93f9746c3a97e56c3d1"; | ||
339 | src = fetchurl { | ||
340 | url = https://api.github.com/repos/leapt/im-bundle/zipball/83442778d118f6edb537b93f9746c3a97e56c3d1; | ||
341 | sha256 = "1gm4ih3v1j0xjm7mrpspd3yacdwvbqgag22cyqmix0hc9hw3pc6a"; | ||
342 | }; | ||
343 | }; | ||
344 | }; | ||
345 | "luxifer/doctrine-functions" = { | ||
346 | targetDir = ""; | ||
347 | src = composerEnv.buildZipPackage { | ||
348 | name = "luxifer-doctrine-functions-e1c0bb1a5cb002d9fc82d8b32a5da28c02d34c6c"; | ||
349 | src = fetchurl { | ||
350 | url = https://api.github.com/repos/luxifer/doctrine-functions/zipball/e1c0bb1a5cb002d9fc82d8b32a5da28c02d34c6c; | ||
351 | sha256 = "1sw4826nvs5q0y2na9m26rbxfiaw0kfqwhky7x7apicgx5adqfa9"; | ||
352 | }; | ||
353 | }; | ||
354 | }; | ||
355 | "mjohnson/decoda" = { | ||
356 | targetDir = ""; | ||
357 | src = composerEnv.buildZipPackage { | ||
358 | name = "mjohnson-decoda-8cd0928b78a4bf5ade48b80c934370fc1f5f84a1"; | ||
359 | src = fetchurl { | ||
360 | url = https://api.github.com/repos/milesj/decoda/zipball/8cd0928b78a4bf5ade48b80c934370fc1f5f84a1; | ||
361 | sha256 = "0wcxz9yirz4zir06xvnlchqgppmyasymak06gn46jn6v6c9dsykc"; | ||
362 | }; | ||
363 | }; | ||
364 | }; | ||
365 | "monolog/monolog" = { | ||
366 | targetDir = ""; | ||
367 | src = composerEnv.buildZipPackage { | ||
368 | name = "monolog-monolog-bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266"; | ||
369 | src = fetchurl { | ||
370 | url = https://api.github.com/repos/Seldaek/monolog/zipball/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266; | ||
371 | sha256 = "0h3nnxjf2bdh7nmpqnpij99lqv6bw13r2bx83d8vn5zvblwg5png"; | ||
372 | }; | ||
373 | }; | ||
374 | }; | ||
375 | "ocramius/package-versions" = { | ||
376 | targetDir = ""; | ||
377 | needsModifyRights = true; | ||
378 | src = composerEnv.buildZipPackage { | ||
379 | name = "ocramius-package-versions-4489d5002c49d55576fa0ba786f42dbb009be46f"; | ||
380 | src = fetchurl { | ||
381 | url = https://api.github.com/repos/Ocramius/PackageVersions/zipball/4489d5002c49d55576fa0ba786f42dbb009be46f; | ||
382 | sha256 = "039c404g9597x45xh04bnn8kmcyknkbnr57yb9s7vf29vfrg4881"; | ||
383 | }; | ||
384 | }; | ||
385 | }; | ||
386 | "ocramius/proxy-manager" = { | ||
387 | targetDir = ""; | ||
388 | src = composerEnv.buildZipPackage { | ||
389 | name = "ocramius-proxy-manager-14b137b06b0f911944132df9d51e445a35920ab1"; | ||
390 | src = fetchurl { | ||
391 | url = https://api.github.com/repos/Ocramius/ProxyManager/zipball/14b137b06b0f911944132df9d51e445a35920ab1; | ||
392 | sha256 = "10y5msgh2jdlw4w075fasv40yq01szjy15m3f0wgc89hlfmqz0sn"; | ||
393 | }; | ||
394 | }; | ||
395 | }; | ||
396 | "paragonie/random_compat" = { | ||
397 | targetDir = ""; | ||
398 | src = composerEnv.buildZipPackage { | ||
399 | name = "paragonie-random_compat-84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95"; | ||
400 | src = fetchurl { | ||
401 | url = https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95; | ||
402 | sha256 = "03nsccdvcb79l64b7lsmx0n8ldf5z3v8niqr7bpp6wg401qp9p09"; | ||
403 | }; | ||
404 | }; | ||
405 | }; | ||
406 | "psr/cache" = { | ||
407 | targetDir = ""; | ||
408 | src = composerEnv.buildZipPackage { | ||
409 | name = "psr-cache-d11b50ad223250cf17b86e38383413f5a6764bf8"; | ||
410 | src = fetchurl { | ||
411 | url = https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8; | ||
412 | sha256 = "06i2k3dx3b4lgn9a4v1dlgv8l9wcl4kl7vzhh63lbji0q96hv8qz"; | ||
413 | }; | ||
414 | }; | ||
415 | }; | ||
416 | "psr/container" = { | ||
417 | targetDir = ""; | ||
418 | src = composerEnv.buildZipPackage { | ||
419 | name = "psr-container-b7ce3b176482dbbc1245ebf52b181af44c2cf55f"; | ||
420 | src = fetchurl { | ||
421 | url = https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f; | ||
422 | sha256 = "0rkz64vgwb0gfi09klvgay4qnw993l1dc03vyip7d7m2zxi6cy4j"; | ||
423 | }; | ||
424 | }; | ||
425 | }; | ||
426 | "psr/link" = { | ||
427 | targetDir = ""; | ||
428 | src = composerEnv.buildZipPackage { | ||
429 | name = "psr-link-eea8e8662d5cd3ae4517c9b864493f59fca95562"; | ||
430 | src = fetchurl { | ||
431 | url = https://api.github.com/repos/php-fig/link/zipball/eea8e8662d5cd3ae4517c9b864493f59fca95562; | ||
432 | sha256 = "091k4p9irkqnmq9b0p792wz1hb7dm4rafpjilw9im9xhsxgkmr13"; | ||
433 | }; | ||
434 | }; | ||
435 | }; | ||
436 | "psr/log" = { | ||
437 | targetDir = ""; | ||
438 | src = composerEnv.buildZipPackage { | ||
439 | name = "psr-log-6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd"; | ||
440 | src = fetchurl { | ||
441 | url = https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd; | ||
442 | sha256 = "1i351p3gd1pgjcjxv7mwwkiw79f1xiqr38irq22156h05zlcx80d"; | ||
443 | }; | ||
444 | }; | ||
445 | }; | ||
446 | "psr/simple-cache" = { | ||
447 | targetDir = ""; | ||
448 | src = composerEnv.buildZipPackage { | ||
449 | name = "psr-simple-cache-408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"; | ||
450 | src = fetchurl { | ||
451 | url = https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b; | ||
452 | sha256 = "1djgzclkamjxi9jy4m9ggfzgq1vqxaga2ip7l3cj88p7rwkzjxgw"; | ||
453 | }; | ||
454 | }; | ||
455 | }; | ||
456 | "robloach/component-installer" = { | ||
457 | targetDir = ""; | ||
458 | src = composerEnv.buildZipPackage { | ||
459 | name = "robloach-component-installer-908a859aa7c4949ba9ad67091e67bac10b66d3d7"; | ||
460 | src = fetchurl { | ||
461 | url = https://api.github.com/repos/RobLoach/component-installer/zipball/908a859aa7c4949ba9ad67091e67bac10b66d3d7; | ||
462 | sha256 = "19y5sv4k338bihzmm8iac6q43r18vxhmbpvrdhz8jn39r51ampq9"; | ||
463 | }; | ||
464 | }; | ||
465 | }; | ||
466 | "sensio/distribution-bundle" = { | ||
467 | targetDir = ""; | ||
468 | src = composerEnv.buildZipPackage { | ||
469 | name = "sensio-distribution-bundle-59eac70f15f97ee945924948a6f5e2f6f86b7a4b"; | ||
470 | src = fetchurl { | ||
471 | url = https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/59eac70f15f97ee945924948a6f5e2f6f86b7a4b; | ||
472 | sha256 = "05mj4c0ahwg6l2wipyqfyyjjp1m2vvl7ymp61nvwv7zhvqacvljs"; | ||
473 | }; | ||
474 | }; | ||
475 | }; | ||
476 | "sensio/framework-extra-bundle" = { | ||
477 | targetDir = ""; | ||
478 | src = composerEnv.buildZipPackage { | ||
479 | name = "sensio-framework-extra-bundle-bb907234df776b68922eb4b25bfa061683597b6a"; | ||
480 | src = fetchurl { | ||
481 | url = https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/bb907234df776b68922eb4b25bfa061683597b6a; | ||
482 | sha256 = "011hcljjcfq5qy4a7mlf0hwqxyb58yci40ini0n5rqandcyk2nck"; | ||
483 | }; | ||
484 | }; | ||
485 | }; | ||
486 | "sensiolabs/security-checker" = { | ||
487 | targetDir = ""; | ||
488 | src = composerEnv.buildZipPackage { | ||
489 | name = "sensiolabs-security-checker-46be3f58adac13084497961e10eed9a7fb4d44d1"; | ||
490 | src = fetchurl { | ||
491 | url = https://api.github.com/repos/sensiolabs/security-checker/zipball/46be3f58adac13084497961e10eed9a7fb4d44d1; | ||
492 | sha256 = "1caqf3hdfsajj9nb8fpinvs6apv90g1srwxcyxdnr6a8d6g0p6qi"; | ||
493 | }; | ||
494 | }; | ||
495 | }; | ||
496 | "swiftmailer/swiftmailer" = { | ||
497 | targetDir = ""; | ||
498 | src = composerEnv.buildZipPackage { | ||
499 | name = "swiftmailer-swiftmailer-181b89f18a90f8925ef805f950d47a7190e9b950"; | ||
500 | src = fetchurl { | ||
501 | url = https://api.github.com/repos/swiftmailer/swiftmailer/zipball/181b89f18a90f8925ef805f950d47a7190e9b950; | ||
502 | sha256 = "0hkmawv3bhbqdavy4wxqhzajg5zqd7chsi8w27y2zdi5r35az75d"; | ||
503 | }; | ||
504 | }; | ||
505 | }; | ||
506 | "symfony/assetic-bundle" = { | ||
507 | targetDir = ""; | ||
508 | src = composerEnv.buildZipPackage { | ||
509 | name = "symfony-assetic-bundle-2e0a23a4874838e26de6f025e02fc63328921a4c"; | ||
510 | src = fetchurl { | ||
511 | url = https://api.github.com/repos/symfony/assetic-bundle/zipball/2e0a23a4874838e26de6f025e02fc63328921a4c; | ||
512 | sha256 = "17rxrkyzxa6x5nn7qhhhdgx4z0nlznnq5fifza4wv9znca8bbwyc"; | ||
513 | }; | ||
514 | }; | ||
515 | }; | ||
516 | "symfony/monolog-bundle" = { | ||
517 | targetDir = ""; | ||
518 | src = composerEnv.buildZipPackage { | ||
519 | name = "symfony-monolog-bundle-572e143afc03419a75ab002c80a2fd99299195ff"; | ||
520 | src = fetchurl { | ||
521 | url = https://api.github.com/repos/symfony/monolog-bundle/zipball/572e143afc03419a75ab002c80a2fd99299195ff; | ||
522 | sha256 = "0g8icydnwfbqcbc56pqyc8bv1vp31331w0r75r3hqh225p2j1nd7"; | ||
523 | }; | ||
524 | }; | ||
525 | }; | ||
526 | "symfony/polyfill-apcu" = { | ||
527 | targetDir = ""; | ||
528 | src = composerEnv.buildZipPackage { | ||
529 | name = "symfony-polyfill-apcu-19e1b73bf255265ad0b568f81766ae2a3266d8d2"; | ||
530 | src = fetchurl { | ||
531 | url = https://api.github.com/repos/symfony/polyfill-apcu/zipball/19e1b73bf255265ad0b568f81766ae2a3266d8d2; | ||
532 | sha256 = "0jg33c81kwkpxk0b18jkslz9jkbkxl5k48h6m5b33dm63p1fj05r"; | ||
533 | }; | ||
534 | }; | ||
535 | }; | ||
536 | "symfony/polyfill-ctype" = { | ||
537 | targetDir = ""; | ||
538 | src = composerEnv.buildZipPackage { | ||
539 | name = "symfony-polyfill-ctype-e3d826245268269cd66f8326bd8bc066687b4a19"; | ||
540 | src = fetchurl { | ||
541 | url = https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19; | ||
542 | sha256 = "16md0qmy5jvvl7lc6n6r5hxjdr5i30vl6n9rpkm4b11rh2nqh7mh"; | ||
543 | }; | ||
544 | }; | ||
545 | }; | ||
546 | "symfony/polyfill-intl-icu" = { | ||
547 | targetDir = ""; | ||
548 | src = composerEnv.buildZipPackage { | ||
549 | name = "symfony-polyfill-intl-icu-f22a90256d577c7ef7efad8df1f0201663d57644"; | ||
550 | src = fetchurl { | ||
551 | url = https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/f22a90256d577c7ef7efad8df1f0201663d57644; | ||
552 | sha256 = "0x7h8l248l1gc07xmvfixq6p80ifdaa29qympfq3jzfb79k69slq"; | ||
553 | }; | ||
554 | }; | ||
555 | }; | ||
556 | "symfony/polyfill-mbstring" = { | ||
557 | targetDir = ""; | ||
558 | src = composerEnv.buildZipPackage { | ||
559 | name = "symfony-polyfill-mbstring-c79c051f5b3a46be09205c73b80b346e4153e494"; | ||
560 | src = fetchurl { | ||
561 | url = https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494; | ||
562 | sha256 = "18v2777cky55ah6xi4dh383mp4iddwzmnvx81qd86y1kgfykwhpi"; | ||
563 | }; | ||
564 | }; | ||
565 | }; | ||
566 | "symfony/polyfill-php56" = { | ||
567 | targetDir = ""; | ||
568 | src = composerEnv.buildZipPackage { | ||
569 | name = "symfony-polyfill-php56-ff208829fe1aa48ab9af356992bb7199fed551af"; | ||
570 | src = fetchurl { | ||
571 | url = https://api.github.com/repos/symfony/polyfill-php56/zipball/ff208829fe1aa48ab9af356992bb7199fed551af; | ||
572 | sha256 = "0vmpiwakc7hpbr6jwpk7cqcy41ybgwl6jkn3q8c4ryxynknn5hfk"; | ||
573 | }; | ||
574 | }; | ||
575 | }; | ||
576 | "symfony/polyfill-php70" = { | ||
577 | targetDir = ""; | ||
578 | src = composerEnv.buildZipPackage { | ||
579 | name = "symfony-polyfill-php70-6b88000cdd431cd2e940caa2cb569201f3f84224"; | ||
580 | src = fetchurl { | ||
581 | url = https://api.github.com/repos/symfony/polyfill-php70/zipball/6b88000cdd431cd2e940caa2cb569201f3f84224; | ||
582 | sha256 = "08h77r1i2q4pwdd0yk3pfhqqgk0z7gwmkzmvykx9bfv1z7a0h8ik"; | ||
583 | }; | ||
584 | }; | ||
585 | }; | ||
586 | "symfony/polyfill-util" = { | ||
587 | targetDir = ""; | ||
588 | src = composerEnv.buildZipPackage { | ||
589 | name = "symfony-polyfill-util-3b58903eae668d348a7126f999b0da0f2f93611c"; | ||
590 | src = fetchurl { | ||
591 | url = https://api.github.com/repos/symfony/polyfill-util/zipball/3b58903eae668d348a7126f999b0da0f2f93611c; | ||
592 | sha256 = "00bb5mgljk6d54nyvd4gmc7mbzfr4b4q7h3rxmv8rzq613wcjp3i"; | ||
593 | }; | ||
594 | }; | ||
595 | }; | ||
596 | "symfony/swiftmailer-bundle" = { | ||
597 | targetDir = ""; | ||
598 | src = composerEnv.buildZipPackage { | ||
599 | name = "symfony-swiftmailer-bundle-c4808f5169efc05567be983909d00f00521c53ec"; | ||
600 | src = fetchurl { | ||
601 | url = https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/c4808f5169efc05567be983909d00f00521c53ec; | ||
602 | sha256 = "0jmd3slhb3gf3c3krmk2a9fi4ixdxvqlimdkfpj0sfaaq0115y01"; | ||
603 | }; | ||
604 | }; | ||
605 | }; | ||
606 | "symfony/symfony" = { | ||
607 | targetDir = ""; | ||
608 | src = composerEnv.buildZipPackage { | ||
609 | name = "symfony-symfony-f6b8ddc362b1cf3fb06548693c3adbb736092412"; | ||
610 | src = fetchurl { | ||
611 | url = https://api.github.com/repos/symfony/symfony/zipball/f6b8ddc362b1cf3fb06548693c3adbb736092412; | ||
612 | sha256 = "0ip7k5xf34w4p1zvv2nkv4nyik3asidk3zlgzyc1v57429z0f28q"; | ||
613 | }; | ||
614 | }; | ||
615 | }; | ||
616 | "twig/extensions" = { | ||
617 | targetDir = ""; | ||
618 | src = composerEnv.buildZipPackage { | ||
619 | name = "twig-extensions-57873c8b0c1be51caa47df2cdb824490beb16202"; | ||
620 | src = fetchurl { | ||
621 | url = https://api.github.com/repos/twigphp/Twig-extensions/zipball/57873c8b0c1be51caa47df2cdb824490beb16202; | ||
622 | sha256 = "1sjajjd6vnczvdrl9b8zhzr06l5dflzqiwg9d33d92q8gli4j7jn"; | ||
623 | }; | ||
624 | }; | ||
625 | }; | ||
626 | "twig/twig" = { | ||
627 | targetDir = ""; | ||
628 | src = composerEnv.buildZipPackage { | ||
629 | name = "twig-twig-a11dd39f5b6589e14f0ff3b36675d06047c589b1"; | ||
630 | src = fetchurl { | ||
631 | url = https://api.github.com/repos/twigphp/Twig/zipball/a11dd39f5b6589e14f0ff3b36675d06047c589b1; | ||
632 | sha256 = "0rnwam9379gj5m4ik0fh6c81dbr7kwj2b3x1gnmpf6awa5fm261n"; | ||
633 | }; | ||
634 | }; | ||
635 | }; | ||
636 | "zendframework/zend-code" = { | ||
637 | targetDir = ""; | ||
638 | src = composerEnv.buildZipPackage { | ||
639 | name = "zendframework-zend-code-c21db169075c6ec4b342149f446e7b7b724f95eb"; | ||
640 | src = fetchurl { | ||
641 | url = https://api.github.com/repos/zendframework/zend-code/zipball/c21db169075c6ec4b342149f446e7b7b724f95eb; | ||
642 | sha256 = "031mfsahjkl63348020wq05273kvszx0dv2766zmzncnd6fcggw1"; | ||
643 | }; | ||
644 | }; | ||
645 | }; | ||
646 | "zendframework/zend-escaper" = { | ||
647 | targetDir = ""; | ||
648 | src = composerEnv.buildZipPackage { | ||
649 | name = "zendframework-zend-escaper-31d8aafae982f9568287cb4dce987e6aff8fd074"; | ||
650 | src = fetchurl { | ||
651 | url = https://api.github.com/repos/zendframework/zend-escaper/zipball/31d8aafae982f9568287cb4dce987e6aff8fd074; | ||
652 | sha256 = "16gwqh9zpclc3fmf89cf738mxfh36ar3wdf9i0wvby0g0nhknkd7"; | ||
653 | }; | ||
654 | }; | ||
655 | }; | ||
656 | "zendframework/zend-eventmanager" = { | ||
657 | targetDir = ""; | ||
658 | src = composerEnv.buildZipPackage { | ||
659 | name = "zendframework-zend-eventmanager-a5e2583a211f73604691586b8406ff7296a946dd"; | ||
660 | src = fetchurl { | ||
661 | url = https://api.github.com/repos/zendframework/zend-eventmanager/zipball/a5e2583a211f73604691586b8406ff7296a946dd; | ||
662 | sha256 = "08a05gn40hfdy2zhz4gcd3r6q7m7zcaks5kpvb9dx1awgx0pzr8n"; | ||
663 | }; | ||
664 | }; | ||
665 | }; | ||
666 | "zendframework/zend-feed" = { | ||
667 | targetDir = ""; | ||
668 | src = composerEnv.buildZipPackage { | ||
669 | name = "zendframework-zend-feed-6641f4cf3f4586c63f83fd70b6d19966025c8888"; | ||
670 | src = fetchurl { | ||
671 | url = https://api.github.com/repos/zendframework/zend-feed/zipball/6641f4cf3f4586c63f83fd70b6d19966025c8888; | ||
672 | sha256 = "0wl2pf4cq0snlp3gbl2ia662i48yils464qlfqf7gdmbn1ryzcpi"; | ||
673 | }; | ||
674 | }; | ||
675 | }; | ||
676 | "zendframework/zend-http" = { | ||
677 | targetDir = ""; | ||
678 | src = composerEnv.buildZipPackage { | ||
679 | name = "zendframework-zend-http-2c8aed3d25522618573194e7cc51351f8cd4a45b"; | ||
680 | src = fetchurl { | ||
681 | url = https://api.github.com/repos/zendframework/zend-http/zipball/2c8aed3d25522618573194e7cc51351f8cd4a45b; | ||
682 | sha256 = "1vy6b24ihwv1g08hjnw4pd7c5171g866jnlr3j6fg0xqv79s4dn9"; | ||
683 | }; | ||
684 | }; | ||
685 | }; | ||
686 | "zendframework/zend-loader" = { | ||
687 | targetDir = ""; | ||
688 | src = composerEnv.buildZipPackage { | ||
689 | name = "zendframework-zend-loader-78f11749ea340f6ca316bca5958eef80b38f9b6c"; | ||
690 | src = fetchurl { | ||
691 | url = https://api.github.com/repos/zendframework/zend-loader/zipball/78f11749ea340f6ca316bca5958eef80b38f9b6c; | ||
692 | sha256 = "056zp0xchc4ckijg969im5him3j4cji6hsy26fiaycwprniaqdmg"; | ||
693 | }; | ||
694 | }; | ||
695 | }; | ||
696 | "zendframework/zend-servicemanager" = { | ||
697 | targetDir = ""; | ||
698 | src = composerEnv.buildZipPackage { | ||
699 | name = "zendframework-zend-servicemanager-a1ed6140d0d3ee803fec96582593ed024950067b"; | ||
700 | src = fetchurl { | ||
701 | url = https://api.github.com/repos/zendframework/zend-servicemanager/zipball/a1ed6140d0d3ee803fec96582593ed024950067b; | ||
702 | sha256 = "0s3aplkilrd8b18xh55h9m1yvnp9b6vnlgby4gqhqv8npnxxqir9"; | ||
703 | }; | ||
704 | }; | ||
705 | }; | ||
706 | "zendframework/zend-stdlib" = { | ||
707 | targetDir = ""; | ||
708 | src = composerEnv.buildZipPackage { | ||
709 | name = "zendframework-zend-stdlib-66536006722aff9e62d1b331025089b7ec71c065"; | ||
710 | src = fetchurl { | ||
711 | url = https://api.github.com/repos/zendframework/zend-stdlib/zipball/66536006722aff9e62d1b331025089b7ec71c065; | ||
712 | sha256 = "0cl0lcgqb5aja6iijp0wrclxra57imwsmhkfpahdl2bsgs1inf2f"; | ||
713 | }; | ||
714 | }; | ||
715 | }; | ||
716 | "zendframework/zend-uri" = { | ||
717 | targetDir = ""; | ||
718 | src = composerEnv.buildZipPackage { | ||
719 | name = "zendframework-zend-uri-3b6463645c6766f78ce537c70cb4fdabee1e725f"; | ||
720 | src = fetchurl { | ||
721 | url = https://api.github.com/repos/zendframework/zend-uri/zipball/3b6463645c6766f78ce537c70cb4fdabee1e725f; | ||
722 | sha256 = "0zkb88y9qbgshm8ys5yjxhz6a7fhxl7waygwn37pqsbvz74mbbvp"; | ||
723 | }; | ||
724 | }; | ||
725 | }; | ||
726 | "zendframework/zend-validator" = { | ||
727 | targetDir = ""; | ||
728 | src = composerEnv.buildZipPackage { | ||
729 | name = "zendframework-zend-validator-f0789b4c4c099afdd2ecc58cc209a26c64bd4f17"; | ||
730 | src = fetchurl { | ||
731 | url = https://api.github.com/repos/zendframework/zend-validator/zipball/f0789b4c4c099afdd2ecc58cc209a26c64bd4f17; | ||
732 | sha256 = "1lwxbr3jlldll4ccw5cn2ny1cbzh279mnfz7m1djqc8qnw16c8jl"; | ||
733 | }; | ||
734 | }; | ||
735 | }; | ||
736 | }; | ||
737 | devPackages = { | ||
738 | "doctrine/data-fixtures" = { | ||
739 | targetDir = ""; | ||
740 | src = composerEnv.buildZipPackage { | ||
741 | name = "doctrine-data-fixtures-3a1e2c3c600e615a2dffe56d4ca0875cc5233e0a"; | ||
742 | src = fetchurl { | ||
743 | url = https://api.github.com/repos/doctrine/data-fixtures/zipball/3a1e2c3c600e615a2dffe56d4ca0875cc5233e0a; | ||
744 | sha256 = "0wbxhy7hq17laqgnq9x9ygysv0n1kn7s4x3v89pk7iy622pil3sm"; | ||
745 | }; | ||
746 | }; | ||
747 | }; | ||
748 | "doctrine/doctrine-fixtures-bundle" = { | ||
749 | targetDir = ""; | ||
750 | src = composerEnv.buildZipPackage { | ||
751 | name = "doctrine-doctrine-fixtures-bundle-74b8cc70a4a25b774628ee59f4cdf3623a146273"; | ||
752 | src = fetchurl { | ||
753 | url = https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/74b8cc70a4a25b774628ee59f4cdf3623a146273; | ||
754 | sha256 = "1bbflq8k6izwqgp9ka2gyb5y96a80b4lnlc5wrgc5gnih7hqidlf"; | ||
755 | }; | ||
756 | }; | ||
757 | }; | ||
758 | "fzaninotto/faker" = { | ||
759 | targetDir = ""; | ||
760 | src = composerEnv.buildZipPackage { | ||
761 | name = "fzaninotto-faker-d0190b156bcca848d401fb80f31f504f37141c8d"; | ||
762 | src = fetchurl { | ||
763 | url = https://api.github.com/repos/fzaninotto/Faker/zipball/d0190b156bcca848d401fb80f31f504f37141c8d; | ||
764 | sha256 = "1x7xrxw14x7b0iq7sxi9ynswk8ljga62i77ch7xip4dwgq1dypvi"; | ||
765 | }; | ||
766 | }; | ||
767 | }; | ||
768 | "league/factory-muffin" = { | ||
769 | targetDir = ""; | ||
770 | src = composerEnv.buildZipPackage { | ||
771 | name = "league-factory-muffin-316ed2bac70178567f995d877b831804c9c58d5a"; | ||
772 | src = fetchurl { | ||
773 | url = https://api.github.com/repos/thephpleague/factory-muffin/zipball/316ed2bac70178567f995d877b831804c9c58d5a; | ||
774 | sha256 = "1fxh0hsqifmnhgkwyd460x3w9wn74369lmak3f1m24mn2asiynxq"; | ||
775 | }; | ||
776 | }; | ||
777 | }; | ||
778 | "league/factory-muffin-faker" = { | ||
779 | targetDir = ""; | ||
780 | src = composerEnv.buildZipPackage { | ||
781 | name = "league-factory-muffin-faker-30dbd11bb6be03b47e52bd60006ae198d20ab426"; | ||
782 | src = fetchurl { | ||
783 | url = https://api.github.com/repos/thephpleague/factory-muffin-faker/zipball/30dbd11bb6be03b47e52bd60006ae198d20ab426; | ||
784 | sha256 = "0dsimjdnsmzdd4vwjzw1gz1bb4zlhmv66g3fc9k4nj5bqch6mny1"; | ||
785 | }; | ||
786 | }; | ||
787 | }; | ||
788 | "mikey179/vfsStream" = { | ||
789 | targetDir = ""; | ||
790 | src = composerEnv.buildZipPackage { | ||
791 | name = "mikey179-vfsStream-d5fec95f541d4d71c4823bb5e30cf9b9e5b96145"; | ||
792 | src = fetchurl { | ||
793 | url = https://api.github.com/repos/mikey179/vfsStream/zipball/d5fec95f541d4d71c4823bb5e30cf9b9e5b96145; | ||
794 | sha256 = "034rdds85qr3n7kqz161dqinl909gwnxgjsvychw8m7dyk2dbl99"; | ||
795 | }; | ||
796 | }; | ||
797 | }; | ||
798 | "phpdocumentor/reflection-common" = { | ||
799 | targetDir = ""; | ||
800 | src = composerEnv.buildZipPackage { | ||
801 | name = "phpdocumentor-reflection-common-21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"; | ||
802 | src = fetchurl { | ||
803 | url = https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6; | ||
804 | sha256 = "1yaf1zg9lnkfnq2ndpviv0hg5bza9vjvv5l4wgcn25lx1p8a94w2"; | ||
805 | }; | ||
806 | }; | ||
807 | }; | ||
808 | "phpdocumentor/reflection-docblock" = { | ||
809 | targetDir = ""; | ||
810 | src = composerEnv.buildZipPackage { | ||
811 | name = "phpdocumentor-reflection-docblock-94fd0001232e47129dd3504189fa1c7225010d08"; | ||
812 | src = fetchurl { | ||
813 | url = https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08; | ||
814 | sha256 = "03zvxqb5n9ddvysj8mjdwf59h7sagj5x5z15nhs7mqpcky1w388x"; | ||
815 | }; | ||
816 | }; | ||
817 | }; | ||
818 | "phpdocumentor/type-resolver" = { | ||
819 | targetDir = ""; | ||
820 | src = composerEnv.buildZipPackage { | ||
821 | name = "phpdocumentor-type-resolver-9c977708995954784726e25d0cd1dddf4e65b0f7"; | ||
822 | src = fetchurl { | ||
823 | url = https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7; | ||
824 | sha256 = "0h888r2iy2290yp9i3fij8wd5b7960yi7yn1rwh26x1xxd83n2mb"; | ||
825 | }; | ||
826 | }; | ||
827 | }; | ||
828 | "phpspec/prophecy" = { | ||
829 | targetDir = ""; | ||
830 | src = composerEnv.buildZipPackage { | ||
831 | name = "phpspec-prophecy-4ba436b55987b4bf311cb7c6ba82aa528aac0a06"; | ||
832 | src = fetchurl { | ||
833 | url = https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06; | ||
834 | sha256 = "0sz9fg8r4yvpgrhsh6qaic3p89pafdj8bdf4izbcccq6mdhclxn6"; | ||
835 | }; | ||
836 | }; | ||
837 | }; | ||
838 | "phpunit/php-code-coverage" = { | ||
839 | targetDir = ""; | ||
840 | src = composerEnv.buildZipPackage { | ||
841 | name = "phpunit-php-code-coverage-eabf68b476ac7d0f73793aada060f1c1a9bf8979"; | ||
842 | src = fetchurl { | ||
843 | url = https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979; | ||
844 | sha256 = "0xfkf2kaqrid0ajr8qfh3qnpiqqddl0cmmdy6hd7l9y7ziy6qz8d"; | ||
845 | }; | ||
846 | }; | ||
847 | }; | ||
848 | "phpunit/php-file-iterator" = { | ||
849 | targetDir = ""; | ||
850 | src = composerEnv.buildZipPackage { | ||
851 | name = "phpunit-php-file-iterator-730b01bc3e867237eaac355e06a36b85dd93a8b4"; | ||
852 | src = fetchurl { | ||
853 | url = https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4; | ||
854 | sha256 = "0kbg907g9hrx7pv8v0wnf4ifqywdgvigq6y6z00lyhgd0b8is060"; | ||
855 | }; | ||
856 | }; | ||
857 | }; | ||
858 | "phpunit/php-text-template" = { | ||
859 | targetDir = ""; | ||
860 | src = composerEnv.buildZipPackage { | ||
861 | name = "phpunit-php-text-template-31f8b717e51d9a2afca6c9f046f5d69fc27c8686"; | ||
862 | src = fetchurl { | ||
863 | url = https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686; | ||
864 | sha256 = "1y03m38qqvsbvyakd72v4dram81dw3swyn5jpss153i5nmqr4p76"; | ||
865 | }; | ||
866 | }; | ||
867 | }; | ||
868 | "phpunit/php-timer" = { | ||
869 | targetDir = ""; | ||
870 | src = composerEnv.buildZipPackage { | ||
871 | name = "phpunit-php-timer-3dcf38ca72b158baf0bc245e9184d3fdffa9c46f"; | ||
872 | src = fetchurl { | ||
873 | url = https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f; | ||
874 | sha256 = "1j04r0hqzrv6m1jk5nb92k2nnana72nscqpfk3rgv3fzrrv69ljr"; | ||
875 | }; | ||
876 | }; | ||
877 | }; | ||
878 | "phpunit/php-token-stream" = { | ||
879 | targetDir = ""; | ||
880 | src = composerEnv.buildZipPackage { | ||
881 | name = "phpunit-php-token-stream-1ce90ba27c42e4e44e6d8458241466380b51fa16"; | ||
882 | src = fetchurl { | ||
883 | url = https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16; | ||
884 | sha256 = "0j1v83m268cddhyzi8qvqfzhpz12hrm3dyw6skyqvljdp7l9x6lk"; | ||
885 | }; | ||
886 | }; | ||
887 | }; | ||
888 | "phpunit/phpunit" = { | ||
889 | targetDir = ""; | ||
890 | src = composerEnv.buildZipPackage { | ||
891 | name = "phpunit-phpunit-46023de9a91eec7dfb06cc56cb4e260017298517"; | ||
892 | src = fetchurl { | ||
893 | url = https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517; | ||
894 | sha256 = "0mxhgcmc575hw3n7czindgqiha8jhdi4p19h883vf15fg6xf5iv6"; | ||
895 | }; | ||
896 | }; | ||
897 | }; | ||
898 | "phpunit/phpunit-mock-objects" = { | ||
899 | targetDir = ""; | ||
900 | src = composerEnv.buildZipPackage { | ||
901 | name = "phpunit-phpunit-mock-objects-ac8e7a3db35738d56ee9a76e78a4e03d97628983"; | ||
902 | src = fetchurl { | ||
903 | url = https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983; | ||
904 | sha256 = "0s7nyyafdqw2hp7wsd2mxnjxpk26630vv3wii6hcdb0q8xy8r78i"; | ||
905 | }; | ||
906 | }; | ||
907 | }; | ||
908 | "sebastian/comparator" = { | ||
909 | targetDir = ""; | ||
910 | src = composerEnv.buildZipPackage { | ||
911 | name = "sebastian-comparator-2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"; | ||
912 | src = fetchurl { | ||
913 | url = https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be; | ||
914 | sha256 = "0ymarxgnr8b3iy0w18h5z13iiv0ja17vjryryzfcwlqqhlc6w7iq"; | ||
915 | }; | ||
916 | }; | ||
917 | }; | ||
918 | "sebastian/diff" = { | ||
919 | targetDir = ""; | ||
920 | src = composerEnv.buildZipPackage { | ||
921 | name = "sebastian-diff-7f066a26a962dbe58ddea9f72a4e82874a3975a4"; | ||
922 | src = fetchurl { | ||
923 | url = https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4; | ||
924 | sha256 = "1ppx21vjj79z6d584ryq451k7kvdc511awmqjkj9g4vxj1s1h3j6"; | ||
925 | }; | ||
926 | }; | ||
927 | }; | ||
928 | "sebastian/environment" = { | ||
929 | targetDir = ""; | ||
930 | src = composerEnv.buildZipPackage { | ||
931 | name = "sebastian-environment-be2c607e43ce4c89ecd60e75c6a85c126e754aea"; | ||
932 | src = fetchurl { | ||
933 | url = https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea; | ||
934 | sha256 = "0gzgnk847kf18krq4ybbi2knzj7i0kdghsdlj6qynzzrlf7idij0"; | ||
935 | }; | ||
936 | }; | ||
937 | }; | ||
938 | "sebastian/exporter" = { | ||
939 | targetDir = ""; | ||
940 | src = composerEnv.buildZipPackage { | ||
941 | name = "sebastian-exporter-42c4c2eec485ee3e159ec9884f95b431287edde4"; | ||
942 | src = fetchurl { | ||
943 | url = https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4; | ||
944 | sha256 = "1p5mc4lqwxn79v06jjlgqxynblywcxw2mkhbf6r4jlz0bsrqafxn"; | ||
945 | }; | ||
946 | }; | ||
947 | }; | ||
948 | "sebastian/global-state" = { | ||
949 | targetDir = ""; | ||
950 | src = composerEnv.buildZipPackage { | ||
951 | name = "sebastian-global-state-bc37d50fea7d017d3d340f230811c9f1d7280af4"; | ||
952 | src = fetchurl { | ||
953 | url = https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4; | ||
954 | sha256 = "0y1x16mf9q38s7rlc7k2s6sxn2ccxmyk1q5zgh24hr4yp035f0pb"; | ||
955 | }; | ||
956 | }; | ||
957 | }; | ||
958 | "sebastian/recursion-context" = { | ||
959 | targetDir = ""; | ||
960 | src = composerEnv.buildZipPackage { | ||
961 | name = "sebastian-recursion-context-b19cc3298482a335a95f3016d2f8a6950f0fbcd7"; | ||
962 | src = fetchurl { | ||
963 | url = https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7; | ||
964 | sha256 = "1i9xdv55nkg1yy5q4lmpq1jsjif69hjrwmr1zha6b5qjf6ivlvjm"; | ||
965 | }; | ||
966 | }; | ||
967 | }; | ||
968 | "sebastian/version" = { | ||
969 | targetDir = ""; | ||
970 | src = composerEnv.buildZipPackage { | ||
971 | name = "sebastian-version-58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"; | ||
972 | src = fetchurl { | ||
973 | url = https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6; | ||
974 | sha256 = "1s71b6ss29pcsm0120myriwnzla1kpj13f3f739c7k1wfm69h4wz"; | ||
975 | }; | ||
976 | }; | ||
977 | }; | ||
978 | "sensio/generator-bundle" = { | ||
979 | targetDir = ""; | ||
980 | src = composerEnv.buildZipPackage { | ||
981 | name = "sensio-generator-bundle-28cbaa244bd0816fd8908b93f90380bcd7b67a65"; | ||
982 | src = fetchurl { | ||
983 | url = https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/28cbaa244bd0816fd8908b93f90380bcd7b67a65; | ||
984 | sha256 = "1j09y037xk843q8gcyfmwgy6dmn0h67pd5jnsvhj08h92ssbl0c3"; | ||
985 | }; | ||
986 | }; | ||
987 | }; | ||
988 | "symfony/phpunit-bridge" = { | ||
989 | targetDir = ""; | ||
990 | src = composerEnv.buildZipPackage { | ||
991 | name = "symfony-phpunit-bridge-2155067dfc73e0e77dbc26f236af17e4df552de5"; | ||
992 | src = fetchurl { | ||
993 | url = https://api.github.com/repos/symfony/phpunit-bridge/zipball/2155067dfc73e0e77dbc26f236af17e4df552de5; | ||
994 | sha256 = "1fhqyhvns69pkv086d1sp918bakqq9pk9d16nzck2s4pfdf097pj"; | ||
995 | }; | ||
996 | }; | ||
997 | }; | ||
998 | "webmozart/assert" = { | ||
999 | targetDir = ""; | ||
1000 | src = composerEnv.buildZipPackage { | ||
1001 | name = "webmozart-assert-83e253c8e0be5b0257b881e1827274667c5c17a9"; | ||
1002 | src = fetchurl { | ||
1003 | url = https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9; | ||
1004 | sha256 = "0d84b0ms9mjpqx368gs7c3qs06mpbx5565j3vs43b1ygnyhhhaqk"; | ||
1005 | }; | ||
1006 | }; | ||
1007 | }; | ||
1008 | }; | ||
1009 | } | ||
diff --git a/virtual/modules/websites/piedsjaloux/piedsjaloux.json b/virtual/modules/websites/piedsjaloux/piedsjaloux.json deleted file mode 100644 index a34c7e8..0000000 --- a/virtual/modules/websites/piedsjaloux/piedsjaloux.json +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | { | ||
2 | "tag": "4ee4538-master", | ||
3 | "meta": { | ||
4 | "name": "piedsjaloux", | ||
5 | "url": "gitolite@git.immae.eu:Pieds_jaloux/NewSite", | ||
6 | "branch": "master" | ||
7 | }, | ||
8 | "git": { | ||
9 | "url": "gitolite@git.immae.eu:Pieds_jaloux/NewSite", | ||
10 | "rev": "4ee45386ad9ec9c081234a2fbde66e5b0c3294be", | ||
11 | "sha256": "10a41chh4crn95z6lk6nhkx27089djkngypa9m76bg7ph508mvnq", | ||
12 | "fetchSubmodules": true | ||
13 | } | ||
14 | } | ||
diff --git a/virtual/modules/websites/piedsjaloux/piedsjaloux.nix b/virtual/modules/websites/piedsjaloux/piedsjaloux.nix deleted file mode 100644 index 1b53c4a..0000000 --- a/virtual/modules/websites/piedsjaloux/piedsjaloux.nix +++ /dev/null | |||
@@ -1,154 +0,0 @@ | |||
1 | { pkgs, lib, writeText, fetchedGitPrivate, stdenv, composerEnv, fetchurl, fetchgit, texlive, imagemagick }: | ||
2 | let | ||
3 | piedsjaloux = { config }: rec { | ||
4 | environment = config.environment; | ||
5 | varDir = "/var/lib/piedsjaloux_${environment}"; | ||
6 | configRoot = | ||
7 | writeText "parameters.yml" '' | ||
8 | # This file is auto-generated during the composer install | ||
9 | parameters: | ||
10 | database_host: db-1.immae.eu | ||
11 | database_port: null | ||
12 | database_name: ${config.mysql.name} | ||
13 | database_user: ${config.mysql.user} | ||
14 | database_password: ${config.mysql.password} | ||
15 | database_server_version: ${pkgs.mariadb.mysqlVersion} | ||
16 | mailer_transport: smtp | ||
17 | mailer_host: mail.immae.eu | ||
18 | mailer_user: null | ||
19 | mailer_password: null | ||
20 | secret: ${config.secret} | ||
21 | pdflatex: "${texlive.combine { inherit (texlive) attachfile preprint scheme-small; }}/bin/pdflatex" | ||
22 | leapt_im: | ||
23 | binary_path: ${imagemagick}/bin | ||
24 | ''; | ||
25 | phpFpm = rec { | ||
26 | socket = "/var/run/phpfpm/piedsjaloux-${environment}.sock"; | ||
27 | pool = '' | ||
28 | listen = ${socket} | ||
29 | user = ${apache.user} | ||
30 | group = ${apache.group} | ||
31 | listen.owner = ${apache.user} | ||
32 | listen.group = ${apache.group} | ||
33 | php_admin_value[upload_max_filesize] = 20M | ||
34 | php_admin_value[post_max_size] = 20M | ||
35 | ;php_admin_flag[log_errors] = on | ||
36 | php_admin_value[open_basedir] = "${configRoot}:${webappDir}:${varDir}:/tmp" | ||
37 | php_admin_value[session.save_path] = "${varDir}/phpSessions" | ||
38 | ${if environment == "dev" then '' | ||
39 | pm = ondemand | ||
40 | pm.max_children = 5 | ||
41 | pm.process_idle_timeout = 60 | ||
42 | env[SYMFONY_DEBUG_MODE] = "yes" | ||
43 | '' else '' | ||
44 | pm = dynamic | ||
45 | pm.max_children = 20 | ||
46 | pm.start_servers = 2 | ||
47 | pm.min_spare_servers = 1 | ||
48 | pm.max_spare_servers = 3 | ||
49 | ''}''; | ||
50 | }; | ||
51 | apache = { | ||
52 | user = "wwwrun"; | ||
53 | group = "wwwrun"; | ||
54 | modules = [ "proxy_fcgi" ]; | ||
55 | vhostConf = '' | ||
56 | <FilesMatch "\.php$"> | ||
57 | SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" | ||
58 | </FilesMatch> | ||
59 | |||
60 | ${if environment == "dev" then '' | ||
61 | <Location /> | ||
62 | Use LDAPConnect | ||
63 | Require ldap-group cn=piedsjaloux.immae.eu,cn=httpd,ou=services,dc=immae,dc=eu | ||
64 | ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=https://piedsjaloux.fr\"></html>" | ||
65 | </Location> | ||
66 | |||
67 | <Directory ${webRoot}> | ||
68 | Options Indexes FollowSymLinks MultiViews Includes | ||
69 | AllowOverride None | ||
70 | Require all granted | ||
71 | |||
72 | DirectoryIndex app_dev.php | ||
73 | |||
74 | <IfModule mod_negotiation.c> | ||
75 | Options -MultiViews | ||
76 | </IfModule> | ||
77 | |||
78 | <IfModule mod_rewrite.c> | ||
79 | RewriteEngine On | ||
80 | |||
81 | RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ | ||
82 | RewriteRule ^(.*) - [E=BASE:%1] | ||
83 | |||
84 | # Maintenance script | ||
85 | RewriteCond %{DOCUMENT_ROOT}/maintenance.php -f | ||
86 | RewriteCond %{SCRIPT_FILENAME} !maintenance.php | ||
87 | RewriteRule ^.*$ %{ENV:BASE}/maintenance.php [R=503,L] | ||
88 | ErrorDocument 503 /maintenance.php | ||
89 | |||
90 | # Sets the HTTP_AUTHORIZATION header removed by Apache | ||
91 | RewriteCond %{HTTP:Authorization} . | ||
92 | RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] | ||
93 | |||
94 | RewriteCond %{ENV:REDIRECT_STATUS} ^$ | ||
95 | RewriteRule ^app_dev\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L] | ||
96 | |||
97 | # If the requested filename exists, simply serve it. | ||
98 | # We only want to let Apache serve files and not directories. | ||
99 | RewriteCond %{REQUEST_FILENAME} -f | ||
100 | RewriteRule ^ - [L] | ||
101 | |||
102 | # Rewrite all other queries to the front controller. | ||
103 | RewriteRule ^ %{ENV:BASE}/app_dev.php [L] | ||
104 | </IfModule> | ||
105 | |||
106 | </Directory> | ||
107 | '' else '' | ||
108 | Use Stats piedsjaloux.fr | ||
109 | |||
110 | <Directory ${webRoot}> | ||
111 | Options Indexes FollowSymLinks MultiViews Includes | ||
112 | AllowOverride All | ||
113 | Require all granted | ||
114 | </Directory> | ||
115 | ''} | ||
116 | ''; | ||
117 | }; | ||
118 | activationScript = { | ||
119 | deps = [ "wrappers" ]; | ||
120 | text = '' | ||
121 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} \ | ||
122 | ${varDir}/tmp | ||
123 | install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions | ||
124 | if [ ! -f "${varDir}/currentWebappDir" -o \ | ||
125 | "${webappDir}" != "$(cat ${varDir}/currentWebappDir 2>/dev/null)" ]; then | ||
126 | pushd ${webappDir} > /dev/null | ||
127 | $wrapperDir/sudo -u wwwrun ./bin/console --env=${environment} cache:clear --no-warmup | ||
128 | popd > /dev/null | ||
129 | echo -n "${webappDir}" > ${varDir}/currentWebappDir | ||
130 | fi | ||
131 | ''; | ||
132 | }; | ||
133 | webappDir = composerEnv.buildPackage ( | ||
134 | import ./php-packages.nix { inherit composerEnv fetchurl fetchgit; } // | ||
135 | fetchedGitPrivate ./piedsjaloux.json // | ||
136 | rec { | ||
137 | noDev = (environment == "prod"); | ||
138 | preInstall = '' | ||
139 | export SYMFONY_ENV="${environment}" | ||
140 | ''; | ||
141 | # /!\ miniatures and data need to be in the same physical dir due to a | ||
142 | # bug in leapt.im (searches for data/../miniatures) | ||
143 | postInstall = '' | ||
144 | cd $out | ||
145 | rm app/config/parameters.yml | ||
146 | ln -sf ${configRoot} app/config/parameters.yml | ||
147 | rm -rf var/{logs,cache,data,miniatures,tmp} | ||
148 | ln -sf ../../../../../../../${varDir}/{logs,cache,data,miniatures,tmp} var/ | ||
149 | ''; | ||
150 | }); | ||
151 | webRoot = "${webappDir}/web"; | ||
152 | }; | ||
153 | in | ||
154 | piedsjaloux | ||
diff --git a/virtual/modules/websites/tellesflorian/default.nix b/virtual/modules/websites/tellesflorian/default.nix deleted file mode 100644 index f347169..0000000 --- a/virtual/modules/websites/tellesflorian/default.nix +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | ||
2 | let | ||
3 | adminer = pkgs.callPackage ../commons/adminer.nix {}; | ||
4 | |||
5 | tellesflorian = pkgs.callPackage ./tellesflorian.nix { inherit (mylibs) fetchedGitPrivate; }; | ||
6 | tellesflorian_dev = tellesflorian { | ||
7 | config = myconfig.env.websites.tellesflorian.integration; | ||
8 | }; | ||
9 | |||
10 | cfg = config.services.myWebsites.TellesFlorian; | ||
11 | in { | ||
12 | options.services.myWebsites.TellesFlorian = { | ||
13 | integration = { | ||
14 | enable = lib.mkEnableOption "enable Florian Telles's website in integration"; | ||
15 | }; | ||
16 | }; | ||
17 | |||
18 | config = lib.mkIf cfg.integration.enable { | ||
19 | security.acme.certs."eldiron".extraDomains."app.tellesflorian.com" = null; | ||
20 | services.myPhpfpm.poolConfigs.tellesflorian_dev = tellesflorian_dev.phpFpm.pool; | ||
21 | system.activationScripts.tellesflorian_dev = tellesflorian_dev.activationScript; | ||
22 | services.myWebsites.integration.modules = adminer.apache.modules ++ tellesflorian_dev.apache.modules; | ||
23 | services.myWebsites.integration.vhostConfs.tellesflorian = { | ||
24 | certName = "eldiron"; | ||
25 | hosts = ["app.tellesflorian.com" ]; | ||
26 | root = tellesflorian_dev.webRoot; | ||
27 | extraConfig = [ | ||
28 | tellesflorian_dev.apache.vhostConf | ||
29 | adminer.apache.vhostConf | ||
30 | ]; | ||
31 | }; | ||
32 | }; | ||
33 | } | ||
diff --git a/virtual/modules/websites/tellesflorian/php-packages.nix b/virtual/modules/websites/tellesflorian/php-packages.nix deleted file mode 100644 index 0c7e00c..0000000 --- a/virtual/modules/websites/tellesflorian/php-packages.nix +++ /dev/null | |||
@@ -1,389 +0,0 @@ | |||
1 | # Generated with composer2nix and adapted to return only the list of | ||
2 | # packages | ||
3 | { composerEnv, fetchurl }: | ||
4 | { | ||
5 | packages = { | ||
6 | "composer/ca-bundle" = { | ||
7 | targetDir = ""; | ||
8 | src = composerEnv.buildZipPackage { | ||
9 | name = "composer-ca-bundle-943b2c4fcad1ef178d16a713c2468bf7e579c288"; | ||
10 | src = fetchurl { | ||
11 | url = https://api.github.com/repos/composer/ca-bundle/zipball/943b2c4fcad1ef178d16a713c2468bf7e579c288; | ||
12 | sha256 = "1gljia7akifp57w4rjzyh1km23kwymmvglz0mgafdgqzczcw0m6w"; | ||
13 | }; | ||
14 | }; | ||
15 | }; | ||
16 | "doctrine/annotations" = { | ||
17 | targetDir = ""; | ||
18 | src = composerEnv.buildZipPackage { | ||
19 | name = "doctrine-annotations-f25c8aab83e0c3e976fd7d19875f198ccf2f7535"; | ||
20 | src = fetchurl { | ||
21 | url = https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535; | ||
22 | sha256 = "08vm22fqq8r4bg2fk06y4inqnc8x0yfmsss28w5ra2011x2phq4z"; | ||
23 | }; | ||
24 | }; | ||
25 | }; | ||
26 | "doctrine/cache" = { | ||
27 | targetDir = ""; | ||
28 | src = composerEnv.buildZipPackage { | ||
29 | name = "doctrine-cache-eb152c5100571c7a45470ff2a35095ab3f3b900b"; | ||
30 | src = fetchurl { | ||
31 | url = https://api.github.com/repos/doctrine/cache/zipball/eb152c5100571c7a45470ff2a35095ab3f3b900b; | ||
32 | sha256 = "0iq0qqv1smlqz63jhj2fpjy54c5dwfwxyf5c89iky6i0yb81gwyd"; | ||
33 | }; | ||
34 | }; | ||
35 | }; | ||
36 | "doctrine/collections" = { | ||
37 | targetDir = ""; | ||
38 | src = composerEnv.buildZipPackage { | ||
39 | name = "doctrine-collections-6c1e4eef75f310ea1b3e30945e9f06e652128b8a"; | ||
40 | src = fetchurl { | ||
41 | url = https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a; | ||
42 | sha256 = "1dkxr2vjycykpcnnmq68rcnn1ww0kbpizd5pxxm6x9i2ilj8cbn7"; | ||
43 | }; | ||
44 | }; | ||
45 | }; | ||
46 | "doctrine/common" = { | ||
47 | targetDir = ""; | ||
48 | src = composerEnv.buildZipPackage { | ||
49 | name = "doctrine-common-7bce00698899aa2c06fe7365c76e4d78ddb15fa3"; | ||
50 | src = fetchurl { | ||
51 | url = https://api.github.com/repos/doctrine/common/zipball/7bce00698899aa2c06fe7365c76e4d78ddb15fa3; | ||
52 | sha256 = "12yizcsxsbhhi8hwaik4zalr12n5nxbpld05zygqhx6miyr92jyd"; | ||
53 | }; | ||
54 | }; | ||
55 | }; | ||
56 | "doctrine/dbal" = { | ||
57 | targetDir = ""; | ||
58 | src = composerEnv.buildZipPackage { | ||
59 | name = "doctrine-dbal-729340d8d1eec8f01bff708e12e449a3415af873"; | ||
60 | src = fetchurl { | ||
61 | url = https://api.github.com/repos/doctrine/dbal/zipball/729340d8d1eec8f01bff708e12e449a3415af873; | ||
62 | sha256 = "184p8h0n6mcm0y6vfyh0z6qcxmmf8h5z4vdvxd4ycmx0531lnhj3"; | ||
63 | }; | ||
64 | }; | ||
65 | }; | ||
66 | "doctrine/doctrine-bundle" = { | ||
67 | targetDir = ""; | ||
68 | src = composerEnv.buildZipPackage { | ||
69 | name = "doctrine-doctrine-bundle-eb6e4fb904a459be28872765ab6e2d246aac7c87"; | ||
70 | src = fetchurl { | ||
71 | url = https://api.github.com/repos/doctrine/DoctrineBundle/zipball/eb6e4fb904a459be28872765ab6e2d246aac7c87; | ||
72 | sha256 = "0kkisgyblc9hf9x3zpbb1wif51fa8mi6svyd44nls38k9k93dp17"; | ||
73 | }; | ||
74 | }; | ||
75 | }; | ||
76 | "doctrine/doctrine-cache-bundle" = { | ||
77 | targetDir = ""; | ||
78 | src = composerEnv.buildZipPackage { | ||
79 | name = "doctrine-doctrine-cache-bundle-9baecbd6bfdd1123b0cf8c1b88fee0170a84ddd1"; | ||
80 | src = fetchurl { | ||
81 | url = https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/9baecbd6bfdd1123b0cf8c1b88fee0170a84ddd1; | ||
82 | sha256 = "08bqz18vk4673pnm2r2pcph6pdchc36zajnma1p9c6dp21sv7iki"; | ||
83 | }; | ||
84 | }; | ||
85 | }; | ||
86 | "doctrine/inflector" = { | ||
87 | targetDir = ""; | ||
88 | src = composerEnv.buildZipPackage { | ||
89 | name = "doctrine-inflector-90b2128806bfde671b6952ab8bea493942c1fdae"; | ||
90 | src = fetchurl { | ||
91 | url = https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae; | ||
92 | sha256 = "01vmclj3k7xil51jg329fznshh8d07pvm4mr89lvfn1d7fyrq6qw"; | ||
93 | }; | ||
94 | }; | ||
95 | }; | ||
96 | "doctrine/instantiator" = { | ||
97 | targetDir = ""; | ||
98 | src = composerEnv.buildZipPackage { | ||
99 | name = "doctrine-instantiator-8e884e78f9f0eb1329e445619e04456e64d8051d"; | ||
100 | src = fetchurl { | ||
101 | url = https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d; | ||
102 | sha256 = "15dcja45rnwya431pcm826l68k1g8f1fabl7rih69alcdyvdlln4"; | ||
103 | }; | ||
104 | }; | ||
105 | }; | ||
106 | "doctrine/lexer" = { | ||
107 | targetDir = ""; | ||
108 | src = composerEnv.buildZipPackage { | ||
109 | name = "doctrine-lexer-83893c552fd2045dd78aef794c31e694c37c0b8c"; | ||
110 | src = fetchurl { | ||
111 | url = https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c; | ||
112 | sha256 = "0cyh3vwcl163cx1vrcwmhlh5jg9h47xwiqgzc6rwscxw0ppd1v74"; | ||
113 | }; | ||
114 | }; | ||
115 | }; | ||
116 | "doctrine/orm" = { | ||
117 | targetDir = ""; | ||
118 | src = composerEnv.buildZipPackage { | ||
119 | name = "doctrine-orm-810a7baf81462a5ddf10e8baa8cb94b6eec02754"; | ||
120 | src = fetchurl { | ||
121 | url = https://api.github.com/repos/doctrine/doctrine2/zipball/810a7baf81462a5ddf10e8baa8cb94b6eec02754; | ||
122 | sha256 = "1hmkc7917kgnav9hmlgvlp7qwm3zjj910ci71g9yqwjh6s28wrf1"; | ||
123 | }; | ||
124 | }; | ||
125 | }; | ||
126 | "fig/link-util" = { | ||
127 | targetDir = ""; | ||
128 | src = composerEnv.buildZipPackage { | ||
129 | name = "fig-link-util-1a07821801a148be4add11ab0603e4af55a72fac"; | ||
130 | src = fetchurl { | ||
131 | url = https://api.github.com/repos/php-fig/link-util/zipball/1a07821801a148be4add11ab0603e4af55a72fac; | ||
132 | sha256 = "0ky1pq4a17br5zvcychjghgwr6wpkgp409hdv0ljdk3ks90w5w64"; | ||
133 | }; | ||
134 | }; | ||
135 | }; | ||
136 | "incenteev/composer-parameter-handler" = { | ||
137 | targetDir = ""; | ||
138 | src = composerEnv.buildZipPackage { | ||
139 | name = "incenteev-composer-parameter-handler-933c45a34814f27f2345c11c37d46b3ca7303550"; | ||
140 | src = fetchurl { | ||
141 | url = https://api.github.com/repos/Incenteev/ParameterHandler/zipball/933c45a34814f27f2345c11c37d46b3ca7303550; | ||
142 | sha256 = "1zqdwlcl790kjyz4rkpva35xkfsp8kslds82fzznj0yigkgnbifm"; | ||
143 | }; | ||
144 | }; | ||
145 | }; | ||
146 | "jdorn/sql-formatter" = { | ||
147 | targetDir = ""; | ||
148 | src = composerEnv.buildZipPackage { | ||
149 | name = "jdorn-sql-formatter-64990d96e0959dff8e059dfcdc1af130728d92bc"; | ||
150 | src = fetchurl { | ||
151 | url = https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc; | ||
152 | sha256 = "1dnmkm8mxylvxjwi0bdkzrlklncqx92fa4fwqp5bh2ypj8gaagzi"; | ||
153 | }; | ||
154 | }; | ||
155 | }; | ||
156 | "monolog/monolog" = { | ||
157 | targetDir = ""; | ||
158 | src = composerEnv.buildZipPackage { | ||
159 | name = "monolog-monolog-fd8c787753b3a2ad11bc60c063cff1358a32a3b4"; | ||
160 | src = fetchurl { | ||
161 | url = https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4; | ||
162 | sha256 = "0avf3y8raw23krwdb7kw9qb5bsr5ls4i7qd2vh7hcds3qjixg3h9"; | ||
163 | }; | ||
164 | }; | ||
165 | }; | ||
166 | "paragonie/random_compat" = { | ||
167 | targetDir = ""; | ||
168 | src = composerEnv.buildZipPackage { | ||
169 | name = "paragonie-random_compat-5da4d3c796c275c55f057af5a643ae297d96b4d8"; | ||
170 | src = fetchurl { | ||
171 | url = https://api.github.com/repos/paragonie/random_compat/zipball/5da4d3c796c275c55f057af5a643ae297d96b4d8; | ||
172 | sha256 = "1hp6pin4923c300yi85m7qk04gsrbygv52wv5zm7giyyf0k0g073"; | ||
173 | }; | ||
174 | }; | ||
175 | }; | ||
176 | "psr/cache" = { | ||
177 | targetDir = ""; | ||
178 | src = composerEnv.buildZipPackage { | ||
179 | name = "psr-cache-d11b50ad223250cf17b86e38383413f5a6764bf8"; | ||
180 | src = fetchurl { | ||
181 | url = https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8; | ||
182 | sha256 = "06i2k3dx3b4lgn9a4v1dlgv8l9wcl4kl7vzhh63lbji0q96hv8qz"; | ||
183 | }; | ||
184 | }; | ||
185 | }; | ||
186 | "psr/container" = { | ||
187 | targetDir = ""; | ||
188 | src = composerEnv.buildZipPackage { | ||
189 | name = "psr-container-b7ce3b176482dbbc1245ebf52b181af44c2cf55f"; | ||
190 | src = fetchurl { | ||
191 | url = https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f; | ||
192 | sha256 = "0rkz64vgwb0gfi09klvgay4qnw993l1dc03vyip7d7m2zxi6cy4j"; | ||
193 | }; | ||
194 | }; | ||
195 | }; | ||
196 | "psr/link" = { | ||
197 | targetDir = ""; | ||
198 | src = composerEnv.buildZipPackage { | ||
199 | name = "psr-link-eea8e8662d5cd3ae4517c9b864493f59fca95562"; | ||
200 | src = fetchurl { | ||
201 | url = https://api.github.com/repos/php-fig/link/zipball/eea8e8662d5cd3ae4517c9b864493f59fca95562; | ||
202 | sha256 = "091k4p9irkqnmq9b0p792wz1hb7dm4rafpjilw9im9xhsxgkmr13"; | ||
203 | }; | ||
204 | }; | ||
205 | }; | ||
206 | "psr/log" = { | ||
207 | targetDir = ""; | ||
208 | src = composerEnv.buildZipPackage { | ||
209 | name = "psr-log-4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"; | ||
210 | src = fetchurl { | ||
211 | url = https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d; | ||
212 | sha256 = "1mlcv17fjw39bjpck176ah1z393b6pnbw3jqhhrblj27c70785md"; | ||
213 | }; | ||
214 | }; | ||
215 | }; | ||
216 | "psr/simple-cache" = { | ||
217 | targetDir = ""; | ||
218 | src = composerEnv.buildZipPackage { | ||
219 | name = "psr-simple-cache-408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"; | ||
220 | src = fetchurl { | ||
221 | url = https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b; | ||
222 | sha256 = "1djgzclkamjxi9jy4m9ggfzgq1vqxaga2ip7l3cj88p7rwkzjxgw"; | ||
223 | }; | ||
224 | }; | ||
225 | }; | ||
226 | "sensio/distribution-bundle" = { | ||
227 | targetDir = ""; | ||
228 | src = composerEnv.buildZipPackage { | ||
229 | name = "sensio-distribution-bundle-eb6266b3b472e4002538610b28a0a04bcf94891a"; | ||
230 | src = fetchurl { | ||
231 | url = https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/eb6266b3b472e4002538610b28a0a04bcf94891a; | ||
232 | sha256 = "0wyffqj924lz9cv0vbahyngjw1g850v0p34swygzzgp3cr0ank13"; | ||
233 | }; | ||
234 | }; | ||
235 | }; | ||
236 | "sensio/framework-extra-bundle" = { | ||
237 | targetDir = ""; | ||
238 | src = composerEnv.buildZipPackage { | ||
239 | name = "sensio-framework-extra-bundle-bf4940572e43af679aaa13be98f3446a1c237bd8"; | ||
240 | src = fetchurl { | ||
241 | url = https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/bf4940572e43af679aaa13be98f3446a1c237bd8; | ||
242 | sha256 = "1kb1n5w3kfc0kf4pslqdx5pgp0g4hmaag0i00wvjj2n3pjfm5lhf"; | ||
243 | }; | ||
244 | }; | ||
245 | }; | ||
246 | "sensiolabs/security-checker" = { | ||
247 | targetDir = ""; | ||
248 | src = composerEnv.buildZipPackage { | ||
249 | name = "sensiolabs-security-checker-dc270d5fec418cc6ac983671dba5d80ffaffb142"; | ||
250 | src = fetchurl { | ||
251 | url = https://api.github.com/repos/sensiolabs/security-checker/zipball/dc270d5fec418cc6ac983671dba5d80ffaffb142; | ||
252 | sha256 = "0fnshyd6f8j91a7y604nh6sqgscjl48mfa0727g2r4hkdfz8hpd1"; | ||
253 | }; | ||
254 | }; | ||
255 | }; | ||
256 | "swiftmailer/swiftmailer" = { | ||
257 | targetDir = ""; | ||
258 | src = composerEnv.buildZipPackage { | ||
259 | name = "swiftmailer-swiftmailer-7ffc1ea296ed14bf8260b6ef11b80208dbadba91"; | ||
260 | src = fetchurl { | ||
261 | url = https://api.github.com/repos/swiftmailer/swiftmailer/zipball/7ffc1ea296ed14bf8260b6ef11b80208dbadba91; | ||
262 | sha256 = "1vl5pzgvr2yfrj1yfs02mi917b0gr56v76ibi40r51a3346zhp6v"; | ||
263 | }; | ||
264 | }; | ||
265 | }; | ||
266 | "symfony/monolog-bundle" = { | ||
267 | targetDir = ""; | ||
268 | src = composerEnv.buildZipPackage { | ||
269 | name = "symfony-monolog-bundle-8781649349fe418d51d194f8c9d212c0b97c40dd"; | ||
270 | src = fetchurl { | ||
271 | url = https://api.github.com/repos/symfony/monolog-bundle/zipball/8781649349fe418d51d194f8c9d212c0b97c40dd; | ||
272 | sha256 = "0wcqhg1vfdj3mxacr3fxpgqwy1rk9znjg9bmzx4jymk8l16i7bq8"; | ||
273 | }; | ||
274 | }; | ||
275 | }; | ||
276 | "symfony/polyfill-apcu" = { | ||
277 | targetDir = ""; | ||
278 | src = composerEnv.buildZipPackage { | ||
279 | name = "symfony-polyfill-apcu-e8ae2136ddb53dea314df56fcd88e318ab936c00"; | ||
280 | src = fetchurl { | ||
281 | url = https://api.github.com/repos/symfony/polyfill-apcu/zipball/e8ae2136ddb53dea314df56fcd88e318ab936c00; | ||
282 | sha256 = "07wdszb9ircnidjk3fp3cvcrggxv3sfm996jzd0a9pm6vfz9hymv"; | ||
283 | }; | ||
284 | }; | ||
285 | }; | ||
286 | "symfony/polyfill-intl-icu" = { | ||
287 | targetDir = ""; | ||
288 | src = composerEnv.buildZipPackage { | ||
289 | name = "symfony-polyfill-intl-icu-254919c03761d46c29291616576ed003f10e91c1"; | ||
290 | src = fetchurl { | ||
291 | url = https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/254919c03761d46c29291616576ed003f10e91c1; | ||
292 | sha256 = "01yivzv7p55fzrkkyvgd57zpyz82zn1qp0h6nzr77k01rkv3w0ds"; | ||
293 | }; | ||
294 | }; | ||
295 | }; | ||
296 | "symfony/polyfill-mbstring" = { | ||
297 | targetDir = ""; | ||
298 | src = composerEnv.buildZipPackage { | ||
299 | name = "symfony-polyfill-mbstring-78be803ce01e55d3491c1397cf1c64beb9c1b63b"; | ||
300 | src = fetchurl { | ||
301 | url = https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b; | ||
302 | sha256 = "0cqr8ni6wpbaxa9gyr40y5bsv54pa2g8kdarlfw3qg2rgzmk0yz1"; | ||
303 | }; | ||
304 | }; | ||
305 | }; | ||
306 | "symfony/polyfill-php56" = { | ||
307 | targetDir = ""; | ||
308 | src = composerEnv.buildZipPackage { | ||
309 | name = "symfony-polyfill-php56-ebc999ce5f14204c5150b9bd15f8f04e621409d8"; | ||
310 | src = fetchurl { | ||
311 | url = https://api.github.com/repos/symfony/polyfill-php56/zipball/ebc999ce5f14204c5150b9bd15f8f04e621409d8; | ||
312 | sha256 = "0b2j56l6d6rdggx7vr20d527df4pjfp4lgxpglsgbf5912rcyf83"; | ||
313 | }; | ||
314 | }; | ||
315 | }; | ||
316 | "symfony/polyfill-php70" = { | ||
317 | targetDir = ""; | ||
318 | src = composerEnv.buildZipPackage { | ||
319 | name = "symfony-polyfill-php70-3532bfcd8f933a7816f3a0a59682fc404776600f"; | ||
320 | src = fetchurl { | ||
321 | url = https://api.github.com/repos/symfony/polyfill-php70/zipball/3532bfcd8f933a7816f3a0a59682fc404776600f; | ||
322 | sha256 = "151m76lc9w0kxnnwk4zdcjlmj7fppibnp8jisgpvvq32ml3fizdi"; | ||
323 | }; | ||
324 | }; | ||
325 | }; | ||
326 | "symfony/polyfill-util" = { | ||
327 | targetDir = ""; | ||
328 | src = composerEnv.buildZipPackage { | ||
329 | name = "symfony-polyfill-util-e17c808ec4228026d4f5a8832afa19be85979563"; | ||
330 | src = fetchurl { | ||
331 | url = https://api.github.com/repos/symfony/polyfill-util/zipball/e17c808ec4228026d4f5a8832afa19be85979563; | ||
332 | sha256 = "17sdpdidc0b701f9rippjv1grfci7wrdpy2i1inlwwpr6zy782cq"; | ||
333 | }; | ||
334 | }; | ||
335 | }; | ||
336 | "symfony/swiftmailer-bundle" = { | ||
337 | targetDir = ""; | ||
338 | src = composerEnv.buildZipPackage { | ||
339 | name = "symfony-swiftmailer-bundle-c4808f5169efc05567be983909d00f00521c53ec"; | ||
340 | src = fetchurl { | ||
341 | url = https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/c4808f5169efc05567be983909d00f00521c53ec; | ||
342 | sha256 = "0jmd3slhb3gf3c3krmk2a9fi4ixdxvqlimdkfpj0sfaaq0115y01"; | ||
343 | }; | ||
344 | }; | ||
345 | }; | ||
346 | "symfony/symfony" = { | ||
347 | targetDir = ""; | ||
348 | src = composerEnv.buildZipPackage { | ||
349 | name = "symfony-symfony-874d4d659774d7bab90538072c83ed532dd17dc5"; | ||
350 | src = fetchurl { | ||
351 | url = https://api.github.com/repos/symfony/symfony/zipball/874d4d659774d7bab90538072c83ed532dd17dc5; | ||
352 | sha256 = "02rsn3sc34jh107n576jfbh666k06y44yr7hw61nir0d864k8api"; | ||
353 | }; | ||
354 | }; | ||
355 | }; | ||
356 | "twig/twig" = { | ||
357 | targetDir = ""; | ||
358 | src = composerEnv.buildZipPackage { | ||
359 | name = "twig-twig-9c24f2cd39dc1906b76879e099970b7e53724601"; | ||
360 | src = fetchurl { | ||
361 | url = https://api.github.com/repos/twigphp/Twig/zipball/9c24f2cd39dc1906b76879e099970b7e53724601; | ||
362 | sha256 = "0brfj2lahrrw1322zy6jyd380hjks1ynzzkmq3875a282gzrfkdz"; | ||
363 | }; | ||
364 | }; | ||
365 | }; | ||
366 | }; | ||
367 | devPackages = { | ||
368 | "sensio/generator-bundle" = { | ||
369 | targetDir = ""; | ||
370 | src = composerEnv.buildZipPackage { | ||
371 | name = "sensio-generator-bundle-28cbaa244bd0816fd8908b93f90380bcd7b67a65"; | ||
372 | src = fetchurl { | ||
373 | url = https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/28cbaa244bd0816fd8908b93f90380bcd7b67a65; | ||
374 | sha256 = "1j09y037xk843q8gcyfmwgy6dmn0h67pd5jnsvhj08h92ssbl0c3"; | ||
375 | }; | ||
376 | }; | ||
377 | }; | ||
378 | "symfony/phpunit-bridge" = { | ||
379 | targetDir = ""; | ||
380 | src = composerEnv.buildZipPackage { | ||
381 | name = "symfony-phpunit-bridge-32b06d2b0babf3216e55acfce42249321a304f03"; | ||
382 | src = fetchurl { | ||
383 | url = https://api.github.com/repos/symfony/phpunit-bridge/zipball/32b06d2b0babf3216e55acfce42249321a304f03; | ||
384 | sha256 = "0vw4q3lvz8gfs0r93ds8yymz8586k0czwa01c7d172rc8x02v0qq"; | ||
385 | }; | ||
386 | }; | ||
387 | }; | ||
388 | }; | ||
389 | } | ||
diff --git a/virtual/modules/websites/tellesflorian/tellesflorian.json b/virtual/modules/websites/tellesflorian/tellesflorian.json deleted file mode 100644 index 81b42af..0000000 --- a/virtual/modules/websites/tellesflorian/tellesflorian.json +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | { | ||
2 | "tag": "1793d5c-master", | ||
3 | "meta": { | ||
4 | "name": "tellesflorian", | ||
5 | "url": "gitolite@git.immae.eu:perso/florian_telles/stabilo", | ||
6 | "branch": "master" | ||
7 | }, | ||
8 | "git": { | ||
9 | "url": "gitolite@git.immae.eu:perso/florian_telles/stabilo", | ||
10 | "rev": "1793d5c7912d1b20ad1df1ac59be9d7f1220e919", | ||
11 | "sha256": "1zhxcrbglbjb6xfr8sfm4m2miabbkkb0a7543va3b5akrn6yk0cb", | ||
12 | "fetchSubmodules": true | ||
13 | } | ||
14 | } | ||
diff --git a/virtual/modules/websites/tellesflorian/tellesflorian.nix b/virtual/modules/websites/tellesflorian/tellesflorian.nix deleted file mode 100644 index 4237af8..0000000 --- a/virtual/modules/websites/tellesflorian/tellesflorian.nix +++ /dev/null | |||
@@ -1,154 +0,0 @@ | |||
1 | { lib, writeText, fetchedGitPrivate, fetchurl, stdenv, composerEnv }: | ||
2 | let | ||
3 | tellesflorian = { config }: rec { | ||
4 | environment = config.environment; | ||
5 | varDir = "/var/lib/tellesflorian_${environment}"; | ||
6 | configRoot = | ||
7 | writeText "parameters.yml" '' | ||
8 | # This file is auto-generated during the composer install | ||
9 | parameters: | ||
10 | database_host: db-1.immae.eu | ||
11 | database_port: null | ||
12 | database_name: ${config.mysql.name} | ||
13 | database_user: ${config.mysql.user} | ||
14 | database_password: ${config.mysql.password} | ||
15 | mailer_transport: smtp | ||
16 | mailer_host: mail.immae.eu | ||
17 | mailer_user: null | ||
18 | mailer_password: null | ||
19 | secret: ${config.secret} | ||
20 | ''; | ||
21 | phpFpm = rec { | ||
22 | socket = "/var/run/phpfpm/floriantelles-${environment}.sock"; | ||
23 | pool = '' | ||
24 | listen = ${socket} | ||
25 | user = ${apache.user} | ||
26 | group = ${apache.group} | ||
27 | listen.owner = ${apache.user} | ||
28 | listen.group = ${apache.group} | ||
29 | php_admin_value[upload_max_filesize] = 20M | ||
30 | php_admin_value[post_max_size] = 20M | ||
31 | ;php_admin_flag[log_errors] = on | ||
32 | php_admin_value[open_basedir] = "${configRoot}:${webappDir}:${varDir}:/tmp" | ||
33 | php_admin_value[session.save_path] = "${varDir}/phpSessions" | ||
34 | ${if environment == "dev" then '' | ||
35 | pm = ondemand | ||
36 | pm.max_children = 5 | ||
37 | pm.process_idle_timeout = 60 | ||
38 | env[SYMFONY_DEBUG_MODE] = "yes" | ||
39 | '' else '' | ||
40 | pm = dynamic | ||
41 | pm.max_children = 20 | ||
42 | pm.start_servers = 2 | ||
43 | pm.min_spare_servers = 1 | ||
44 | pm.max_spare_servers = 3 | ||
45 | ''}''; | ||
46 | }; | ||
47 | passwords = writeText "tellesflorian_passwords" '' | ||
48 | invite:${config.invite_passwords} | ||
49 | ''; | ||
50 | apache = { | ||
51 | user = "wwwrun"; | ||
52 | group = "wwwrun"; | ||
53 | modules = [ "proxy_fcgi" ]; | ||
54 | vhostConf = '' | ||
55 | <FilesMatch "\.php$"> | ||
56 | SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" | ||
57 | </FilesMatch> | ||
58 | |||
59 | ${if environment == "dev" then '' | ||
60 | <Location /> | ||
61 | AuthBasicProvider file ldap | ||
62 | Use LDAPConnect | ||
63 | Require ldap-group cn=app.tellesflorian.com,cn=httpd,ou=services,dc=immae,dc=eu | ||
64 | |||
65 | AuthUserFile "${passwords}" | ||
66 | Require user "invite" | ||
67 | |||
68 | ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=https://tellesflorian.com\"></html>" | ||
69 | </Location> | ||
70 | |||
71 | <Directory ${webRoot}> | ||
72 | Options Indexes FollowSymLinks MultiViews Includes | ||
73 | AllowOverride None | ||
74 | Require all granted | ||
75 | |||
76 | DirectoryIndex app_dev.php | ||
77 | |||
78 | <IfModule mod_negotiation.c> | ||
79 | Options -MultiViews | ||
80 | </IfModule> | ||
81 | |||
82 | <IfModule mod_rewrite.c> | ||
83 | RewriteEngine On | ||
84 | |||
85 | RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ | ||
86 | RewriteRule ^(.*) - [E=BASE:%1] | ||
87 | |||
88 | # Maintenance script | ||
89 | RewriteCond %{DOCUMENT_ROOT}/maintenance.php -f | ||
90 | RewriteCond %{SCRIPT_FILENAME} !maintenance.php | ||
91 | RewriteRule ^.*$ %{ENV:BASE}/maintenance.php [R=503,L] | ||
92 | ErrorDocument 503 /maintenance.php | ||
93 | |||
94 | # Sets the HTTP_AUTHORIZATION header removed by Apache | ||
95 | RewriteCond %{HTTP:Authorization} . | ||
96 | RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] | ||
97 | |||
98 | RewriteCond %{ENV:REDIRECT_STATUS} ^$ | ||
99 | RewriteRule ^app_dev\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L] | ||
100 | |||
101 | # If the requested filename exists, simply serve it. | ||
102 | # We only want to let Apache serve files and not directories. | ||
103 | RewriteCond %{REQUEST_FILENAME} -f | ||
104 | RewriteRule ^ - [L] | ||
105 | |||
106 | # Rewrite all other queries to the front controller. | ||
107 | RewriteRule ^ %{ENV:BASE}/app_dev.php [L] | ||
108 | </IfModule> | ||
109 | |||
110 | </Directory> | ||
111 | '' else '' | ||
112 | <Directory ${webRoot}> | ||
113 | Options Indexes FollowSymLinks MultiViews Includes | ||
114 | AllowOverride All | ||
115 | Require all granted | ||
116 | </Directory> | ||
117 | ''} | ||
118 | ''; | ||
119 | }; | ||
120 | activationScript = { | ||
121 | deps = [ "wrappers" ]; | ||
122 | text = '' | ||
123 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} \ | ||
124 | ${varDir}/var | ||
125 | install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions | ||
126 | if [ ! -f "${varDir}/currentWebappDir" -o \ | ||
127 | "${webappDir}" != "$(cat ${varDir}/currentWebappDir 2>/dev/null)" ]; then | ||
128 | pushd ${webappDir} > /dev/null | ||
129 | $wrapperDir/sudo -u wwwrun ./bin/console --env=${environment} cache:clear --no-warmup | ||
130 | popd > /dev/null | ||
131 | echo -n "${webappDir}" > ${varDir}/currentWebappDir | ||
132 | fi | ||
133 | ''; | ||
134 | }; | ||
135 | webappDir = composerEnv.buildPackage ( | ||
136 | import ./php-packages.nix { inherit composerEnv fetchurl; } // | ||
137 | fetchedGitPrivate ./tellesflorian.json // | ||
138 | rec { | ||
139 | noDev = (environment == "prod"); | ||
140 | preInstall = '' | ||
141 | export SYMFONY_ENV="${environment}" | ||
142 | ''; | ||
143 | postInstall = '' | ||
144 | cd $out | ||
145 | rm app/config/parameters.yml | ||
146 | ln -sf ${configRoot} app/config/parameters.yml | ||
147 | rm -rf var/{logs,cache} | ||
148 | ln -sf ../../../../../../${varDir}/var/{logs,cache,sessions} var/ | ||
149 | ''; | ||
150 | }); | ||
151 | webRoot = "${webappDir}/web"; | ||
152 | }; | ||
153 | in | ||
154 | tellesflorian | ||
diff --git a/virtual/modules/websites/tools/cloud/default.nix b/virtual/modules/websites/tools/cloud/default.nix deleted file mode 100644 index 241b982..0000000 --- a/virtual/modules/websites/tools/cloud/default.nix +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | ||
2 | let | ||
3 | nextcloud = pkgs.callPackage ./nextcloud.nix { | ||
4 | env = myconfig.env.tools.nextcloud; | ||
5 | }; | ||
6 | |||
7 | cfg = config.services.myWebsites.tools.cloud; | ||
8 | in { | ||
9 | options.services.myWebsites.tools.cloud = { | ||
10 | enable = lib.mkEnableOption "enable cloud website"; | ||
11 | }; | ||
12 | |||
13 | config = lib.mkIf cfg.enable { | ||
14 | security.acme.certs."eldiron".extraDomains."cloud.immae.eu" = null; | ||
15 | |||
16 | services.myWebsites.tools.modules = nextcloud.apache.modules; | ||
17 | |||
18 | services.myWebsites.tools.vhostConfs.cloud = { | ||
19 | certName = "eldiron"; | ||
20 | hosts = ["cloud.immae.eu" ]; | ||
21 | root = nextcloud.webRoot; | ||
22 | extraConfig = [ | ||
23 | nextcloud.apache.vhostConf | ||
24 | ]; | ||
25 | }; | ||
26 | |||
27 | environment.systemPackages = let | ||
28 | occ = pkgs.writeScriptBin "nextcloud-occ" '' | ||
29 | #! ${pkgs.stdenv.shell} | ||
30 | cd ${nextcloud.webRoot} | ||
31 | NEXTCLOUD_CONFIG_DIR="${nextcloud.webRoot}/config" \ | ||
32 | exec \ | ||
33 | ${pkgs.php}/bin/php \ | ||
34 | -c ${pkgs.php}/etc/php.ini \ | ||
35 | occ $* | ||
36 | ''; | ||
37 | in [ occ ]; | ||
38 | |||
39 | system.activationScripts.nextcloud = nextcloud.activationScript; | ||
40 | |||
41 | services.myPhpfpm = { | ||
42 | poolPhpConfigs.nextcloud = nextcloud.phpFpm.phpConfig; | ||
43 | poolConfigs.nextcloud = nextcloud.phpFpm.pool; | ||
44 | }; | ||
45 | |||
46 | }; | ||
47 | } | ||
diff --git a/virtual/modules/websites/tools/cloud/nextcloud-config/mimetypealiases.json b/virtual/modules/websites/tools/cloud/nextcloud-config/mimetypealiases.json deleted file mode 100644 index 3806e53..0000000 --- a/virtual/modules/websites/tools/cloud/nextcloud-config/mimetypealiases.json +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | { | ||
2 | "application/gpx+xml": "gpx", | ||
3 | "x-application/kdbx": "kdbx" | ||
4 | } | ||
diff --git a/virtual/modules/websites/tools/cloud/nextcloud-config/mimetypemapping.json b/virtual/modules/websites/tools/cloud/nextcloud-config/mimetypemapping.json deleted file mode 100644 index 2db4691..0000000 --- a/virtual/modules/websites/tools/cloud/nextcloud-config/mimetypemapping.json +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | { | ||
2 | "gpx": ["application/gpx+xml"], | ||
3 | "kdbx": ["x-application/kdbx"] | ||
4 | } | ||
diff --git a/virtual/modules/websites/tools/cloud/nextcloud.nix b/virtual/modules/websites/tools/cloud/nextcloud.nix deleted file mode 100644 index 3c6bfc9..0000000 --- a/virtual/modules/websites/tools/cloud/nextcloud.nix +++ /dev/null | |||
@@ -1,258 +0,0 @@ | |||
1 | { stdenv, fetchurl, env, writeText, lib, phpPackages, php }: | ||
2 | let | ||
3 | nextcloud = let | ||
4 | buildApp = { appName, version, url, sha256, installPhase ? "mkdir -p $out && cp -R . $out/" }: | ||
5 | stdenv.mkDerivation rec { | ||
6 | name = "nextcloud-app-${appName}-${version}"; | ||
7 | inherit version; | ||
8 | phases = "unpackPhase installPhase"; | ||
9 | inherit installPhase; | ||
10 | src = fetchurl { inherit url sha256; }; | ||
11 | }; | ||
12 | apps = { | ||
13 | audioplayer = buildApp rec { | ||
14 | appName = "audioplayer"; | ||
15 | version = "2.5.0"; | ||
16 | url = "https://github.com/Rello/${appName}/releases/download/${version}/${appName}-${version}.tar.gz"; | ||
17 | sha256 = "1pg4y51cv3agy28n4gfc8i7x1ya1yijxrmhpblm1n846vhmwdcm8"; | ||
18 | }; | ||
19 | bookmarks = buildApp rec { | ||
20 | appName = "bookmarks"; | ||
21 | version = "0.14.3"; | ||
22 | url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}-${version}.tar.gz"; | ||
23 | sha256 = "0s7lkcl70izlkihnml1par0cac0wvckllyyga3jkb7k9vdg7d40c"; | ||
24 | }; | ||
25 | calendar = buildApp rec { | ||
26 | appName = "calendar"; | ||
27 | version = "1.6.4"; | ||
28 | url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz"; | ||
29 | sha256 = "00dijvcvy7snsjslfbyzvpp9anhms22zp1f0zkj89ln33jmana63"; | ||
30 | }; | ||
31 | contacts = buildApp rec { | ||
32 | appName = "contacts"; | ||
33 | version = "3.0.0"; | ||
34 | url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz"; | ||
35 | sha256 = "0fafy5kgzr5ldr3hxxxgmnw4y3qpjnv5ha1f1dlmqbc65s8frw7s"; | ||
36 | }; | ||
37 | deck = buildApp rec { | ||
38 | appName = "deck"; | ||
39 | version = "0.5.2"; | ||
40 | url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz"; | ||
41 | sha256 = "1kygzixxdkp3dbma009p3pw0fj8wgcqcv39n7pay78lh6zi3nic7"; | ||
42 | }; | ||
43 | files_markdown = buildApp rec { | ||
44 | appName = "files_markdown"; | ||
45 | version = "2.0.5"; | ||
46 | url = "https://github.com/icewind1991/${appName}/releases/download/v${version}/${appName}.tar.gz"; | ||
47 | sha256 = "1dzvy4c6vff2qmkwqw13dx92xdkafaxgnipswjw44mh0ncc2n9ym"; | ||
48 | }; | ||
49 | gpxedit = buildApp rec { | ||
50 | appName = "gpxedit"; | ||
51 | version = "0.0.10"; | ||
52 | url = "https://gitlab.com/eneiluj/gpxedit-oc/wikis/uploads/33d187268c5f6f6a55350d656305701c/${appName}-${version}.tar.gz"; | ||
53 | sha256 = "0ynpaxm0xhvcj8xax6rm1w0p6j57wbqidhi7bhn268n483gwl2sw"; | ||
54 | }; | ||
55 | gpxpod = buildApp rec { | ||
56 | appName = "gpxpod"; | ||
57 | version = "3.0.0"; | ||
58 | url = "https://gitlab.com/eneiluj/gpxpod-oc/-/archive/v${version}/${appName}-oc-v${version}.tar.gz"; | ||
59 | sha256 = "0smpi4r3z7zfl1612fb30cwm1xmpiq95c81zzqiwzjf288iys74k"; | ||
60 | }; | ||
61 | keeweb = buildApp rec { | ||
62 | appName = "keeweb"; | ||
63 | version = "0.4.0"; | ||
64 | url = "https://github.com/jhass/nextcloud-keeweb/releases/download/v${version}/${appName}-${version}.tar.gz"; | ||
65 | sha256 = "0453kkb0a8vfivmibpwpx4bvhyn64jhns6cdfjacmnvbm6d75nj1"; | ||
66 | }; | ||
67 | notes = buildApp rec { | ||
68 | appName = "notes"; | ||
69 | version = "2.5.1"; | ||
70 | url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz"; | ||
71 | sha256 = "1albzqqsdirzyw8vhvs7r0qm2wqp8vm9vmxm4crhncd85bk01hmh"; | ||
72 | }; | ||
73 | ocsms = buildApp rec { | ||
74 | appName = "ocsms"; | ||
75 | version = "2.1.0"; | ||
76 | url = "https://github.com/nextcloud/${appName}/releases/download/${version}/${appName}-${version}.tar.gz"; | ||
77 | sha256 = "19xgs82js4sdf6j9478vg9li7za7csvcaa1hbq9nmrq441sbxk9c"; | ||
78 | installPhase = '' | ||
79 | sed -i -e "/addScript.*devel/d" -e "s@//\(.*addScript.*app.min\)@\1@" templates/main.php | ||
80 | mkdir -p $out | ||
81 | cp -R . $out/ | ||
82 | ''; | ||
83 | }; | ||
84 | spreed = buildApp rec { | ||
85 | appName = "spreed"; | ||
86 | version = "5.0.0"; | ||
87 | url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}-${version}.tar.gz"; | ||
88 | sha256 = "1d48mak1fnf1b28r2687yqamm4pxfg3qyxcj9ny31a6xg2cm0xa7"; | ||
89 | }; | ||
90 | tasks = buildApp rec { | ||
91 | appName = "tasks"; | ||
92 | version = "0.9.8"; | ||
93 | url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz"; | ||
94 | sha256 = "089m124lfsfk09fqj50x9n7zndq97jp5afgb8s001rpmzym4g6ny"; | ||
95 | }; | ||
96 | }; | ||
97 | in rec { | ||
98 | varDir = "/var/lib/nextcloud"; | ||
99 | config_php = writeText "config.php" '' | ||
100 | <?php | ||
101 | $CONFIG = array ( | ||
102 | 'instanceid' => '${env.instance_id}', | ||
103 | 'datadirectory' => '/var/lib/nextcloud/', | ||
104 | 'passwordsalt' => '${env.password_salt}', | ||
105 | 'debug' => false, | ||
106 | 'dbtype' => 'pgsql', | ||
107 | 'version' => '15.0.0.10', | ||
108 | 'dbname' => '${env.postgresql.database}', | ||
109 | 'dbhost' => '${env.postgresql.socket}', | ||
110 | 'dbtableprefix' => 'oc_', | ||
111 | 'dbuser' => '${env.postgresql.user}', | ||
112 | 'dbpassword' => '${env.postgresql.password}', | ||
113 | 'installed' => true, | ||
114 | 'maxZipInputSize' => 0, | ||
115 | 'allowZipDownload' => true, | ||
116 | 'forcessl' => true, | ||
117 | 'theme' => ${"''"}, | ||
118 | 'maintenance' => false, | ||
119 | 'trusted_domains' => | ||
120 | array ( | ||
121 | 0 => 'cloud.immae.eu', | ||
122 | ), | ||
123 | 'secret' => '${env.secret}', | ||
124 | 'appstoreenabled' => false, | ||
125 | 'appstore.experimental.enabled' => true, | ||
126 | 'loglevel' => 0, | ||
127 | 'trashbin_retention_obligation' => 'auto', | ||
128 | 'htaccess.RewriteBase' => '/', | ||
129 | 'mail_smtpmode' => 'smtp', | ||
130 | 'mail_smtphost' => 'mail.immae.eu', | ||
131 | 'mail_smtpname' => ${"''"}, | ||
132 | 'mail_smtppassword' => ${"''"}, | ||
133 | 'mail_from_address' => 'owncloud', | ||
134 | 'mail_smtpauth' => false, | ||
135 | 'mail_domain' => 'immae.eu', | ||
136 | 'memcache.local' => '\\OC\\Memcache\\APCu', | ||
137 | 'memcache.locking' => '\\OC\\Memcache\\Redis', | ||
138 | 'filelocking.enabled' => true, | ||
139 | 'redis' => | ||
140 | array ( | ||
141 | 'host' => '${env.redis.socket}', | ||
142 | 'port' => 0, | ||
143 | 'dbindex' => ${env.redis.db_index}, | ||
144 | ), | ||
145 | 'overwrite.cli.url' => 'https://cloud.immae.eu', | ||
146 | 'ldapIgnoreNamingRules' => false, | ||
147 | 'ldapProviderFactory' => '\\OCA\\User_LDAP\\LDAPProviderFactory', | ||
148 | 'config_is_read_only' => true, | ||
149 | ); | ||
150 | ''; | ||
151 | config = stdenv.mkDerivation rec { | ||
152 | name = "nextcloud-config"; | ||
153 | src = ./nextcloud-config; | ||
154 | phases = "installPhase"; | ||
155 | installPhase = '' | ||
156 | mkdir -p $out | ||
157 | cp -r $src/* $out | ||
158 | cp ${config_php} $out/config.php | ||
159 | ''; | ||
160 | }; | ||
161 | webRoot = stdenv.mkDerivation rec { | ||
162 | name = "nextcloud-${version}"; | ||
163 | version = "15.0.0"; | ||
164 | |||
165 | src = fetchurl { | ||
166 | url = "https://download.nextcloud.com/server/releases/${name}.tar.bz2"; | ||
167 | sha256 = "0y7bk1588n5rmmranmmrkajh50074460hr4v052ahg9mf60wbc2v"; | ||
168 | }; | ||
169 | |||
170 | installPhase = '' | ||
171 | mkdir -p $out/ | ||
172 | cp -R . $out/ | ||
173 | rm -r $out/config | ||
174 | ln -sf ${config} $out/config | ||
175 | ${builtins.concatStringsSep "\n" ( | ||
176 | lib.attrsets.mapAttrsToList (name: value: "ln -sf ${value} $out/apps/${name}") apps | ||
177 | )} | ||
178 | ''; | ||
179 | |||
180 | meta = { | ||
181 | description = "Sharing solution for files, calendars, contacts and more"; | ||
182 | homepage = https://nextcloud.com; | ||
183 | maintainers = with lib.maintainers; [ schneefux bachp globin fpletz ]; | ||
184 | license = lib.licenses.agpl3Plus; | ||
185 | platforms = with lib.platforms; unix; | ||
186 | }; | ||
187 | }; | ||
188 | activationScript = { | ||
189 | deps = [ ]; | ||
190 | text = '' | ||
191 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} | ||
192 | install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions | ||
193 | ''; | ||
194 | }; | ||
195 | apache = { | ||
196 | user = "wwwrun"; | ||
197 | group = "wwwrun"; | ||
198 | modules = [ "proxy_fcgi" ]; | ||
199 | vhostConf = '' | ||
200 | SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 | ||
201 | <Directory ${webRoot}> | ||
202 | AcceptPathInfo On | ||
203 | DirectoryIndex index.php | ||
204 | Options FollowSymlinks | ||
205 | Require all granted | ||
206 | AllowOverride all | ||
207 | |||
208 | <IfModule mod_headers.c> | ||
209 | Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload" | ||
210 | </IfModule> | ||
211 | <FilesMatch "\.php$"> | ||
212 | CGIPassAuth on | ||
213 | SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" | ||
214 | </FilesMatch> | ||
215 | |||
216 | </Directory> | ||
217 | |||
218 | ''; | ||
219 | }; | ||
220 | phpFpm = rec { | ||
221 | basedir = builtins.concatStringsSep ":" ( | ||
222 | [ webRoot varDir config ] | ||
223 | ++ lib.attrsets.mapAttrsToList (name: value: value) apps); | ||
224 | socket = "/var/run/phpfpm/nextcloud.sock"; | ||
225 | phpConfig = '' | ||
226 | extension=${phpPackages.redis}/lib/php/extensions/redis.so | ||
227 | extension=${phpPackages.apcu}/lib/php/extensions/apcu.so | ||
228 | zend_extension=${php}/lib/php/extensions/opcache.so | ||
229 | ''; | ||
230 | pool = '' | ||
231 | listen = ${socket} | ||
232 | user = ${apache.user} | ||
233 | group = ${apache.group} | ||
234 | listen.owner = ${apache.user} | ||
235 | listen.group = ${apache.group} | ||
236 | pm = ondemand | ||
237 | pm.max_children = 60 | ||
238 | pm.process_idle_timeout = 60 | ||
239 | |||
240 | php_admin_value[output_buffering] = 0 | ||
241 | php_admin_value[max_execution_time] = 1800 | ||
242 | php_admin_value[zend_extension] = "opcache" | ||
243 | php_value[opcache.enable] = 1 | ||
244 | php_value[opcache.enable_cli] = 1 | ||
245 | php_value[opcache.interned_strings_buffer] = 8 | ||
246 | php_value[opcache.max_accelerated_files] = 10000 | ||
247 | php_value[opcache.memory_consumption] = 128 | ||
248 | php_value[opcache.save_comments] = 1 | ||
249 | php_value[opcache.revalidate_freq] = 1 | ||
250 | php_admin_value[memory_limit] = 512M | ||
251 | |||
252 | php_admin_value[open_basedir] = "${basedir}:/proc/meminfo:/dev/urandom:/proc/self/fd:/tmp" | ||
253 | php_admin_value[session.save_path] = "${varDir}/phpSessions" | ||
254 | ''; | ||
255 | }; | ||
256 | }; | ||
257 | in | ||
258 | nextcloud | ||
diff --git a/virtual/modules/websites/tools/dav/davical.nix b/virtual/modules/websites/tools/dav/davical.nix deleted file mode 100644 index 4d0639f..0000000 --- a/virtual/modules/websites/tools/dav/davical.nix +++ /dev/null | |||
@@ -1,160 +0,0 @@ | |||
1 | { stdenv, fetchurl, gettext, writeText, env }: | ||
2 | let | ||
3 | awl = stdenv.mkDerivation rec { | ||
4 | version = "0.59"; | ||
5 | name = "awl-${version}"; | ||
6 | src = fetchurl { | ||
7 | url = "https://www.davical.org/downloads/awl_${version}.orig.tar.xz"; | ||
8 | sha256 = "01b7km7ga3ggbpp8axkc55nizgk5c35fl2z93iydb3hwbxmsvnjp"; | ||
9 | }; | ||
10 | unpackCmd = '' | ||
11 | tar --one-top-level -xf $curSrc | ||
12 | ''; | ||
13 | installPhase = '' | ||
14 | mkdir -p $out | ||
15 | cp -ra dba docs inc scripts tests $out | ||
16 | ''; | ||
17 | }; | ||
18 | davical = rec { | ||
19 | config = writeText "davical_config.php" '' | ||
20 | <?php | ||
21 | $c->pg_connect[] = "dbname=davical user=davical_app host=db-1.immae.eu password=${env.postgresql.password}"; | ||
22 | |||
23 | $c->readonly_webdav_collections = false; | ||
24 | |||
25 | $c->admin_email ='davical@immae.eu'; | ||
26 | |||
27 | $c->restrict_setup_to_admin = true; | ||
28 | |||
29 | $c->collections_always_exist = false; | ||
30 | |||
31 | $c->external_refresh = 60; | ||
32 | |||
33 | $c->enable_scheduling = true; | ||
34 | |||
35 | $c->iMIP = (object) array("send_email" => true); | ||
36 | |||
37 | $c->authenticate_hook['optional'] = false; | ||
38 | $c->authenticate_hook['call'] = 'LDAP_check'; | ||
39 | $c->authenticate_hook['config'] = array( | ||
40 | 'host' => 'ldap.immae.eu', | ||
41 | 'port' => '389', | ||
42 | 'startTLS' => 'yes', | ||
43 | 'bindDN'=> 'cn=davical,ou=services,dc=immae,dc=eu', | ||
44 | 'passDN'=> '${env.ldap.password}', | ||
45 | 'protocolVersion' => '3', | ||
46 | 'baseDNUsers'=> array('ou=users,dc=immae,dc=eu', 'ou=group_users,dc=immae,dc=eu'), | ||
47 | 'filterUsers' => 'memberOf=cn=users,cn=davical,ou=services,dc=immae,dc=eu', | ||
48 | 'baseDNGroups' => 'ou=groups,dc=immae,dc=eu', | ||
49 | 'filterGroups' => 'memberOf=cn=groups,cn=davical,ou=services,dc=immae,dc=eu', | ||
50 | 'mapping_field' => array( | ||
51 | "username" => "uid", | ||
52 | "fullname" => "cn", | ||
53 | "email" => "mail", | ||
54 | "modified" => "modifyTimestamp", | ||
55 | ), | ||
56 | 'format_updated'=> array('Y' => array(0,4),'m' => array(4,2),'d'=> array(6,2),'H' => array(8,2),'M'=>array(10,2),'S' => array(12,2)), | ||
57 | /** used to set default value for all users, will be overcharged by ldap if defined also in mapping_field **/ | ||
58 | // 'default_value' => array("date_format_type" => "E","locale" => "fr_FR"), | ||
59 | 'group_mapping_field' => array( | ||
60 | "username" => "cn", | ||
61 | "updated" => "modifyTimestamp", | ||
62 | "fullname" => "givenName", | ||
63 | "displayname" => "givenName", | ||
64 | "members" => "memberUid", | ||
65 | "email" => "mail", | ||
66 | ), | ||
67 | ); | ||
68 | |||
69 | $c->do_not_sync_from_ldap = array('admin' => true); | ||
70 | include('drivers_ldap.php'); | ||
71 | ''; | ||
72 | webapp = stdenv.mkDerivation rec { | ||
73 | version = "1.1.7"; | ||
74 | name = "davical-${version}"; | ||
75 | src = fetchurl { | ||
76 | url = "https://www.davical.org/downloads/davical_${version}.orig.tar.xz"; | ||
77 | sha256 = "1ar5m2dxr92b204wkdi8z33ir9vz2jbh5k1p74icpv9ywifvjjp9"; | ||
78 | }; | ||
79 | unpackCmd = '' | ||
80 | tar --one-top-level -xf $curSrc | ||
81 | ''; | ||
82 | makeFlags = "all"; | ||
83 | patches = [ ./davical_19eb79ebf9250e5f339675319902458c40ed1755.patch ]; | ||
84 | installPhase = '' | ||
85 | mkdir -p $out | ||
86 | cp -ra config dba docs htdocs inc locale po scripts testing zonedb $out | ||
87 | ln -s ${config} $out/config/config.php | ||
88 | ''; | ||
89 | buildInputs = [ gettext ]; | ||
90 | }; | ||
91 | webRoot = "${webapp}/htdocs"; | ||
92 | apache = { | ||
93 | user = "wwwrun"; | ||
94 | group = "wwwrun"; | ||
95 | modules = [ "proxy_fcgi" ]; | ||
96 | vhostConf = '' | ||
97 | Alias /davical "${webRoot}" | ||
98 | Alias /caldav.php "${webRoot}/caldav.php" | ||
99 | <Directory "${webRoot}"> | ||
100 | DirectoryIndex index.php index.html | ||
101 | AcceptPathInfo On | ||
102 | AllowOverride None | ||
103 | Require all granted | ||
104 | |||
105 | <FilesMatch "\.php$"> | ||
106 | CGIPassAuth on | ||
107 | SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" | ||
108 | </FilesMatch> | ||
109 | |||
110 | RewriteEngine On | ||
111 | <IfModule mod_headers.c> | ||
112 | Header unset Access-Control-Allow-Origin | ||
113 | Header unset Access-Control-Allow-Methods | ||
114 | Header unset Access-Control-Allow-Headers | ||
115 | Header unset Access-Control-Allow-Credentials | ||
116 | Header unset Access-Control-Expose-Headers | ||
117 | |||
118 | Header always set Access-Control-Allow-Origin "*" | ||
119 | Header always set Access-Control-Allow-Methods "GET,POST,OPTIONS,PROPFIND,PROPPATCH,REPORT,PUT,MOVE,DELETE,LOCK,UNLOCK" | ||
120 | Header always set Access-Control-Allow-Headers "User-Agent,Authorization,Content-type,Depth,If-match,If-None-Match,Lock-Token,Timeout,Destination,Overwrite,Prefer,X-client,X-Requested-With" | ||
121 | Header always set Access-Control-Allow-Credentials false | ||
122 | Header always set Access-Control-Expose-Headers "Etag,Preference-Applied" | ||
123 | |||
124 | RewriteCond %{HTTP:Access-Control-Request-Method} !^$ | ||
125 | RewriteCond %{REQUEST_METHOD} OPTIONS | ||
126 | RewriteRule ^(.*)$ $1 [R=200,L] | ||
127 | </IfModule> | ||
128 | </Directory> | ||
129 | ''; | ||
130 | }; | ||
131 | phpFpm = rec { | ||
132 | basedir = builtins.concatStringsSep ":" [ webapp config awl ]; | ||
133 | socket = "/var/run/phpfpm/davical.sock"; | ||
134 | pool = '' | ||
135 | listen = ${socket} | ||
136 | user = ${apache.user} | ||
137 | group = ${apache.group} | ||
138 | listen.owner = ${apache.user} | ||
139 | listen.group = ${apache.group} | ||
140 | pm = dynamic | ||
141 | pm.max_children = 60 | ||
142 | pm.start_servers = 2 | ||
143 | pm.min_spare_servers = 1 | ||
144 | pm.max_spare_servers = 10 | ||
145 | |||
146 | ; Needed to avoid clashes in browser cookies (same domain) | ||
147 | php_value[session.name] = DavicalPHPSESSID | ||
148 | php_admin_value[open_basedir] = "${basedir}:/tmp" | ||
149 | php_admin_value[include_path] = "${awl}/inc:${webapp}/inc" | ||
150 | php_admin_value[session.save_path] = "/var/lib/php/sessions/davical" | ||
151 | php_flag[magic_quotes_gpc] = Off | ||
152 | php_flag[register_globals] = Off | ||
153 | php_admin_value[error_reporting] = "E_ALL & ~E_NOTICE" | ||
154 | php_admin_value[default_charset] = "utf-8" | ||
155 | php_flag[magic_quotes_runtime] = Off | ||
156 | ''; | ||
157 | }; | ||
158 | }; | ||
159 | in | ||
160 | davical | ||
diff --git a/virtual/modules/websites/tools/dav/davical_19eb79ebf9250e5f339675319902458c40ed1755.patch b/virtual/modules/websites/tools/dav/davical_19eb79ebf9250e5f339675319902458c40ed1755.patch deleted file mode 100644 index 2a08a5c..0000000 --- a/virtual/modules/websites/tools/dav/davical_19eb79ebf9250e5f339675319902458c40ed1755.patch +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | diff --git a/inc/ui/collection-edit.php b/inc/ui/collection-edit.php | ||
2 | index 3af9edd3b8c4ad9074113273175098841af6a28e..8c1d84012b035f7bc7faedcb24916581a02a5d3e 100644 | ||
3 | --- a/inc/ui/collection-edit.php | ||
4 | +++ b/inc/ui/collection-edit.php | ||
5 | @@ -190,7 +190,7 @@ $privilege_xlate = array( | ||
6 | * @param dbrow $row The row object we read from the database. | ||
7 | * @return string The formatted privileges. | ||
8 | */ | ||
9 | -function collection_privilege_format_function( $value, $column, $row ) { | ||
10 | +function collection_privilege_format_function( $value, $column = NULL, $row = NULL ) { | ||
11 | global $privilege_xlate; | ||
12 | |||
13 | $privs = bits_to_privilege($value, 'calendar'); | ||
14 | diff --git a/inc/ui/principal-edit.php b/inc/ui/principal-edit.php | ||
15 | index 20dee7fa4ca2235ff2f74be0dfb52cbe937ef822..2e37cd596b597bcce1e59d7c02a1c5fc2a7f88ce 100644 | ||
16 | --- a/inc/ui/principal-edit.php | ||
17 | +++ b/inc/ui/principal-edit.php | ||
18 | @@ -454,7 +454,7 @@ EOTEMPLATE; | ||
19 | * @param dbrow $row The row object we read from the database. | ||
20 | * @return string The formatted privileges. | ||
21 | */ | ||
22 | -function principal_privilege_format_function( $value, $column, $row ) { | ||
23 | +function principal_privilege_format_function( $value, $column = NULL, $row = NULL ) { | ||
24 | global $privilege_xlate; | ||
25 | |||
26 | $privs = bits_to_privilege($value,'*'); | ||
diff --git a/virtual/modules/websites/tools/dav/default.nix b/virtual/modules/websites/tools/dav/default.nix deleted file mode 100644 index ef9735e..0000000 --- a/virtual/modules/websites/tools/dav/default.nix +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | ||
2 | let | ||
3 | infcloud = pkgs.callPackage ./infcloud.nix {}; | ||
4 | davical = pkgs.callPackage ./davical.nix { | ||
5 | env = myconfig.env.tools.davical; | ||
6 | }; | ||
7 | |||
8 | cfg = config.services.myWebsites.tools.dav; | ||
9 | in { | ||
10 | options.services.myWebsites.tools.dav = { | ||
11 | enable = lib.mkEnableOption "enable dav website"; | ||
12 | }; | ||
13 | |||
14 | config = lib.mkIf cfg.enable { | ||
15 | security.acme.certs."eldiron".extraDomains."dav.immae.eu" = null; | ||
16 | |||
17 | services.myWebsites.tools.modules = davical.apache.modules; | ||
18 | |||
19 | services.myWebsites.tools.vhostConfs.dav = { | ||
20 | certName = "eldiron"; | ||
21 | hosts = ["dav.immae.eu" ]; | ||
22 | root = null; | ||
23 | extraConfig = [ | ||
24 | infcloud.apache.vhostConf | ||
25 | davical.apache.vhostConf | ||
26 | ]; | ||
27 | }; | ||
28 | |||
29 | services.myPhpfpm.poolConfigs = { | ||
30 | davical = davical.phpFpm.pool; | ||
31 | }; | ||
32 | |||
33 | }; | ||
34 | } | ||
35 | |||
diff --git a/virtual/modules/websites/tools/dav/infcloud.nix b/virtual/modules/websites/tools/dav/infcloud.nix deleted file mode 100644 index 876578b..0000000 --- a/virtual/modules/websites/tools/dav/infcloud.nix +++ /dev/null | |||
@@ -1,38 +0,0 @@ | |||
1 | { stdenv, fetchzip, ed }: | ||
2 | let | ||
3 | infcloud = rec { | ||
4 | webRoot = stdenv.mkDerivation rec { | ||
5 | version = "0.13.1"; | ||
6 | name = "InfCloud-${version}"; | ||
7 | src = fetchzip { | ||
8 | url = "https://www.inf-it.com/InfCloud_${version}.zip"; | ||
9 | sha256 = "1fjhs0cj0b9fhf5ysfz281mknmmg1z551bas143sxfcqlpa5aiiq"; | ||
10 | }; | ||
11 | buildPhase = '' | ||
12 | ./cache_update.sh | ||
13 | rm config.js | ||
14 | ''; | ||
15 | installPhase = '' | ||
16 | cp -a . $out | ||
17 | ln -s ${./infcloud_config.js} $out/config.js | ||
18 | ''; | ||
19 | buildInputs = [ ed ]; | ||
20 | }; | ||
21 | apache = { | ||
22 | user = "wwwrun"; | ||
23 | group = "wwwrun"; | ||
24 | vhostConf = '' | ||
25 | Alias /carddavmate ${webRoot} | ||
26 | Alias /caldavzap ${webRoot} | ||
27 | Alias /infcloud ${webRoot} | ||
28 | <Directory ${webRoot}> | ||
29 | AllowOverride All | ||
30 | Options FollowSymlinks | ||
31 | Require all granted | ||
32 | DirectoryIndex index.html | ||
33 | </Directory> | ||
34 | ''; | ||
35 | }; | ||
36 | }; | ||
37 | in | ||
38 | infcloud | ||
diff --git a/virtual/modules/websites/tools/dav/infcloud_config.js b/virtual/modules/websites/tools/dav/infcloud_config.js deleted file mode 100644 index ba73860..0000000 --- a/virtual/modules/websites/tools/dav/infcloud_config.js +++ /dev/null | |||
@@ -1,1446 +0,0 @@ | |||
1 | /* | ||
2 | InfCloud - the open source CalDAV/CardDAV Web Client | ||
3 | Copyright (C) 2011-2015 | ||
4 | Jan Mate <jan.mate@inf-it.com> | ||
5 | Andrej Lezo <andrej.lezo@inf-it.com> | ||
6 | Matej Mihalik <matej.mihalik@inf-it.com> | ||
7 | |||
8 | This program is free software: you can redistribute it and/or modify | ||
9 | it under the terms of the GNU Affero General Public License as | ||
10 | published by the Free Software Foundation, either version 3 of the | ||
11 | License, or (at your option) any later version. | ||
12 | |||
13 | This program is distributed in the hope that it will be useful, | ||
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | GNU Affero General Public License for more details. | ||
17 | |||
18 | You should have received a copy of the GNU Affero General Public License | ||
19 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
20 | */ | ||
21 | |||
22 | |||
23 | // NOTE: see readme.txt before you start to configure this client! | ||
24 | |||
25 | |||
26 | // NOTE: do not forget to execute the cache_update.sh script every time you | ||
27 | // update this configuration file or any other files (otherwise your browser | ||
28 | // will use the previous version of files stored in HTML5 cache). Alternatively | ||
29 | // you can update the cache.manifest manually - edit the second line beginning | ||
30 | // with "#V 20" to anything else (this file simple needs "some" change) | ||
31 | |||
32 | |||
33 | // Supported setup types (use ONE of them): | ||
34 | // a.) globalAccountSettings => username and password is hardcoded | ||
35 | // in config.js, automatic login without the login screen | ||
36 | // - advantages: fast login process = no username/password is required | ||
37 | // - disadvantages: username/password is visible in your config.js, so | ||
38 | // this type of setup is recommended ONLY for intranet/home users | ||
39 | // b.) globalNetworkCheckSettings => standard setup with login screen | ||
40 | // - advantages: username/password is required (no visible | ||
41 | // username/password in config.js) | ||
42 | // - disadvantages: if a user enters wrong username/password then | ||
43 | // the browser will show authentication popup window (it is NOT | ||
44 | // possible to disable it in JavaScript; see the next option) | ||
45 | // c.) globalNetworkAccountSettings => advanced setup with login screen | ||
46 | // - advantages: no authentication popup if you enter wrong username/ | ||
47 | // password, dynamic XML configuration generator (you can generate | ||
48 | // different configurations for your users /by modifying the "auth" | ||
49 | // module configuration or the PHP code itself/) | ||
50 | // - disadvantages: requires PHP >= 5.3 and additional configuration, | ||
51 | // only basic http authentication is supported => always use https! | ||
52 | // | ||
53 | // | ||
54 | // What is a "principal URL"? => Check you server documentation! | ||
55 | // - "principal URL" is NOT "collection URL" | ||
56 | // - this client automatically detects collections for "principal URL" | ||
57 | // - PROPER "principal URL" looks like: | ||
58 | // https://server.com:8443/principals/users/USER/ | ||
59 | // https://server.com:8443/caldav.php/USER/ | ||
60 | // - INVALID principal URL looks like: | ||
61 | // https://server.com:8443/principals/users/USER/collection/ | ||
62 | // => this is a collection URL | ||
63 | // https://server.com:8443/caldav.php/USER/collection/ | ||
64 | // => this is a collection URL | ||
65 | // https://server.com:8443/principals/users/USER | ||
66 | // => missing trailing '/' | ||
67 | // https://server.com:8443/caldav.php/USER | ||
68 | // => missing trailing '/' | ||
69 | // /caldav.php/USER/ | ||
70 | // => relative URL instead of full URL | ||
71 | // | ||
72 | // | ||
73 | // List of properties used in globalAccountSettings, globalNetworkCheckSettings | ||
74 | // and globalNetworkAccountSettings variables (+ in the "auth" module): | ||
75 | // - href | ||
76 | // Depending on the setup type set the value to: | ||
77 | // a.) globalAccountSettings: full "principal URL" | ||
78 | // b.) globalNetworkCheckSettings: "principal URL" WITHOUT the "USER/" part | ||
79 | // c.) globalNetworkAccountSettings: "full URL" to the "auth" directory | ||
80 | // This property is supported in: | ||
81 | // globalAccountSettings | ||
82 | // globalNetworkCheckSettings | ||
83 | // globalNetworkAccountSettings | ||
84 | // - userAuth | ||
85 | // - userName | ||
86 | // Set the username you want to login. | ||
87 | // - userPassword | ||
88 | // Set the password for the given username. | ||
89 | // This property is supported in: | ||
90 | // globalAccountSettings | ||
91 | // - timeOut | ||
92 | // This option sets the timeout for jQuery .ajax call (in miliseconds). | ||
93 | // Example: | ||
94 | // timeOut: 90000 | ||
95 | // This property is supported in: | ||
96 | // globalAccountSettings | ||
97 | // globalNetworkCheckSettings | ||
98 | // globalNetworkAccountSettings | ||
99 | // - lockTimeOut | ||
100 | // NOTE: used only if server supports LOCK requests | ||
101 | // This option sets the LOCK timeout value if resource locking | ||
102 | // is used (in miliseconds). | ||
103 | // Example: | ||
104 | // lockTimeOut: 10000 | ||
105 | // This property is supported in: | ||
106 | // globalAccountSettings | ||
107 | // globalNetworkCheckSettings | ||
108 | // globalNetworkAccountSettings (available in auth module only) | ||
109 | // - checkContentType | ||
110 | // This option enables a content-type checking for server response. | ||
111 | // If enabled then only objects with proper content-type are inserted | ||
112 | // into the interface. | ||
113 | // If you cannot see data in the interface you may try to disable it (useful | ||
114 | // if your server returns wrong value in "propstat/prop/getcontenttype"). | ||
115 | // If undefined then content-type checking is enabled. | ||
116 | // Examples: | ||
117 | // checkContentType: true | ||
118 | // checkContentType: false | ||
119 | // This property is supported in: | ||
120 | // globalAccountSettings | ||
121 | // globalNetworkCheckSettings | ||
122 | // globalNetworkAccountSettings (available in auth module only) | ||
123 | // - settingsAccount | ||
124 | // NOTE: server support for custom DAV properties is REQUIRED! | ||
125 | // This option sets the account where the client properties such as: | ||
126 | // loaded collections, enabled collections, ... are saved during | ||
127 | // the logout and resource/collection synchronisation | ||
128 | // NOTE: set it to true ONLY for ONE account! | ||
129 | // Examples: | ||
130 | // settingsAccount: true | ||
131 | // settingsAccount: false | ||
132 | // This property is supported in: | ||
133 | // globalAccountSettings | ||
134 | // globalNetworkCheckSettings | ||
135 | // globalNetworkAccountSettings (available in auth module only) | ||
136 | // - delegation | ||
137 | // NOTE: server support for this functionality is REQUIRED! | ||
138 | // This option allows you to load delegated (shared) collections. | ||
139 | // If set to true (default) then delegation functionality is enabled, | ||
140 | // and the interface allows you to load delegated collections. | ||
141 | // If false then delegation functionality is completely disabled. | ||
142 | // Examples: | ||
143 | // delegation: true | ||
144 | // delegation: false | ||
145 | // This property is supported in: | ||
146 | // globalAccountSettings | ||
147 | // globalNetworkCheckSettings | ||
148 | // globalNetworkAccountSettings (available in auth module only) | ||
149 | // - additionalResources | ||
150 | // This options sets the list of additional resources (e.g. shared resources | ||
151 | // accessible by all users). If the server supports delegation (see | ||
152 | // the delegation option above) there is no reason to use this option! | ||
153 | // Supported values: | ||
154 | // - array of URL encoded resource names (not collections), such as: | ||
155 | // 'company' | ||
156 | // 'shared_resource' | ||
157 | // If empty (default) or undefined then shared resources are not loaded | ||
158 | // using this option, but may be loaded using the delegation option. | ||
159 | // Examples: | ||
160 | // additionalResources=[] | ||
161 | // additionalResources=['public', 'shared_resource'] | ||
162 | // This property is supported in: | ||
163 | // globalNetworkCheckSettings | ||
164 | // - hrefLabel | ||
165 | // This option sets the server name in the resource header (useful if | ||
166 | // you want to see custom resource header above the collections). | ||
167 | // You can use the following variables in the value: | ||
168 | // %H = full hostname (including the port number) | ||
169 | // %h = full hostname (without the port number) | ||
170 | // %D = full domain name | ||
171 | // %d = only the first and second level domain | ||
172 | // %P = principal name | ||
173 | // %p = principal name without the @domain.com part (if present) | ||
174 | // %U = logged user name | ||
175 | // %u = logged user name without the @domain.com part (if present) | ||
176 | // If undefined, empty or or null then '%d/%p [%u]' is used. | ||
177 | // Examples: | ||
178 | // hrefLabel: '%d/%p [%u]' | ||
179 | // hrefLabel: '%D/%u' | ||
180 | // This property is supported in: | ||
181 | // globalAccountSettings | ||
182 | // globalNetworkCheckSettings | ||
183 | // globalNetworkAccountSettings (available in auth module only) | ||
184 | // - forceReadOnly | ||
185 | // This option sets the list of collections as "read-only". | ||
186 | // Supported values: | ||
187 | // - true | ||
188 | // all collections will be "read-only" | ||
189 | // - array of URL encoded | ||
190 | // - collections, such as: | ||
191 | // '/caldav.php/user/calendar/' | ||
192 | // '/caldav.php/user%40domain.com/calendar/' | ||
193 | // - regexes, such as: | ||
194 | // new RegExp('^/caldav.php/user/calendar[0-9]/$', 'i') | ||
195 | // specifies the list of collections marked as "read-only" | ||
196 | // If null (default) or undefined then server detected privileges are used. | ||
197 | // Examples: | ||
198 | // forceReadOnly: null | ||
199 | // forceReadOnly: true | ||
200 | // forceReadOnly: ['/caldav.php/user/calendar/', | ||
201 | // '/caldav.php/user/calendar2/'] | ||
202 | // forceReadOnly: [new RegExp('^/.*/user/calendar[0-9]/$', 'i')] | ||
203 | // This property is supported in: | ||
204 | // globalAccountSettings | ||
205 | // globalNetworkCheckSettings | ||
206 | // globalNetworkAccountSettings (available in auth module only, with | ||
207 | // different syntax for regexes) | ||
208 | // - ignoreAlarms | ||
209 | // This option sets list of calendar collections with disabled | ||
210 | // alarm functionality. | ||
211 | // Supported values: | ||
212 | // - true | ||
213 | // alarm functionality is disabled for all collections | ||
214 | // - array of URL encoded | ||
215 | // - collections, such as: | ||
216 | // '/caldav.php/user/calendar/' | ||
217 | // '/caldav.php/user%40domain.com/calendar/' | ||
218 | // - regexes, such as: | ||
219 | // new RegExp('^/caldav.php/user/calendar[0-9]/$', 'i') | ||
220 | // specifies the list of collections with disabled alarm functionality. | ||
221 | // If false (default) or undefined then alarm functionality is enabled | ||
222 | // for all collections. | ||
223 | // Examples: | ||
224 | // ignoreAlarms: true | ||
225 | // ignoreAlarms: ['/caldav.php/user/calendar/', | ||
226 | // '/caldav.php/user/calendar2/'] | ||
227 | // ignoreAlarms: [new RegExp('^/.*/user/calendar[0-9]/$', 'i')] | ||
228 | // This property is supported in: | ||
229 | // globalAccountSettings | ||
230 | // globalNetworkCheckSettings | ||
231 | // globalNetworkAccountSettings (available in auth module only, with | ||
232 | // different syntax for regexes) | ||
233 | // - backgroundCalendars | ||
234 | // This options defines a list of background calendars. If there is | ||
235 | // at least one event defined for the given day in a background calendar, | ||
236 | // the background color for that day will be pink/light-red. | ||
237 | // Supported values: | ||
238 | // - array of URL encoded | ||
239 | // - collections, such as: | ||
240 | // '/caldav.php/user/calendar/' | ||
241 | // '/caldav.php/user%40domain.com/calendar/' | ||
242 | // - regexes, such as: | ||
243 | // new RegExp('^/caldav.php/user/calendar[0-9]/$', 'i') | ||
244 | // specifies the list of background calendar collections. | ||
245 | // Examples: | ||
246 | // backgroundCalendars: ['/caldav.php/user/calendar/', | ||
247 | // '/caldav.php/user/calendar2/'] | ||
248 | // backgroundCalendars: [new RegExp('^/.*/user/calendar[0-9]/$', 'i')] | ||
249 | // This property is supported in: | ||
250 | // globalAccountSettings | ||
251 | // globalNetworkCheckSettings | ||
252 | // globalNetworkAccountSettings (available in auth module only, with | ||
253 | // different syntax for regexes) | ||
254 | // Special options not present in configuration examples: | ||
255 | // NOTE: use ONLY if you know what are you doing! | ||
256 | // - crossDomain | ||
257 | // This option sets the crossDomain for jQuery .ajax call. If null (default) | ||
258 | // then the value is autodetected /and the result is shown in the console/ | ||
259 | // - withCredentials | ||
260 | // This option sets the withCredentials for jQuery .ajax call. The default | ||
261 | // value is false and there is NO REASON to change it to true! | ||
262 | // NOTE: if true, Access-Control-Allow-Origin "*" (CORS header) not works! | ||
263 | |||
264 | |||
265 | // globalAccountSettings | ||
266 | // Use this option if you want to use automatic login (without a login | ||
267 | // screen) with hardcoded username/password in config.js. Otherwise use | ||
268 | // globalNetworkCheckSettings or globalNetworkAccountSettings (see below). | ||
269 | // NOTE: if this option is used the value must be an array of object(s). | ||
270 | // List of properties used in globalAccountSettings variable: | ||
271 | // - href | ||
272 | // Set this option to the full "principal URL". | ||
273 | // NOTE: the last character in the value must be '/' | ||
274 | // - userAuth | ||
275 | // - userName | ||
276 | // Set the username you want to login. | ||
277 | // - userPassword | ||
278 | // Set the password for the given username. | ||
279 | // NOTE: for description of other properties see comments at the beginning | ||
280 | // of this file. | ||
281 | // NOTE: for minimal/fast setup you need to set only the href and userAuth | ||
282 | // options. It is safe/recommended to keep the remaining options unchanged! | ||
283 | // Example: | ||
284 | //var globalAccountSettings=[ | ||
285 | // { | ||
286 | // href: 'https://server1.com:8443/caldav.php/USERNAME1/', | ||
287 | // userAuth: | ||
288 | // { | ||
289 | // userName: 'USERNAME1', | ||
290 | // userPassword: 'PASSWORD1' | ||
291 | // }, | ||
292 | // timeOut: 90000, | ||
293 | // lockTimeOut: 10000, | ||
294 | // checkContentType: true, | ||
295 | // settingsAccount: true, | ||
296 | // delegation: true, | ||
297 | // hrefLabel: null, | ||
298 | // forceReadOnly: null, | ||
299 | // ignoreAlarms: false, | ||
300 | // backgroundCalendars: [] | ||
301 | // }, | ||
302 | // { | ||
303 | // href: 'https://server2.com:8443/caldav.php/USERNAME2/', | ||
304 | // ... | ||
305 | // ... | ||
306 | // } | ||
307 | //]; | ||
308 | |||
309 | |||
310 | // globalNetworkCheckSettings | ||
311 | // Use this option if you want to use standard login screen without | ||
312 | // hardcoded username/password in config.js (used by globalAccountSettings). | ||
313 | // NOTE: if this option is used the value must be an object. | ||
314 | // List of properties used in globalAccountSettings variable: | ||
315 | // - href | ||
316 | // Set this option to the "principal URL" WITHOUT the "USERNAME/" | ||
317 | // part (this options uses the username from the login screen). | ||
318 | // NOTE: the last character in the value must be '/' | ||
319 | // NOTE: for description of other properties see comments at the beginning | ||
320 | // of this file. | ||
321 | // NOTE: for minimal/fast setup you need to set only the href option. It is | ||
322 | // safe/recommended to keep the remaining options unchanged! | ||
323 | // Example href values: | ||
324 | // OS X server http example (see misc/readme_osx.txt for server setup): | ||
325 | // href: 'http://osx.server.com:8008/principals/users/' | ||
326 | // OS X server https example (see misc/readme_osx.txt for server setup): | ||
327 | // href: 'https://osx.server.com:8443/principals/users/' | ||
328 | // Cyrus server https example: | ||
329 | // href: 'https://cyrus.server.com/dav/principals/user/' | ||
330 | // Example: | ||
331 | // Davical example which automatically detects the protocol, server name, | ||
332 | // port, ... (client installed into Davical "htdocs" subdirectory; | ||
333 | // works "out of the box", no additional setup required): | ||
334 | var globalNetworkCheckSettings={ | ||
335 | href: location.protocol+'//'+location.hostname+ | ||
336 | (location.port ? ':'+location.port: '')+ | ||
337 | location.pathname.replace(RegExp('/+[^/]+/*(index\.html)?$'),'')+ | ||
338 | '/caldav.php/', | ||
339 | timeOut: 90000, | ||
340 | lockTimeOut: 10000, | ||
341 | checkContentType: true, | ||
342 | settingsAccount: true, | ||
343 | delegation: true, | ||
344 | additionalResources: [], | ||
345 | hrefLabel: null, | ||
346 | forceReadOnly: null, | ||
347 | ignoreAlarms: false, | ||
348 | backgroundCalendars: [] | ||
349 | } | ||
350 | |||
351 | |||
352 | // globalNetworkAccountSettings | ||
353 | // Try this option ONLY if you have working setup using | ||
354 | // globalNetworkCheckSettings and want to fix the authentication popup | ||
355 | // window problem (if invalid username/password is entered)! | ||
356 | // If you use this option then your browser sends username/password to the PHP | ||
357 | // "auth" module ("auth" directory) instead of the DAV server itself. | ||
358 | // The "auth" module then validates your username/password against your server, | ||
359 | // and if the authentication is successful, then it sends back a configuration | ||
360 | // XML (requires additional configuration). The resulting XML is handled | ||
361 | // IDENTICALLY as the globalAccountSettings configuration option. | ||
362 | // NOTE: for the "auth" module configuration see readme.txt! | ||
363 | // NOTE: this option invokes a login screen and disallows access until | ||
364 | // the client gets correct XML configuration file from the server! | ||
365 | // List of properties used in globalNetworkAccountSettings variable: | ||
366 | // - href | ||
367 | // Set this option to the "full URL" of the "auth" directory | ||
368 | // NOTE: the last character in the value must be '/' | ||
369 | // NOTE: for description of other properties see comments at the beginning | ||
370 | // of this file. | ||
371 | // Example href values: | ||
372 | // href: 'https://server.com/client/auth/' | ||
373 | // Example: | ||
374 | // Use this configuration if the "auth" module is located in the client | ||
375 | // installation subdirectory (default): | ||
376 | //var globalNetworkAccountSettings={ | ||
377 | // href: location.protocol+'//'+location.hostname+ | ||
378 | // (location.port ? ':'+location.port : '')+ | ||
379 | // location.pathname.replace(RegExp('index\.html$'),'')+ | ||
380 | // 'auth/', | ||
381 | // timeOut: 30000 | ||
382 | //}; | ||
383 | |||
384 | |||
385 | // globalUseJqueryAuth | ||
386 | // Use jQuery .ajax() auth or custom header for HTTP basic auth (default). | ||
387 | // Set this option to true if your server uses digest auth (note: you may | ||
388 | // experience auth popups on some browsers). | ||
389 | // If undefined (or empty), custom header for HTTP basic auth is used. | ||
390 | // Example: | ||
391 | //var globalUseJqueryAuth=false; | ||
392 | |||
393 | |||
394 | // globalBackgroundSync | ||
395 | // Enable background synchronization even if the browser window/tab has no | ||
396 | // focus. | ||
397 | // If false, synchronization is performed only if the browser window/tab | ||
398 | // is focused. If undefined or not false, then background sync is enabled. | ||
399 | // Example: | ||
400 | var globalBackgroundSync=true; | ||
401 | |||
402 | |||
403 | // globalSyncResourcesInterval | ||
404 | // This option defines how often (in miliseconds) are resources/collections | ||
405 | // asynchronously synchronized. | ||
406 | // Example: | ||
407 | var globalSyncResourcesInterval=120000; | ||
408 | |||
409 | |||
410 | // globalEnableRefresh | ||
411 | // This option enables or disables the manual synchronization button in | ||
412 | // the interface. If this option is enabled then users can perform server | ||
413 | // synchronization manually. Enabling this option may cause high server | ||
414 | // load (even DDOS) if users will try to manually synchronize data too | ||
415 | // often (instead of waiting for the automatic synchronization). | ||
416 | // If undefined or false, the synchronization button is disabled. | ||
417 | // NOTE: enable this option only if you really know what are you doing! | ||
418 | // Example: | ||
419 | var globalEnableRefresh=false; | ||
420 | |||
421 | |||
422 | // globalEnableKbNavigation | ||
423 | // Enable basic keyboard navigation using arrow keys? | ||
424 | // If undefined or not false, keyboard navigation is enabled. | ||
425 | // Example: | ||
426 | var globalEnableKbNavigation=true; | ||
427 | |||
428 | |||
429 | // globalSettingsType | ||
430 | // Where to store user settings such as: active view, enabled/selected | ||
431 | // collections, ... (the client store them into DAV property on the server). | ||
432 | // NOTE: not all servers support storing DAV properties (some servers support | ||
433 | // only subset /or none/ of these URLs). | ||
434 | // Supported values: | ||
435 | // - 'principal-URL', '', null or undefined (default) => settings are stored | ||
436 | // to principal-URL (recommended for most servers) | ||
437 | // - 'addressbook-home-set' => settings are are stored to addressbook-home-set | ||
438 | // - 'calendar-home-set' => settings are stored to calendar-home-set | ||
439 | // Example: | ||
440 | //var globalSettingsType=''; | ||
441 | |||
442 | |||
443 | // globalCrossServerSettingsURL | ||
444 | // Settings such as enabled/selected collections are stored on the server | ||
445 | // (see the previous option) in form of full URL | ||
446 | // (e.g.: https://user@server:port/principal/collection/), but even if this | ||
447 | // approach is "correct" (you can use the same principal URL with multiple | ||
448 | // different logins, ...) it causes a problem if your server is accessible | ||
449 | // from multiple URLs (e.g. http://server/ and https://server/). If you want | ||
450 | // to store only the "principal/collection/" part of the URL (instead of the | ||
451 | // full URL) then enable this option. | ||
452 | // Example: | ||
453 | //var globalCrossServerSettingsURL=false; | ||
454 | |||
455 | |||
456 | // globalInterfaceLanguage | ||
457 | // Default interface language (note: this option is case sensitive): | ||
458 | // cs_CZ (Čeština [Czech]) | ||
459 | // da_DK (Dansk [Danish]; thanks Niels Bo Andersen) | ||
460 | // de_DE (Deutsch [German]; thanks Marten Gajda and Thomas Scheel) | ||
461 | // en_US (English [English/US]) | ||
462 | // es_ES (Español [Spanish]; thanks Damián Vila) | ||
463 | // fr_FR (Français [French]; thanks John Fischer) | ||
464 | // it_IT (Italiano [Italian]; thanks Luca Ferrario) | ||
465 | // ja_JP (日本語 [Japan]; thanks Muimu Nakayama) | ||
466 | // hu_HU (Magyar [Hungarian]) | ||
467 | // nl_NL (Nederlands [Dutch]; thanks Johan Vromans) | ||
468 | // sk_SK (Slovenčina [Slovak]) | ||
469 | // tr_TR (Türkçe [Turkish]; thanks Selcuk Pultar) | ||
470 | // ru_RU (Русский [Russian]; thanks Александр Симонов) | ||
471 | // uk_UA (Українська [Ukrainian]; thanks Serge Yakimchuck) | ||
472 | // zh_CN (中国 [Chinese]; thanks Fandy) | ||
473 | // Example: | ||
474 | var globalInterfaceLanguage='fr_FR'; | ||
475 | |||
476 | |||
477 | // globalInterfaceCustomLanguages | ||
478 | // If defined and not empty then only languages listed here are shown | ||
479 | // at the login screen, otherwise (default) all languages are shown | ||
480 | // NOTE: values in the array must refer to an existing localization | ||
481 | // (see the option above) | ||
482 | // Example: | ||
483 | // globalInterfaceCustomLanguages=['en_US', 'sk_SK']; | ||
484 | var globalInterfaceCustomLanguages=[]; | ||
485 | |||
486 | |||
487 | // globalSortAlphabet | ||
488 | // Use JavaScript localeCompare() or custom alphabet for data sorting. | ||
489 | // Custom alphabet is used by default because JavaScript localeCompare() | ||
490 | // not supports collation and often returns "wrong" result. If set to null | ||
491 | // then localeCompare() is used. | ||
492 | // Example: | ||
493 | // var globalSortAlphabet=null; | ||
494 | var globalSortAlphabet=' 0123456789'+ | ||
495 | 'AÀÁÂÄÆÃÅĀBCÇĆČDĎEÈÉÊËĒĖĘĚFGĞHIÌÍÎİÏĪĮJKLŁĹĽMNŃÑŇOÒÓÔÖŐŒØÕŌ'+ | ||
496 | 'PQRŔŘSŚŠȘșŞşẞTŤȚțŢţUÙÚÛÜŰŮŪVWXYÝŸZŹŻŽ'+ | ||
497 | 'aàáâäæãåābcçćčdďeèéêëēėęěfgğhiìíîïīįıjklłĺľmnńñňoòóôöőœøõō'+ | ||
498 | 'pqrŕřsśšßtťuùúûüűůūvwxyýÿzźżžАБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЮЯ'+ | ||
499 | 'Ьабвгґдеєжзиіїйклмнопрстуфхцчшщюяь'; | ||
500 | |||
501 | |||
502 | // globalSearchTransformAlphabet | ||
503 | // To support search without diacritics (e.g. search for 'd' will find: 'Ď', 'ď') | ||
504 | // it is required to define something like "character equivalence". | ||
505 | // key = regex text, value = search character | ||
506 | // Example: | ||
507 | var globalSearchTransformAlphabet={ | ||
508 | '[ÀàÁáÂâÄäÆæÃãÅåĀā]': 'a', '[ÇçĆćČč]': 'c', '[Ďď]': 'd', | ||
509 | '[ÈèÉéÊêËëĒēĖėĘęĚě]': 'e', '[Ğğ]': 'g', '[ÌìÍíÎîİıÏïĪīĮį]': 'i', | ||
510 | '[ŁłĹ弾]': 'l', '[ŃńÑñŇň]': 'n', '[ÒòÓóÔôÖöŐőŒœØøÕõŌō]': 'o', | ||
511 | '[ŔŕŘř]': 'r', '[ŚśŠšȘșŞşẞß]': 's', '[ŤťȚțŢţ]': 't', | ||
512 | '[ÙùÚúÛûÜüŰűŮůŪū]': 'u', '[ÝýŸÿ]': 'y', '[ŹźŻżŽž]': 'z' | ||
513 | }; | ||
514 | |||
515 | // globalResourceAlphabetSorting | ||
516 | // If more than one resource (server account) is configured, sort the | ||
517 | // resources alphabetically? | ||
518 | // Example: | ||
519 | var globalResourceAlphabetSorting=true; | ||
520 | |||
521 | |||
522 | // globalNewVersionNotifyUsers | ||
523 | // Update notification will be shown only to users with login names defined | ||
524 | // in this array. | ||
525 | // If undefined (or empty), update notifications will be shown to all users. | ||
526 | // Example: | ||
527 | // globalNewVersionNotifyUsers=['admin', 'peter']; | ||
528 | var globalNewVersionNotifyUsers=[]; | ||
529 | |||
530 | |||
531 | // globalDatepickerFormat | ||
532 | // Set the datepicker format (see | ||
533 | // http://docs.jquery.com/UI/Datepicker/formatDate for valid values). | ||
534 | // NOTE: date format is predefined for each localization - use this option | ||
535 | // ONLY if you want to use custom date format (instead of the localization | ||
536 | // predefined one). | ||
537 | // Example: | ||
538 | //var globalDatepickerFormat='dd.mm.yy'; | ||
539 | var globalDatepickerFormat='yy-mm-dd'; | ||
540 | |||
541 | |||
542 | // globalDatepickerFirstDayOfWeek | ||
543 | // Set the datepicker first day of the week: Sunday is 0, Monday is 1, etc. | ||
544 | // Example: | ||
545 | var globalDatepickerFirstDayOfWeek=1; | ||
546 | |||
547 | |||
548 | // globalHideInfoMessageAfter | ||
549 | // How long are information messages (such as: success, error) displayed | ||
550 | // (in miliseconds). | ||
551 | // Example: | ||
552 | var globalHideInfoMessageAfter=1800; | ||
553 | |||
554 | |||
555 | // globalEditorFadeAnimation | ||
556 | // Set the editor fade in/out animation duration when editing or saving data | ||
557 | // (in miliseconds). | ||
558 | // Example: | ||
559 | var globalEditorFadeAnimation=666; | ||
560 | |||
561 | |||
562 | |||
563 | |||
564 | // ******* CalDAV (CalDavZAP) related settings ******* // | ||
565 | |||
566 | // globalEventStartPastLimit, globalEventStartFutureLimit, globalTodoPastLimit | ||
567 | // Number of months pre-loaded from past/future in advance for calendars | ||
568 | // and todo lists (if null then date range synchronization is disabled). | ||
569 | // NOTE: interval synchronization is used only if your server supports | ||
570 | // sync-collection REPORT (e.g. DAViCal). | ||
571 | // NOTE: if you experience problems with data loading and your server has | ||
572 | // no time-range filtering support set these variables to null. | ||
573 | // Example: | ||
574 | var globalEventStartPastLimit=3; | ||
575 | var globalEventStartFutureLimit=3; | ||
576 | var globalTodoPastLimit=1; | ||
577 | |||
578 | |||
579 | // globalLoadedCalendarCollections | ||
580 | // This option sets the list of calendar collections (down)loaded after login. | ||
581 | // If empty then all calendar collections for the currently logged user are | ||
582 | // loaded. | ||
583 | // NOTE: settings stored on the server (see settingsAccount) overwrite this | ||
584 | // option. | ||
585 | // Example: | ||
586 | var globalLoadedCalendarCollections=[]; | ||
587 | |||
588 | |||
589 | // globalLoadedTodoCollections | ||
590 | // This option sets the list of todo collections (down)loaded after login. | ||
591 | // If empty then all todo collections for the currently logged user are loaded. | ||
592 | // NOTE: settings stored on the server (see settingsAccount) overwrite this | ||
593 | // option. | ||
594 | // Example: | ||
595 | var globalLoadedTodoCollections=[]; | ||
596 | |||
597 | |||
598 | // globalActiveCalendarCollections | ||
599 | // This options sets the list of calendar collections checked (enabled | ||
600 | // checkbox => data visible in the interface) by default after login. | ||
601 | // If empty then all loaded calendar collections for the currently logged | ||
602 | // user are checked. | ||
603 | // NOTE: only already (down)loaded collections can be checked (see | ||
604 | // the globalLoadedCalendarCollections option). | ||
605 | // NOTE: settings stored on the server (see settingsAccount) overwrite this | ||
606 | // option. | ||
607 | // Example: | ||
608 | var globalActiveCalendarCollections=[]; | ||
609 | |||
610 | |||
611 | // globalActiveTodoCollections | ||
612 | // This options sets the list of todo collections checked (enabled | ||
613 | // checkbox => data visible in the interface) by default after login. | ||
614 | // If empty then all loaded todo collections for the currently logged | ||
615 | // user are checked. | ||
616 | // NOTE: only already (down)loaded collections can be checked (see | ||
617 | // the globalLoadedTodoCollections option). | ||
618 | // NOTE: settings stored on the server (see settingsAccount) overwrite this | ||
619 | // option. | ||
620 | // Example: | ||
621 | var globalActiveTodoCollections=[]; | ||
622 | |||
623 | |||
624 | // globalCalendarSelected | ||
625 | // This option sets which calendar collection will be pre-selected | ||
626 | // (if you create a new event) by default after login. | ||
627 | // The value must be URL encoded path to a calendar collection, | ||
628 | // for example: 'USER/calendar/' | ||
629 | // If empty or undefined then the first available calendar collection | ||
630 | // is selected automatically. | ||
631 | // NOTE: only already (down)loaded collections can be pre-selected (see | ||
632 | // the globalLoadedCalendarCollections option). | ||
633 | // NOTE: settings stored on the server (see settingsAccount) overwrite this | ||
634 | // option. | ||
635 | // Example: | ||
636 | //var globalCalendarSelected=''; | ||
637 | |||
638 | |||
639 | // globalTodoCalendarSelected | ||
640 | // This option sets which todo collection will be pre-selected | ||
641 | // (if you create a new todo) by default after login. | ||
642 | // The value must be URL encoded path to a todo collection, | ||
643 | // for example: 'USER/todo_calendar/' | ||
644 | // If empty or undefined then the first available todo collection | ||
645 | // is selected automatically. | ||
646 | // NOTE: only already (down)loaded collections can be pre-selected (see | ||
647 | // the globalLoadedTodoCollections option). | ||
648 | // NOTE: settings stored on the server (see settingsAccount) overwrite this | ||
649 | // option. | ||
650 | // Example: | ||
651 | //var globalTodoCalendarSelected=''; | ||
652 | |||
653 | |||
654 | // globalActiveView | ||
655 | // This options sets the default fullcalendar view option (the default calendar | ||
656 | // view after the first login). | ||
657 | // Supported values: | ||
658 | // - 'month' | ||
659 | // - 'multiWeek' | ||
660 | // - 'agendaWeek' | ||
661 | // - 'agendaDay' | ||
662 | // NOTE: we use custom and enhanced version of fullcalendar! | ||
663 | // Example: | ||
664 | var globalActiveView='multiWeek'; | ||
665 | |||
666 | |||
667 | // globalOpenFormMode | ||
668 | // Open new event form on 'single' or 'double' click. | ||
669 | // If undefined or not 'double', then 'single' is used. | ||
670 | // Example: | ||
671 | var globalOpenFormMode='double'; | ||
672 | |||
673 | |||
674 | // globalTodoListFilterSelected | ||
675 | // This options sets the list of filters in todo list that are selected | ||
676 | // after login. | ||
677 | // Supported options: | ||
678 | // - 'filterAction' | ||
679 | // - 'filterProgress' (available only if globalAppleRemindersMode is disabled) | ||
680 | // - 'filterCompleted' | ||
681 | // - 'filterCanceled' (available only if globalAppleRemindersMode is disabled) | ||
682 | // NOTE: settings stored on the server (see settingsAccount) overwrite this | ||
683 | // option. | ||
684 | // Example: | ||
685 | var globalTodoListFilterSelected=['filterAction', 'filterProgress']; | ||
686 | |||
687 | |||
688 | // globalCalendarStartOfBusiness, globalCalendarEndOfBusiness | ||
689 | // These options set the start and end of business hours with 0.5 hour | ||
690 | // precision. Non-business hours are faded out in the calendar interface. | ||
691 | // If both variables are set to the same value then no fade out occurs. | ||
692 | // Example: | ||
693 | var globalCalendarStartOfBusiness=8; | ||
694 | var globalCalendarEndOfBusiness=17; | ||
695 | |||
696 | |||
697 | // globalDefaultEventDuration | ||
698 | // This option sets the default duration (in minutes) for newly created events. | ||
699 | // If undefined or null, globalCalendarEndOfBusiness value will be taken as | ||
700 | // a default end time instead. | ||
701 | // Example: | ||
702 | var globalDefaultEventDuration=120; | ||
703 | |||
704 | |||
705 | // globalAMPMFormat | ||
706 | // This option enables to use 12 hours format (AM/PM) for displaying time. | ||
707 | // NOTE: time format is predefined for each localization - use this option | ||
708 | // ONLY if you want to use custom time format (instead of the localization | ||
709 | // predefined one). | ||
710 | // Example: | ||
711 | //var globalAMPMFormat=false; | ||
712 | |||
713 | |||
714 | // globalTimeFormatBasic | ||
715 | // This option defines the time format information for events in month and | ||
716 | // multiweek views. If undefined or null then default value is used. | ||
717 | // If defined as empty string no time information is shown in these views. | ||
718 | // See http://arshaw.com/fullcalendar/docs/utilities/formatDate/ for exact | ||
719 | // formating rules. | ||
720 | // Example: | ||
721 | //var globalTimeFormatBasic=''; | ||
722 | |||
723 | |||
724 | // globalTimeFormatAgenda | ||
725 | // This option defines the time format information for events in day and | ||
726 | // week views. If undefined or null then default value is used. | ||
727 | // If defined as empty string no time information is shown in these views. | ||
728 | // See http://arshaw.com/fullcalendar/docs/utilities/formatDate/ for exact | ||
729 | // formating rules. | ||
730 | // Example: | ||
731 | //var globalTimeFormatAgenda=''; | ||
732 | |||
733 | |||
734 | // globalDisplayHiddenEvents | ||
735 | // This option defined whether events from unechecked calendars are displayed | ||
736 | // with certain transparency (true) or completely hidden (false). | ||
737 | // Example: | ||
738 | var globalDisplayHiddenEvents=false; | ||
739 | |||
740 | |||
741 | // globalTimeZoneSupport | ||
742 | // This option enables timezone support in the client. | ||
743 | // NOTE: timezone cannot be specified for all-day events because these don't | ||
744 | // have start and end time. | ||
745 | // If this option is disabled then local time is used. | ||
746 | // Example: | ||
747 | var globalTimeZoneSupport=true; | ||
748 | |||
749 | |||
750 | // globalTimeZone | ||
751 | // If timezone support is enabled, this option sets the default timezone. | ||
752 | // See timezones.js or use the following command to get the list of supported | ||
753 | // timezones (defined in timezones.js): | ||
754 | // grep "'[^']\+': {" timezones.js | sed -Ee "s#(\s*'|':\s*\{)##g" | ||
755 | // Example: | ||
756 | var globalTimeZone='Europe/Paris'; | ||
757 | |||
758 | |||
759 | // globalTimeZonesEnabled | ||
760 | // This option sets the list of available timezones in the interface (for the | ||
761 | // list of supported timezones see the comment for the previous configuration | ||
762 | // option). | ||
763 | // NOTE: if there is at least one event/todo with a certain timezone defined, | ||
764 | // that timezone is enabled (even if it is not present in this list). | ||
765 | // Example: | ||
766 | // var globalTimeZonesEnabled=['America/New_York', 'Europe/Berlin']; | ||
767 | var globalTimeZonesEnabled=[]; | ||
768 | |||
769 | |||
770 | // globalRewriteTimezoneComponent | ||
771 | // This options sets whether the client will enhance/replace (if you edit an | ||
772 | // event or todo) the timezone information using the official IANA timezone | ||
773 | // database information (recommended). | ||
774 | // Example: | ||
775 | var globalRewriteTimezoneComponent=true; | ||
776 | |||
777 | |||
778 | // globalRemoveUnknownTimezone | ||
779 | // This options sets whether the client will remove all non-standard timezone | ||
780 | // names from events and todos (if you edit an event or todo) | ||
781 | // (e.g.: /freeassociation.sourceforge.net/Tzfile/Europe/Vienna) | ||
782 | // Example: | ||
783 | var globalRemoveUnknownTimezone=false; | ||
784 | |||
785 | |||
786 | // globalShowHiddenAlarms | ||
787 | // This option sets whether the client will show alarm notifications for | ||
788 | // unchecked calendars. If this option is enabled and you uncheck a calendar | ||
789 | // in the calendar list, alarm notifications will be temporary disabled for | ||
790 | // unchecked calendar(s). | ||
791 | // Example: | ||
792 | var globalShowHiddenAlarms=false; | ||
793 | |||
794 | |||
795 | // globalIgnoreCompletedOrCancelledAlarms | ||
796 | // This options sets whether the client will show alarm notifications for | ||
797 | // already completed or cancelled todos. If enabled then alarm notification | ||
798 | // for completed and cancelled todos are disabled. | ||
799 | // Example: | ||
800 | var globalIgnoreCompletedOrCancelledAlarms=true; | ||
801 | |||
802 | |||
803 | // globalMozillaSupport | ||
804 | // Mozilla automatically treats custom repeating event calculations as if | ||
805 | // the start day of the week is Monday, despite what day is chosen in settings. | ||
806 | // Set this variable to true to use the same approach, ensuring compatible | ||
807 | // event rendering in special cases. | ||
808 | // Example: | ||
809 | var globalMozillaSupport=false; | ||
810 | |||
811 | |||
812 | // globalCalendarColorPropertyXmlns | ||
813 | // This options sets the namespace used for storing the "calendar-color" | ||
814 | // property by the client. | ||
815 | // If true, undefined (or empty) "http://apple.com/ns/ical/" is used (Apple | ||
816 | // compatible). If false, then the calendar color modification functionality | ||
817 | // is completely disabled. | ||
818 | // Example: | ||
819 | //var globalCalendarColorPropertyXmlns=true; | ||
820 | |||
821 | |||
822 | // globalWeekendDays | ||
823 | // This option sets the list of days considered as weekend days (these | ||
824 | // are faded out in the calendar interface). Non-weekend days are automatically | ||
825 | // considered as business days. | ||
826 | // Sunday is 0, Monday is 1, etc. | ||
827 | // Example: | ||
828 | var globalWeekendDays=[0, 6]; | ||
829 | |||
830 | |||
831 | // globalAppleRemindersMode | ||
832 | // If this option is enabled then then client will use the same approach | ||
833 | // for handling repeating reminders (todos) as Apple. It is STRONGLY | ||
834 | // recommended to enabled this option if you use any Apple clients for | ||
835 | // reminders (todos). | ||
836 | // Supported options: | ||
837 | // - 'iOS6' | ||
838 | // - 'iOS7' | ||
839 | // - true (support of the latest iOS version - 'iOS8') | ||
840 | // - false | ||
841 | // If this option is enabled: | ||
842 | // - RFC todo support is SEVERELY limited and the client mimics the behaviour | ||
843 | // of Apple Reminders.app (to ensure maximum compatibility) | ||
844 | // - when a single instance of repeating todo is edited, it becomes an | ||
845 | // autonomous non-repeating todo with NO relation to the original repeating | ||
846 | // todo | ||
847 | // - capabilities of repeating todos are limited - only the first instance | ||
848 | // is ever visible in the interface | ||
849 | // - support for todo DTSTART attribute is disabled | ||
850 | // - support for todo STATUS attribute other than COMPLETED and NEEDS-ACTION | ||
851 | // is disabled | ||
852 | // - [iOS6 only] support for LOCATION and URL attributes is disabled | ||
853 | // Example: | ||
854 | var globalAppleRemindersMode=true; | ||
855 | |||
856 | |||
857 | // globalSubscribedCalendars | ||
858 | // This option specifies a list of remote URLs to ics files (e.g.: used | ||
859 | // for distributing holidays information). Subscribed calendars are | ||
860 | // ALWAYS read-only. Remote servers where ics files are hosted MUST | ||
861 | // return proper CORS headers (see readme.txt) otherwise this functionality | ||
862 | // will not work! | ||
863 | // NOTE: subsribed calendars are NOT "shared" calendars. For "shared" | ||
864 | // calendars see the delegation option in globalAccountSettings, | ||
865 | // globalNetworkCheckSettings and globalNetworkAccountSettings. | ||
866 | // List of properties used in globalSubscribedCalendars variable: | ||
867 | // - hrefLabel | ||
868 | // This options defines the header string above the subcsribed calendars. | ||
869 | // - calendars | ||
870 | // This option specifies an array of remote calendar objects with the | ||
871 | // following properties: | ||
872 | // - href | ||
873 | // Set this option to the "full URL" of the remote calendar | ||
874 | // - userAuth | ||
875 | // NOTE: keep empty if remote authentication is not required! | ||
876 | // - userName | ||
877 | // Set the username you want to login. | ||
878 | // - userPassword | ||
879 | // Set the password for the given username. | ||
880 | // - typeList | ||
881 | // Set the list of objects you want to process from remote calendars; | ||
882 | // two options are available: | ||
883 | // - 'vevent' (show remote events in the interface) | ||
884 | // - 'vtodo' (show remote todos in the interface) | ||
885 | // - ignoreAlarm | ||
886 | // Set this option to true if you want to disable alarm notifications | ||
887 | // from the remote calendar. | ||
888 | // - displayName | ||
889 | // Set this option to the name of the calendar you want to see | ||
890 | // in the interface. | ||
891 | // - color | ||
892 | // Set the calendar color you want to see in the interface. | ||
893 | // Example: | ||
894 | //var globalSubscribedCalendars={ | ||
895 | // hrefLabel: 'Subscribed', | ||
896 | // calendars: [ | ||
897 | // { | ||
898 | // href: 'http://something.com/calendar.ics', | ||
899 | // userAuth: { | ||
900 | // userName: '', | ||
901 | // userPassword: '' | ||
902 | // }, | ||
903 | // typeList: ['vevent', 'vtodo'], | ||
904 | // ignoreAlarm: true, | ||
905 | // displayName: 'Remote Calendar 1', | ||
906 | // color: '#ff0000' | ||
907 | // }, | ||
908 | // { | ||
909 | // href: 'http://calendar.com/calendar2.ics', | ||
910 | // ... | ||
911 | // ... | ||
912 | // } | ||
913 | // ] | ||
914 | //}; | ||
915 | |||
916 | |||
917 | |||
918 | // ******* CardDAV (CardDavMATE) related settings ******* // | ||
919 | |||
920 | |||
921 | // globalLoadedAddressbookCollections | ||
922 | // This option sets the list of addressbook collections (down)loaded after | ||
923 | // login. If empty then all addressbook collections for the currently logged | ||
924 | // user are loaded. | ||
925 | // NOTE: settings stored on the server (see settingsAccount) overwrite this | ||
926 | // option. | ||
927 | // Example: | ||
928 | var globalLoadedAddressbookCollections=[]; | ||
929 | |||
930 | |||
931 | // globalActiveAddressbookCollections | ||
932 | // This options sets the list of addressbook collections checked (enabled | ||
933 | // checkbox => data visible in the interface) by default after login. | ||
934 | // If empty then all loaded addressbook collections for the currently logged | ||
935 | // user are checked. | ||
936 | // NOTE: only already (down)loaded collections can be checked (see | ||
937 | // the globalLoadedAddressbookCollections option). | ||
938 | // NOTE: settings stored on the server (see settingsAccount) overwrite this | ||
939 | // option. | ||
940 | // Example: | ||
941 | var globalActiveAddressbookCollections=[]; | ||
942 | |||
943 | |||
944 | // globalAddressbookSelected | ||
945 | // This option sets which addressbook collection will be pre-selected | ||
946 | // (if you create a new contact) by default after login. | ||
947 | // The value must be URL encoded path to an addressbook collection, | ||
948 | // for example: 'USER/addressbook/' | ||
949 | // If empty or undefined then the first available addressbook collection | ||
950 | // is selected automatically. | ||
951 | // NOTE: only already (down)loaded collections can be pre-selected (see | ||
952 | // the globalLoadedAddressbookCollections option). | ||
953 | // NOTE: settings stored on the server (see settingsAccount) overwrite this | ||
954 | // option. | ||
955 | // Example: | ||
956 | //var globalAddressbookSelected=''; | ||
957 | |||
958 | |||
959 | // globalCompatibility | ||
960 | // This options is reserved for various compatibility settings. | ||
961 | // NOTE: if this option is used the value must be an object. | ||
962 | // Currently there is only one supported option: | ||
963 | // - anniversaryOutputFormat | ||
964 | // Different clients use different (and incompatible) approach | ||
965 | // to store anniversary date in vCards. Apple stores this attribute as: | ||
966 | // itemX.X-ABDATE;TYPE=pref:2000-01-01\r\n | ||
967 | // itemX.X-ABLabel:_$!<Anniversary>!$_\r\n' | ||
968 | // other clients store this attribute as: | ||
969 | // X-ANNIVERSARY:2000-01-01\r\n | ||
970 | // Choose 'apple' or 'other' (lower case) for your 3rd party client | ||
971 | // compatibility. You can chose both: ['apple', 'other'], but it may | ||
972 | // cause many problems in the future, for example: duplicate anniversary | ||
973 | // dates, invalid/old anniversary date in your clients, ...) | ||
974 | // Examples: | ||
975 | // anniversaryOutputFormat: ['other'] | ||
976 | // anniversaryOutputFormat: ['apple', 'other'] | ||
977 | // Example: | ||
978 | var globalCompatibility={anniversaryOutputFormat: ['apple']}; | ||
979 | |||
980 | |||
981 | // globalUriHandler{Tel,Email,Url,Profile} | ||
982 | // These options set the URI handlers for TEL, EMAIL, URL and X-SOCIALPROFILE | ||
983 | // vCard attributes. Set them to null (or comment out) to disable. | ||
984 | // NOTE: for globalUriHandlerTel is recommended to use 'tel:', 'callto:' | ||
985 | // or 'skype:'. The globalUriHandlerUrl value is used only if no URI handler | ||
986 | // is defined in the URL. | ||
987 | // NOTE: it is safe to keep these values unchanged! | ||
988 | // Example: | ||
989 | var globalUriHandlerTel='tel:'; | ||
990 | var globalUriHandlerEmail='mailto:'; | ||
991 | var globalUriHandlerUrl='http://'; | ||
992 | var globalUriHandlerProfile={ | ||
993 | 'twitter': 'http://twitter.com/%u', | ||
994 | 'facebook': 'http://www.facebook.com/%u', | ||
995 | 'flickr': 'http://www.flickr.com/photos/%u', | ||
996 | 'linkedin': 'http://www.linkedin.com/in/%u', | ||
997 | 'myspace': 'http://www.myspace.com/%u', | ||
998 | 'sinaweibo': 'http://weibo.com/n/%u' | ||
999 | }; | ||
1000 | |||
1001 | |||
1002 | // globalDefaultAddressCountry | ||
1003 | // This option sets the default country for new address fields. | ||
1004 | // See common.js or use the following command to get the list of | ||
1005 | // all supported country codes (defined in common.js): | ||
1006 | // grep -E "'[a-z]{2}':\s+\[" common.js | sed -Ee 's#^\s+|\s+\[\s+# #g' | ||
1007 | // Example: | ||
1008 | var globalDefaultAddressCountry='fr'; | ||
1009 | |||
1010 | |||
1011 | // globalAddressCountryEquivalence | ||
1012 | // This option sets the processing of the country field specified | ||
1013 | // in the vCard ADR attribute. | ||
1014 | // By default the address field in vCard looks like: | ||
1015 | // ADR;TYPE=WORK:;;1 Waters Edge;Baytown;LA;30314;USA\r\n | ||
1016 | // what cause a problem, because the country field is a plain | ||
1017 | // text and can contain any value, e.g.: | ||
1018 | // USA | ||
1019 | // United States of America | ||
1020 | // US | ||
1021 | // and because the address format can be completely different for | ||
1022 | // each country, e.g.: | ||
1023 | // China address example: | ||
1024 | // [China] | ||
1025 | // [Province] [City] | ||
1026 | // [Street] | ||
1027 | // [Postal] | ||
1028 | // Japan address example: | ||
1029 | // [Postal] | ||
1030 | // [Prefecture] [County/City] | ||
1031 | // [Further Divisions] | ||
1032 | // [Japan] | ||
1033 | // the client needs to correctly detect the country from the ADR | ||
1034 | // attribute. Apple solved this problem by using: | ||
1035 | // item1.ADR;TYPE=WORK:;;1 Waters Edge;Baytown;LA;30314;USA\r\n | ||
1036 | // item1.X-ABADR:us\r\n | ||
1037 | // where the second "related" attribute defines the country code | ||
1038 | // for the ADR attribute. This client uses the same approach, but | ||
1039 | // if the vCard is created by 3rd party clients and the X-ABADR | ||
1040 | // is missing, it is possible to define additional "rules" for | ||
1041 | // country matching. These rules are specied by the country code | ||
1042 | // (for full list of country codes see the comment for pre previous | ||
1043 | // option) and a case insensitive regular expression (which matches | ||
1044 | // the plain text value in the country field). | ||
1045 | // NOTE: if X-ABADR is not present and the country not matches any | ||
1046 | // country defined in this option, then globalDefaultAddressCountry | ||
1047 | // is used by default. | ||
1048 | // Example: | ||
1049 | var globalAddressCountryEquivalence=[ | ||
1050 | {country: 'de', regex: '^\\W*Deutschland\\W*$'}, | ||
1051 | {country: 'sk', regex: '^\\W*Slovensko\\W*$'} | ||
1052 | ]; | ||
1053 | |||
1054 | |||
1055 | // globalAddressCountryFavorites | ||
1056 | // This option defines the list of countries which are shown at the top | ||
1057 | // of the country list in the interface (for full list of country codes | ||
1058 | // see the comment for pre globalDefaultAddressCountry option). | ||
1059 | // Example: | ||
1060 | // var globalAddressCountryFavorites=['de','sk']; | ||
1061 | var globalAddressCountryFavorites=[]; | ||
1062 | |||
1063 | |||
1064 | // globalAddrColorPropertyXmlns | ||
1065 | // This options sets the namespace used for storing the "addressbook-color" | ||
1066 | // property by the client. | ||
1067 | // If true, undefined (or empty) "http://inf-it.com/ns/ab/" is used. | ||
1068 | // If false, then the addressbook color modification functionality | ||
1069 | // is completely disabled, and addressbook colors in the interface are | ||
1070 | // generated automatically. | ||
1071 | // Example: | ||
1072 | //var globalAddrColorPropertyXmlns=true; | ||
1073 | |||
1074 | |||
1075 | // globalContactStoreFN | ||
1076 | // This option specifies how the FN (formatted name) is stored into vCard. | ||
1077 | // The value for this options must be an array of strings, that can contain | ||
1078 | // the following variables: | ||
1079 | // prefix | ||
1080 | // last | ||
1081 | // middle | ||
1082 | // first | ||
1083 | // suffix | ||
1084 | // The string element of the array can contain any other characters (usually | ||
1085 | // space or colon). Elements are added into FN only if the there is | ||
1086 | // a variable match, for example if: | ||
1087 | // last='Lastname' | ||
1088 | // first='Firstname' | ||
1089 | // middle='' (empty) | ||
1090 | // and this option is set to: | ||
1091 | // ['last', ' middle', ' first'] (space in the second and third element) | ||
1092 | // the resulting value for FN will be: 'Lastname Firstname' and not | ||
1093 | // 'Lastname Firstname' (two spaces), because the middle name is empty (so | ||
1094 | // the second element is completely ignored /not added into FN/). | ||
1095 | // NOTE: this attribute is NOT used by this client, and it is also NOT | ||
1096 | // possible to directly edit it in the interface. | ||
1097 | // Examples: | ||
1098 | // var globalContactStoreFN=[' last', ' middle', ' first']; | ||
1099 | // var globalContactStoreFN=['last', ', middle', ' ,first']; | ||
1100 | var globalContactStoreFN=['prefix',' last',' middle',' first',' suffix']; | ||
1101 | |||
1102 | |||
1103 | // globalGroupContactsByCompanies | ||
1104 | // This options specifies how contacts are grouped in the interface. | ||
1105 | // By default the interface looks like (very simple example): | ||
1106 | // A | ||
1107 | // Adams Adam | ||
1108 | // Anderson Peter | ||
1109 | // B | ||
1110 | // Brown John | ||
1111 | // Baker Josh | ||
1112 | // if grouped by company/deparment the result is: | ||
1113 | // Company A [Department X] | ||
1114 | // Adams Adam | ||
1115 | // Brown John | ||
1116 | // Company B [Department Y] | ||
1117 | // Anderson Peter | ||
1118 | // Baker Josh | ||
1119 | // If this option is set to true contacts are grouped by company/department, | ||
1120 | // otherwise (default) contacts are grouped by letters of the alphabet. | ||
1121 | // If undefined or not true, grouping by alphabet letters is used. | ||
1122 | // NOTE: see also the globalCollectionDisplay option below. | ||
1123 | var globalGroupContactsByCompanies=false; | ||
1124 | |||
1125 | |||
1126 | // globalCollectionDisplay | ||
1127 | // This options specifies how data columns in the contact list are displayed. | ||
1128 | // | ||
1129 | // NOTE: columns are displayed ONLY if there is enought horizontal place in | ||
1130 | // the browser window (e.g. if you define 5 columns here, but your browser | ||
1131 | // window is not wide enough, you will see only first 3 columns instead of 5). | ||
1132 | // | ||
1133 | // NOTE: see the globalContactDataMinVisiblePercentage option which defines the | ||
1134 | // width for columns. | ||
1135 | // | ||
1136 | // The value must be an array of columns, where each column is represented by | ||
1137 | // an object with the following properties: | ||
1138 | // label => the value of this option is a string used as column header | ||
1139 | // You can use the following localized variables in the label string: | ||
1140 | // - {Name} | ||
1141 | // - {FirstName} | ||
1142 | // - {LastName} | ||
1143 | // - {MiddleName} | ||
1144 | // - {NickName} | ||
1145 | // - {Prefix} | ||
1146 | // - {Suffix} | ||
1147 | // - {BirthDay} | ||
1148 | // - {PhoneticLastName} | ||
1149 | // - {PhoneticFirstName} | ||
1150 | // - {JobTitle} | ||
1151 | // - {Company} | ||
1152 | // - {Department} | ||
1153 | // - {Categories} | ||
1154 | // - {NoteText} | ||
1155 | // - {Address}, {AddressWork}, {AddressHome}, {AddressOther} | ||
1156 | // - {Phone}, {PhoneWork}, {PhoneHome}, {PhoneCell}, {PhoneMain}, | ||
1157 | // {PhonePager}, {PhoneFax}, {PhoneIphone}, {PhoneOther} | ||
1158 | // - {Email}, {EmailWork}, {EmailHome}, {EmailMobileme}, {EmailOther} | ||
1159 | // - {URL}, {URLWork}, {URLHome}, {URLHomepage}, {URLOther} | ||
1160 | // - {Dates}, {DatesAnniversary}, {DatesOther} | ||
1161 | // - {Related}, {RelatedManager}, {RelatedAssistant}, {RelatedFather}, | ||
1162 | // {RelatedMother}, {RelatedParent}, {RelatedBrother}, {RelatedSister}, | ||
1163 | // {RelatedChild}, {RelatedFriend}, {RelatedSpouse}, {RelatedPartner}, | ||
1164 | // {RelatedOther} | ||
1165 | // - {Profile}, {ProfileTwitter}, {ProfileFacebook}, {ProfileFlickr}, | ||
1166 | // {ProfileLinkedin}, {ProfileMyspace}, {ProfileSinaweibo} | ||
1167 | // - {IM}, {IMWork}, {IMHome}, {IMMobileme}, {IMOther}, {IMAim}, {IMIcq}, | ||
1168 | // {IMIrc}, {IMJabber}, {IMMsn}, {IMYahoo}, {IMFacebook}, {IMGadugadu}, | ||
1169 | // {IMGoogletalk}, {IMQq}, {IMSkype} | ||
1170 | // value => the value of this option is an array of format strings, or | ||
1171 | // an object with the following properties: | ||
1172 | // - company (used for company contacts) | ||
1173 | // - personal (used for user contacts) | ||
1174 | // where the value of these properties is an array of format strings used | ||
1175 | // for company or user contacts (you can have different values in the same | ||
1176 | // column for personal and company contacts). | ||
1177 | // You can use the following simple variables in the format string: | ||
1178 | // - {FirstName} | ||
1179 | // - {LastName} | ||
1180 | // - {MiddleName} | ||
1181 | // - {NickName} | ||
1182 | // - {Prefix} | ||
1183 | // - {Suffix} | ||
1184 | // - {BirthDay} | ||
1185 | // - {PhoneticLastName} | ||
1186 | // - {PhoneticFirstName} | ||
1187 | // - {JobTitle} | ||
1188 | // - {Company} | ||
1189 | // - {Department} | ||
1190 | // - {Categories} | ||
1191 | // - {NoteText} | ||
1192 | // You can also use parametrized variables, where the parameter is enclosed | ||
1193 | // in square bracket. Paramatrized variables are useful to extract data | ||
1194 | // such as home phone {Phone[type=home]}, extract the second phone number | ||
1195 | // {Phone[:1]} (zero based indexing) or extract the third home phone number | ||
1196 | // {Phone[type=home][:2]} from the vCard. | ||
1197 | // NOTE: if the parametrized variable matches multiple items, e.g.: | ||
1198 | // {Phone[type=work]} (if the contact has multiple work phones) then the | ||
1199 | // first one is used! | ||
1200 | // | ||
1201 | // The following parametrized variables are supported (note: you can use | ||
1202 | // all of them also without parameters /the first one will be used/): | ||
1203 | // - {Address[type=XXX]} or {Address[:NUM]} or {Address[type=XXX][:NUM]} | ||
1204 | // where supported values for XXX are: | ||
1205 | // - work | ||
1206 | // - home | ||
1207 | // - other | ||
1208 | // - any other custom value | ||
1209 | // - {Phone[type=XXX]} or {Phone[:NUM]} or {Phone[type=XXX][:NUM]} | ||
1210 | // where supported values for XXX are: | ||
1211 | // - work | ||
1212 | // - home | ||
1213 | // - cell | ||
1214 | // - main | ||
1215 | // - pager | ||
1216 | // - fax | ||
1217 | // - iphone | ||
1218 | // - other | ||
1219 | // - any other custom value | ||
1220 | // - {Email[type=XXX]} or {Email[:NUM]} or {Email[type=XXX][:NUM]} | ||
1221 | // where supported values for XXX are: | ||
1222 | // - work | ||
1223 | // - home | ||
1224 | // - mobileme | ||
1225 | // - other | ||
1226 | // - any other custom value | ||
1227 | // - {URL[type=XXX]} or {URL[:NUM]} or {URL[type=XXX][:NUM]} | ||
1228 | // where supported values for XXX are: | ||
1229 | // - work | ||
1230 | // - home | ||
1231 | // - homepage | ||
1232 | // - other | ||
1233 | // - any other custom value | ||
1234 | // - {Dates[type=XXX]} or {Dates[:NUM]} or {Dates[type=XXX][:NUM]} | ||
1235 | // where supported values for XXX are: | ||
1236 | // - anniversary | ||
1237 | // - other | ||
1238 | // - any other custom value | ||
1239 | // - {Related[type=XXX]} or {Related[:NUM]} or {Related[type=XXX][:NUM]} | ||
1240 | // where supported values for XXX are: | ||
1241 | // - manager | ||
1242 | // - assistant | ||
1243 | // - father | ||
1244 | // - mother | ||
1245 | // - parent | ||
1246 | // - brother | ||
1247 | // - sister | ||
1248 | // - child | ||
1249 | // - friend | ||
1250 | // - spouse | ||
1251 | // - partner | ||
1252 | // - other | ||
1253 | // - any other custom value | ||
1254 | // - {Profile[type=XXX]} or {Profile[:NUM]} or {Profile[type=XXX][:NUM]} | ||
1255 | // where supported values for XXX are: | ||
1256 | |||
1257 | |||
1258 | // - flickr | ||
1259 | |||
1260 | // - myspace | ||
1261 | // - sinaweibo | ||
1262 | // - any other custom value | ||
1263 | // - {IM[type=XXX]} or {IM[service-type=YYY]} or {IM[:NUM]} | ||
1264 | // where supported values for XXX are: | ||
1265 | // - work | ||
1266 | // - home | ||
1267 | // - mobileme | ||
1268 | // - other | ||
1269 | // - any other custom value | ||
1270 | // and supported values for YYY are: | ||
1271 | // - aim | ||
1272 | // - icq | ||
1273 | // - irc | ||
1274 | // - jabber | ||
1275 | // - msn | ||
1276 | // - yahoo | ||
1277 | |||
1278 | // - gadugadu | ||
1279 | // - googletalk | ||
1280 | |||
1281 | // - skype | ||
1282 | // - any other custom value | ||
1283 | // | ||
1284 | // NOTE: if you want to use the "any other custom value" option (for XXX | ||
1285 | // or YYY above) you MUST double escape the following characters: | ||
1286 | // =[]{}\ | ||
1287 | // for example: | ||
1288 | // - for profile type "=XXX=" use: '{Profile[type=\\=XXX\\=]}' | ||
1289 | // - for profile type "\XXX\" use: '{Profile[type=\\\\XXX\\\\]}' | ||
1290 | // | ||
1291 | // NOTE: if you want to use curly brackets in the format string you must | ||
1292 | // double escape it, e.g.: ['{Company}', '\\{{Department}\\}'] | ||
1293 | // | ||
1294 | // The format string (for the value option) is an array to allow full | ||
1295 | // customization of the interface. For example if: | ||
1296 | // value: ['{LastName} {MiddleName} {FirstName}'] | ||
1297 | // and the person has no middle name, then the result in the column | ||
1298 | // will be (without quotes): | ||
1299 | // "Parker Peter" (note: two space characters) | ||
1300 | // but if you use: | ||
1301 | // value: ['{LastName}', ' {MiddleName}', ' {FirstName}'] | ||
1302 | // then the result will be (without quotes): | ||
1303 | // "Parker Peter" (note: only one space character) | ||
1304 | // The reason is that only those elements of the array are appended | ||
1305 | // into the result where non-empty substitution was performed (so the | ||
1306 | // ' {MiddleName}' element in this case is ignored, because the person | ||
1307 | // in the example above has no /more precisely has empty/ middle name). | ||
1308 | // | ||
1309 | // Examples: | ||
1310 | // To specify two columns (named "Company" and "Department / LastName"), | ||
1311 | // where the first will display the company name, and the second will display | ||
1312 | // department for company contacts (with "Dep -" prefix), and lastname for | ||
1313 | // personal contacts (with "Name -" prefix) use: | ||
1314 | // var globalCollectionDisplay=[ | ||
1315 | // { | ||
1316 | // label: 'Company', | ||
1317 | // value: ['{Company}'] | ||
1318 | // }, | ||
1319 | // { | ||
1320 | // label: 'Department / LastName', | ||
1321 | // value: { | ||
1322 | // company: ['Dep - {Department}'], | ||
1323 | // personal: ['Name - {LastName}'] | ||
1324 | // } | ||
1325 | // } | ||
1326 | // ]; | ||
1327 | // To specify 3 columns (named "Categories", "URL" and "IM"), where the first | ||
1328 | // will display categories, second will display the third work URL, and third | ||
1329 | // will display ICQ IM use: | ||
1330 | // var globalCollectionDisplay=[ | ||
1331 | // { | ||
1332 | // label: 'Categories', | ||
1333 | // value: ['{Categories}'] | ||
1334 | // }, | ||
1335 | // { | ||
1336 | // label: 'URL', | ||
1337 | // value: ['{URL[type=WORK][:2]}'] | ||
1338 | // }, | ||
1339 | // { | ||
1340 | // label: 'IM', | ||
1341 | // value: ['{IM[service-type=ICQ]}'] | ||
1342 | // } | ||
1343 | // ]; | ||
1344 | // | ||
1345 | // Recommended settings if globalGroupContactsByCompanies | ||
1346 | // is set to false: | ||
1347 | // var globalCollectionDisplay=[ | ||
1348 | // { | ||
1349 | // label: '{Name}', | ||
1350 | // value: ['{LastName}', ' {MiddleName}', ' {FirstName}'] | ||
1351 | // }, | ||
1352 | // { | ||
1353 | // label: '{Company} [{Department}]', | ||
1354 | // value: ['{Company}', ' [{Department}]'] | ||
1355 | // }, | ||
1356 | // { | ||
1357 | // label: '{JobTitle}', | ||
1358 | // value: ['{JobTitle}'] | ||
1359 | // }, | ||
1360 | // { | ||
1361 | // label: '{Email}', | ||
1362 | // value: ['{Email[:0]}'] | ||
1363 | // }, | ||
1364 | // { | ||
1365 | // label: '{Phone} 1', | ||
1366 | // value: ['{Phone[:0]}'] | ||
1367 | // }, | ||
1368 | // { | ||
1369 | // label: '{Phone} 2', | ||
1370 | // value: ['{Phone[:1]}'] | ||
1371 | // }, | ||
1372 | // { | ||
1373 | // label: '{NoteText}', | ||
1374 | // value: ['{NoteText}'] | ||
1375 | // } | ||
1376 | // ]; | ||
1377 | // | ||
1378 | // Recommended settings if globalGroupContactsByCompanies | ||
1379 | // is set to true: | ||
1380 | // var globalCollectionDisplay=[ | ||
1381 | // { | ||
1382 | // label: '{Name}', | ||
1383 | // value: { | ||
1384 | // personal: ['{LastName}', ' {MiddleName}', ' {FirstName}'], | ||
1385 | // company: ['{Company}', ' [{Department}]'] | ||
1386 | // } | ||
1387 | // }, | ||
1388 | // { | ||
1389 | // label: '{JobTitle}', | ||
1390 | // value: ['{JobTitle}'] | ||
1391 | // }, | ||
1392 | // { | ||
1393 | // label: '{Email}', | ||
1394 | // value: ['{Email[:0]}'] | ||
1395 | // }, | ||
1396 | // { | ||
1397 | // label: '{Phone} 1', | ||
1398 | // value: ['{Phone[:0]}'] | ||
1399 | // }, | ||
1400 | // { | ||
1401 | // label: '{Phone} 2', | ||
1402 | // value: ['{Phone[:1]}'] | ||
1403 | // }, | ||
1404 | // { | ||
1405 | // label: '{NoteText}', | ||
1406 | // value: ['{NoteText}'] | ||
1407 | // } | ||
1408 | // ]; | ||
1409 | // | ||
1410 | // NOTE: if left undefined, the recommended settings will be used. | ||
1411 | |||
1412 | |||
1413 | // globalCollectionSort | ||
1414 | // This options sets the ordering of contacts in the interface. In general | ||
1415 | // contacts are ordered alphabetically by an internal "sort string" which | ||
1416 | // is created for each contact. Here you can specify how this internal string | ||
1417 | // is created. The value is a simple array holding only the values from the | ||
1418 | // value property defined in the globalCollectionDisplay option. | ||
1419 | // If undefined, the definition from globalCollectionDisplay is used. | ||
1420 | // Example: | ||
1421 | // var globalCollectionSort = [ | ||
1422 | // ['{LastName}'], | ||
1423 | // ['{FirstName}'], | ||
1424 | // ['{MiddleName}'], | ||
1425 | // { | ||
1426 | // company: ['{Categories}'], | ||
1427 | // personal: ['{Company}'] | ||
1428 | // } | ||
1429 | // ]; | ||
1430 | var globalCollectionSort=[ | ||
1431 | ['{LastName}'], | ||
1432 | ['{FirstName}'], | ||
1433 | ['{MiddleName}'] | ||
1434 | ]; | ||
1435 | |||
1436 | |||
1437 | // globalContactDataMinVisiblePercentage | ||
1438 | // This option defines how the width for columns are computed. If you set | ||
1439 | // it to 1 then 100% of all data in the column will be visible (the column | ||
1440 | // width is determined by the longest string in the column). If you set it | ||
1441 | // to 0.95 then 95% of data will fit into the column width, and the remaining | ||
1442 | // 5% will be truncated (" ..."). | ||
1443 | // Example: | ||
1444 | var globalContactDataMinVisiblePercentage=0.95; | ||
1445 | |||
1446 | |||
diff --git a/virtual/modules/websites/tools/db/default.nix b/virtual/modules/websites/tools/db/default.nix deleted file mode 100644 index 2a82bd6..0000000 --- a/virtual/modules/websites/tools/db/default.nix +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | { lib, pkgs, config, mylibs, ... }: | ||
2 | let | ||
3 | adminer = pkgs.callPackage ../../commons/adminer.nix {}; | ||
4 | |||
5 | cfg = config.services.myWebsites.tools.databases; | ||
6 | in { | ||
7 | options.services.myWebsites.tools.databases = { | ||
8 | enable = lib.mkEnableOption "enable database's website"; | ||
9 | }; | ||
10 | |||
11 | config = lib.mkIf cfg.enable { | ||
12 | security.acme.certs."eldiron".extraDomains."db-1.immae.eu" = null; | ||
13 | |||
14 | services.myWebsites.tools.modules = adminer.apache.modules; | ||
15 | services.myWebsites.tools.vhostConfs.db-1 = { | ||
16 | certName = "eldiron"; | ||
17 | hosts = ["db-1.immae.eu" ]; | ||
18 | root = null; | ||
19 | extraConfig = [ adminer.apache.vhostConf ]; | ||
20 | }; | ||
21 | }; | ||
22 | } | ||
diff --git a/virtual/modules/websites/tools/diaspora/Gemfile b/virtual/modules/websites/tools/diaspora/Gemfile deleted file mode 100644 index e279514..0000000 --- a/virtual/modules/websites/tools/diaspora/Gemfile +++ /dev/null | |||
@@ -1,318 +0,0 @@ | |||
1 | # frozen_string_literal: true | ||
2 | |||
3 | source "https://rubygems.org" | ||
4 | |||
5 | gem "rails", "5.1.6" | ||
6 | |||
7 | # Legacy Rails features, remove me! | ||
8 | # responders (class level) | ||
9 | gem "responders", "2.4.0" | ||
10 | |||
11 | # Appserver | ||
12 | |||
13 | gem "unicorn", "5.4.1", require: false | ||
14 | gem "unicorn-worker-killer", "0.4.4" | ||
15 | |||
16 | # Federation | ||
17 | |||
18 | gem "diaspora_federation-json_schema", "0.2.5" | ||
19 | gem "diaspora_federation-rails", "0.2.5" | ||
20 | |||
21 | # API and JSON | ||
22 | |||
23 | gem "acts_as_api", "1.0.1" | ||
24 | gem "json", "2.1.0" | ||
25 | gem "json-schema", "2.8.1" | ||
26 | |||
27 | # Authentication | ||
28 | |||
29 | gem "devise", "4.5.0" | ||
30 | gem "devise_lastseenable", "0.0.6" | ||
31 | |||
32 | # Captcha | ||
33 | |||
34 | gem "simple_captcha2", "0.4.3", require: "simple_captcha" | ||
35 | |||
36 | # Background processing | ||
37 | |||
38 | gem "redis", "3.3.5" # Pinned to 3.3.x because of https://github.com/antirez/redis/issues/4272 | ||
39 | gem "sidekiq", "5.2.3" | ||
40 | |||
41 | # Scheduled processing | ||
42 | |||
43 | gem "sidekiq-cron", "1.0.4" | ||
44 | |||
45 | # Compression | ||
46 | |||
47 | gem "uglifier", "4.1.19" | ||
48 | |||
49 | # Configuration | ||
50 | |||
51 | gem "configurate", "0.3.1" | ||
52 | |||
53 | # Cross-origin resource sharing | ||
54 | |||
55 | gem "rack-cors", "1.0.2", require: "rack/cors" | ||
56 | |||
57 | # CSS | ||
58 | |||
59 | gem "autoprefixer-rails", "8.6.5" | ||
60 | gem "bootstrap-sass", "3.3.7" | ||
61 | gem "bootstrap-switch-rails", "3.3.4" | ||
62 | gem "compass-rails", "3.1.0" | ||
63 | gem "sass-rails", "5.0.7" | ||
64 | gem "sprockets-rails", "3.2.1" | ||
65 | |||
66 | # Database | ||
67 | |||
68 | group :mysql, optional: true do | ||
69 | gem "mysql2", "0.5.2" | ||
70 | end | ||
71 | gem "pg", "1.1.3" | ||
72 | |||
73 | |||
74 | gem "activerecord-import", "0.27.0" | ||
75 | |||
76 | # File uploading | ||
77 | |||
78 | gem "carrierwave", "1.2.3" | ||
79 | gem "fog-aws", "3.3.0" | ||
80 | gem "mini_magick", "4.9.2" | ||
81 | |||
82 | # GUID generation | ||
83 | gem "uuid", "2.3.9" | ||
84 | |||
85 | # Icons | ||
86 | |||
87 | gem "entypo-rails", "3.0.0" | ||
88 | |||
89 | # JavaScript | ||
90 | |||
91 | gem "handlebars_assets", "0.23.2" | ||
92 | gem "jquery-rails", "4.3.3" | ||
93 | gem "js-routes", "1.4.4" | ||
94 | gem "js_image_paths", "0.1.1" | ||
95 | |||
96 | source "https://rails-assets.org" do | ||
97 | gem "rails-assets-jquery", "3.3.1" # Should be kept in sync with jquery-rails | ||
98 | gem "rails-assets-jquery.ui", "1.11.4" | ||
99 | |||
100 | gem "rails-assets-highlightjs", "9.12.0" | ||
101 | gem "rails-assets-markdown-it", "8.4.2" | ||
102 | gem "rails-assets-markdown-it-hashtag", "0.4.0" | ||
103 | gem "rails-assets-markdown-it-diaspora-mention", "1.2.0" | ||
104 | gem "rails-assets-markdown-it-sanitizer", "0.4.3" | ||
105 | gem "rails-assets-markdown-it--markdown-it-for-inline", "0.1.1" | ||
106 | gem "rails-assets-markdown-it-sub", "1.0.0" | ||
107 | gem "rails-assets-markdown-it-sup", "1.0.0" | ||
108 | |||
109 | gem "rails-assets-backbone", "1.3.3" | ||
110 | gem "rails-assets-bootstrap-markdown", "2.10.0" | ||
111 | gem "rails-assets-corejs-typeahead", "1.2.1" | ||
112 | gem "rails-assets-fine-uploader", "5.13.0" | ||
113 | |||
114 | # jQuery plugins | ||
115 | |||
116 | gem "rails-assets-autosize", "4.0.2" | ||
117 | gem "rails-assets-blueimp-gallery", "2.33.0" | ||
118 | gem "rails-assets-jquery.are-you-sure", "1.9.0" | ||
119 | gem "rails-assets-jquery-placeholder", "2.3.1" | ||
120 | gem "rails-assets-jquery-textchange", "0.2.3" | ||
121 | gem "rails-assets-utatti-perfect-scrollbar", "1.4.0" | ||
122 | end | ||
123 | |||
124 | gem "markdown-it-html5-embed", "1.0.0" | ||
125 | |||
126 | # Localization | ||
127 | |||
128 | gem "http_accept_language", "2.1.1" | ||
129 | gem "i18n-inflector-rails", "1.0.7" | ||
130 | gem "rails-i18n", "5.1.2" | ||
131 | |||
132 | |||
133 | |||
134 | gem "markerb", "1.1.0" | ||
135 | |||
136 | # Map | ||
137 | gem "leaflet-rails", "1.3.1" | ||
138 | |||
139 | # Parsing | ||
140 | |||
141 | gem "nokogiri", "1.8.5" | ||
142 | gem "open_graph_reader", "0.6.2" # also update User-Agent in features/support/webmock.rb | ||
143 | gem "redcarpet", "3.4.0" | ||
144 | gem "ruby-oembed", "0.12.0" | ||
145 | gem "twitter-text", "1.14.7" | ||
146 | |||
147 | # RTL support | ||
148 | |||
149 | gem "string-direction", "1.2.1" | ||
150 | |||
151 | # Security Headers | ||
152 | |||
153 | gem "secure_headers", "6.0.0" | ||
154 | |||
155 | # Services | ||
156 | |||
157 | gem "omniauth", "1.8.1" | ||
158 | gem "omniauth-tumblr", "1.2" | ||
159 | gem "omniauth-twitter", "1.4.0" | ||
160 | gem "omniauth-wordpress", "0.2.2" | ||
161 | gem "twitter", "6.2.0" | ||
162 | |||
163 | # OpenID Connect | ||
164 | gem "openid_connect", "1.1.6" | ||
165 | |||
166 | # Serializers | ||
167 | |||
168 | gem "active_model_serializers", "0.9.7" | ||
169 | |||
170 | # XMPP chat dependencies | ||
171 | gem "diaspora-prosody-config", "0.0.7" | ||
172 | gem "rails-assets-diaspora_jsxc", "0.1.5.develop.7", source: "https://rails-assets.org" | ||
173 | |||
174 | # Tags | ||
175 | |||
176 | gem "acts-as-taggable-on", "6.0.0" | ||
177 | |||
178 | # URIs and HTTP | ||
179 | |||
180 | gem "addressable", "2.5.2", require: "addressable/uri" | ||
181 | gem "faraday", "0.15.3" | ||
182 | gem "faraday_middleware", "0.12.2" | ||
183 | gem "faraday-cookie_jar", "0.0.6" | ||
184 | gem "typhoeus", "1.3.1" | ||
185 | |||
186 | # Views | ||
187 | |||
188 | gem "gon", "6.2.1" | ||
189 | gem "hamlit", "2.9.1" | ||
190 | gem "mobile-fu", "1.4.0" | ||
191 | gem "rails-timeago", "2.16.0" | ||
192 | gem "will_paginate", "3.1.6" | ||
193 | |||
194 | # Logging | ||
195 | |||
196 | gem "logging-rails", "0.6.0", require: "logging/rails" | ||
197 | |||
198 | # Reading and writing zip files | ||
199 | |||
200 | gem "rubyzip", "1.2.2", require: "zip" | ||
201 | |||
202 | # Prevent occasions where minitest is not bundled in | ||
203 | # packaged versions of ruby. See following issues/prs: | ||
204 | # https://github.com/gitlabhq/gitlabhq/issues/3826 | ||
205 | # https://github.com/gitlabhq/gitlabhq/pull/3852 | ||
206 | # https://github.com/discourse/discourse/pull/238 | ||
207 | gem "minitest" | ||
208 | |||
209 | gem "versionist", "1.7.0" | ||
210 | |||
211 | # Windows and OSX have an execjs compatible runtime built-in, Linux users should | ||
212 | # install Node.js or use "therubyracer". | ||
213 | # | ||
214 | # See https://github.com/sstephenson/execjs#readme for more supported runtimes | ||
215 | |||
216 | # gem "therubyracer", :platform => :ruby | ||
217 | |||
218 | # LDAP | ||
219 | gem 'net-ldap', '~> 0.16' | ||
220 | |||
221 | group :production do # we don"t install these on travis to speed up test runs | ||
222 | # Analytics | ||
223 | |||
224 | gem "rack-google-analytics", "1.2.0" | ||
225 | gem "rack-piwik", "0.3.0", require: "rack/piwik" | ||
226 | |||
227 | # Process management | ||
228 | |||
229 | gem "eye", "0.10.0" | ||
230 | |||
231 | # Redirects | ||
232 | |||
233 | gem "rack-rewrite", "1.5.1", require: false | ||
234 | gem "rack-ssl", "1.4.1", require: "rack/ssl" | ||
235 | |||
236 | # Third party asset hosting | ||
237 | |||
238 | gem "asset_sync", "2.5.0", require: false | ||
239 | end | ||
240 | |||
241 | group :development do | ||
242 | # Automatic test runs | ||
243 | gem "guard", "2.15.0", require: false | ||
244 | gem "guard-rspec", "4.7.3", require: false | ||
245 | gem "guard-rubocop", "1.3.0", require: false | ||
246 | gem "rb-fsevent", "0.10.3", require: false | ||
247 | gem "rb-inotify", "0.9.10", require: false | ||
248 | |||
249 | # Linters | ||
250 | gem "haml_lint", "0.28.0", require: false | ||
251 | gem "pronto", "0.9.5", require: false | ||
252 | gem "pronto-eslint", "0.9.1", require: false | ||
253 | gem "pronto-haml", "0.9.0", require: false | ||
254 | gem "pronto-rubocop", "0.9.1", require: false | ||
255 | gem "pronto-scss", "0.9.1", require: false | ||
256 | gem "rubocop", "0.60.0", require: false | ||
257 | |||
258 | # Preloading environment | ||
259 | |||
260 | gem "spring", "2.0.2" | ||
261 | gem "spring-commands-rspec", "1.0.4" | ||
262 | gem "spring-commands-cucumber", "1.0.1" | ||
263 | |||
264 | # Debugging | ||
265 | gem "pry" | ||
266 | gem "pry-byebug" | ||
267 | |||
268 | # test coverage | ||
269 | gem "simplecov", "0.16.1", require: false | ||
270 | |||
271 | gem "turbo_dev_assets", "0.0.2" | ||
272 | end | ||
273 | |||
274 | group :test do | ||
275 | # RSpec (unit tests, some integration tests) | ||
276 | |||
277 | gem "fixture_builder", "0.5.2.rc3" | ||
278 | gem "fuubar", "2.3.2" | ||
279 | gem "json-schema-rspec", "0.0.4" | ||
280 | gem "rspec-json_expectations", "~> 2.1" | ||
281 | |||
282 | # Cucumber (integration tests) | ||
283 | |||
284 | gem "capybara", "3.11.1" | ||
285 | gem "database_cleaner", "1.7.0" | ||
286 | gem "poltergeist", "1.18.1" | ||
287 | |||
288 | gem "cucumber-api-steps", "0.14", require: false | ||
289 | |||
290 | # General helpers | ||
291 | |||
292 | gem "factory_girl_rails", "4.8.0" | ||
293 | gem "shoulda-matchers", "3.1.2" | ||
294 | gem "timecop", "0.9.1" | ||
295 | gem "webmock", "3.4.2", require: false | ||
296 | |||
297 | gem "diaspora_federation-test", "0.2.5" | ||
298 | |||
299 | # Coverage | ||
300 | gem "coveralls", "0.8.22", require: false | ||
301 | end | ||
302 | |||
303 | group :development, :test do | ||
304 | # RSpec (unit tests, some integration tests) | ||
305 | gem "rspec-rails", "3.8.1" | ||
306 | |||
307 | # Cucumber (integration tests) | ||
308 | gem "cucumber-rails", "1.6.0", require: false | ||
309 | |||
310 | # Jasmine (client side application tests (JS)) | ||
311 | gem "jasmine", "3.3.0" | ||
312 | gem "jasmine-jquery-rails", "2.0.3" | ||
313 | gem "rails-assets-jasmine-ajax", "3.4.0", source: "https://rails-assets.org" | ||
314 | gem "sinon-rails", "1.15.0" | ||
315 | |||
316 | # For `assigns` in controller specs | ||
317 | gem "rails-controller-testing", "1.0.2" | ||
318 | end | ||
diff --git a/virtual/modules/websites/tools/diaspora/Gemfile.lock b/virtual/modules/websites/tools/diaspora/Gemfile.lock deleted file mode 100644 index ceb08c1..0000000 --- a/virtual/modules/websites/tools/diaspora/Gemfile.lock +++ /dev/null | |||
@@ -1,909 +0,0 @@ | |||
1 | GEM | ||
2 | remote: https://rubygems.org/ | ||
3 | remote: https://rails-assets.org/ | ||
4 | specs: | ||
5 | actioncable (5.1.6) | ||
6 | actionpack (= 5.1.6) | ||
7 | nio4r (~> 2.0) | ||
8 | websocket-driver (~> 0.6.1) | ||
9 | actionmailer (5.1.6) | ||
10 | actionpack (= 5.1.6) | ||
11 | actionview (= 5.1.6) | ||
12 | activejob (= 5.1.6) | ||
13 | mail (~> 2.5, >= 2.5.4) | ||
14 | rails-dom-testing (~> 2.0) | ||
15 | actionpack (5.1.6) | ||
16 | actionview (= 5.1.6) | ||
17 | activesupport (= 5.1.6) | ||
18 | rack (~> 2.0) | ||
19 | rack-test (>= 0.6.3) | ||
20 | rails-dom-testing (~> 2.0) | ||
21 | rails-html-sanitizer (~> 1.0, >= 1.0.2) | ||
22 | actionview (5.1.6) | ||
23 | activesupport (= 5.1.6) | ||
24 | builder (~> 3.1) | ||
25 | erubi (~> 1.4) | ||
26 | rails-dom-testing (~> 2.0) | ||
27 | rails-html-sanitizer (~> 1.0, >= 1.0.3) | ||
28 | active_model_serializers (0.9.7) | ||
29 | activemodel (>= 3.2) | ||
30 | concurrent-ruby (~> 1.0) | ||
31 | activejob (5.1.6) | ||
32 | activesupport (= 5.1.6) | ||
33 | globalid (>= 0.3.6) | ||
34 | activemodel (5.1.6) | ||
35 | activesupport (= 5.1.6) | ||
36 | activerecord (5.1.6) | ||
37 | activemodel (= 5.1.6) | ||
38 | activesupport (= 5.1.6) | ||
39 | arel (~> 8.0) | ||
40 | activerecord-import (0.27.0) | ||
41 | activerecord (>= 3.2) | ||
42 | activesupport (5.1.6) | ||
43 | concurrent-ruby (~> 1.0, >= 1.0.2) | ||
44 | i18n (>= 0.7, < 2) | ||
45 | minitest (~> 5.1) | ||
46 | tzinfo (~> 1.1) | ||
47 | acts-as-taggable-on (6.0.0) | ||
48 | activerecord (~> 5.0) | ||
49 | acts_as_api (1.0.1) | ||
50 | activemodel (>= 3.0.0) | ||
51 | activesupport (>= 3.0.0) | ||
52 | rack (>= 1.1.0) | ||
53 | addressable (2.5.2) | ||
54 | public_suffix (>= 2.0.2, < 4.0) | ||
55 | aes_key_wrap (1.0.1) | ||
56 | arel (8.0.0) | ||
57 | asset_sync (2.5.0) | ||
58 | activemodel (>= 4.1.0) | ||
59 | fog-core | ||
60 | mime-types (>= 2.99) | ||
61 | unf | ||
62 | ast (2.4.0) | ||
63 | attr_required (1.0.1) | ||
64 | autoprefixer-rails (8.6.5) | ||
65 | execjs | ||
66 | backports (3.11.4) | ||
67 | bcrypt (3.1.12) | ||
68 | bindata (2.4.4) | ||
69 | bootstrap-sass (3.3.7) | ||
70 | autoprefixer-rails (>= 5.2.1) | ||
71 | sass (>= 3.3.4) | ||
72 | bootstrap-switch-rails (3.3.4) | ||
73 | buftok (0.2.0) | ||
74 | builder (3.2.3) | ||
75 | byebug (10.0.2) | ||
76 | capybara (3.11.1) | ||
77 | addressable | ||
78 | mini_mime (>= 0.1.3) | ||
79 | nokogiri (~> 1.8) | ||
80 | rack (>= 1.6.0) | ||
81 | rack-test (>= 0.6.3) | ||
82 | regexp_parser (~> 1.2) | ||
83 | xpath (~> 3.2) | ||
84 | carrierwave (1.2.3) | ||
85 | activemodel (>= 4.0.0) | ||
86 | activesupport (>= 4.0.0) | ||
87 | mime-types (>= 1.16) | ||
88 | celluloid (0.17.3) | ||
89 | celluloid-essentials | ||
90 | celluloid-extras | ||
91 | celluloid-fsm | ||
92 | celluloid-pool | ||
93 | celluloid-supervision | ||
94 | timers (>= 4.1.1) | ||
95 | celluloid-essentials (0.20.5) | ||
96 | timers (>= 4.1.1) | ||
97 | celluloid-extras (0.20.5) | ||
98 | timers (>= 4.1.1) | ||
99 | celluloid-fsm (0.20.5) | ||
100 | timers (>= 4.1.1) | ||
101 | celluloid-io (0.17.3) | ||
102 | celluloid (>= 0.17.2) | ||
103 | nio4r (>= 1.1) | ||
104 | timers (>= 4.1.1) | ||
105 | celluloid-pool (0.20.5) | ||
106 | timers (>= 4.1.1) | ||
107 | celluloid-supervision (0.20.6) | ||
108 | timers (>= 4.1.1) | ||
109 | chunky_png (1.3.10) | ||
110 | cliver (0.3.2) | ||
111 | coderay (1.1.2) | ||
112 | compass (1.0.3) | ||
113 | chunky_png (~> 1.2) | ||
114 | compass-core (~> 1.0.2) | ||
115 | compass-import-once (~> 1.0.5) | ||
116 | rb-fsevent (>= 0.9.3) | ||
117 | rb-inotify (>= 0.9) | ||
118 | sass (>= 3.3.13, < 3.5) | ||
119 | compass-core (1.0.3) | ||
120 | multi_json (~> 1.0) | ||
121 | sass (>= 3.3.0, < 3.5) | ||
122 | compass-import-once (1.0.5) | ||
123 | sass (>= 3.2, < 3.5) | ||
124 | compass-rails (3.1.0) | ||
125 | compass (~> 1.0.0) | ||
126 | sass-rails (< 5.1) | ||
127 | sprockets (< 4.0) | ||
128 | concurrent-ruby (1.1.3) | ||
129 | configurate (0.3.1) | ||
130 | connection_pool (2.2.2) | ||
131 | coveralls (0.8.22) | ||
132 | json (>= 1.8, < 3) | ||
133 | simplecov (~> 0.16.1) | ||
134 | term-ansicolor (~> 1.3) | ||
135 | thor (~> 0.19.4) | ||
136 | tins (~> 1.6) | ||
137 | crack (0.4.3) | ||
138 | safe_yaml (~> 1.0.0) | ||
139 | crass (1.0.4) | ||
140 | cucumber (3.1.2) | ||
141 | builder (>= 2.1.2) | ||
142 | cucumber-core (~> 3.2.0) | ||
143 | cucumber-expressions (~> 6.0.1) | ||
144 | cucumber-wire (~> 0.0.1) | ||
145 | diff-lcs (~> 1.3) | ||
146 | gherkin (~> 5.1.0) | ||
147 | multi_json (>= 1.7.5, < 2.0) | ||
148 | multi_test (>= 0.1.2) | ||
149 | cucumber-api-steps (0.14.0) | ||
150 | cucumber (>= 2.0.2) | ||
151 | jsonpath (>= 0.1.2) | ||
152 | cucumber-core (3.2.1) | ||
153 | backports (>= 3.8.0) | ||
154 | cucumber-tag_expressions (~> 1.1.0) | ||
155 | gherkin (~> 5.0) | ||
156 | cucumber-expressions (6.0.1) | ||
157 | cucumber-rails (1.6.0) | ||
158 | capybara (>= 1.1.2, < 4) | ||
159 | cucumber (>= 3.0.2, < 4) | ||
160 | mime-types (>= 1.17, < 4) | ||
161 | nokogiri (~> 1.8) | ||
162 | railties (>= 4, < 6) | ||
163 | cucumber-tag_expressions (1.1.1) | ||
164 | cucumber-wire (0.0.1) | ||
165 | database_cleaner (1.7.0) | ||
166 | devise (4.5.0) | ||
167 | bcrypt (~> 3.0) | ||
168 | orm_adapter (~> 0.1) | ||
169 | railties (>= 4.1.0, < 6.0) | ||
170 | responders | ||
171 | warden (~> 1.2.3) | ||
172 | devise_lastseenable (0.0.6) | ||
173 | devise | ||
174 | rails (>= 3.0.4) | ||
175 | diaspora-prosody-config (0.0.7) | ||
176 | diaspora_federation (0.2.5) | ||
177 | faraday (>= 0.9.0, < 0.16.0) | ||
178 | faraday_middleware (>= 0.10.0, < 0.13.0) | ||
179 | nokogiri (~> 1.6, >= 1.6.8) | ||
180 | typhoeus (~> 1.0) | ||
181 | valid (~> 1.0) | ||
182 | diaspora_federation-json_schema (0.2.5) | ||
183 | diaspora_federation-rails (0.2.5) | ||
184 | actionpack (>= 4.2, < 6) | ||
185 | diaspora_federation (= 0.2.5) | ||
186 | diaspora_federation-test (0.2.5) | ||
187 | diaspora_federation (= 0.2.5) | ||
188 | fabrication (~> 2.16) | ||
189 | uuid (~> 2.3, >= 2.3.8) | ||
190 | diff-lcs (1.3) | ||
191 | docile (1.3.1) | ||
192 | domain_name (0.5.20180417) | ||
193 | unf (>= 0.0.5, < 1.0.0) | ||
194 | entypo-rails (3.0.0) | ||
195 | railties (>= 4.1, < 6) | ||
196 | equalizer (0.0.11) | ||
197 | erubi (1.7.1) | ||
198 | eslintrb (2.1.0) | ||
199 | execjs | ||
200 | multi_json (>= 1.3) | ||
201 | rake | ||
202 | et-orbi (1.1.6) | ||
203 | tzinfo | ||
204 | ethon (0.11.0) | ||
205 | ffi (>= 1.3.0) | ||
206 | excon (0.62.0) | ||
207 | execjs (2.7.0) | ||
208 | eye (0.10.0) | ||
209 | celluloid (~> 0.17.3) | ||
210 | celluloid-io (~> 0.17.0) | ||
211 | kostya-sigar (~> 2.0.0) | ||
212 | state_machines | ||
213 | thor | ||
214 | fabrication (2.20.1) | ||
215 | factory_girl (4.8.0) | ||
216 | activesupport (>= 3.0.0) | ||
217 | factory_girl_rails (4.8.0) | ||
218 | factory_girl (~> 4.8.0) | ||
219 | railties (>= 3.0.0) | ||
220 | faraday (0.15.3) | ||
221 | multipart-post (>= 1.2, < 3) | ||
222 | faraday-cookie_jar (0.0.6) | ||
223 | faraday (>= 0.7.4) | ||
224 | http-cookie (~> 1.0.0) | ||
225 | faraday_middleware (0.12.2) | ||
226 | faraday (>= 0.7.4, < 1.0) | ||
227 | ffi (1.9.25) | ||
228 | fixture_builder (0.5.2.rc3) | ||
229 | activerecord (>= 2) | ||
230 | activesupport (>= 2) | ||
231 | hashdiff | ||
232 | fog-aws (3.3.0) | ||
233 | fog-core (~> 2.1) | ||
234 | fog-json (~> 1.1) | ||
235 | fog-xml (~> 0.1) | ||
236 | ipaddress (~> 0.8) | ||
237 | fog-core (2.1.2) | ||
238 | builder | ||
239 | excon (~> 0.58) | ||
240 | formatador (~> 0.2) | ||
241 | mime-types | ||
242 | fog-json (1.2.0) | ||
243 | fog-core | ||
244 | multi_json (~> 1.10) | ||
245 | fog-xml (0.1.3) | ||
246 | fog-core | ||
247 | nokogiri (>= 1.5.11, < 2.0.0) | ||
248 | formatador (0.2.5) | ||
249 | fugit (1.1.6) | ||
250 | et-orbi (~> 1.1, >= 1.1.6) | ||
251 | raabro (~> 1.1) | ||
252 | fuubar (2.3.2) | ||
253 | rspec-core (~> 3.0) | ||
254 | ruby-progressbar (~> 1.4) | ||
255 | get_process_mem (0.2.3) | ||
256 | gherkin (5.1.0) | ||
257 | gitlab (4.7.0) | ||
258 | httparty (>= 0.14.0) | ||
259 | terminal-table (>= 1.5.1) | ||
260 | globalid (0.4.1) | ||
261 | activesupport (>= 4.2.0) | ||
262 | gon (6.2.1) | ||
263 | actionpack (>= 3.0) | ||
264 | multi_json | ||
265 | request_store (>= 1.0) | ||
266 | guard (2.15.0) | ||
267 | formatador (>= 0.2.4) | ||
268 | listen (>= 2.7, < 4.0) | ||
269 | lumberjack (>= 1.0.12, < 2.0) | ||
270 | nenv (~> 0.1) | ||
271 | notiffany (~> 0.0) | ||
272 | pry (>= 0.9.12) | ||
273 | shellany (~> 0.0) | ||
274 | thor (>= 0.18.1) | ||
275 | guard-compat (1.2.1) | ||
276 | guard-rspec (4.7.3) | ||
277 | guard (~> 2.1) | ||
278 | guard-compat (~> 1.1) | ||
279 | rspec (>= 2.99.0, < 4.0) | ||
280 | guard-rubocop (1.3.0) | ||
281 | guard (~> 2.0) | ||
282 | rubocop (~> 0.20) | ||
283 | haml (5.0.4) | ||
284 | temple (>= 0.8.0) | ||
285 | tilt | ||
286 | haml_lint (0.28.0) | ||
287 | haml (>= 4.0, < 5.1) | ||
288 | rainbow | ||
289 | rake (>= 10, < 13) | ||
290 | rubocop (>= 0.50.0) | ||
291 | sysexits (~> 1.1) | ||
292 | hamlit (2.9.1) | ||
293 | temple (>= 0.8.0) | ||
294 | thor | ||
295 | tilt | ||
296 | handlebars_assets (0.23.2) | ||
297 | execjs (~> 2.0) | ||
298 | sprockets (>= 2.0.0) | ||
299 | tilt (>= 1.2) | ||
300 | hashdiff (0.3.7) | ||
301 | hashie (3.5.7) | ||
302 | http (3.3.0) | ||
303 | addressable (~> 2.3) | ||
304 | http-cookie (~> 1.0) | ||
305 | http-form_data (~> 2.0) | ||
306 | http_parser.rb (~> 0.6.0) | ||
307 | http-cookie (1.0.3) | ||
308 | domain_name (~> 0.5) | ||
309 | http-form_data (2.1.1) | ||
310 | http_accept_language (2.1.1) | ||
311 | http_parser.rb (0.6.0) | ||
312 | httparty (0.16.3) | ||
313 | mime-types (~> 3.0) | ||
314 | multi_xml (>= 0.5.2) | ||
315 | httpclient (2.8.3) | ||
316 | i18n (1.1.1) | ||
317 | concurrent-ruby (~> 1.0) | ||
318 | i18n-inflector (2.6.7) | ||
319 | i18n (>= 0.4.1) | ||
320 | i18n-inflector-rails (1.0.7) | ||
321 | actionpack (>= 3.0.0) | ||
322 | i18n-inflector (~> 2.6) | ||
323 | railties (>= 3.0.0) | ||
324 | ipaddress (0.8.3) | ||
325 | jaro_winkler (1.5.1) | ||
326 | jasmine (3.3.0) | ||
327 | jasmine-core (~> 3.3.0) | ||
328 | phantomjs | ||
329 | rack (>= 1.2.1) | ||
330 | rake | ||
331 | jasmine-core (3.3.0) | ||
332 | jasmine-jquery-rails (2.0.3) | ||
333 | jquery-rails (4.3.3) | ||
334 | rails-dom-testing (>= 1, < 3) | ||
335 | railties (>= 4.2.0) | ||
336 | thor (>= 0.14, < 2.0) | ||
337 | js-routes (1.4.4) | ||
338 | railties (>= 3.2) | ||
339 | sprockets-rails | ||
340 | js_image_paths (0.1.1) | ||
341 | rails (>= 4.0, < 6.0) | ||
342 | sprockets (>= 3.0.0) | ||
343 | json (2.1.0) | ||
344 | json-jwt (1.9.4) | ||
345 | activesupport | ||
346 | aes_key_wrap | ||
347 | bindata | ||
348 | json-schema (2.8.1) | ||
349 | addressable (>= 2.4) | ||
350 | json-schema-rspec (0.0.4) | ||
351 | json-schema (~> 2.5) | ||
352 | rspec | ||
353 | jsonpath (0.9.6) | ||
354 | multi_json | ||
355 | to_regexp (~> 0.2.1) | ||
356 | jwt (2.1.0) | ||
357 | kgio (2.11.2) | ||
358 | kostya-sigar (2.0.4) | ||
359 | leaflet-rails (1.3.1) | ||
360 | rails (>= 4.2.0) | ||
361 | listen (3.1.5) | ||
362 | rb-fsevent (~> 0.9, >= 0.9.4) | ||
363 | rb-inotify (~> 0.9, >= 0.9.7) | ||
364 | ruby_dep (~> 1.2) | ||
365 | little-plugger (1.1.4) | ||
366 | logging (2.2.2) | ||
367 | little-plugger (~> 1.1) | ||
368 | multi_json (~> 1.10) | ||
369 | logging-rails (0.6.0) | ||
370 | logging (>= 1.8) | ||
371 | loofah (2.2.3) | ||
372 | crass (~> 1.0.2) | ||
373 | nokogiri (>= 1.5.9) | ||
374 | lumberjack (1.0.13) | ||
375 | macaddr (1.7.1) | ||
376 | systemu (~> 2.6.2) | ||
377 | mail (2.7.1) | ||
378 | mini_mime (>= 0.1.1) | ||
379 | markdown-it-html5-embed (1.0.0) | ||
380 | markerb (1.1.0) | ||
381 | memoizable (0.4.2) | ||
382 | thread_safe (~> 0.3, >= 0.3.1) | ||
383 | method_source (0.9.2) | ||
384 | mime-types (3.2.2) | ||
385 | mime-types-data (~> 3.2015) | ||
386 | mime-types-data (3.2018.0812) | ||
387 | mini_magick (4.9.2) | ||
388 | mini_mime (1.0.1) | ||
389 | mini_portile2 (2.3.0) | ||
390 | minitest (5.11.3) | ||
391 | mobile-fu (1.4.0) | ||
392 | rack-mobile-detect | ||
393 | rails | ||
394 | multi_json (1.13.1) | ||
395 | multi_test (0.1.2) | ||
396 | multi_xml (0.6.0) | ||
397 | multipart-post (2.0.0) | ||
398 | mysql2 (0.5.2) | ||
399 | naught (1.1.0) | ||
400 | nenv (0.3.0) | ||
401 | net-ldap (0.16.1) | ||
402 | nio4r (2.3.1) | ||
403 | nokogiri (1.8.5) | ||
404 | mini_portile2 (~> 2.3.0) | ||
405 | notiffany (0.1.1) | ||
406 | nenv (~> 0.1) | ||
407 | shellany (~> 0.0) | ||
408 | oauth (0.5.4) | ||
409 | oauth2 (1.4.1) | ||
410 | faraday (>= 0.8, < 0.16.0) | ||
411 | jwt (>= 1.0, < 3.0) | ||
412 | multi_json (~> 1.3) | ||
413 | multi_xml (~> 0.5) | ||
414 | rack (>= 1.2, < 3) | ||
415 | octokit (4.13.0) | ||
416 | sawyer (~> 0.8.0, >= 0.5.3) | ||
417 | omniauth (1.8.1) | ||
418 | hashie (>= 3.4.6, < 3.6.0) | ||
419 | rack (>= 1.6.2, < 3) | ||
420 | omniauth-oauth (1.1.0) | ||
421 | oauth | ||
422 | omniauth (~> 1.0) | ||
423 | omniauth-oauth2 (1.5.0) | ||
424 | oauth2 (~> 1.1) | ||
425 | omniauth (~> 1.2) | ||
426 | omniauth-tumblr (1.2) | ||
427 | multi_json | ||
428 | omniauth-oauth (~> 1.0) | ||
429 | omniauth-twitter (1.4.0) | ||
430 | omniauth-oauth (~> 1.1) | ||
431 | rack | ||
432 | omniauth-wordpress (0.2.2) | ||
433 | omniauth-oauth2 (>= 1.1.0) | ||
434 | open_graph_reader (0.6.2) | ||
435 | faraday (>= 0.9.0) | ||
436 | nokogiri (~> 1.6) | ||
437 | openid_connect (1.1.6) | ||
438 | activemodel | ||
439 | attr_required (>= 1.0.0) | ||
440 | json-jwt (>= 1.5.0) | ||
441 | rack-oauth2 (>= 1.6.1) | ||
442 | swd (>= 1.0.0) | ||
443 | tzinfo | ||
444 | validate_email | ||
445 | validate_url | ||
446 | webfinger (>= 1.0.1) | ||
447 | orm_adapter (0.5.0) | ||
448 | parallel (1.12.1) | ||
449 | parser (2.5.3.0) | ||
450 | ast (~> 2.4.0) | ||
451 | pg (1.1.3) | ||
452 | phantomjs (2.1.1.0) | ||
453 | poltergeist (1.18.1) | ||
454 | capybara (>= 2.1, < 4) | ||
455 | cliver (~> 0.3.1) | ||
456 | websocket-driver (>= 0.2.0) | ||
457 | powerpack (0.1.2) | ||
458 | pronto (0.9.5) | ||
459 | gitlab (~> 4.0, >= 4.0.0) | ||
460 | httparty (>= 0.13.7) | ||
461 | octokit (~> 4.7, >= 4.7.0) | ||
462 | rainbow (~> 2.1) | ||
463 | rugged (~> 0.24, >= 0.23.0) | ||
464 | thor (~> 0.19.0) | ||
465 | pronto-eslint (0.9.1) | ||
466 | eslintrb (~> 2.0, >= 2.0.0) | ||
467 | pronto (~> 0.9.0) | ||
468 | pronto-haml (0.9.0) | ||
469 | haml_lint (~> 0.23) | ||
470 | pronto (~> 0.9.0) | ||
471 | pronto-rubocop (0.9.1) | ||
472 | pronto (~> 0.9.0) | ||
473 | rubocop (~> 0.50, >= 0.49.1) | ||
474 | pronto-scss (0.9.1) | ||
475 | pronto (~> 0.9.0) | ||
476 | scss_lint (~> 0.43, >= 0.43.0) | ||
477 | pry (0.12.2) | ||
478 | coderay (~> 1.1.0) | ||
479 | method_source (~> 0.9.0) | ||
480 | pry-byebug (3.6.0) | ||
481 | byebug (~> 10.0) | ||
482 | pry (~> 0.10) | ||
483 | public_suffix (3.0.3) | ||
484 | raabro (1.1.6) | ||
485 | rack (2.0.6) | ||
486 | rack-cors (1.0.2) | ||
487 | rack-google-analytics (1.2.0) | ||
488 | actionpack | ||
489 | activesupport | ||
490 | rack-mobile-detect (0.4.0) | ||
491 | rack | ||
492 | rack-oauth2 (1.9.3) | ||
493 | activesupport | ||
494 | attr_required | ||
495 | httpclient | ||
496 | json-jwt (>= 1.9.0) | ||
497 | rack | ||
498 | rack-piwik (0.3.0) | ||
499 | rack-protection (2.0.4) | ||
500 | rack | ||
501 | rack-rewrite (1.5.1) | ||
502 | rack-ssl (1.4.1) | ||
503 | rack | ||
504 | rack-test (1.1.0) | ||
505 | rack (>= 1.0, < 3) | ||
506 | rails (5.1.6) | ||
507 | actioncable (= 5.1.6) | ||
508 | actionmailer (= 5.1.6) | ||
509 | actionpack (= 5.1.6) | ||
510 | actionview (= 5.1.6) | ||
511 | activejob (= 5.1.6) | ||
512 | activemodel (= 5.1.6) | ||
513 | activerecord (= 5.1.6) | ||
514 | activesupport (= 5.1.6) | ||
515 | bundler (>= 1.3.0) | ||
516 | railties (= 5.1.6) | ||
517 | sprockets-rails (>= 2.0.0) | ||
518 | rails-assets-autosize (4.0.2) | ||
519 | rails-assets-backbone (1.3.3) | ||
520 | rails-assets-underscore (>= 1.8.3) | ||
521 | rails-assets-blueimp-gallery (2.33.0) | ||
522 | rails-assets-bootstrap (3.3.7) | ||
523 | rails-assets-jquery (>= 1.9.1, < 4) | ||
524 | rails-assets-bootstrap-markdown (2.10.0) | ||
525 | rails-assets-bootstrap (~> 3) | ||
526 | rails-assets-corejs-typeahead (1.2.1) | ||
527 | rails-assets-jquery (>= 1.11) | ||
528 | rails-assets-diaspora_jsxc (0.1.5.develop.7) | ||
529 | rails-assets-emojione (~> 2.0.1) | ||
530 | rails-assets-favico.js (>= 0.3.10, < 0.4) | ||
531 | rails-assets-jquery-colorbox (~> 1.6.3) | ||
532 | rails-assets-jquery-fullscreen-plugin (~> 0.5.0) | ||
533 | rails-assets-jquery.slimscroll (~> 1.3.6) | ||
534 | rails-assets-jquery.ui (~> 1.11.4) | ||
535 | rails-assets-emojione (2.0.1) | ||
536 | rails-assets-favico.js (0.3.10) | ||
537 | rails-assets-fine-uploader (5.13.0) | ||
538 | rails-assets-highlightjs (9.12.0) | ||
539 | rails-assets-jasmine (3.3.0) | ||
540 | rails-assets-jasmine-ajax (3.4.0) | ||
541 | rails-assets-jasmine (~> 3) | ||
542 | rails-assets-jquery (3.3.1) | ||
543 | rails-assets-jquery-colorbox (1.6.4) | ||
544 | rails-assets-jquery (>= 1.3.2) | ||
545 | rails-assets-jquery-fullscreen-plugin (0.5.0) | ||
546 | rails-assets-jquery-placeholder (2.3.1) | ||
547 | rails-assets-jquery (>= 1.6) | ||
548 | rails-assets-jquery-textchange (0.2.3) | ||
549 | rails-assets-jquery | ||
550 | rails-assets-jquery.are-you-sure (1.9.0) | ||
551 | rails-assets-jquery (>= 1.4.2) | ||
552 | rails-assets-jquery.slimscroll (1.3.8) | ||
553 | rails-assets-jquery.ui (1.11.4) | ||
554 | rails-assets-jquery (>= 1.6) | ||
555 | rails-assets-markdown-it--markdown-it-for-inline (0.1.1) | ||
556 | rails-assets-markdown-it (8.4.2) | ||
557 | rails-assets-markdown-it-diaspora-mention (1.2.0) | ||
558 | rails-assets-markdown-it-hashtag (0.4.0) | ||
559 | rails-assets-markdown-it-sanitizer (0.4.3) | ||
560 | rails-assets-markdown-it-sub (1.0.0) | ||
561 | rails-assets-markdown-it-sup (1.0.0) | ||
562 | rails-assets-underscore (1.9.1) | ||
563 | rails-assets-utatti-perfect-scrollbar (1.4.0) | ||
564 | rails-controller-testing (1.0.2) | ||
565 | actionpack (~> 5.x, >= 5.0.1) | ||
566 | actionview (~> 5.x, >= 5.0.1) | ||
567 | activesupport (~> 5.x) | ||
568 | rails-dom-testing (2.0.3) | ||
569 | activesupport (>= 4.2.0) | ||
570 | nokogiri (>= 1.6) | ||
571 | rails-html-sanitizer (1.0.4) | ||
572 | loofah (~> 2.2, >= 2.2.2) | ||
573 | rails-i18n (5.1.2) | ||
574 | i18n (>= 0.7, < 2) | ||
575 | railties (>= 5.0, < 6) | ||
576 | rails-timeago (2.16.0) | ||
577 | actionpack (>= 3.1) | ||
578 | activesupport (>= 3.1) | ||
579 | railties (5.1.6) | ||
580 | actionpack (= 5.1.6) | ||
581 | activesupport (= 5.1.6) | ||
582 | method_source | ||
583 | rake (>= 0.8.7) | ||
584 | thor (>= 0.18.1, < 2.0) | ||
585 | rainbow (2.2.2) | ||
586 | rake | ||
587 | raindrops (0.19.0) | ||
588 | rake (12.3.1) | ||
589 | rb-fsevent (0.10.3) | ||
590 | rb-inotify (0.9.10) | ||
591 | ffi (>= 0.5.0, < 2) | ||
592 | redcarpet (3.4.0) | ||
593 | redis (3.3.5) | ||
594 | regexp_parser (1.3.0) | ||
595 | request_store (1.4.1) | ||
596 | rack (>= 1.4) | ||
597 | responders (2.4.0) | ||
598 | actionpack (>= 4.2.0, < 5.3) | ||
599 | railties (>= 4.2.0, < 5.3) | ||
600 | rspec (3.8.0) | ||
601 | rspec-core (~> 3.8.0) | ||
602 | rspec-expectations (~> 3.8.0) | ||
603 | rspec-mocks (~> 3.8.0) | ||
604 | rspec-core (3.8.0) | ||
605 | rspec-support (~> 3.8.0) | ||
606 | rspec-expectations (3.8.2) | ||
607 | diff-lcs (>= 1.2.0, < 2.0) | ||
608 | rspec-support (~> 3.8.0) | ||
609 | rspec-json_expectations (2.1.0) | ||
610 | rspec-mocks (3.8.0) | ||
611 | diff-lcs (>= 1.2.0, < 2.0) | ||
612 | rspec-support (~> 3.8.0) | ||
613 | rspec-rails (3.8.1) | ||
614 | actionpack (>= 3.0) | ||
615 | activesupport (>= 3.0) | ||
616 | railties (>= 3.0) | ||
617 | rspec-core (~> 3.8.0) | ||
618 | rspec-expectations (~> 3.8.0) | ||
619 | rspec-mocks (~> 3.8.0) | ||
620 | rspec-support (~> 3.8.0) | ||
621 | rspec-support (3.8.0) | ||
622 | rubocop (0.60.0) | ||
623 | jaro_winkler (~> 1.5.1) | ||
624 | parallel (~> 1.10) | ||
625 | parser (>= 2.5, != 2.5.1.1) | ||
626 | powerpack (~> 0.1) | ||
627 | rainbow (>= 2.2.2, < 4.0) | ||
628 | ruby-progressbar (~> 1.7) | ||
629 | unicode-display_width (~> 1.4.0) | ||
630 | ruby-oembed (0.12.0) | ||
631 | ruby-progressbar (1.10.0) | ||
632 | ruby_dep (1.5.0) | ||
633 | rubyzip (1.2.2) | ||
634 | rugged (0.27.5) | ||
635 | safe_yaml (1.0.4) | ||
636 | sass (3.4.25) | ||
637 | sass-rails (5.0.7) | ||
638 | railties (>= 4.0.0, < 6) | ||
639 | sass (~> 3.1) | ||
640 | sprockets (>= 2.8, < 4.0) | ||
641 | sprockets-rails (>= 2.0, < 4.0) | ||
642 | tilt (>= 1.1, < 3) | ||
643 | sawyer (0.8.1) | ||
644 | addressable (>= 2.3.5, < 2.6) | ||
645 | faraday (~> 0.8, < 1.0) | ||
646 | scss_lint (0.55.0) | ||
647 | rake (>= 0.9, < 13) | ||
648 | sass (~> 3.4.20) | ||
649 | secure_headers (6.0.0) | ||
650 | shellany (0.0.1) | ||
651 | shoulda-matchers (3.1.2) | ||
652 | activesupport (>= 4.0.0) | ||
653 | sidekiq (5.2.3) | ||
654 | connection_pool (~> 2.2, >= 2.2.2) | ||
655 | rack-protection (>= 1.5.0) | ||
656 | redis (>= 3.3.5, < 5) | ||
657 | sidekiq-cron (1.0.4) | ||
658 | fugit (~> 1.1) | ||
659 | sidekiq (>= 4.2.1) | ||
660 | simple_captcha2 (0.4.3) | ||
661 | rails (>= 4.1) | ||
662 | simple_oauth (0.3.1) | ||
663 | simplecov (0.16.1) | ||
664 | docile (~> 1.1) | ||
665 | json (>= 1.8, < 3) | ||
666 | simplecov-html (~> 0.10.0) | ||
667 | simplecov-html (0.10.2) | ||
668 | sinon-rails (1.15.0) | ||
669 | railties (>= 3.1) | ||
670 | spring (2.0.2) | ||
671 | activesupport (>= 4.2) | ||
672 | spring-commands-cucumber (1.0.1) | ||
673 | spring (>= 0.9.1) | ||
674 | spring-commands-rspec (1.0.4) | ||
675 | spring (>= 0.9.1) | ||
676 | sprockets (3.7.2) | ||
677 | concurrent-ruby (~> 1.0) | ||
678 | rack (> 1, < 3) | ||
679 | sprockets-rails (3.2.1) | ||
680 | actionpack (>= 4.0) | ||
681 | activesupport (>= 4.0) | ||
682 | sprockets (>= 3.0.0) | ||
683 | state_machines (0.5.0) | ||
684 | string-direction (1.2.1) | ||
685 | swd (1.1.2) | ||
686 | activesupport (>= 3) | ||
687 | attr_required (>= 0.0.5) | ||
688 | httpclient (>= 2.4) | ||
689 | sysexits (1.2.0) | ||
690 | systemu (2.6.5) | ||
691 | temple (0.8.0) | ||
692 | term-ansicolor (1.7.0) | ||
693 | tins (~> 1.0) | ||
694 | terminal-table (1.8.0) | ||
695 | unicode-display_width (~> 1.1, >= 1.1.1) | ||
696 | thor (0.19.4) | ||
697 | thread_safe (0.3.6) | ||
698 | tilt (2.0.8) | ||
699 | timecop (0.9.1) | ||
700 | timers (4.2.0) | ||
701 | tins (1.20.2) | ||
702 | to_regexp (0.2.1) | ||
703 | turbo_dev_assets (0.0.2) | ||
704 | twitter (6.2.0) | ||
705 | addressable (~> 2.3) | ||
706 | buftok (~> 0.2.0) | ||
707 | equalizer (~> 0.0.11) | ||
708 | http (~> 3.0) | ||
709 | http-form_data (~> 2.0) | ||
710 | http_parser.rb (~> 0.6.0) | ||
711 | memoizable (~> 0.4.0) | ||
712 | multipart-post (~> 2.0) | ||
713 | naught (~> 1.0) | ||
714 | simple_oauth (~> 0.3.0) | ||
715 | twitter-text (1.14.7) | ||
716 | unf (~> 0.1.0) | ||
717 | typhoeus (1.3.1) | ||
718 | ethon (>= 0.9.0) | ||
719 | tzinfo (1.2.5) | ||
720 | thread_safe (~> 0.1) | ||
721 | uglifier (4.1.19) | ||
722 | execjs (>= 0.3.0, < 3) | ||
723 | unf (0.1.4) | ||
724 | unf_ext | ||
725 | unf_ext (0.0.7.5) | ||
726 | unicode-display_width (1.4.0) | ||
727 | unicorn (5.4.1) | ||
728 | kgio (~> 2.6) | ||
729 | raindrops (~> 0.7) | ||
730 | unicorn-worker-killer (0.4.4) | ||
731 | get_process_mem (~> 0) | ||
732 | unicorn (>= 4, < 6) | ||
733 | uuid (2.3.9) | ||
734 | macaddr (~> 1.0) | ||
735 | valid (1.2.0) | ||
736 | validate_email (0.1.6) | ||
737 | activemodel (>= 3.0) | ||
738 | mail (>= 2.2.5) | ||
739 | validate_url (1.0.2) | ||
740 | activemodel (>= 3.0.0) | ||
741 | addressable | ||
742 | versionist (1.7.0) | ||
743 | activesupport (>= 3) | ||
744 | railties (>= 3) | ||
745 | yard (~> 0.9.11) | ||
746 | warden (1.2.8) | ||
747 | rack (>= 2.0.6) | ||
748 | webfinger (1.1.0) | ||
749 | activesupport | ||
750 | httpclient (>= 2.4) | ||
751 | webmock (3.4.2) | ||
752 | addressable (>= 2.3.6) | ||
753 | crack (>= 0.3.2) | ||
754 | hashdiff | ||
755 | websocket-driver (0.6.5) | ||
756 | websocket-extensions (>= 0.1.0) | ||
757 | websocket-extensions (0.1.3) | ||
758 | will_paginate (3.1.6) | ||
759 | xpath (3.2.0) | ||
760 | nokogiri (~> 1.8) | ||
761 | yard (0.9.16) | ||
762 | |||
763 | PLATFORMS | ||
764 | ruby | ||
765 | |||
766 | DEPENDENCIES | ||
767 | active_model_serializers (= 0.9.7) | ||
768 | activerecord-import (= 0.27.0) | ||
769 | acts-as-taggable-on (= 6.0.0) | ||
770 | acts_as_api (= 1.0.1) | ||
771 | addressable (= 2.5.2) | ||
772 | asset_sync (= 2.5.0) | ||
773 | autoprefixer-rails (= 8.6.5) | ||
774 | bootstrap-sass (= 3.3.7) | ||
775 | bootstrap-switch-rails (= 3.3.4) | ||
776 | capybara (= 3.11.1) | ||
777 | carrierwave (= 1.2.3) | ||
778 | compass-rails (= 3.1.0) | ||
779 | configurate (= 0.3.1) | ||
780 | coveralls (= 0.8.22) | ||
781 | cucumber-api-steps (= 0.14) | ||
782 | cucumber-rails (= 1.6.0) | ||
783 | database_cleaner (= 1.7.0) | ||
784 | devise (= 4.5.0) | ||
785 | devise_lastseenable (= 0.0.6) | ||
786 | diaspora-prosody-config (= 0.0.7) | ||
787 | diaspora_federation-json_schema (= 0.2.5) | ||
788 | diaspora_federation-rails (= 0.2.5) | ||
789 | diaspora_federation-test (= 0.2.5) | ||
790 | entypo-rails (= 3.0.0) | ||
791 | eye (= 0.10.0) | ||
792 | factory_girl_rails (= 4.8.0) | ||
793 | faraday (= 0.15.3) | ||
794 | faraday-cookie_jar (= 0.0.6) | ||
795 | faraday_middleware (= 0.12.2) | ||
796 | fixture_builder (= 0.5.2.rc3) | ||
797 | fog-aws (= 3.3.0) | ||
798 | fuubar (= 2.3.2) | ||
799 | gon (= 6.2.1) | ||
800 | guard (= 2.15.0) | ||
801 | guard-rspec (= 4.7.3) | ||
802 | guard-rubocop (= 1.3.0) | ||
803 | haml_lint (= 0.28.0) | ||
804 | hamlit (= 2.9.1) | ||
805 | handlebars_assets (= 0.23.2) | ||
806 | http_accept_language (= 2.1.1) | ||
807 | i18n-inflector-rails (= 1.0.7) | ||
808 | jasmine (= 3.3.0) | ||
809 | jasmine-jquery-rails (= 2.0.3) | ||
810 | jquery-rails (= 4.3.3) | ||
811 | js-routes (= 1.4.4) | ||
812 | js_image_paths (= 0.1.1) | ||
813 | json (= 2.1.0) | ||
814 | json-schema (= 2.8.1) | ||
815 | json-schema-rspec (= 0.0.4) | ||
816 | leaflet-rails (= 1.3.1) | ||
817 | logging-rails (= 0.6.0) | ||
818 | markdown-it-html5-embed (= 1.0.0) | ||
819 | markerb (= 1.1.0) | ||
820 | mini_magick (= 4.9.2) | ||
821 | minitest | ||
822 | mobile-fu (= 1.4.0) | ||
823 | mysql2 (= 0.5.2) | ||
824 | net-ldap (~> 0.16) | ||
825 | nokogiri (= 1.8.5) | ||
826 | omniauth (= 1.8.1) | ||
827 | omniauth-tumblr (= 1.2) | ||
828 | omniauth-twitter (= 1.4.0) | ||
829 | omniauth-wordpress (= 0.2.2) | ||
830 | open_graph_reader (= 0.6.2) | ||
831 | openid_connect (= 1.1.6) | ||
832 | pg (= 1.1.3) | ||
833 | poltergeist (= 1.18.1) | ||
834 | pronto (= 0.9.5) | ||
835 | pronto-eslint (= 0.9.1) | ||
836 | pronto-haml (= 0.9.0) | ||
837 | pronto-rubocop (= 0.9.1) | ||
838 | pronto-scss (= 0.9.1) | ||
839 | pry | ||
840 | pry-byebug | ||
841 | rack-cors (= 1.0.2) | ||
842 | rack-google-analytics (= 1.2.0) | ||
843 | rack-piwik (= 0.3.0) | ||
844 | rack-rewrite (= 1.5.1) | ||
845 | rack-ssl (= 1.4.1) | ||
846 | rails (= 5.1.6) | ||
847 | rails-assets-autosize (= 4.0.2)! | ||
848 | rails-assets-backbone (= 1.3.3)! | ||
849 | rails-assets-blueimp-gallery (= 2.33.0)! | ||
850 | rails-assets-bootstrap-markdown (= 2.10.0)! | ||
851 | rails-assets-corejs-typeahead (= 1.2.1)! | ||
852 | rails-assets-diaspora_jsxc (= 0.1.5.develop.7)! | ||
853 | rails-assets-fine-uploader (= 5.13.0)! | ||
854 | rails-assets-highlightjs (= 9.12.0)! | ||
855 | rails-assets-jasmine-ajax (= 3.4.0)! | ||
856 | rails-assets-jquery (= 3.3.1)! | ||
857 | rails-assets-jquery-placeholder (= 2.3.1)! | ||
858 | rails-assets-jquery-textchange (= 0.2.3)! | ||
859 | rails-assets-jquery.are-you-sure (= 1.9.0)! | ||
860 | rails-assets-jquery.ui (= 1.11.4)! | ||
861 | rails-assets-markdown-it (= 8.4.2)! | ||
862 | rails-assets-markdown-it--markdown-it-for-inline (= 0.1.1)! | ||
863 | rails-assets-markdown-it-diaspora-mention (= 1.2.0)! | ||
864 | rails-assets-markdown-it-hashtag (= 0.4.0)! | ||
865 | rails-assets-markdown-it-sanitizer (= 0.4.3)! | ||
866 | rails-assets-markdown-it-sub (= 1.0.0)! | ||
867 | rails-assets-markdown-it-sup (= 1.0.0)! | ||
868 | rails-assets-utatti-perfect-scrollbar (= 1.4.0)! | ||
869 | rails-controller-testing (= 1.0.2) | ||
870 | rails-i18n (= 5.1.2) | ||
871 | rails-timeago (= 2.16.0) | ||
872 | rb-fsevent (= 0.10.3) | ||
873 | rb-inotify (= 0.9.10) | ||
874 | redcarpet (= 3.4.0) | ||
875 | redis (= 3.3.5) | ||
876 | responders (= 2.4.0) | ||
877 | rspec-json_expectations (~> 2.1) | ||
878 | rspec-rails (= 3.8.1) | ||
879 | rubocop (= 0.60.0) | ||
880 | ruby-oembed (= 0.12.0) | ||
881 | rubyzip (= 1.2.2) | ||
882 | sass-rails (= 5.0.7) | ||
883 | secure_headers (= 6.0.0) | ||
884 | shoulda-matchers (= 3.1.2) | ||
885 | sidekiq (= 5.2.3) | ||
886 | sidekiq-cron (= 1.0.4) | ||
887 | simple_captcha2 (= 0.4.3) | ||
888 | simplecov (= 0.16.1) | ||
889 | sinon-rails (= 1.15.0) | ||
890 | spring (= 2.0.2) | ||
891 | spring-commands-cucumber (= 1.0.1) | ||
892 | spring-commands-rspec (= 1.0.4) | ||
893 | sprockets-rails (= 3.2.1) | ||
894 | string-direction (= 1.2.1) | ||
895 | timecop (= 0.9.1) | ||
896 | turbo_dev_assets (= 0.0.2) | ||
897 | twitter (= 6.2.0) | ||
898 | twitter-text (= 1.14.7) | ||
899 | typhoeus (= 1.3.1) | ||
900 | uglifier (= 4.1.19) | ||
901 | unicorn (= 5.4.1) | ||
902 | unicorn-worker-killer (= 0.4.4) | ||
903 | uuid (= 2.3.9) | ||
904 | versionist (= 1.7.0) | ||
905 | webmock (= 3.4.2) | ||
906 | will_paginate (= 3.1.6) | ||
907 | |||
908 | BUNDLED WITH | ||
909 | 1.17.1 | ||
diff --git a/virtual/modules/websites/tools/diaspora/default.nix b/virtual/modules/websites/tools/diaspora/default.nix deleted file mode 100644 index ae870b0..0000000 --- a/virtual/modules/websites/tools/diaspora/default.nix +++ /dev/null | |||
@@ -1,113 +0,0 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | ||
2 | let | ||
3 | diaspora = pkgs.callPackage ./diaspora.nix { | ||
4 | inherit (mylibs) fetchedGithub; | ||
5 | env = myconfig.env.tools.diaspora; | ||
6 | }; | ||
7 | |||
8 | cfg = config.services.myWebsites.tools.diaspora; | ||
9 | in { | ||
10 | options.services.myWebsites.tools.diaspora = { | ||
11 | enable = lib.mkEnableOption "enable diaspora's website"; | ||
12 | }; | ||
13 | |||
14 | config = lib.mkIf cfg.enable { | ||
15 | ids.uids.diaspora = 398; | ||
16 | ids.gids.diaspora = 398; | ||
17 | |||
18 | users.users.diaspora = { | ||
19 | name = "diaspora"; | ||
20 | uid = config.ids.uids.diaspora; | ||
21 | group = "diaspora"; | ||
22 | description = "Diaspora user"; | ||
23 | home = diaspora.railsRoot; | ||
24 | useDefaultShell = true; | ||
25 | packages = [ diaspora.gems pkgs.nodejs diaspora.gems.ruby ]; | ||
26 | }; | ||
27 | |||
28 | users.groups.diaspora.gid = config.ids.gids.diaspora; | ||
29 | |||
30 | systemd.services.diaspora = { | ||
31 | description = "Diaspora"; | ||
32 | wantedBy = [ "multi-user.target" ]; | ||
33 | after = [ "network.target" "redis.service" "postgresql.service" ]; | ||
34 | wants = [ "redis.service" "postgresql.service" ]; | ||
35 | |||
36 | environment.RAILS_ENV = "production"; | ||
37 | environment.BUNDLE_PATH = "${diaspora.gems}/${diaspora.gems.ruby.gemPath}"; | ||
38 | environment.BUNDLE_GEMFILE = "${diaspora.gems.confFiles}/Gemfile"; | ||
39 | environment.EYE_SOCK = "${diaspora.socketsDir}/eye.sock"; | ||
40 | environment.EYE_PID = "${diaspora.socketsDir}/eye.pid"; | ||
41 | |||
42 | path = [ diaspora.gems pkgs.nodejs diaspora.gems.ruby pkgs.curl pkgs.which pkgs.gawk ]; | ||
43 | |||
44 | preStart = '' | ||
45 | ./bin/bundle exec rails db:migrate | ||
46 | ''; | ||
47 | |||
48 | script = '' | ||
49 | exec ${diaspora.railsRoot}/script/server | ||
50 | ''; | ||
51 | |||
52 | serviceConfig = { | ||
53 | User = "diaspora"; | ||
54 | PrivateTmp = true; | ||
55 | Restart = "always"; | ||
56 | Type = "simple"; | ||
57 | WorkingDirectory = diaspora.railsRoot; | ||
58 | StandardInput = "null"; | ||
59 | KillMode = "control-group"; | ||
60 | }; | ||
61 | |||
62 | unitConfig.RequiresMountsFor = diaspora.varDir; | ||
63 | }; | ||
64 | |||
65 | system.activationScripts.diaspora = { | ||
66 | deps = [ "users" ]; | ||
67 | text = '' | ||
68 | install -m 0755 -o diaspora -g diaspora -d ${diaspora.socketsDir} | ||
69 | install -m 0755 -o diaspora -g diaspora -d ${diaspora.varDir} \ | ||
70 | ${diaspora.varDir}/uploads ${diaspora.varDir}/tmp \ | ||
71 | ${diaspora.varDir}/log | ||
72 | install -m 0700 -o diaspora -g diaspora -d ${diaspora.varDir}/tmp/pids | ||
73 | if [ ! -f ${diaspora.varDir}/schedule.yml ]; then | ||
74 | echo "{}" | $wrapperDir/sudo -u diaspora tee ${diaspora.varDir}/schedule.yml | ||
75 | fi | ||
76 | ''; | ||
77 | }; | ||
78 | |||
79 | services.myWebsites.tools.modules = [ | ||
80 | "headers" "proxy" "proxy_http" "proxy_balancer" | ||
81 | "lbmethod_byrequests" "lbmethod_bytraffic" "lbmethod_bybusyness" "lbmethod_heartbeat" | ||
82 | ]; | ||
83 | security.acme.certs."eldiron".extraDomains."diaspora.immae.eu" = null; | ||
84 | services.myWebsites.tools.vhostConfs.diaspora = { | ||
85 | certName = "eldiron"; | ||
86 | hosts = [ "diaspora.immae.eu" ]; | ||
87 | root = "${diaspora.railsRoot}/public/"; | ||
88 | extraConfig = [ '' | ||
89 | RewriteEngine On | ||
90 | RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f | ||
91 | RewriteRule ^/(.*)$ balancer://thinservers%{REQUEST_URI} [P,QSA,L] | ||
92 | |||
93 | <Proxy balancer://thinservers> | ||
94 | BalancerMember unix://${diaspora.railsSocket}|http:// | ||
95 | </Proxy> | ||
96 | |||
97 | ProxyRequests Off | ||
98 | ProxyVia On | ||
99 | ProxyPreserveHost On | ||
100 | RequestHeader set X_FORWARDED_PROTO https | ||
101 | |||
102 | <Proxy *> | ||
103 | Require all granted | ||
104 | </Proxy> | ||
105 | |||
106 | <Directory ${diaspora.railsRoot}/public> | ||
107 | Require all granted | ||
108 | Options -MultiViews | ||
109 | </Directory> | ||
110 | '' ]; | ||
111 | }; | ||
112 | }; | ||
113 | } | ||
diff --git a/virtual/modules/websites/tools/diaspora/diaspora.json b/virtual/modules/websites/tools/diaspora/diaspora.json deleted file mode 100644 index d5891c1..0000000 --- a/virtual/modules/websites/tools/diaspora/diaspora.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "v0.7.8.0", | ||
3 | "meta": { | ||
4 | "name": "diaspora", | ||
5 | "url": "https://github.com/diaspora/diaspora", | ||
6 | "branch": "refs/tags/v0.7.8.0" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "diaspora", | ||
10 | "repo": "diaspora", | ||
11 | "rev": "e1b66f3c7cb72bd2cc9cf51475b31b005a547556", | ||
12 | "sha256": "1cgyb878zhdnkh7qa9qj8lwaf0jlb1prg1qnqasf7j5kgh9wn0nn", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/virtual/modules/websites/tools/diaspora/diaspora.nix b/virtual/modules/websites/tools/diaspora/diaspora.nix deleted file mode 100644 index 798ebe6..0000000 --- a/virtual/modules/websites/tools/diaspora/diaspora.nix +++ /dev/null | |||
@@ -1,154 +0,0 @@ | |||
1 | { env, fetchedGithub, stdenv, defaultGemConfig, writeText, bundlerEnv, ruby_2_4, pkgs, cacert }: | ||
2 | let | ||
3 | gems = bundlerEnv { | ||
4 | name = "diaspora-env"; | ||
5 | ruby = ruby_2_4; | ||
6 | gemdir = ./.; | ||
7 | gemConfig = defaultGemConfig // { | ||
8 | kostya-sigar = attrs: { | ||
9 | buildInputs = with pkgs; [ pkgs.perl ]; | ||
10 | }; | ||
11 | }; | ||
12 | }; | ||
13 | varDir = "/var/lib/diaspora_immae"; | ||
14 | socketsDir = "/run/diaspora"; | ||
15 | diaspora = stdenv.mkDerivation (fetchedGithub ./diaspora.json // rec { | ||
16 | buildPhase = '' | ||
17 | patch -p1 < ${./ldap.patch} | ||
18 | ''; | ||
19 | installPhase = '' | ||
20 | cp -a . $out | ||
21 | ''; | ||
22 | }); | ||
23 | secret_token = writeText "secret_token.rb" '' | ||
24 | Diaspora::Application.config.secret_key_base = '${env.secret_token}' | ||
25 | ''; | ||
26 | config = writeText "diaspora.yml" '' | ||
27 | configuration: | ||
28 | environment: | ||
29 | url: "https://diaspora.immae.eu/" | ||
30 | certificate_authorities: '${cacert}/etc/ssl/certs/ca-bundle.crt' | ||
31 | redis: '${env.redis_url}' | ||
32 | sidekiq: | ||
33 | s3: | ||
34 | assets: | ||
35 | logging: | ||
36 | logrotate: | ||
37 | debug: | ||
38 | server: | ||
39 | listen: '${socketsDir}/diaspora.sock' | ||
40 | rails_environment: 'production' | ||
41 | chat: | ||
42 | server: | ||
43 | bosh: | ||
44 | log: | ||
45 | map: | ||
46 | mapbox: | ||
47 | privacy: | ||
48 | piwik: | ||
49 | statistics: | ||
50 | camo: | ||
51 | settings: | ||
52 | enable_registrations: false | ||
53 | welcome_message: | ||
54 | invitations: | ||
55 | open: false | ||
56 | paypal_donations: | ||
57 | community_spotlight: | ||
58 | captcha: | ||
59 | enable: false | ||
60 | terms: | ||
61 | maintenance: | ||
62 | remove_old_users: | ||
63 | default_metas: | ||
64 | csp: | ||
65 | services: | ||
66 | twitter: | ||
67 | tumblr: | ||
68 | wordpress: | ||
69 | mail: | ||
70 | enable: true | ||
71 | sender_address: 'diaspora@immae.eu' | ||
72 | method: 'smtp' | ||
73 | smtp: | ||
74 | host: 'mail.immae.eu' | ||
75 | sendmail: | ||
76 | admins: | ||
77 | account: "ismael" | ||
78 | podmin_email: 'diaspora@immae.eu' | ||
79 | relay: | ||
80 | outbound: | ||
81 | inbound: | ||
82 | ldap: | ||
83 | enable: true | ||
84 | host: ldap.immae.eu | ||
85 | port: 636 | ||
86 | only_ldap: true | ||
87 | mail_attribute: mail | ||
88 | skip_email_confirmation: true | ||
89 | use_bind_dn: true | ||
90 | bind_dn: "cn=diaspora,ou=services,dc=immae,dc=eu" | ||
91 | bind_pw: "${env.ldap.password}" | ||
92 | search_base: "dc=immae,dc=eu" | ||
93 | search_filter: "(&(memberOf=cn=users,cn=diaspora,ou=services,dc=immae,dc=eu)(uid=%{username}))" | ||
94 | production: | ||
95 | environment: | ||
96 | development: | ||
97 | environment: | ||
98 | ''; | ||
99 | database_config = writeText "database.yml" '' | ||
100 | postgresql: &postgresql | ||
101 | adapter: postgresql | ||
102 | host: db-1.immae.eu | ||
103 | port: 5432 | ||
104 | username: "diaspora" | ||
105 | password: "${env.postgresql.password}" | ||
106 | encoding: unicode | ||
107 | common: &common | ||
108 | <<: *postgresql | ||
109 | combined: &combined | ||
110 | <<: *common | ||
111 | development: | ||
112 | <<: *combined | ||
113 | database: diaspora_development | ||
114 | production: | ||
115 | <<: *combined | ||
116 | database: diaspora | ||
117 | test: | ||
118 | <<: *combined | ||
119 | database: "diaspora_test" | ||
120 | integration1: | ||
121 | <<: *combined | ||
122 | database: diaspora_integration1 | ||
123 | integration2: | ||
124 | <<: *combined | ||
125 | database: diaspora_integration2 | ||
126 | ''; | ||
127 | |||
128 | railsRoot = stdenv.mkDerivation { | ||
129 | name = "diaspora_immae"; | ||
130 | inherit diaspora; | ||
131 | builder = writeText "build_diaspora_immae" '' | ||
132 | source $stdenv/setup | ||
133 | cp -a $diaspora $out | ||
134 | cd $out | ||
135 | chmod -R u+rwX . | ||
136 | tar -czf public/source.tar.gz ./{app,db,lib,script,Gemfile,Gemfile.lock,Rakefile,config.ru} | ||
137 | ln -s ${database_config} config/database.yml | ||
138 | ln -s ${config} config/diaspora.yml | ||
139 | ln -s ${secret_token} config/initializers/secret_token.rb | ||
140 | ln -sf ../../../../../../${varDir}/schedule.yml config/schedule.yml | ||
141 | ln -sf ../../../../../../${varDir}/oidc_key.pem config/oidc_key.pem | ||
142 | ln -sf ../../../../../../${varDir}/uploads public/uploads | ||
143 | RAILS_ENV=production ${gems}/bin/rake assets:precompile | ||
144 | rm -rf tmp log | ||
145 | ln -sf ../../../../../${varDir}/tmp tmp | ||
146 | ln -sf ../../../../../${varDir}/log log | ||
147 | ''; | ||
148 | propagatedBuildInputs = [ gems pkgs.nodejs pkgs.which pkgs.git ]; | ||
149 | }; | ||
150 | in | ||
151 | { | ||
152 | inherit railsRoot varDir socketsDir gems; | ||
153 | railsSocket = "${socketsDir}/diaspora.sock"; | ||
154 | } | ||
diff --git a/virtual/modules/websites/tools/diaspora/gemset.nix b/virtual/modules/websites/tools/diaspora/gemset.nix deleted file mode 100644 index 66482f0..0000000 --- a/virtual/modules/websites/tools/diaspora/gemset.nix +++ /dev/null | |||
@@ -1,3045 +0,0 @@ | |||
1 | { | ||
2 | actioncable = { | ||
3 | dependencies = ["actionpack" "nio4r" "websocket-driver"]; | ||
4 | platforms = []; | ||
5 | source = { | ||
6 | remotes = ["https://rubygems.org"]; | ||
7 | sha256 = "07r6hnh05db84yr9419mbhyzp20hr8yy9m50jxc2w91ghm2qnrrf"; | ||
8 | type = "gem"; | ||
9 | }; | ||
10 | version = "5.1.6"; | ||
11 | }; | ||
12 | actionmailer = { | ||
13 | dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; | ||
14 | platforms = []; | ||
15 | source = { | ||
16 | remotes = ["https://rubygems.org"]; | ||
17 | sha256 = "1s9xcqfx97q4yva2zc4qzb567mwzhry6v3x3zc318aqhcrz31g7c"; | ||
18 | type = "gem"; | ||
19 | }; | ||
20 | version = "5.1.6"; | ||
21 | }; | ||
22 | actionpack = { | ||
23 | dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; | ||
24 | platforms = []; | ||
25 | source = { | ||
26 | remotes = ["https://rubygems.org"]; | ||
27 | sha256 = "0vz2ms80nqw21c304g3w2vkbs80gadzhi3mcwwym7smxccr37kcd"; | ||
28 | type = "gem"; | ||
29 | }; | ||
30 | version = "5.1.6"; | ||
31 | }; | ||
32 | actionview = { | ||
33 | dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; | ||
34 | platforms = []; | ||
35 | source = { | ||
36 | remotes = ["https://rubygems.org"]; | ||
37 | sha256 = "1kfxlz9v7b47pdyy1whb4zzhvaj8h4sp1ajhbih2ax1hkldyg081"; | ||
38 | type = "gem"; | ||
39 | }; | ||
40 | version = "5.1.6"; | ||
41 | }; | ||
42 | active_model_serializers = { | ||
43 | dependencies = ["activemodel" "concurrent-ruby"]; | ||
44 | platforms = []; | ||
45 | source = { | ||
46 | remotes = ["https://rubygems.org"]; | ||
47 | sha256 = "19zr5pp84q4ya7mfrcanakjv86lv4wfmbcbbd2xnd4bkyprw5w7z"; | ||
48 | type = "gem"; | ||
49 | }; | ||
50 | version = "0.9.7"; | ||
51 | }; | ||
52 | activejob = { | ||
53 | dependencies = ["activesupport" "globalid"]; | ||
54 | platforms = []; | ||
55 | source = { | ||
56 | remotes = ["https://rubygems.org"]; | ||
57 | sha256 = "02lssq8ps98mfg20dyhcpd16f9c0v4zzy7gfbb6ksbs06wrrd4d2"; | ||
58 | type = "gem"; | ||
59 | }; | ||
60 | version = "5.1.6"; | ||
61 | }; | ||
62 | activemodel = { | ||
63 | dependencies = ["activesupport"]; | ||
64 | platforms = []; | ||
65 | source = { | ||
66 | remotes = ["https://rubygems.org"]; | ||
67 | sha256 = "10f8cpv4sl1w3m1qj8hl6sd2f1n7x91h45qaf57qr894ll22jgby"; | ||
68 | type = "gem"; | ||
69 | }; | ||
70 | version = "5.1.6"; | ||
71 | }; | ||
72 | activerecord = { | ||
73 | dependencies = ["activemodel" "activesupport" "arel"]; | ||
74 | platforms = []; | ||
75 | source = { | ||
76 | remotes = ["https://rubygems.org"]; | ||
77 | sha256 = "1iqkvxzx5bfp8rmlccww0cj1xr6iaxmn3hhbj1dv5j9c8mnm980x"; | ||
78 | type = "gem"; | ||
79 | }; | ||
80 | version = "5.1.6"; | ||
81 | }; | ||
82 | activerecord-import = { | ||
83 | dependencies = ["activerecord"]; | ||
84 | platforms = []; | ||
85 | source = { | ||
86 | remotes = ["https://rubygems.org"]; | ||
87 | sha256 = "1bxpbrcwc9k6khizwdikvfbhw9pcvs4sp3h4grpcww5k7bgpliz6"; | ||
88 | type = "gem"; | ||
89 | }; | ||
90 | version = "0.27.0"; | ||
91 | }; | ||
92 | activesupport = { | ||
93 | dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; | ||
94 | platforms = []; | ||
95 | source = { | ||
96 | remotes = ["https://rubygems.org"]; | ||
97 | sha256 = "08dm0mgmj31ggk7ib66wfagj4bgbr2jfl500bqb22x0szslz5lll"; | ||
98 | type = "gem"; | ||
99 | }; | ||
100 | version = "5.1.6"; | ||
101 | }; | ||
102 | acts-as-taggable-on = { | ||
103 | dependencies = ["activerecord"]; | ||
104 | platforms = []; | ||
105 | source = { | ||
106 | remotes = ["https://rubygems.org"]; | ||
107 | sha256 = "0hl52pjgfzy3acdwnbxfqy08m808vlv9dmsyp03d5x7x0y499kvl"; | ||
108 | type = "gem"; | ||
109 | }; | ||
110 | version = "6.0.0"; | ||
111 | }; | ||
112 | acts_as_api = { | ||
113 | dependencies = ["activemodel" "activesupport" "rack"]; | ||
114 | platforms = []; | ||
115 | source = { | ||
116 | remotes = ["https://rubygems.org"]; | ||
117 | sha256 = "06miad13nnfr2gslc203ahsbvj499s9lngxxvfizwp964vglygsc"; | ||
118 | type = "gem"; | ||
119 | }; | ||
120 | version = "1.0.1"; | ||
121 | }; | ||
122 | addressable = { | ||
123 | dependencies = ["public_suffix"]; | ||
124 | platforms = []; | ||
125 | source = { | ||
126 | remotes = ["https://rubygems.org"]; | ||
127 | sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk"; | ||
128 | type = "gem"; | ||
129 | }; | ||
130 | version = "2.5.2"; | ||
131 | }; | ||
132 | aes_key_wrap = { | ||
133 | platforms = []; | ||
134 | source = { | ||
135 | remotes = ["https://rubygems.org"]; | ||
136 | sha256 = "0li86k0g812jkzrppb2fvqngvzp09nygywjpn81nx90s01wxqw07"; | ||
137 | type = "gem"; | ||
138 | }; | ||
139 | version = "1.0.1"; | ||
140 | }; | ||
141 | arel = { | ||
142 | platforms = []; | ||
143 | source = { | ||
144 | remotes = ["https://rubygems.org"]; | ||
145 | sha256 = "0nw0qbc6ph625p6n3maqq9f527vz3nbl0hk72fbyka8jzsmplxzl"; | ||
146 | type = "gem"; | ||
147 | }; | ||
148 | version = "8.0.0"; | ||
149 | }; | ||
150 | asset_sync = { | ||
151 | dependencies = ["activemodel" "fog-core" "mime-types" "unf"]; | ||
152 | platforms = []; | ||
153 | source = { | ||
154 | remotes = ["https://rubygems.org"]; | ||
155 | sha256 = "0mfz51g8rzk5h5fpdhfkycnm7y4dpfhx46wm7fygna7nd4w9ixdx"; | ||
156 | type = "gem"; | ||
157 | }; | ||
158 | version = "2.5.0"; | ||
159 | }; | ||
160 | ast = { | ||
161 | platforms = []; | ||
162 | source = { | ||
163 | remotes = ["https://rubygems.org"]; | ||
164 | sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7"; | ||
165 | type = "gem"; | ||
166 | }; | ||
167 | version = "2.4.0"; | ||
168 | }; | ||
169 | attr_required = { | ||
170 | platforms = []; | ||
171 | source = { | ||
172 | remotes = ["https://rubygems.org"]; | ||
173 | sha256 = "1g22axmi2rhhy7w8c3x6gppsawxqavbrnxpnmphh22fk7cwi0kh2"; | ||
174 | type = "gem"; | ||
175 | }; | ||
176 | version = "1.0.1"; | ||
177 | }; | ||
178 | autoprefixer-rails = { | ||
179 | dependencies = ["execjs"]; | ||
180 | platforms = []; | ||
181 | source = { | ||
182 | remotes = ["https://rubygems.org"]; | ||
183 | sha256 = "08irrl1mz6skagr1lygq79l34lc0dghgva0v9q7nng76dpiglgj3"; | ||
184 | type = "gem"; | ||
185 | }; | ||
186 | version = "8.6.5"; | ||
187 | }; | ||
188 | backports = { | ||
189 | platforms = []; | ||
190 | source = { | ||
191 | remotes = ["https://rubygems.org"]; | ||
192 | sha256 = "1hshjxww2h7s0dk57njrygq4zpp0nlqrjfya7zwm27iq3rhc3y8g"; | ||
193 | type = "gem"; | ||
194 | }; | ||
195 | version = "3.11.4"; | ||
196 | }; | ||
197 | bcrypt = { | ||
198 | platforms = []; | ||
199 | source = { | ||
200 | remotes = ["https://rubygems.org"]; | ||
201 | sha256 = "0ysblqxkclmnhrd0kmb5mr8p38mbar633gdsb14b7dhkhgawgzfy"; | ||
202 | type = "gem"; | ||
203 | }; | ||
204 | version = "3.1.12"; | ||
205 | }; | ||
206 | bindata = { | ||
207 | platforms = []; | ||
208 | source = { | ||
209 | remotes = ["https://rubygems.org"]; | ||
210 | sha256 = "0kz42nvxnk1j9cj0i8lcnhprcgdqsqska92g6l19ziadydfk2gqy"; | ||
211 | type = "gem"; | ||
212 | }; | ||
213 | version = "2.4.4"; | ||
214 | }; | ||
215 | bootstrap-sass = { | ||
216 | dependencies = ["autoprefixer-rails" "sass"]; | ||
217 | platforms = []; | ||
218 | source = { | ||
219 | remotes = ["https://rubygems.org"]; | ||
220 | sha256 = "1bc9bf6caddqn1rv15b5x56yczmbjzaxzl9lk5zbwrg1bfph4bx9"; | ||
221 | type = "gem"; | ||
222 | }; | ||
223 | version = "3.3.7"; | ||
224 | }; | ||
225 | bootstrap-switch-rails = { | ||
226 | platforms = []; | ||
227 | source = { | ||
228 | remotes = ["https://rubygems.org"]; | ||
229 | sha256 = "0qdk7xx0zlv4l49s2mwg4jd8a5ms3cy43n9l3217bknagcjyjfjx"; | ||
230 | type = "gem"; | ||
231 | }; | ||
232 | version = "3.3.4"; | ||
233 | }; | ||
234 | buftok = { | ||
235 | platforms = []; | ||
236 | source = { | ||
237 | remotes = ["https://rubygems.org"]; | ||
238 | sha256 = "1rzsy1vy50v55x9z0nivf23y0r9jkmq6i130xa75pq9i8qrn1mxs"; | ||
239 | type = "gem"; | ||
240 | }; | ||
241 | version = "0.2.0"; | ||
242 | }; | ||
243 | builder = { | ||
244 | platforms = []; | ||
245 | source = { | ||
246 | remotes = ["https://rubygems.org"]; | ||
247 | sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1"; | ||
248 | type = "gem"; | ||
249 | }; | ||
250 | version = "3.2.3"; | ||
251 | }; | ||
252 | byebug = { | ||
253 | platforms = []; | ||
254 | source = { | ||
255 | remotes = ["https://rubygems.org"]; | ||
256 | sha256 = "10znc1hjv8n686hhpl08f3m2g6h08a4b83nxblqwy2kqamkxcqf8"; | ||
257 | type = "gem"; | ||
258 | }; | ||
259 | version = "10.0.2"; | ||
260 | }; | ||
261 | capybara = { | ||
262 | dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; | ||
263 | platforms = []; | ||
264 | source = { | ||
265 | remotes = ["https://rubygems.org"]; | ||
266 | sha256 = "10zj8syak12xd1kqywr35bkr2hkdjq18kij54x1ys8c26h6j4d0m"; | ||
267 | type = "gem"; | ||
268 | }; | ||
269 | version = "3.11.1"; | ||
270 | }; | ||
271 | carrierwave = { | ||
272 | dependencies = ["activemodel" "activesupport" "mime-types"]; | ||
273 | platforms = []; | ||
274 | source = { | ||
275 | remotes = ["https://rubygems.org"]; | ||
276 | sha256 = "1k9kla5ncygm97vn33lsrs7ch5zy4qqhhvc8m3khm986yaqh75qs"; | ||
277 | type = "gem"; | ||
278 | }; | ||
279 | version = "1.2.3"; | ||
280 | }; | ||
281 | celluloid = { | ||
282 | dependencies = ["celluloid-essentials" "celluloid-extras" "celluloid-fsm" "celluloid-pool" "celluloid-supervision" "timers"]; | ||
283 | platforms = []; | ||
284 | source = { | ||
285 | remotes = ["https://rubygems.org"]; | ||
286 | sha256 = "10i29q7kkdlrhf5rg43xygdfm795a02vp28k2ca3nklmqna57qmg"; | ||
287 | type = "gem"; | ||
288 | }; | ||
289 | version = "0.17.3"; | ||
290 | }; | ||
291 | celluloid-essentials = { | ||
292 | dependencies = ["timers"]; | ||
293 | platforms = []; | ||
294 | source = { | ||
295 | remotes = ["https://rubygems.org"]; | ||
296 | sha256 = "1l4p3p73wjdj07ww124q0db5k1cyzggbndzmcb12xbsf2dnj121k"; | ||
297 | type = "gem"; | ||
298 | }; | ||
299 | version = "0.20.5"; | ||
300 | }; | ||
301 | celluloid-extras = { | ||
302 | dependencies = ["timers"]; | ||
303 | platforms = []; | ||
304 | source = { | ||
305 | remotes = ["https://rubygems.org"]; | ||
306 | sha256 = "078agvnsfp78jv343kn5g1cz50147dk0q46blwh5r8lk6whag7ng"; | ||
307 | type = "gem"; | ||
308 | }; | ||
309 | version = "0.20.5"; | ||
310 | }; | ||
311 | celluloid-fsm = { | ||
312 | dependencies = ["timers"]; | ||
313 | platforms = []; | ||
314 | source = { | ||
315 | remotes = ["https://rubygems.org"]; | ||
316 | sha256 = "1pmpi6h4abpkczp46rd6llk1mldpx19i9hll8mkxp3kxin9slivc"; | ||
317 | type = "gem"; | ||
318 | }; | ||
319 | version = "0.20.5"; | ||
320 | }; | ||
321 | celluloid-io = { | ||
322 | dependencies = ["celluloid" "nio4r" "timers"]; | ||
323 | platforms = []; | ||
324 | source = { | ||
325 | remotes = ["https://rubygems.org"]; | ||
326 | sha256 = "1frcpja7h9vcxsw7w7ff550x54rfx514fpv2n6kawbk1j4zrm314"; | ||
327 | type = "gem"; | ||
328 | }; | ||
329 | version = "0.17.3"; | ||
330 | }; | ||
331 | celluloid-pool = { | ||
332 | dependencies = ["timers"]; | ||
333 | platforms = []; | ||
334 | source = { | ||
335 | remotes = ["https://rubygems.org"]; | ||
336 | sha256 = "1bfr54ijl95bnhqlabhf5p4ff9n0y2sslc91f49jjn33n2zm755c"; | ||
337 | type = "gem"; | ||
338 | }; | ||
339 | version = "0.20.5"; | ||
340 | }; | ||
341 | celluloid-supervision = { | ||
342 | dependencies = ["timers"]; | ||
343 | platforms = []; | ||
344 | source = { | ||
345 | remotes = ["https://rubygems.org"]; | ||
346 | sha256 = "1b41gg1rsmms0m5mshy6h66y5rydl3nv6x9wf050ixfa1s2c8vzw"; | ||
347 | type = "gem"; | ||
348 | }; | ||
349 | version = "0.20.6"; | ||
350 | }; | ||
351 | chunky_png = { | ||
352 | platforms = []; | ||
353 | source = { | ||
354 | remotes = ["https://rubygems.org"]; | ||
355 | sha256 = "05g2xli9wbjylkmblln3bhvjalziwb92q452q8ibjagmb853424w"; | ||
356 | type = "gem"; | ||
357 | }; | ||
358 | version = "1.3.10"; | ||
359 | }; | ||
360 | cliver = { | ||
361 | platforms = []; | ||
362 | source = { | ||
363 | remotes = ["https://rubygems.org"]; | ||
364 | sha256 = "096f4rj7virwvqxhkavy0v55rax10r4jqf8cymbvn4n631948xc7"; | ||
365 | type = "gem"; | ||
366 | }; | ||
367 | version = "0.3.2"; | ||
368 | }; | ||
369 | coderay = { | ||
370 | platforms = []; | ||
371 | source = { | ||
372 | remotes = ["https://rubygems.org"]; | ||
373 | sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y"; | ||
374 | type = "gem"; | ||
375 | }; | ||
376 | version = "1.1.2"; | ||
377 | }; | ||
378 | compass = { | ||
379 | dependencies = ["chunky_png" "compass-core" "compass-import-once" "rb-fsevent" "rb-inotify" "sass"]; | ||
380 | platforms = []; | ||
381 | source = { | ||
382 | remotes = ["https://rubygems.org"]; | ||
383 | sha256 = "0lfi83w8z75czr0pf0rmj9hda22082h3cmvczl8r1ma9agf88y2c"; | ||
384 | type = "gem"; | ||
385 | }; | ||
386 | version = "1.0.3"; | ||
387 | }; | ||
388 | compass-core = { | ||
389 | dependencies = ["multi_json" "sass"]; | ||
390 | platforms = []; | ||
391 | source = { | ||
392 | remotes = ["https://rubygems.org"]; | ||
393 | sha256 = "0yaspqwdmzwdcqviclbs3blq7an16pysrfzylz8q1gxmmd6bpj3a"; | ||
394 | type = "gem"; | ||
395 | }; | ||
396 | version = "1.0.3"; | ||
397 | }; | ||
398 | compass-import-once = { | ||
399 | dependencies = ["sass"]; | ||
400 | platforms = []; | ||
401 | source = { | ||
402 | remotes = ["https://rubygems.org"]; | ||
403 | sha256 = "0bn7gwbfz7jvvdd0qdfqlx67fcb83gyvxqc7dr9fhcnks3z8z5rq"; | ||
404 | type = "gem"; | ||
405 | }; | ||
406 | version = "1.0.5"; | ||
407 | }; | ||
408 | compass-rails = { | ||
409 | dependencies = ["compass" "sass-rails" "sprockets"]; | ||
410 | platforms = []; | ||
411 | source = { | ||
412 | remotes = ["https://rubygems.org"]; | ||
413 | sha256 = "02ydlbl1qb80myjv5xrpwzhmmj6qd80jf5izvpqhq2bikv84j9wr"; | ||
414 | type = "gem"; | ||
415 | }; | ||
416 | version = "3.1.0"; | ||
417 | }; | ||
418 | concurrent-ruby = { | ||
419 | platforms = []; | ||
420 | source = { | ||
421 | remotes = ["https://rubygems.org"]; | ||
422 | sha256 = "18q9skp5pfq4jwbxzmw8q2rn4cpw6mf4561i2hsjcl1nxdag2jvb"; | ||
423 | type = "gem"; | ||
424 | }; | ||
425 | version = "1.1.3"; | ||
426 | }; | ||
427 | configurate = { | ||
428 | platforms = []; | ||
429 | source = { | ||
430 | remotes = ["https://rubygems.org"]; | ||
431 | sha256 = "1m6cppb4jf7liwc3f5dvgn2v2nhp2jq8ixb9papaqz24f4s8dnd1"; | ||
432 | type = "gem"; | ||
433 | }; | ||
434 | version = "0.3.1"; | ||
435 | }; | ||
436 | connection_pool = { | ||
437 | platforms = []; | ||
438 | source = { | ||
439 | remotes = ["https://rubygems.org"]; | ||
440 | sha256 = "0lflx29mlznf1hn0nihkgllzbj8xp5qasn8j7h838465pi399k68"; | ||
441 | type = "gem"; | ||
442 | }; | ||
443 | version = "2.2.2"; | ||
444 | }; | ||
445 | coveralls = { | ||
446 | dependencies = ["json" "simplecov" "term-ansicolor" "thor" "tins"]; | ||
447 | platforms = []; | ||
448 | source = { | ||
449 | remotes = ["https://rubygems.org"]; | ||
450 | sha256 = "022kc16np6w4mv17hq3m9hhw9l8hjl78ld3fzqqx6337vwvwvwcg"; | ||
451 | type = "gem"; | ||
452 | }; | ||
453 | version = "0.8.22"; | ||
454 | }; | ||
455 | crack = { | ||
456 | dependencies = ["safe_yaml"]; | ||
457 | platforms = []; | ||
458 | source = { | ||
459 | remotes = ["https://rubygems.org"]; | ||
460 | sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"; | ||
461 | type = "gem"; | ||
462 | }; | ||
463 | version = "0.4.3"; | ||
464 | }; | ||
465 | crass = { | ||
466 | platforms = []; | ||
467 | source = { | ||
468 | remotes = ["https://rubygems.org"]; | ||
469 | sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi"; | ||
470 | type = "gem"; | ||
471 | }; | ||
472 | version = "1.0.4"; | ||
473 | }; | ||
474 | cucumber = { | ||
475 | dependencies = ["builder" "cucumber-core" "cucumber-expressions" "cucumber-wire" "diff-lcs" "gherkin" "multi_json" "multi_test"]; | ||
476 | platforms = []; | ||
477 | source = { | ||
478 | remotes = ["https://rubygems.org"]; | ||
479 | sha256 = "1s2brssrpal8hyhcgg974x3xyhpmvpwps5ypd9p8w2lg01l1pp3j"; | ||
480 | type = "gem"; | ||
481 | }; | ||
482 | version = "3.1.2"; | ||
483 | }; | ||
484 | cucumber-api-steps = { | ||
485 | dependencies = ["cucumber" "jsonpath"]; | ||
486 | platforms = []; | ||
487 | source = { | ||
488 | remotes = ["https://rubygems.org"]; | ||
489 | sha256 = "0fij6bgzshda68jp7kac0hs5n6xsmv49g8ynqhy6s3znc9d4qjbw"; | ||
490 | type = "gem"; | ||
491 | }; | ||
492 | version = "0.14.0"; | ||
493 | }; | ||
494 | cucumber-core = { | ||
495 | dependencies = ["backports" "cucumber-tag_expressions" "gherkin"]; | ||
496 | platforms = []; | ||
497 | source = { | ||
498 | remotes = ["https://rubygems.org"]; | ||
499 | sha256 = "1iavlh8hqj9lwljbpkw06259gdicbr1bdb6pbj5yy3n8szgr8k3c"; | ||
500 | type = "gem"; | ||
501 | }; | ||
502 | version = "3.2.1"; | ||
503 | }; | ||
504 | cucumber-expressions = { | ||
505 | platforms = []; | ||
506 | source = { | ||
507 | remotes = ["https://rubygems.org"]; | ||
508 | sha256 = "0zwmv6hznyz9vk81f5dhwcr9jhxx2vmbk8yyazayvllvhy0fkpdw"; | ||
509 | type = "gem"; | ||
510 | }; | ||
511 | version = "6.0.1"; | ||
512 | }; | ||
513 | cucumber-rails = { | ||
514 | dependencies = ["capybara" "cucumber" "mime-types" "nokogiri" "railties"]; | ||
515 | platforms = []; | ||
516 | source = { | ||
517 | remotes = ["https://rubygems.org"]; | ||
518 | sha256 = "0pmlza6r2601k1i7v3z8gj4apdcq6qa830bzwkj1pnfjzn4z12n7"; | ||
519 | type = "gem"; | ||
520 | }; | ||
521 | version = "1.6.0"; | ||
522 | }; | ||
523 | cucumber-tag_expressions = { | ||
524 | platforms = []; | ||
525 | source = { | ||
526 | remotes = ["https://rubygems.org"]; | ||
527 | sha256 = "0cvmbljybws0qzjs1l67fvr9gqr005l8jk1ni5gcsis9pfmqh3vc"; | ||
528 | type = "gem"; | ||
529 | }; | ||
530 | version = "1.1.1"; | ||
531 | }; | ||
532 | cucumber-wire = { | ||
533 | platforms = []; | ||
534 | source = { | ||
535 | remotes = ["https://rubygems.org"]; | ||
536 | sha256 = "09ymvqb0sbw2if1nxg8rcj33sf0va88ancq5nmp8g01dfwzwma2f"; | ||
537 | type = "gem"; | ||
538 | }; | ||
539 | version = "0.0.1"; | ||
540 | }; | ||
541 | database_cleaner = { | ||
542 | platforms = []; | ||
543 | source = { | ||
544 | remotes = ["https://rubygems.org"]; | ||
545 | sha256 = "05i0nf2aj70m61y3fspypdkc6d1qgibf5kav05a71b5gjz0k7y5x"; | ||
546 | type = "gem"; | ||
547 | }; | ||
548 | version = "1.7.0"; | ||
549 | }; | ||
550 | devise = { | ||
551 | dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"]; | ||
552 | platforms = []; | ||
553 | source = { | ||
554 | remotes = ["https://rubygems.org"]; | ||
555 | sha256 = "1vs8nibl568ghm6a7hbw6xgcv8zbm4gykprcxpnzi7bz5d4gvcjx"; | ||
556 | type = "gem"; | ||
557 | }; | ||
558 | version = "4.5.0"; | ||
559 | }; | ||
560 | devise_lastseenable = { | ||
561 | dependencies = ["devise" "rails"]; | ||
562 | platforms = []; | ||
563 | source = { | ||
564 | remotes = ["https://rubygems.org"]; | ||
565 | sha256 = "1h83h73qjh8fc7lmr089shky8lc3wm4xn653rjdbb0cddflvrx8y"; | ||
566 | type = "gem"; | ||
567 | }; | ||
568 | version = "0.0.6"; | ||
569 | }; | ||
570 | diaspora-prosody-config = { | ||
571 | platforms = []; | ||
572 | source = { | ||
573 | remotes = ["https://rubygems.org"]; | ||
574 | sha256 = "1976ijqjf5jcq1jwr6vi0srjadhbqfa9y3nxyipzcv91pzskl2lp"; | ||
575 | type = "gem"; | ||
576 | }; | ||
577 | version = "0.0.7"; | ||
578 | }; | ||
579 | diaspora_federation = { | ||
580 | dependencies = ["faraday" "faraday_middleware" "nokogiri" "typhoeus" "valid"]; | ||
581 | platforms = []; | ||
582 | source = { | ||
583 | remotes = ["https://rubygems.org"]; | ||
584 | sha256 = "1xxy6ahlhgyr00qkfmmq0h3nqm6gjkr9i6hsqr0nkb3l6qg0m0yc"; | ||
585 | type = "gem"; | ||
586 | }; | ||
587 | version = "0.2.5"; | ||
588 | }; | ||
589 | diaspora_federation-json_schema = { | ||
590 | platforms = []; | ||
591 | source = { | ||
592 | remotes = ["https://rubygems.org"]; | ||
593 | sha256 = "0hfv4cq5wfdg86xmbp5y0h50b11326ymzks1yr9dvr4wa7di00hr"; | ||
594 | type = "gem"; | ||
595 | }; | ||
596 | version = "0.2.5"; | ||
597 | }; | ||
598 | diaspora_federation-rails = { | ||
599 | dependencies = ["actionpack" "diaspora_federation"]; | ||
600 | platforms = []; | ||
601 | source = { | ||
602 | remotes = ["https://rubygems.org"]; | ||
603 | sha256 = "1wrni7d9084v3pqd3sq8j532wx5ym6kmd959bw29bzwxc3zidd9h"; | ||
604 | type = "gem"; | ||
605 | }; | ||
606 | version = "0.2.5"; | ||
607 | }; | ||
608 | diaspora_federation-test = { | ||
609 | dependencies = ["diaspora_federation" "fabrication" "uuid"]; | ||
610 | platforms = []; | ||
611 | source = { | ||
612 | remotes = ["https://rubygems.org"]; | ||
613 | sha256 = "1b09y78pyl9kix8slbybnks2cbq0ac9wml31j2s6qwjixranjsm4"; | ||
614 | type = "gem"; | ||
615 | }; | ||
616 | version = "0.2.5"; | ||
617 | }; | ||
618 | diff-lcs = { | ||
619 | platforms = []; | ||
620 | source = { | ||
621 | remotes = ["https://rubygems.org"]; | ||
622 | sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; | ||
623 | type = "gem"; | ||
624 | }; | ||
625 | version = "1.3"; | ||
626 | }; | ||
627 | docile = { | ||
628 | platforms = []; | ||
629 | source = { | ||
630 | remotes = ["https://rubygems.org"]; | ||
631 | sha256 = "04d2izkna3ahfn6fwq4xrcafa715d3bbqczxm16fq40fqy87xn17"; | ||
632 | type = "gem"; | ||
633 | }; | ||
634 | version = "1.3.1"; | ||
635 | }; | ||
636 | domain_name = { | ||
637 | dependencies = ["unf"]; | ||
638 | platforms = []; | ||
639 | source = { | ||
640 | remotes = ["https://rubygems.org"]; | ||
641 | sha256 = "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v"; | ||
642 | type = "gem"; | ||
643 | }; | ||
644 | version = "0.5.20180417"; | ||
645 | }; | ||
646 | entypo-rails = { | ||
647 | dependencies = ["railties"]; | ||
648 | platforms = []; | ||
649 | source = { | ||
650 | remotes = ["https://rubygems.org"]; | ||
651 | sha256 = "124x0jszg6n0k2lcacd627ndlp1fv7cbgnv4scwy5s3czp0qwip6"; | ||
652 | type = "gem"; | ||
653 | }; | ||
654 | version = "3.0.0"; | ||
655 | }; | ||
656 | equalizer = { | ||
657 | platforms = []; | ||
658 | source = { | ||
659 | remotes = ["https://rubygems.org"]; | ||
660 | sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4"; | ||
661 | type = "gem"; | ||
662 | }; | ||
663 | version = "0.0.11"; | ||
664 | }; | ||
665 | erubi = { | ||
666 | platforms = []; | ||
667 | source = { | ||
668 | remotes = ["https://rubygems.org"]; | ||
669 | sha256 = "0bws86na9k565raiz0kk61yy5pxxp0fmwyzpibdwjkq0xzx8q6q1"; | ||
670 | type = "gem"; | ||
671 | }; | ||
672 | version = "1.7.1"; | ||
673 | }; | ||
674 | eslintrb = { | ||
675 | dependencies = ["execjs" "multi_json" "rake"]; | ||
676 | platforms = []; | ||
677 | source = { | ||
678 | remotes = ["https://rubygems.org"]; | ||
679 | sha256 = "0kx9sbs7pnl436zyczylnqqb1858hffy66fwdqfmcn18q8xdqwkx"; | ||
680 | type = "gem"; | ||
681 | }; | ||
682 | version = "2.1.0"; | ||
683 | }; | ||
684 | et-orbi = { | ||
685 | dependencies = ["tzinfo"]; | ||
686 | platforms = []; | ||
687 | source = { | ||
688 | remotes = ["https://rubygems.org"]; | ||
689 | sha256 = "0wk7i0bmsy46la8gcvbmdns0ni8lmdqas838phj97bdwykxw8m4b"; | ||
690 | type = "gem"; | ||
691 | }; | ||
692 | version = "1.1.6"; | ||
693 | }; | ||
694 | ethon = { | ||
695 | dependencies = ["ffi"]; | ||
696 | platforms = []; | ||
697 | source = { | ||
698 | remotes = ["https://rubygems.org"]; | ||
699 | sha256 = "0y70szwm2p0b9qfvpqrzjrgm3jz0ig65vlbfr6ppc3z0m1h7kv48"; | ||
700 | type = "gem"; | ||
701 | }; | ||
702 | version = "0.11.0"; | ||
703 | }; | ||
704 | excon = { | ||
705 | platforms = []; | ||
706 | source = { | ||
707 | remotes = ["https://rubygems.org"]; | ||
708 | sha256 = "15l9w0938c19nxmrp09n75qpmm64k12xj69h47yvxzcxcpbgnkb2"; | ||
709 | type = "gem"; | ||
710 | }; | ||
711 | version = "0.62.0"; | ||
712 | }; | ||
713 | execjs = { | ||
714 | platforms = []; | ||
715 | source = { | ||
716 | remotes = ["https://rubygems.org"]; | ||
717 | sha256 = "1yz55sf2nd3l666ms6xr18sm2aggcvmb8qr3v53lr4rir32y1yp1"; | ||
718 | type = "gem"; | ||
719 | }; | ||
720 | version = "2.7.0"; | ||
721 | }; | ||
722 | eye = { | ||
723 | dependencies = ["celluloid" "celluloid-io" "kostya-sigar" "state_machines" "thor"]; | ||
724 | platforms = []; | ||
725 | source = { | ||
726 | remotes = ["https://rubygems.org"]; | ||
727 | sha256 = "0gqrrrisy492m6sczq775dyg9sxkl926r8lkr6z33kfb4cnimfzk"; | ||
728 | type = "gem"; | ||
729 | }; | ||
730 | version = "0.10.0"; | ||
731 | }; | ||
732 | fabrication = { | ||
733 | platforms = []; | ||
734 | source = { | ||
735 | remotes = ["https://rubygems.org"]; | ||
736 | sha256 = "0an28kjand4mjbkmnwd9fmgq3y5vf717zpmiijavar3sxqj52zri"; | ||
737 | type = "gem"; | ||
738 | }; | ||
739 | version = "2.20.1"; | ||
740 | }; | ||
741 | factory_girl = { | ||
742 | dependencies = ["activesupport"]; | ||
743 | platforms = []; | ||
744 | source = { | ||
745 | remotes = ["https://rubygems.org"]; | ||
746 | sha256 = "0cc60v28r7w1gp34p4amzdnq7cyip6qhffvxywsj3ypilyf8jqla"; | ||
747 | type = "gem"; | ||
748 | }; | ||
749 | version = "4.8.0"; | ||
750 | }; | ||
751 | factory_girl_rails = { | ||
752 | dependencies = ["factory_girl" "railties"]; | ||
753 | platforms = []; | ||
754 | source = { | ||
755 | remotes = ["https://rubygems.org"]; | ||
756 | sha256 = "0hw8qqp30vm4yf4a36r1r65wk78ihxmas7jg5fyl6fcf705z9fvv"; | ||
757 | type = "gem"; | ||
758 | }; | ||
759 | version = "4.8.0"; | ||
760 | }; | ||
761 | faraday = { | ||
762 | dependencies = ["multipart-post"]; | ||
763 | platforms = []; | ||
764 | source = { | ||
765 | remotes = ["https://rubygems.org"]; | ||
766 | sha256 = "16hwxc8v0z6gkanckjhx0ffgqmzpc4ywz4dfhxpjlz2mbz8d5m52"; | ||
767 | type = "gem"; | ||
768 | }; | ||
769 | version = "0.15.3"; | ||
770 | }; | ||
771 | faraday-cookie_jar = { | ||
772 | dependencies = ["faraday" "http-cookie"]; | ||
773 | platforms = []; | ||
774 | source = { | ||
775 | remotes = ["https://rubygems.org"]; | ||
776 | sha256 = "1di4gx6446a6zdkrpj679m5k515i53wvb4yxcsqvy8d8zacxiiv6"; | ||
777 | type = "gem"; | ||
778 | }; | ||
779 | version = "0.0.6"; | ||
780 | }; | ||
781 | faraday_middleware = { | ||
782 | dependencies = ["faraday"]; | ||
783 | platforms = []; | ||
784 | source = { | ||
785 | remotes = ["https://rubygems.org"]; | ||
786 | sha256 = "1p7icfl28nvl8qqdsngryz1snqic9l8x6bk0dxd7ygn230y0k41d"; | ||
787 | type = "gem"; | ||
788 | }; | ||
789 | version = "0.12.2"; | ||
790 | }; | ||
791 | ffi = { | ||
792 | platforms = []; | ||
793 | source = { | ||
794 | remotes = ["https://rubygems.org"]; | ||
795 | sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q"; | ||
796 | type = "gem"; | ||
797 | }; | ||
798 | version = "1.9.25"; | ||
799 | }; | ||
800 | fixture_builder = { | ||
801 | dependencies = ["activerecord" "activesupport" "hashdiff"]; | ||
802 | platforms = []; | ||
803 | source = { | ||
804 | remotes = ["https://rubygems.org"]; | ||
805 | sha256 = "1qlq0nyfhjvz09hm0jankl9bgs9672k31b3lmsfq8p135x3xs627"; | ||
806 | type = "gem"; | ||
807 | }; | ||
808 | version = "0.5.2.rc3"; | ||
809 | }; | ||
810 | fog-aws = { | ||
811 | dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"]; | ||
812 | platforms = []; | ||
813 | source = { | ||
814 | remotes = ["https://rubygems.org"]; | ||
815 | sha256 = "1zprxg0spvkkri1jf40zg3rfr5h2gq6009d7l36lifpvhjn658cs"; | ||
816 | type = "gem"; | ||
817 | }; | ||
818 | version = "3.3.0"; | ||
819 | }; | ||
820 | fog-core = { | ||
821 | dependencies = ["builder" "excon" "formatador" "mime-types"]; | ||
822 | platforms = []; | ||
823 | source = { | ||
824 | remotes = ["https://rubygems.org"]; | ||
825 | sha256 = "1fsama04wlxhv537bm4b7rr4zzn0mvisy87m3qzv6f0mhlrq3zp8"; | ||
826 | type = "gem"; | ||
827 | }; | ||
828 | version = "2.1.2"; | ||
829 | }; | ||
830 | fog-json = { | ||
831 | dependencies = ["fog-core" "multi_json"]; | ||
832 | platforms = []; | ||
833 | source = { | ||
834 | remotes = ["https://rubygems.org"]; | ||
835 | sha256 = "1zj8llzc119zafbmfa4ai3z5s7c4vp9akfs0f9l2piyvcarmlkyx"; | ||
836 | type = "gem"; | ||
837 | }; | ||
838 | version = "1.2.0"; | ||
839 | }; | ||
840 | fog-xml = { | ||
841 | dependencies = ["fog-core" "nokogiri"]; | ||
842 | platforms = []; | ||
843 | source = { | ||
844 | remotes = ["https://rubygems.org"]; | ||
845 | sha256 = "043lwdw2wsi6d55ifk0w3izi5l1d1h0alwyr3fixic7b94kc812n"; | ||
846 | type = "gem"; | ||
847 | }; | ||
848 | version = "0.1.3"; | ||
849 | }; | ||
850 | formatador = { | ||
851 | platforms = []; | ||
852 | source = { | ||
853 | remotes = ["https://rubygems.org"]; | ||
854 | sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0"; | ||
855 | type = "gem"; | ||
856 | }; | ||
857 | version = "0.2.5"; | ||
858 | }; | ||
859 | fugit = { | ||
860 | dependencies = ["et-orbi" "raabro"]; | ||
861 | platforms = []; | ||
862 | source = { | ||
863 | remotes = ["https://rubygems.org"]; | ||
864 | sha256 = "1szijawzdii668z5is9xi849399gy786951dx0l5r2z5mbfqvl9i"; | ||
865 | type = "gem"; | ||
866 | }; | ||
867 | version = "1.1.6"; | ||
868 | }; | ||
869 | fuubar = { | ||
870 | dependencies = ["rspec-core" "ruby-progressbar"]; | ||
871 | platforms = []; | ||
872 | source = { | ||
873 | remotes = ["https://rubygems.org"]; | ||
874 | sha256 = "1sqkr1nh49rlm86l3qyrgsdqavgqii4pnrjn7855z6dfavh3spxr"; | ||
875 | type = "gem"; | ||
876 | }; | ||
877 | version = "2.3.2"; | ||
878 | }; | ||
879 | get_process_mem = { | ||
880 | platforms = []; | ||
881 | source = { | ||
882 | remotes = ["https://rubygems.org"]; | ||
883 | sha256 = "1bvfjdign16r0zwm2rlfrq0sk1licvmlgbnlpnyckniv5r7i080g"; | ||
884 | type = "gem"; | ||
885 | }; | ||
886 | version = "0.2.3"; | ||
887 | }; | ||
888 | gherkin = { | ||
889 | platforms = []; | ||
890 | source = { | ||
891 | remotes = ["https://rubygems.org"]; | ||
892 | sha256 = "1cgcdchwwdm10rsk44frjwqd4ihprhxjbm799nscqy2q1raqfj5s"; | ||
893 | type = "gem"; | ||
894 | }; | ||
895 | version = "5.1.0"; | ||
896 | }; | ||
897 | gitlab = { | ||
898 | dependencies = ["httparty" "terminal-table"]; | ||
899 | platforms = []; | ||
900 | source = { | ||
901 | remotes = ["https://rubygems.org"]; | ||
902 | sha256 = "1nncjmk71ivjxmgkpv100yybry5c7ld6xjgi1b5zsfv4g3mz0v34"; | ||
903 | type = "gem"; | ||
904 | }; | ||
905 | version = "4.7.0"; | ||
906 | }; | ||
907 | globalid = { | ||
908 | dependencies = ["activesupport"]; | ||
909 | platforms = []; | ||
910 | source = { | ||
911 | remotes = ["https://rubygems.org"]; | ||
912 | sha256 = "02smrgdi11kziqi9zhnsy9i6yr2fnxrqlv3lllsvdjki3cd4is38"; | ||
913 | type = "gem"; | ||
914 | }; | ||
915 | version = "0.4.1"; | ||
916 | }; | ||
917 | gon = { | ||
918 | dependencies = ["actionpack" "multi_json" "request_store"]; | ||
919 | platforms = []; | ||
920 | source = { | ||
921 | remotes = ["https://rubygems.org"]; | ||
922 | sha256 = "07sm7fd94pfscrbs4lyprs0das8s1yn32cw521ch738jaqb388xl"; | ||
923 | type = "gem"; | ||
924 | }; | ||
925 | version = "6.2.1"; | ||
926 | }; | ||
927 | guard = { | ||
928 | dependencies = ["formatador" "listen" "lumberjack" "nenv" "notiffany" "pry" "shellany" "thor"]; | ||
929 | platforms = []; | ||
930 | source = { | ||
931 | remotes = ["https://rubygems.org"]; | ||
932 | sha256 = "0h84ja6qvii3hx86w9l4vjpbgl4m8ma8fbawwp7s8l791cgkdcmk"; | ||
933 | type = "gem"; | ||
934 | }; | ||
935 | version = "2.15.0"; | ||
936 | }; | ||
937 | guard-compat = { | ||
938 | platforms = []; | ||
939 | source = { | ||
940 | remotes = ["https://rubygems.org"]; | ||
941 | sha256 = "1zj6sr1k8w59mmi27rsii0v8xyy2rnsi09nqvwpgj1q10yq1mlis"; | ||
942 | type = "gem"; | ||
943 | }; | ||
944 | version = "1.2.1"; | ||
945 | }; | ||
946 | guard-rspec = { | ||
947 | dependencies = ["guard" "guard-compat" "rspec"]; | ||
948 | platforms = []; | ||
949 | source = { | ||
950 | remotes = ["https://rubygems.org"]; | ||
951 | sha256 = "1jkm5xp90gm4c5s51pmf92i9hc10gslwwic6mvk72g0yplya0yx4"; | ||
952 | type = "gem"; | ||
953 | }; | ||
954 | version = "4.7.3"; | ||
955 | }; | ||
956 | guard-rubocop = { | ||
957 | dependencies = ["guard" "rubocop"]; | ||
958 | platforms = []; | ||
959 | source = { | ||
960 | remotes = ["https://rubygems.org"]; | ||
961 | sha256 = "1p97zkzasghl1md13rh57n3s2rr2kqly8w4vfn6vaj89igjpagdp"; | ||
962 | type = "gem"; | ||
963 | }; | ||
964 | version = "1.3.0"; | ||
965 | }; | ||
966 | haml = { | ||
967 | dependencies = ["temple" "tilt"]; | ||
968 | platforms = []; | ||
969 | source = { | ||
970 | remotes = ["https://rubygems.org"]; | ||
971 | sha256 = "1q0a9fvqh8kn6wm97fcks6qzbjd400bv8bx748w8v87m7p4klhac"; | ||
972 | type = "gem"; | ||
973 | }; | ||
974 | version = "5.0.4"; | ||
975 | }; | ||
976 | haml_lint = { | ||
977 | dependencies = ["haml" "rainbow" "rake" "rubocop" "sysexits"]; | ||
978 | platforms = []; | ||
979 | source = { | ||
980 | remotes = ["https://rubygems.org"]; | ||
981 | sha256 = "125aj0j84nx5gqm42hfx5d8486higlra423ahgfpsdjwbp399rwv"; | ||
982 | type = "gem"; | ||
983 | }; | ||
984 | version = "0.28.0"; | ||
985 | }; | ||
986 | hamlit = { | ||
987 | dependencies = ["temple" "thor" "tilt"]; | ||
988 | platforms = []; | ||
989 | source = { | ||
990 | remotes = ["https://rubygems.org"]; | ||
991 | sha256 = "14fsc208qsf46cflk23vs2fdw435dk65fwv55zhziciwn96ld8sf"; | ||
992 | type = "gem"; | ||
993 | }; | ||
994 | version = "2.9.1"; | ||
995 | }; | ||
996 | handlebars_assets = { | ||
997 | dependencies = ["execjs" "sprockets" "tilt"]; | ||
998 | platforms = []; | ||
999 | source = { | ||
1000 | remotes = ["https://rubygems.org"]; | ||
1001 | sha256 = "18pyksz4jb0n28acqxv14ahy8mkc9ldqbbn73gcj28m0l9wjzsca"; | ||
1002 | type = "gem"; | ||
1003 | }; | ||
1004 | version = "0.23.2"; | ||
1005 | }; | ||
1006 | hashdiff = { | ||
1007 | platforms = []; | ||
1008 | source = { | ||
1009 | remotes = ["https://rubygems.org"]; | ||
1010 | sha256 = "0yj5l2rw8i8jc725hbcpc4wks0qlaaimr3dpaqamfjkjkxl0hjp9"; | ||
1011 | type = "gem"; | ||
1012 | }; | ||
1013 | version = "0.3.7"; | ||
1014 | }; | ||
1015 | hashie = { | ||
1016 | platforms = []; | ||
1017 | source = { | ||
1018 | remotes = ["https://rubygems.org"]; | ||
1019 | sha256 = "1hh5lybf8hm7d7xs4xm8hxvm8xqrs2flc8fnwkrclaj746izw6xb"; | ||
1020 | type = "gem"; | ||
1021 | }; | ||
1022 | version = "3.5.7"; | ||
1023 | }; | ||
1024 | http = { | ||
1025 | dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"]; | ||
1026 | platforms = []; | ||
1027 | source = { | ||
1028 | remotes = ["https://rubygems.org"]; | ||
1029 | sha256 = "1jlm5prw437wqpfxcigh88lfap3m7g8mnmj5as7qw6dzqnvrxwmc"; | ||
1030 | type = "gem"; | ||
1031 | }; | ||
1032 | version = "3.3.0"; | ||
1033 | }; | ||
1034 | http-cookie = { | ||
1035 | dependencies = ["domain_name"]; | ||
1036 | platforms = []; | ||
1037 | source = { | ||
1038 | remotes = ["https://rubygems.org"]; | ||
1039 | sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g"; | ||
1040 | type = "gem"; | ||
1041 | }; | ||
1042 | version = "1.0.3"; | ||
1043 | }; | ||
1044 | http-form_data = { | ||
1045 | platforms = []; | ||
1046 | source = { | ||
1047 | remotes = ["https://rubygems.org"]; | ||
1048 | sha256 = "15lpn604byf7cyxnw949xz4rvpcknqp7a48q73nm630gqxsa76f3"; | ||
1049 | type = "gem"; | ||
1050 | }; | ||
1051 | version = "2.1.1"; | ||
1052 | }; | ||
1053 | http_accept_language = { | ||
1054 | platforms = []; | ||
1055 | source = { | ||
1056 | remotes = ["https://rubygems.org"]; | ||
1057 | sha256 = "0d0nlfz9vm4jr1l6q0chx4rp2hrnrfbx3gadc1dz930lbbaz0hq0"; | ||
1058 | type = "gem"; | ||
1059 | }; | ||
1060 | version = "2.1.1"; | ||
1061 | }; | ||
1062 | "http_parser.rb" = { | ||
1063 | platforms = []; | ||
1064 | source = { | ||
1065 | remotes = ["https://rubygems.org"]; | ||
1066 | sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi"; | ||
1067 | type = "gem"; | ||
1068 | }; | ||
1069 | version = "0.6.0"; | ||
1070 | }; | ||
1071 | httparty = { | ||
1072 | dependencies = ["mime-types" "multi_xml"]; | ||
1073 | platforms = []; | ||
1074 | source = { | ||
1075 | remotes = ["https://rubygems.org"]; | ||
1076 | sha256 = "1xmm7pxmz3pblkdr76dg7qm5s60kpp3yvh46c2i0bn1dm0zgl730"; | ||
1077 | type = "gem"; | ||
1078 | }; | ||
1079 | version = "0.16.3"; | ||
1080 | }; | ||
1081 | httpclient = { | ||
1082 | platforms = []; | ||
1083 | source = { | ||
1084 | remotes = ["https://rubygems.org"]; | ||
1085 | sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; | ||
1086 | type = "gem"; | ||
1087 | }; | ||
1088 | version = "2.8.3"; | ||
1089 | }; | ||
1090 | i18n = { | ||
1091 | dependencies = ["concurrent-ruby"]; | ||
1092 | platforms = []; | ||
1093 | source = { | ||
1094 | remotes = ["https://rubygems.org"]; | ||
1095 | sha256 = "1gcp1m1p6dpasycfz2sj82ci9ggz7lsskz9c9q6gvfwxrl8y9dx7"; | ||
1096 | type = "gem"; | ||
1097 | }; | ||
1098 | version = "1.1.1"; | ||
1099 | }; | ||
1100 | i18n-inflector = { | ||
1101 | dependencies = ["i18n"]; | ||
1102 | platforms = []; | ||
1103 | source = { | ||
1104 | remotes = ["https://rubygems.org"]; | ||
1105 | sha256 = "081jr7z947aqjfmpbfs10w9jxi205jwgk4mgd8jds1b4m4i8mc7g"; | ||
1106 | type = "gem"; | ||
1107 | }; | ||
1108 | version = "2.6.7"; | ||
1109 | }; | ||
1110 | i18n-inflector-rails = { | ||
1111 | dependencies = ["actionpack" "i18n-inflector" "railties"]; | ||
1112 | platforms = []; | ||
1113 | source = { | ||
1114 | remotes = ["https://rubygems.org"]; | ||
1115 | sha256 = "0c04jm657akp5n14syhcwnn3hnsvx7harvg97768bvf3f9a37hyk"; | ||
1116 | type = "gem"; | ||
1117 | }; | ||
1118 | version = "1.0.7"; | ||
1119 | }; | ||
1120 | ipaddress = { | ||
1121 | platforms = []; | ||
1122 | source = { | ||
1123 | remotes = ["https://rubygems.org"]; | ||
1124 | sha256 = "1x86s0s11w202j6ka40jbmywkrx8fhq8xiy8mwvnkhllj57hqr45"; | ||
1125 | type = "gem"; | ||
1126 | }; | ||
1127 | version = "0.8.3"; | ||
1128 | }; | ||
1129 | jaro_winkler = { | ||
1130 | platforms = []; | ||
1131 | source = { | ||
1132 | remotes = ["https://rubygems.org"]; | ||
1133 | sha256 = "0rr797nqz081bfk30m2apj5h24bg5d1jr1c8p3xwx4hbwsrbclah"; | ||
1134 | type = "gem"; | ||
1135 | }; | ||
1136 | version = "1.5.1"; | ||
1137 | }; | ||
1138 | jasmine = { | ||
1139 | dependencies = ["jasmine-core" "phantomjs" "rack" "rake"]; | ||
1140 | platforms = []; | ||
1141 | source = { | ||
1142 | remotes = ["https://rubygems.org"]; | ||
1143 | sha256 = "1xfwf163wi5a9i0vlm564cqi6k30h15wnrwd15ph95jfa5516kv1"; | ||
1144 | type = "gem"; | ||
1145 | }; | ||
1146 | version = "3.3.0"; | ||
1147 | }; | ||
1148 | jasmine-core = { | ||
1149 | platforms = []; | ||
1150 | source = { | ||
1151 | remotes = ["https://rubygems.org"]; | ||
1152 | sha256 = "1b12bjfrxvb8mwjwlfyngykd80lz956glcpfz7rhhw7n75b2rdlv"; | ||
1153 | type = "gem"; | ||
1154 | }; | ||
1155 | version = "3.3.0"; | ||
1156 | }; | ||
1157 | jasmine-jquery-rails = { | ||
1158 | platforms = []; | ||
1159 | source = { | ||
1160 | remotes = ["https://rubygems.org"]; | ||
1161 | sha256 = "0cq5zd4ng5dlza45whd6sa7bzd60rlddk9760271mybdqyd96jlv"; | ||
1162 | type = "gem"; | ||
1163 | }; | ||
1164 | version = "2.0.3"; | ||
1165 | }; | ||
1166 | jquery-rails = { | ||
1167 | dependencies = ["rails-dom-testing" "railties" "thor"]; | ||
1168 | platforms = []; | ||
1169 | source = { | ||
1170 | remotes = ["https://rubygems.org"]; | ||
1171 | sha256 = "17201sb8ddwy4yprizmqabq1kfx3m9c53p0yqngn63m07jjcpnh8"; | ||
1172 | type = "gem"; | ||
1173 | }; | ||
1174 | version = "4.3.3"; | ||
1175 | }; | ||
1176 | js-routes = { | ||
1177 | dependencies = ["railties" "sprockets-rails"]; | ||
1178 | platforms = []; | ||
1179 | source = { | ||
1180 | remotes = ["https://rubygems.org"]; | ||
1181 | sha256 = "14yx3jrd4sgcwgj8yrrqdwl691mci1hcjqyyvp0v15jbzis1bclm"; | ||
1182 | type = "gem"; | ||
1183 | }; | ||
1184 | version = "1.4.4"; | ||
1185 | }; | ||
1186 | js_image_paths = { | ||
1187 | dependencies = ["rails" "sprockets"]; | ||
1188 | platforms = []; | ||
1189 | source = { | ||
1190 | remotes = ["https://rubygems.org"]; | ||
1191 | sha256 = "1d4kq8895i61a338ddk5f2k16l5lvmnkby9cdjwnmm2jddw4q7nf"; | ||
1192 | type = "gem"; | ||
1193 | }; | ||
1194 | version = "0.1.1"; | ||
1195 | }; | ||
1196 | json = { | ||
1197 | platforms = []; | ||
1198 | source = { | ||
1199 | remotes = ["https://rubygems.org"]; | ||
1200 | sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; | ||
1201 | type = "gem"; | ||
1202 | }; | ||
1203 | version = "2.1.0"; | ||
1204 | }; | ||
1205 | json-jwt = { | ||
1206 | dependencies = ["activesupport" "aes_key_wrap" "bindata"]; | ||
1207 | platforms = []; | ||
1208 | source = { | ||
1209 | remotes = ["https://rubygems.org"]; | ||
1210 | sha256 = "065k7vffdki73f4nz89lxi6wxmcw5dlf593831pgvlbralll6x3r"; | ||
1211 | type = "gem"; | ||
1212 | }; | ||
1213 | version = "1.9.4"; | ||
1214 | }; | ||
1215 | json-schema = { | ||
1216 | dependencies = ["addressable"]; | ||
1217 | platforms = []; | ||
1218 | source = { | ||
1219 | remotes = ["https://rubygems.org"]; | ||
1220 | sha256 = "1yv5lfmr2nzd14af498xqd5p89f3g080q8wk0klr3vxgypsikkb5"; | ||
1221 | type = "gem"; | ||
1222 | }; | ||
1223 | version = "2.8.1"; | ||
1224 | }; | ||
1225 | json-schema-rspec = { | ||
1226 | dependencies = ["json-schema" "rspec"]; | ||
1227 | platforms = []; | ||
1228 | source = { | ||
1229 | remotes = ["https://rubygems.org"]; | ||
1230 | sha256 = "1ip30yjzyigqqp9jwkrw9x9vrfpnmwi160zmk2vkrwlv9pby0wr9"; | ||
1231 | type = "gem"; | ||
1232 | }; | ||
1233 | version = "0.0.4"; | ||
1234 | }; | ||
1235 | jsonpath = { | ||
1236 | dependencies = ["multi_json" "to_regexp"]; | ||
1237 | platforms = []; | ||
1238 | source = { | ||
1239 | remotes = ["https://rubygems.org"]; | ||
1240 | sha256 = "06i41lwpj0dwvbxcpqrad5pjn2gmcv0srv0zw0ap7irwc21ifd7d"; | ||
1241 | type = "gem"; | ||
1242 | }; | ||
1243 | version = "0.9.6"; | ||
1244 | }; | ||
1245 | jwt = { | ||
1246 | platforms = []; | ||
1247 | source = { | ||
1248 | remotes = ["https://rubygems.org"]; | ||
1249 | sha256 = "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky"; | ||
1250 | type = "gem"; | ||
1251 | }; | ||
1252 | version = "2.1.0"; | ||
1253 | }; | ||
1254 | kgio = { | ||
1255 | platforms = []; | ||
1256 | source = { | ||
1257 | remotes = ["https://rubygems.org"]; | ||
1258 | sha256 = "1528pyj1szzzp3pgj05fzjd36qjrxm9yj2x5radc9p1z7vl67y50"; | ||
1259 | type = "gem"; | ||
1260 | }; | ||
1261 | version = "2.11.2"; | ||
1262 | }; | ||
1263 | kostya-sigar = { | ||
1264 | platforms = []; | ||
1265 | source = { | ||
1266 | remotes = ["https://rubygems.org"]; | ||
1267 | sha256 = "0z0pcykhjyrb7kq76jfcyxc1qq23gj5zmgy3miy87v85ydrxiqwb"; | ||
1268 | type = "gem"; | ||
1269 | }; | ||
1270 | version = "2.0.4"; | ||
1271 | }; | ||
1272 | leaflet-rails = { | ||
1273 | dependencies = ["rails"]; | ||
1274 | platforms = []; | ||
1275 | source = { | ||
1276 | remotes = ["https://rubygems.org"]; | ||
1277 | sha256 = "0dy7vhsjj1fhbbqm2s7pw57vgysd31qqi4y0hm91325hmvq75grb"; | ||
1278 | type = "gem"; | ||
1279 | }; | ||
1280 | version = "1.3.1"; | ||
1281 | }; | ||
1282 | listen = { | ||
1283 | dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"]; | ||
1284 | platforms = []; | ||
1285 | source = { | ||
1286 | remotes = ["https://rubygems.org"]; | ||
1287 | sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx"; | ||
1288 | type = "gem"; | ||
1289 | }; | ||
1290 | version = "3.1.5"; | ||
1291 | }; | ||
1292 | little-plugger = { | ||
1293 | platforms = []; | ||
1294 | source = { | ||
1295 | remotes = ["https://rubygems.org"]; | ||
1296 | sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; | ||
1297 | type = "gem"; | ||
1298 | }; | ||
1299 | version = "1.1.4"; | ||
1300 | }; | ||
1301 | logging = { | ||
1302 | dependencies = ["little-plugger" "multi_json"]; | ||
1303 | platforms = []; | ||
1304 | source = { | ||
1305 | remotes = ["https://rubygems.org"]; | ||
1306 | sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn"; | ||
1307 | type = "gem"; | ||
1308 | }; | ||
1309 | version = "2.2.2"; | ||
1310 | }; | ||
1311 | logging-rails = { | ||
1312 | dependencies = ["logging"]; | ||
1313 | platforms = []; | ||
1314 | source = { | ||
1315 | remotes = ["https://rubygems.org"]; | ||
1316 | sha256 = "022cnj9v177282kadd9ygzjpvlvbq9k5z0xhdbbmgypi05z4i239"; | ||
1317 | type = "gem"; | ||
1318 | }; | ||
1319 | version = "0.6.0"; | ||
1320 | }; | ||
1321 | loofah = { | ||
1322 | dependencies = ["crass" "nokogiri"]; | ||
1323 | platforms = []; | ||
1324 | source = { | ||
1325 | remotes = ["https://rubygems.org"]; | ||
1326 | sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg"; | ||
1327 | type = "gem"; | ||
1328 | }; | ||
1329 | version = "2.2.3"; | ||
1330 | }; | ||
1331 | lumberjack = { | ||
1332 | platforms = []; | ||
1333 | source = { | ||
1334 | remotes = ["https://rubygems.org"]; | ||
1335 | sha256 = "06im7gcg42x77yhz2w5da2ly9xz0n0c36y5ks7xs53v0l9g0vf5n"; | ||
1336 | type = "gem"; | ||
1337 | }; | ||
1338 | version = "1.0.13"; | ||
1339 | }; | ||
1340 | macaddr = { | ||
1341 | dependencies = ["systemu"]; | ||
1342 | platforms = []; | ||
1343 | source = { | ||
1344 | remotes = ["https://rubygems.org"]; | ||
1345 | sha256 = "1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b"; | ||
1346 | type = "gem"; | ||
1347 | }; | ||
1348 | version = "1.7.1"; | ||
1349 | }; | ||
1350 | mail = { | ||
1351 | dependencies = ["mini_mime"]; | ||
1352 | platforms = []; | ||
1353 | source = { | ||
1354 | remotes = ["https://rubygems.org"]; | ||
1355 | sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc"; | ||
1356 | type = "gem"; | ||
1357 | }; | ||
1358 | version = "2.7.1"; | ||
1359 | }; | ||
1360 | markdown-it-html5-embed = { | ||
1361 | platforms = []; | ||
1362 | source = { | ||
1363 | remotes = ["https://rubygems.org"]; | ||
1364 | sha256 = "10n2z6j0whc6makxvcf2jhpwb8xrj4s6vyywijsaaxs0cn490a5c"; | ||
1365 | type = "gem"; | ||
1366 | }; | ||
1367 | version = "1.0.0"; | ||
1368 | }; | ||
1369 | markerb = { | ||
1370 | platforms = []; | ||
1371 | source = { | ||
1372 | remotes = ["https://rubygems.org"]; | ||
1373 | sha256 = "08sm3kafc3086l0a9is2cysk7j2k71mxy6ba295pwwzyvy734y76"; | ||
1374 | type = "gem"; | ||
1375 | }; | ||
1376 | version = "1.1.0"; | ||
1377 | }; | ||
1378 | memoizable = { | ||
1379 | dependencies = ["thread_safe"]; | ||
1380 | platforms = []; | ||
1381 | source = { | ||
1382 | remotes = ["https://rubygems.org"]; | ||
1383 | sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c"; | ||
1384 | type = "gem"; | ||
1385 | }; | ||
1386 | version = "0.4.2"; | ||
1387 | }; | ||
1388 | method_source = { | ||
1389 | platforms = []; | ||
1390 | source = { | ||
1391 | remotes = ["https://rubygems.org"]; | ||
1392 | sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq"; | ||
1393 | type = "gem"; | ||
1394 | }; | ||
1395 | version = "0.9.2"; | ||
1396 | }; | ||
1397 | mime-types = { | ||
1398 | dependencies = ["mime-types-data"]; | ||
1399 | platforms = []; | ||
1400 | source = { | ||
1401 | remotes = ["https://rubygems.org"]; | ||
1402 | sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk"; | ||
1403 | type = "gem"; | ||
1404 | }; | ||
1405 | version = "3.2.2"; | ||
1406 | }; | ||
1407 | mime-types-data = { | ||
1408 | platforms = []; | ||
1409 | source = { | ||
1410 | remotes = ["https://rubygems.org"]; | ||
1411 | sha256 = "07wvp0aw2gjm4njibb70as6rh5hi1zzri5vky1q6jx95h8l56idc"; | ||
1412 | type = "gem"; | ||
1413 | }; | ||
1414 | version = "3.2018.0812"; | ||
1415 | }; | ||
1416 | mini_magick = { | ||
1417 | platforms = []; | ||
1418 | source = { | ||
1419 | remotes = ["https://rubygems.org"]; | ||
1420 | sha256 = "0sisx59mr5kydmxmx5vr8spmrxhrjkfqv35zhsqdlyzmp1z5px9p"; | ||
1421 | type = "gem"; | ||
1422 | }; | ||
1423 | version = "4.9.2"; | ||
1424 | }; | ||
1425 | mini_mime = { | ||
1426 | platforms = []; | ||
1427 | source = { | ||
1428 | remotes = ["https://rubygems.org"]; | ||
1429 | sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3"; | ||
1430 | type = "gem"; | ||
1431 | }; | ||
1432 | version = "1.0.1"; | ||
1433 | }; | ||
1434 | mini_portile2 = { | ||
1435 | platforms = []; | ||
1436 | source = { | ||
1437 | remotes = ["https://rubygems.org"]; | ||
1438 | sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11"; | ||
1439 | type = "gem"; | ||
1440 | }; | ||
1441 | version = "2.3.0"; | ||
1442 | }; | ||
1443 | minitest = { | ||
1444 | platforms = []; | ||
1445 | source = { | ||
1446 | remotes = ["https://rubygems.org"]; | ||
1447 | sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq"; | ||
1448 | type = "gem"; | ||
1449 | }; | ||
1450 | version = "5.11.3"; | ||
1451 | }; | ||
1452 | mobile-fu = { | ||
1453 | dependencies = ["rack-mobile-detect" "rails"]; | ||
1454 | platforms = []; | ||
1455 | source = { | ||
1456 | remotes = ["https://rubygems.org"]; | ||
1457 | sha256 = "0lxfcsd7dwwcpa1j2jbl382anmv6kksf5q1wqj14gc6jxxjq9s4i"; | ||
1458 | type = "gem"; | ||
1459 | }; | ||
1460 | version = "1.4.0"; | ||
1461 | }; | ||
1462 | multi_json = { | ||
1463 | platforms = []; | ||
1464 | source = { | ||
1465 | remotes = ["https://rubygems.org"]; | ||
1466 | sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; | ||
1467 | type = "gem"; | ||
1468 | }; | ||
1469 | version = "1.13.1"; | ||
1470 | }; | ||
1471 | multi_test = { | ||
1472 | platforms = []; | ||
1473 | source = { | ||
1474 | remotes = ["https://rubygems.org"]; | ||
1475 | sha256 = "1sx356q81plr67hg16jfwz9hcqvnk03bd9n75pmdw8pfxjfy1yxd"; | ||
1476 | type = "gem"; | ||
1477 | }; | ||
1478 | version = "0.1.2"; | ||
1479 | }; | ||
1480 | multi_xml = { | ||
1481 | platforms = []; | ||
1482 | source = { | ||
1483 | remotes = ["https://rubygems.org"]; | ||
1484 | sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj"; | ||
1485 | type = "gem"; | ||
1486 | }; | ||
1487 | version = "0.6.0"; | ||
1488 | }; | ||
1489 | multipart-post = { | ||
1490 | platforms = []; | ||
1491 | source = { | ||
1492 | remotes = ["https://rubygems.org"]; | ||
1493 | sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x"; | ||
1494 | type = "gem"; | ||
1495 | }; | ||
1496 | version = "2.0.0"; | ||
1497 | }; | ||
1498 | naught = { | ||
1499 | platforms = []; | ||
1500 | source = { | ||
1501 | remotes = ["https://rubygems.org"]; | ||
1502 | sha256 = "1wwjx35zgbc0nplp8a866iafk4zsrbhwwz4pav5gydr2wm26nksg"; | ||
1503 | type = "gem"; | ||
1504 | }; | ||
1505 | version = "1.1.0"; | ||
1506 | }; | ||
1507 | nenv = { | ||
1508 | platforms = []; | ||
1509 | source = { | ||
1510 | remotes = ["https://rubygems.org"]; | ||
1511 | sha256 = "0r97jzknll9bhd8yyg2bngnnkj8rjhal667n7d32h8h7ny7nvpnr"; | ||
1512 | type = "gem"; | ||
1513 | }; | ||
1514 | version = "0.3.0"; | ||
1515 | }; | ||
1516 | net-ldap = { | ||
1517 | platforms = []; | ||
1518 | source = { | ||
1519 | remotes = ["https://rubygems.org"]; | ||
1520 | sha256 = "016igqz81a8zcwqzp5bbhryqmb2skmyf57ij3nb5z8sxwhw22jgh"; | ||
1521 | type = "gem"; | ||
1522 | }; | ||
1523 | version = "0.16.1"; | ||
1524 | }; | ||
1525 | nio4r = { | ||
1526 | platforms = []; | ||
1527 | source = { | ||
1528 | remotes = ["https://rubygems.org"]; | ||
1529 | sha256 = "1a41ca1kpdmrypjp9xbgvckpy8g26zxphkja9vk7j5wl4n8yvlyr"; | ||
1530 | type = "gem"; | ||
1531 | }; | ||
1532 | version = "2.3.1"; | ||
1533 | }; | ||
1534 | nokogiri = { | ||
1535 | dependencies = ["mini_portile2"]; | ||
1536 | platforms = []; | ||
1537 | source = { | ||
1538 | remotes = ["https://rubygems.org"]; | ||
1539 | sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz"; | ||
1540 | type = "gem"; | ||
1541 | }; | ||
1542 | version = "1.8.5"; | ||
1543 | }; | ||
1544 | notiffany = { | ||
1545 | dependencies = ["nenv" "shellany"]; | ||
1546 | platforms = []; | ||
1547 | source = { | ||
1548 | remotes = ["https://rubygems.org"]; | ||
1549 | sha256 = "0x838fa5il0dd9zbm3lxkpbfxcf5fxv9556mayc2mxsdl5ghv8nx"; | ||
1550 | type = "gem"; | ||
1551 | }; | ||
1552 | version = "0.1.1"; | ||
1553 | }; | ||
1554 | oauth = { | ||
1555 | platforms = []; | ||
1556 | source = { | ||
1557 | remotes = ["https://rubygems.org"]; | ||
1558 | sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y"; | ||
1559 | type = "gem"; | ||
1560 | }; | ||
1561 | version = "0.5.4"; | ||
1562 | }; | ||
1563 | oauth2 = { | ||
1564 | dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"]; | ||
1565 | platforms = []; | ||
1566 | source = { | ||
1567 | remotes = ["https://rubygems.org"]; | ||
1568 | sha256 = "0av6nlb5y2sm6m8fx669ywrqa9858yqaqfqzny75nqp3anag89qh"; | ||
1569 | type = "gem"; | ||
1570 | }; | ||
1571 | version = "1.4.1"; | ||
1572 | }; | ||
1573 | octokit = { | ||
1574 | dependencies = ["sawyer"]; | ||
1575 | platforms = []; | ||
1576 | source = { | ||
1577 | remotes = ["https://rubygems.org"]; | ||
1578 | sha256 = "1yh0yzzqg575ix3y2l2261b9ag82gv2v4f1wczdhcmfbxcz755x6"; | ||
1579 | type = "gem"; | ||
1580 | }; | ||
1581 | version = "4.13.0"; | ||
1582 | }; | ||
1583 | omniauth = { | ||
1584 | dependencies = ["hashie" "rack"]; | ||
1585 | platforms = []; | ||
1586 | source = { | ||
1587 | remotes = ["https://rubygems.org"]; | ||
1588 | sha256 = "1msqr4qq7mfdvl3rg89529isrv595hvjpj2gi0say4b8nwqfggmg"; | ||
1589 | type = "gem"; | ||
1590 | }; | ||
1591 | version = "1.8.1"; | ||
1592 | }; | ||
1593 | omniauth-oauth = { | ||
1594 | dependencies = ["oauth" "omniauth"]; | ||
1595 | platforms = []; | ||
1596 | source = { | ||
1597 | remotes = ["https://rubygems.org"]; | ||
1598 | sha256 = "1n5vk4by7hkyc09d9blrw2argry5awpw4gbw1l4n2s9b3j4qz037"; | ||
1599 | type = "gem"; | ||
1600 | }; | ||
1601 | version = "1.1.0"; | ||
1602 | }; | ||
1603 | omniauth-oauth2 = { | ||
1604 | dependencies = ["oauth2" "omniauth"]; | ||
1605 | platforms = []; | ||
1606 | source = { | ||
1607 | remotes = ["https://rubygems.org"]; | ||
1608 | sha256 = "0kscjf1y0lnggsl4z3w5bwllqshqjlsl5kmcya5haydajdnzvdjr"; | ||
1609 | type = "gem"; | ||
1610 | }; | ||
1611 | version = "1.5.0"; | ||
1612 | }; | ||
1613 | omniauth-tumblr = { | ||
1614 | dependencies = ["multi_json" "omniauth-oauth"]; | ||
1615 | platforms = []; | ||
1616 | source = { | ||
1617 | remotes = ["https://rubygems.org"]; | ||
1618 | sha256 = "10ncmfym4l6k6aqp402g7mqxahbggcj5xkpsjxgngs746s82y97w"; | ||
1619 | type = "gem"; | ||
1620 | }; | ||
1621 | version = "1.2"; | ||
1622 | }; | ||
1623 | omniauth-twitter = { | ||
1624 | dependencies = ["omniauth-oauth" "rack"]; | ||
1625 | platforms = []; | ||
1626 | source = { | ||
1627 | remotes = ["https://rubygems.org"]; | ||
1628 | sha256 = "0r5j65hkpgzhvvbs90id3nfsjgsad6ymzggbm7zlaxvnrmvnrk65"; | ||
1629 | type = "gem"; | ||
1630 | }; | ||
1631 | version = "1.4.0"; | ||
1632 | }; | ||
1633 | omniauth-wordpress = { | ||
1634 | dependencies = ["omniauth-oauth2"]; | ||
1635 | platforms = []; | ||
1636 | source = { | ||
1637 | remotes = ["https://rubygems.org"]; | ||
1638 | sha256 = "008zx4zwrbzyvlgv6hy68k1d05zskiwvcgwvxxbxhbl0mvlmh303"; | ||
1639 | type = "gem"; | ||
1640 | }; | ||
1641 | version = "0.2.2"; | ||
1642 | }; | ||
1643 | open_graph_reader = { | ||
1644 | dependencies = ["faraday" "nokogiri"]; | ||
1645 | platforms = []; | ||
1646 | source = { | ||
1647 | remotes = ["https://rubygems.org"]; | ||
1648 | sha256 = "0af4yldyb0d8zglw73s13pyn0g90gs4m5zf7bwy8r4kym9zbvc21"; | ||
1649 | type = "gem"; | ||
1650 | }; | ||
1651 | version = "0.6.2"; | ||
1652 | }; | ||
1653 | openid_connect = { | ||
1654 | dependencies = ["activemodel" "attr_required" "json-jwt" "rack-oauth2" "swd" "tzinfo" "validate_email" "validate_url" "webfinger"]; | ||
1655 | platforms = []; | ||
1656 | source = { | ||
1657 | remotes = ["https://rubygems.org"]; | ||
1658 | sha256 = "1r13bv18nyvw0g1nw3fzffvv2si99zj24w0k5zgawf4q6nn5f7vd"; | ||
1659 | type = "gem"; | ||
1660 | }; | ||
1661 | version = "1.1.6"; | ||
1662 | }; | ||
1663 | orm_adapter = { | ||
1664 | platforms = []; | ||
1665 | source = { | ||
1666 | remotes = ["https://rubygems.org"]; | ||
1667 | sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda"; | ||
1668 | type = "gem"; | ||
1669 | }; | ||
1670 | version = "0.5.0"; | ||
1671 | }; | ||
1672 | parallel = { | ||
1673 | platforms = []; | ||
1674 | source = { | ||
1675 | remotes = ["https://rubygems.org"]; | ||
1676 | sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67"; | ||
1677 | type = "gem"; | ||
1678 | }; | ||
1679 | version = "1.12.1"; | ||
1680 | }; | ||
1681 | parser = { | ||
1682 | dependencies = ["ast"]; | ||
1683 | platforms = []; | ||
1684 | source = { | ||
1685 | remotes = ["https://rubygems.org"]; | ||
1686 | sha256 = "1zjk0w1kjj3xk8ymy1430aa4gg0k8ckphfj88br6il4pm83f0n1f"; | ||
1687 | type = "gem"; | ||
1688 | }; | ||
1689 | version = "2.5.3.0"; | ||
1690 | }; | ||
1691 | pg = { | ||
1692 | platforms = []; | ||
1693 | source = { | ||
1694 | remotes = ["https://rubygems.org"]; | ||
1695 | sha256 = "1pnjw3rspdfjssxyf42jnbsdlgri8ylysimp0s28wxb93k6ff2qb"; | ||
1696 | type = "gem"; | ||
1697 | }; | ||
1698 | version = "1.1.3"; | ||
1699 | }; | ||
1700 | phantomjs = { | ||
1701 | platforms = []; | ||
1702 | source = { | ||
1703 | remotes = ["https://rubygems.org"]; | ||
1704 | sha256 = "0y8pbbyq9dirxb7igkb2s5limz2895qmr41c09fjhx6k6fxcz4mk"; | ||
1705 | type = "gem"; | ||
1706 | }; | ||
1707 | version = "2.1.1.0"; | ||
1708 | }; | ||
1709 | poltergeist = { | ||
1710 | dependencies = ["capybara" "cliver" "websocket-driver"]; | ||
1711 | platforms = []; | ||
1712 | source = { | ||
1713 | remotes = ["https://rubygems.org"]; | ||
1714 | sha256 = "0il80p97psmhs6scl0grq031gv7kws4ylvvd6zyr8xv91qadga95"; | ||
1715 | type = "gem"; | ||
1716 | }; | ||
1717 | version = "1.18.1"; | ||
1718 | }; | ||
1719 | powerpack = { | ||
1720 | platforms = []; | ||
1721 | source = { | ||
1722 | remotes = ["https://rubygems.org"]; | ||
1723 | sha256 = "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv"; | ||
1724 | type = "gem"; | ||
1725 | }; | ||
1726 | version = "0.1.2"; | ||
1727 | }; | ||
1728 | pronto = { | ||
1729 | dependencies = ["gitlab" "httparty" "octokit" "rainbow" "rugged" "thor"]; | ||
1730 | platforms = []; | ||
1731 | source = { | ||
1732 | remotes = ["https://rubygems.org"]; | ||
1733 | sha256 = "13xbg1pm3kz5zbzxad5qgqnkzkp3ddajj7wxx16aqbfr7rqggvhz"; | ||
1734 | type = "gem"; | ||
1735 | }; | ||
1736 | version = "0.9.5"; | ||
1737 | }; | ||
1738 | pronto-eslint = { | ||
1739 | dependencies = ["eslintrb" "pronto"]; | ||
1740 | platforms = []; | ||
1741 | source = { | ||
1742 | remotes = ["https://rubygems.org"]; | ||
1743 | sha256 = "1cxyx6mlcdgv4ykliaizkx9cps68xf7qvy8lzxmv7pcqzkxaq7xc"; | ||
1744 | type = "gem"; | ||
1745 | }; | ||
1746 | version = "0.9.1"; | ||
1747 | }; | ||
1748 | pronto-haml = { | ||
1749 | dependencies = ["haml_lint" "pronto"]; | ||
1750 | platforms = []; | ||
1751 | source = { | ||
1752 | remotes = ["https://rubygems.org"]; | ||
1753 | sha256 = "116iln1whwiqy55f86q33lnnic0awnqm415xvxwnhwlagcbwmnkg"; | ||
1754 | type = "gem"; | ||
1755 | }; | ||
1756 | version = "0.9.0"; | ||
1757 | }; | ||
1758 | pronto-rubocop = { | ||
1759 | dependencies = ["pronto" "rubocop"]; | ||
1760 | platforms = []; | ||
1761 | source = { | ||
1762 | remotes = ["https://rubygems.org"]; | ||
1763 | sha256 = "0bcm34qlpp02wf69why5lpi5p53h5r4fq36f4b1fwi621fwzlgsy"; | ||
1764 | type = "gem"; | ||
1765 | }; | ||
1766 | version = "0.9.1"; | ||
1767 | }; | ||
1768 | pronto-scss = { | ||
1769 | dependencies = ["pronto" "scss_lint"]; | ||
1770 | platforms = []; | ||
1771 | source = { | ||
1772 | remotes = ["https://rubygems.org"]; | ||
1773 | sha256 = "0kgaqd6l2w3brdsp5231fpfr6fwajciz2hdr925l1zhh6ni1y2za"; | ||
1774 | type = "gem"; | ||
1775 | }; | ||
1776 | version = "0.9.1"; | ||
1777 | }; | ||
1778 | pry = { | ||
1779 | dependencies = ["coderay" "method_source"]; | ||
1780 | platforms = []; | ||
1781 | source = { | ||
1782 | remotes = ["https://rubygems.org"]; | ||
1783 | sha256 = "00rm71x0r1jdycwbs83lf9l6p494m99asakbvqxh8rz7zwnlzg69"; | ||
1784 | type = "gem"; | ||
1785 | }; | ||
1786 | version = "0.12.2"; | ||
1787 | }; | ||
1788 | pry-byebug = { | ||
1789 | dependencies = ["byebug" "pry"]; | ||
1790 | platforms = []; | ||
1791 | source = { | ||
1792 | remotes = ["https://rubygems.org"]; | ||
1793 | sha256 = "0y2758593i2ij0nhmv0j1pbdfx2cgi52ns6wkij0frgnk2lf650g"; | ||
1794 | type = "gem"; | ||
1795 | }; | ||
1796 | version = "3.6.0"; | ||
1797 | }; | ||
1798 | public_suffix = { | ||
1799 | platforms = []; | ||
1800 | source = { | ||
1801 | remotes = ["https://rubygems.org"]; | ||
1802 | sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; | ||
1803 | type = "gem"; | ||
1804 | }; | ||
1805 | version = "3.0.3"; | ||
1806 | }; | ||
1807 | raabro = { | ||
1808 | platforms = []; | ||
1809 | source = { | ||
1810 | remotes = ["https://rubygems.org"]; | ||
1811 | sha256 = "0xzdmbn48753f6k0ckirp8ja5p0xn1a92wbwxfyggyhj0hza9ylq"; | ||
1812 | type = "gem"; | ||
1813 | }; | ||
1814 | version = "1.1.6"; | ||
1815 | }; | ||
1816 | rack = { | ||
1817 | platforms = []; | ||
1818 | source = { | ||
1819 | remotes = ["https://rubygems.org"]; | ||
1820 | sha256 = "1pcgv8dv4vkaczzlix8q3j68capwhk420cddzijwqgi2qb4lm1zm"; | ||
1821 | type = "gem"; | ||
1822 | }; | ||
1823 | version = "2.0.6"; | ||
1824 | }; | ||
1825 | rack-cors = { | ||
1826 | platforms = []; | ||
1827 | source = { | ||
1828 | remotes = ["https://rubygems.org"]; | ||
1829 | sha256 = "1j27vy1bmhbqcyzhxg8d07qassmax769xjalfwcwz6qfiq8cf013"; | ||
1830 | type = "gem"; | ||
1831 | }; | ||
1832 | version = "1.0.2"; | ||
1833 | }; | ||
1834 | rack-google-analytics = { | ||
1835 | dependencies = ["actionpack" "activesupport"]; | ||
1836 | platforms = []; | ||
1837 | source = { | ||
1838 | remotes = ["https://rubygems.org"]; | ||
1839 | sha256 = "09pv0z5dhjjrlhi9qj5qy48hi66f7iix337qrapg7mvwwz6czcvj"; | ||
1840 | type = "gem"; | ||
1841 | }; | ||
1842 | version = "1.2.0"; | ||
1843 | }; | ||
1844 | rack-mobile-detect = { | ||
1845 | dependencies = ["rack"]; | ||
1846 | platforms = []; | ||
1847 | source = { | ||
1848 | remotes = ["https://rubygems.org"]; | ||
1849 | sha256 = "0bagli6ldhkpd1yym775sxy7w5n4jds6gbcjm3gmcl37vggvm8a5"; | ||
1850 | type = "gem"; | ||
1851 | }; | ||
1852 | version = "0.4.0"; | ||
1853 | }; | ||
1854 | rack-oauth2 = { | ||
1855 | dependencies = ["activesupport" "attr_required" "httpclient" "json-jwt" "rack"]; | ||
1856 | platforms = []; | ||
1857 | source = { | ||
1858 | remotes = ["https://rubygems.org"]; | ||
1859 | sha256 = "0kmxj9hbjhhcs3yyb433s82hkpmzb536m0mwfadjiaisganx1cii"; | ||
1860 | type = "gem"; | ||
1861 | }; | ||
1862 | version = "1.9.3"; | ||
1863 | }; | ||
1864 | rack-piwik = { | ||
1865 | platforms = []; | ||
1866 | source = { | ||
1867 | remotes = ["https://rubygems.org"]; | ||
1868 | sha256 = "0raxrckapqh693lpid0cnx1j1v2i3mz5cyssg7grgrilgrn9318z"; | ||
1869 | type = "gem"; | ||
1870 | }; | ||
1871 | version = "0.3.0"; | ||
1872 | }; | ||
1873 | rack-protection = { | ||
1874 | dependencies = ["rack"]; | ||
1875 | platforms = []; | ||
1876 | source = { | ||
1877 | remotes = ["https://rubygems.org"]; | ||
1878 | sha256 = "0ylx74ravz7nvnyygq0nk3v86qdzrmqxpwpayhppyy50l72rcajq"; | ||
1879 | type = "gem"; | ||
1880 | }; | ||
1881 | version = "2.0.4"; | ||
1882 | }; | ||
1883 | rack-rewrite = { | ||
1884 | platforms = []; | ||
1885 | source = { | ||
1886 | remotes = ["https://rubygems.org"]; | ||
1887 | sha256 = "0milw71dv96wnc6i48vbzypws51dgf415kkp8c4air0mkdhpj838"; | ||
1888 | type = "gem"; | ||
1889 | }; | ||
1890 | version = "1.5.1"; | ||
1891 | }; | ||
1892 | rack-ssl = { | ||
1893 | dependencies = ["rack"]; | ||
1894 | platforms = []; | ||
1895 | source = { | ||
1896 | remotes = ["https://rubygems.org"]; | ||
1897 | sha256 = "0c21xqkjyl10fngq6dy8082vmn2png8cwkiyzv83ymixq5cx7ygp"; | ||
1898 | type = "gem"; | ||
1899 | }; | ||
1900 | version = "1.4.1"; | ||
1901 | }; | ||
1902 | rack-test = { | ||
1903 | dependencies = ["rack"]; | ||
1904 | platforms = []; | ||
1905 | source = { | ||
1906 | remotes = ["https://rubygems.org"]; | ||
1907 | sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m"; | ||
1908 | type = "gem"; | ||
1909 | }; | ||
1910 | version = "1.1.0"; | ||
1911 | }; | ||
1912 | rails = { | ||
1913 | dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"]; | ||
1914 | platforms = []; | ||
1915 | source = { | ||
1916 | remotes = ["https://rubygems.org"]; | ||
1917 | sha256 = "0lb07cbwgm371zyn9i6fyj9q8rmv89lacmyzrfvzxqqx2n3ilc5q"; | ||
1918 | type = "gem"; | ||
1919 | }; | ||
1920 | version = "5.1.6"; | ||
1921 | }; | ||
1922 | rails-assets-autosize = { | ||
1923 | platforms = []; | ||
1924 | source = { | ||
1925 | remotes = ["https://rails-assets.org"]; | ||
1926 | sha256 = "0hr72mfprb9678lf7dj9lh801lm7p98nzkrnrz764sy9lmbpzcib"; | ||
1927 | type = "gem"; | ||
1928 | }; | ||
1929 | version = "4.0.2"; | ||
1930 | }; | ||
1931 | rails-assets-backbone = { | ||
1932 | dependencies = ["rails-assets-underscore"]; | ||
1933 | platforms = []; | ||
1934 | source = { | ||
1935 | remotes = ["https://rails-assets.org"]; | ||
1936 | sha256 = "0zjgwhgfmg1jyyds7zfjp6g4bz8vw56qvhlrpj943wcqpdxm93id"; | ||
1937 | type = "gem"; | ||
1938 | }; | ||
1939 | version = "1.3.3"; | ||
1940 | }; | ||
1941 | rails-assets-blueimp-gallery = { | ||
1942 | platforms = []; | ||
1943 | source = { | ||
1944 | remotes = ["https://rails-assets.org"]; | ||
1945 | sha256 = "18b7xvvkdnd39xlbkyw46i86w3wzj349s8iv5wdiypa5qdcql8mq"; | ||
1946 | type = "gem"; | ||
1947 | }; | ||
1948 | version = "2.33.0"; | ||
1949 | }; | ||
1950 | rails-assets-bootstrap = { | ||
1951 | dependencies = ["rails-assets-jquery"]; | ||
1952 | platforms = []; | ||
1953 | source = { | ||
1954 | remotes = ["https://rails-assets.org"]; | ||
1955 | sha256 = "0x4i11132qcmghmqb061iq47yksrr7i0la5hzzdm38dxybh87x5v"; | ||
1956 | type = "gem"; | ||
1957 | }; | ||
1958 | version = "3.3.7"; | ||
1959 | }; | ||
1960 | rails-assets-bootstrap-markdown = { | ||
1961 | dependencies = ["rails-assets-bootstrap"]; | ||
1962 | platforms = []; | ||
1963 | source = { | ||
1964 | remotes = ["https://rails-assets.org"]; | ||
1965 | sha256 = "1nxirs9wx5jxrjmxjwvsqlf2rsypjn3ajg7fs28c4ib7wwpabwj3"; | ||
1966 | type = "gem"; | ||
1967 | }; | ||
1968 | version = "2.10.0"; | ||
1969 | }; | ||
1970 | rails-assets-corejs-typeahead = { | ||
1971 | dependencies = ["rails-assets-jquery"]; | ||
1972 | platforms = []; | ||
1973 | source = { | ||
1974 | remotes = ["https://rails-assets.org"]; | ||
1975 | sha256 = "1p5i6afd156rakrin99c2ryaz3zykx21ir6y10l34jnw03rikcfg"; | ||
1976 | type = "gem"; | ||
1977 | }; | ||
1978 | version = "1.2.1"; | ||
1979 | }; | ||
1980 | rails-assets-diaspora_jsxc = { | ||
1981 | dependencies = ["rails-assets-emojione" "rails-assets-favico.js" "rails-assets-jquery-colorbox" "rails-assets-jquery-fullscreen-plugin" "rails-assets-jquery.slimscroll" "rails-assets-jquery.ui"]; | ||
1982 | platforms = []; | ||
1983 | source = { | ||
1984 | remotes = ["https://rails-assets.org"]; | ||
1985 | sha256 = "07vqdj0l8fsj4fd2sschba2jgfbimyfad56009ldzlcvb6ml5nhi"; | ||
1986 | type = "gem"; | ||
1987 | }; | ||
1988 | version = "0.1.5.develop.7"; | ||
1989 | }; | ||
1990 | rails-assets-emojione = { | ||
1991 | platforms = []; | ||
1992 | source = { | ||
1993 | remotes = ["https://rails-assets.org"]; | ||
1994 | sha256 = "1j29vbsf6v9ikiqlmnfgzxys4xsa1glvmfky8id5xfyymnjx2c52"; | ||
1995 | type = "gem"; | ||
1996 | }; | ||
1997 | version = "2.0.1"; | ||
1998 | }; | ||
1999 | "rails-assets-favico.js" = { | ||
2000 | platforms = []; | ||
2001 | source = { | ||
2002 | remotes = ["https://rails-assets.org"]; | ||
2003 | sha256 = "19yndhljmqlvarf49h5v71zq0p0ngvspjr2v0m6lac0q9ni7r5bv"; | ||
2004 | type = "gem"; | ||
2005 | }; | ||
2006 | version = "0.3.10"; | ||
2007 | }; | ||
2008 | rails-assets-fine-uploader = { | ||
2009 | platforms = []; | ||
2010 | source = { | ||
2011 | remotes = ["https://rails-assets.org"]; | ||
2012 | sha256 = "1vxj78x2vvlchpapxpaawysc9wn8alzdd3gxhwfwy11xv8ka9mdv"; | ||
2013 | type = "gem"; | ||
2014 | }; | ||
2015 | version = "5.13.0"; | ||
2016 | }; | ||
2017 | rails-assets-highlightjs = { | ||
2018 | platforms = []; | ||
2019 | source = { | ||
2020 | remotes = ["https://rails-assets.org"]; | ||
2021 | sha256 = "0spmb0gkfs13fmljjv1n53r53q69fhb6r573ndbxnhgb3izqgnqp"; | ||
2022 | type = "gem"; | ||
2023 | }; | ||
2024 | version = "9.12.0"; | ||
2025 | }; | ||
2026 | rails-assets-jasmine = { | ||
2027 | platforms = []; | ||
2028 | source = { | ||
2029 | remotes = ["https://rails-assets.org"]; | ||
2030 | sha256 = "1n6yixrl9cgq5kckay75b44p878s1kqi69mhgyw99w8dsq8i2vy5"; | ||
2031 | type = "gem"; | ||
2032 | }; | ||
2033 | version = "3.3.0"; | ||
2034 | }; | ||
2035 | rails-assets-jasmine-ajax = { | ||
2036 | dependencies = ["rails-assets-jasmine"]; | ||
2037 | platforms = []; | ||
2038 | source = { | ||
2039 | remotes = ["https://rails-assets.org"]; | ||
2040 | sha256 = "0l8z0p75x1yzk1l1ryfvdlvq8yq4w2xngp4icz478axd5jcqx6kg"; | ||
2041 | type = "gem"; | ||
2042 | }; | ||
2043 | version = "3.4.0"; | ||
2044 | }; | ||
2045 | rails-assets-jquery = { | ||
2046 | platforms = []; | ||
2047 | source = { | ||
2048 | remotes = ["https://rails-assets.org"]; | ||
2049 | sha256 = "1wcaappk12w300733lrqb571cir9nw35d9q6d2i52wwdvhv2fx2y"; | ||
2050 | type = "gem"; | ||
2051 | }; | ||
2052 | version = "3.3.1"; | ||
2053 | }; | ||
2054 | rails-assets-jquery-colorbox = { | ||
2055 | dependencies = ["rails-assets-jquery"]; | ||
2056 | platforms = []; | ||
2057 | source = { | ||
2058 | remotes = ["https://rails-assets.org"]; | ||
2059 | sha256 = "19ws3r1zfviwnfr9s0jh6iqss50iwqkf4a78zhrk0p3bb4lvmmsp"; | ||
2060 | type = "gem"; | ||
2061 | }; | ||
2062 | version = "1.6.4"; | ||
2063 | }; | ||
2064 | rails-assets-jquery-fullscreen-plugin = { | ||
2065 | platforms = []; | ||
2066 | source = { | ||
2067 | remotes = ["https://rails-assets.org"]; | ||
2068 | sha256 = "0ldvq4s15lap9p6w7d1yw6dajn2gh6p75dbkp79p0d8ylzapsd58"; | ||
2069 | type = "gem"; | ||
2070 | }; | ||
2071 | version = "0.5.0"; | ||
2072 | }; | ||
2073 | rails-assets-jquery-placeholder = { | ||
2074 | dependencies = ["rails-assets-jquery"]; | ||
2075 | platforms = []; | ||
2076 | source = { | ||
2077 | remotes = ["https://rails-assets.org"]; | ||
2078 | sha256 = "0h17gjazc27pj4cm2ig232ww4d4ppq9bcginwzjss95pl63richi"; | ||
2079 | type = "gem"; | ||
2080 | }; | ||
2081 | version = "2.3.1"; | ||
2082 | }; | ||
2083 | rails-assets-jquery-textchange = { | ||
2084 | dependencies = ["rails-assets-jquery"]; | ||
2085 | platforms = []; | ||
2086 | source = { | ||
2087 | remotes = ["https://rails-assets.org"]; | ||
2088 | sha256 = "0rsw3cn9a5njv80zy53339kmrmv60b8fqcrr7bacapbagb2rd4dj"; | ||
2089 | type = "gem"; | ||
2090 | }; | ||
2091 | version = "0.2.3"; | ||
2092 | }; | ||
2093 | "rails-assets-jquery.are-you-sure" = { | ||
2094 | dependencies = ["rails-assets-jquery"]; | ||
2095 | platforms = []; | ||
2096 | source = { | ||
2097 | remotes = ["https://rails-assets.org"]; | ||
2098 | sha256 = "0nj04aqh9jpcg57xbjxpm2vn7mkd5clnpma907515a1nxy40bym0"; | ||
2099 | type = "gem"; | ||
2100 | }; | ||
2101 | version = "1.9.0"; | ||
2102 | }; | ||
2103 | "rails-assets-jquery.slimscroll" = { | ||
2104 | platforms = []; | ||
2105 | source = { | ||
2106 | remotes = ["https://rails-assets.org"]; | ||
2107 | sha256 = "1rymmd2rxy1vjjj70v88abmdlfs55276rs3rksj300dgirnnj998"; | ||
2108 | type = "gem"; | ||
2109 | }; | ||
2110 | version = "1.3.8"; | ||
2111 | }; | ||
2112 | "rails-assets-jquery.ui" = { | ||
2113 | dependencies = ["rails-assets-jquery"]; | ||
2114 | platforms = []; | ||
2115 | source = { | ||
2116 | remotes = ["https://rails-assets.org"]; | ||
2117 | sha256 = "0xc9kfb29hi441irj49b7aawxkddk1dxzy938rpqv9ylpsj7knaa"; | ||
2118 | type = "gem"; | ||
2119 | }; | ||
2120 | version = "1.11.4"; | ||
2121 | }; | ||
2122 | rails-assets-markdown-it = { | ||
2123 | platforms = []; | ||
2124 | source = { | ||
2125 | remotes = ["https://rails-assets.org"]; | ||
2126 | sha256 = "0fxx7ldszsdqr5ry21bnxmv33byz7abpk9lcp100q5cqsjx091r9"; | ||
2127 | type = "gem"; | ||
2128 | }; | ||
2129 | version = "8.4.2"; | ||
2130 | }; | ||
2131 | rails-assets-markdown-it--markdown-it-for-inline = { | ||
2132 | platforms = []; | ||
2133 | source = { | ||
2134 | remotes = ["https://rails-assets.org"]; | ||
2135 | sha256 = "0fznv2x7ndadr3wb4dzhh86bpcpwz8f4d8rfhz4sfbqlai40j3jl"; | ||
2136 | type = "gem"; | ||
2137 | }; | ||
2138 | version = "0.1.1"; | ||
2139 | }; | ||
2140 | rails-assets-markdown-it-diaspora-mention = { | ||
2141 | platforms = []; | ||
2142 | source = { | ||
2143 | remotes = ["https://rails-assets.org"]; | ||
2144 | sha256 = "0asggm7wgmdll8x94291p2w6icmp2izi914dlh3b7vb7dpjq3jig"; | ||
2145 | type = "gem"; | ||
2146 | }; | ||
2147 | version = "1.2.0"; | ||
2148 | }; | ||
2149 | rails-assets-markdown-it-hashtag = { | ||
2150 | platforms = []; | ||
2151 | source = { | ||
2152 | remotes = ["https://rails-assets.org"]; | ||
2153 | sha256 = "0dr8fwaxgkfqm7z4rl4jdym0i1ycqw1sgkxshkd9k0849ry12cdk"; | ||
2154 | type = "gem"; | ||
2155 | }; | ||
2156 | version = "0.4.0"; | ||
2157 | }; | ||
2158 | rails-assets-markdown-it-sanitizer = { | ||
2159 | platforms = []; | ||
2160 | source = { | ||
2161 | remotes = ["https://rails-assets.org"]; | ||
2162 | sha256 = "0fkpffh83fc257zkzaia93j4hw2baz90lg10s5yxsxww06q5dn36"; | ||
2163 | type = "gem"; | ||
2164 | }; | ||
2165 | version = "0.4.3"; | ||
2166 | }; | ||
2167 | rails-assets-markdown-it-sub = { | ||
2168 | platforms = []; | ||
2169 | source = { | ||
2170 | remotes = ["https://rails-assets.org"]; | ||
2171 | sha256 = "08hjij5fqvhvg7s27n4g8qqsks974g3kc5k7xl2qmh41k7f4hcrk"; | ||
2172 | type = "gem"; | ||
2173 | }; | ||
2174 | version = "1.0.0"; | ||
2175 | }; | ||
2176 | rails-assets-markdown-it-sup = { | ||
2177 | platforms = []; | ||
2178 | source = { | ||
2179 | remotes = ["https://rails-assets.org"]; | ||
2180 | sha256 = "17nnnvky7zy0yiwwl6dm8ibbkyvvf63xfp3snch4dzmras05lmig"; | ||
2181 | type = "gem"; | ||
2182 | }; | ||
2183 | version = "1.0.0"; | ||
2184 | }; | ||
2185 | rails-assets-underscore = { | ||
2186 | platforms = []; | ||
2187 | source = { | ||
2188 | remotes = ["https://rails-assets.org"]; | ||
2189 | sha256 = "1ccnzj7aqrvngcs915y290pijryqmjygimdwlrykpyj8vwzifdnc"; | ||
2190 | type = "gem"; | ||
2191 | }; | ||
2192 | version = "1.9.1"; | ||
2193 | }; | ||
2194 | rails-assets-utatti-perfect-scrollbar = { | ||
2195 | platforms = []; | ||
2196 | source = { | ||
2197 | remotes = ["https://rails-assets.org"]; | ||
2198 | sha256 = "0m8syfv8p5bnwm8nrba6mpjnhrd29ffwzi6awhiw537jqw42b12v"; | ||
2199 | type = "gem"; | ||
2200 | }; | ||
2201 | version = "1.4.0"; | ||
2202 | }; | ||
2203 | rails-controller-testing = { | ||
2204 | dependencies = ["actionpack" "actionview" "activesupport"]; | ||
2205 | platforms = []; | ||
2206 | source = { | ||
2207 | remotes = ["https://rubygems.org"]; | ||
2208 | sha256 = "16kdkk73mhhs73iz3i1i0ryjm84dadiyh817b3nh8acdi490jyhy"; | ||
2209 | type = "gem"; | ||
2210 | }; | ||
2211 | version = "1.0.2"; | ||
2212 | }; | ||
2213 | rails-dom-testing = { | ||
2214 | dependencies = ["activesupport" "nokogiri"]; | ||
2215 | platforms = []; | ||
2216 | source = { | ||
2217 | remotes = ["https://rubygems.org"]; | ||
2218 | sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i"; | ||
2219 | type = "gem"; | ||
2220 | }; | ||
2221 | version = "2.0.3"; | ||
2222 | }; | ||
2223 | rails-html-sanitizer = { | ||
2224 | dependencies = ["loofah"]; | ||
2225 | platforms = []; | ||
2226 | source = { | ||
2227 | remotes = ["https://rubygems.org"]; | ||
2228 | sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr"; | ||
2229 | type = "gem"; | ||
2230 | }; | ||
2231 | version = "1.0.4"; | ||
2232 | }; | ||
2233 | rails-i18n = { | ||
2234 | dependencies = ["i18n" "railties"]; | ||
2235 | platforms = []; | ||
2236 | source = { | ||
2237 | remotes = ["https://rubygems.org"]; | ||
2238 | sha256 = "05lkhc737a9dw0hd5ljmja0yp4cw39r3200s1r0n4bs7z1g3ka7l"; | ||
2239 | type = "gem"; | ||
2240 | }; | ||
2241 | version = "5.1.2"; | ||
2242 | }; | ||
2243 | rails-timeago = { | ||
2244 | dependencies = ["actionpack" "activesupport"]; | ||
2245 | platforms = []; | ||
2246 | source = { | ||
2247 | remotes = ["https://rubygems.org"]; | ||
2248 | sha256 = "01x1vs9hni9wn8dc4fmyqzkrn651chzsi2mhmk0pxdrfx9md0lxv"; | ||
2249 | type = "gem"; | ||
2250 | }; | ||
2251 | version = "2.16.0"; | ||
2252 | }; | ||
2253 | railties = { | ||
2254 | dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; | ||
2255 | platforms = []; | ||
2256 | source = { | ||
2257 | remotes = ["https://rubygems.org"]; | ||
2258 | sha256 = "0ycy2gdaj0px1vfaghskvl6qkczwaigrli2zxn54w7zn1z29faj8"; | ||
2259 | type = "gem"; | ||
2260 | }; | ||
2261 | version = "5.1.6"; | ||
2262 | }; | ||
2263 | rainbow = { | ||
2264 | dependencies = ["rake"]; | ||
2265 | platforms = []; | ||
2266 | source = { | ||
2267 | remotes = ["https://rubygems.org"]; | ||
2268 | sha256 = "08w2ghc5nv0kcq5b257h7dwjzjz1pqcavajfdx2xjyxqsvh2y34w"; | ||
2269 | type = "gem"; | ||
2270 | }; | ||
2271 | version = "2.2.2"; | ||
2272 | }; | ||
2273 | raindrops = { | ||
2274 | platforms = []; | ||
2275 | source = { | ||
2276 | remotes = ["https://rubygems.org"]; | ||
2277 | sha256 = "1qpbd9jif40c53fz2r0l8khfl016y8s8bkx37ibcaafclbl3xygp"; | ||
2278 | type = "gem"; | ||
2279 | }; | ||
2280 | version = "0.19.0"; | ||
2281 | }; | ||
2282 | rake = { | ||
2283 | platforms = []; | ||
2284 | source = { | ||
2285 | remotes = ["https://rubygems.org"]; | ||
2286 | sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg"; | ||
2287 | type = "gem"; | ||
2288 | }; | ||
2289 | version = "12.3.1"; | ||
2290 | }; | ||
2291 | rb-fsevent = { | ||
2292 | platforms = []; | ||
2293 | source = { | ||
2294 | remotes = ["https://rubygems.org"]; | ||
2295 | sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; | ||
2296 | type = "gem"; | ||
2297 | }; | ||
2298 | version = "0.10.3"; | ||
2299 | }; | ||
2300 | rb-inotify = { | ||
2301 | dependencies = ["ffi"]; | ||
2302 | platforms = []; | ||
2303 | source = { | ||
2304 | remotes = ["https://rubygems.org"]; | ||
2305 | sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71"; | ||
2306 | type = "gem"; | ||
2307 | }; | ||
2308 | version = "0.9.10"; | ||
2309 | }; | ||
2310 | redcarpet = { | ||
2311 | platforms = []; | ||
2312 | source = { | ||
2313 | remotes = ["https://rubygems.org"]; | ||
2314 | sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7"; | ||
2315 | type = "gem"; | ||
2316 | }; | ||
2317 | version = "3.4.0"; | ||
2318 | }; | ||
2319 | redis = { | ||
2320 | platforms = []; | ||
2321 | source = { | ||
2322 | remotes = ["https://rubygems.org"]; | ||
2323 | sha256 = "0i415x8gi0c5vsiy6ikvx5js6fhc4x80a5lqv8iidy2iymd20irv"; | ||
2324 | type = "gem"; | ||
2325 | }; | ||
2326 | version = "3.3.5"; | ||
2327 | }; | ||
2328 | regexp_parser = { | ||
2329 | platforms = []; | ||
2330 | source = { | ||
2331 | remotes = ["https://rubygems.org"]; | ||
2332 | sha256 = "18g5jyg3blsdrz3mc8d87bms6qqn6gcdh1nvdhvgbjdpk9pw21dq"; | ||
2333 | type = "gem"; | ||
2334 | }; | ||
2335 | version = "1.3.0"; | ||
2336 | }; | ||
2337 | request_store = { | ||
2338 | dependencies = ["rack"]; | ||
2339 | platforms = []; | ||
2340 | source = { | ||
2341 | remotes = ["https://rubygems.org"]; | ||
2342 | sha256 = "1963330z03fk382fi8y231ygcbnh86m91dqlp5rh1mwy9ihzzl6d"; | ||
2343 | type = "gem"; | ||
2344 | }; | ||
2345 | version = "1.4.1"; | ||
2346 | }; | ||
2347 | responders = { | ||
2348 | dependencies = ["actionpack" "railties"]; | ||
2349 | platforms = []; | ||
2350 | source = { | ||
2351 | remotes = ["https://rubygems.org"]; | ||
2352 | sha256 = "1rhdyyvvm26f2l3fgwdp6xasfl2y0whwgy766bhdwz697mf78zfn"; | ||
2353 | type = "gem"; | ||
2354 | }; | ||
2355 | version = "2.4.0"; | ||
2356 | }; | ||
2357 | rspec = { | ||
2358 | dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; | ||
2359 | platforms = []; | ||
2360 | source = { | ||
2361 | remotes = ["https://rubygems.org"]; | ||
2362 | sha256 = "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3"; | ||
2363 | type = "gem"; | ||
2364 | }; | ||
2365 | version = "3.8.0"; | ||
2366 | }; | ||
2367 | rspec-core = { | ||
2368 | dependencies = ["rspec-support"]; | ||
2369 | platforms = []; | ||
2370 | source = { | ||
2371 | remotes = ["https://rubygems.org"]; | ||
2372 | sha256 = "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p"; | ||
2373 | type = "gem"; | ||
2374 | }; | ||
2375 | version = "3.8.0"; | ||
2376 | }; | ||
2377 | rspec-expectations = { | ||
2378 | dependencies = ["diff-lcs" "rspec-support"]; | ||
2379 | platforms = []; | ||
2380 | source = { | ||
2381 | remotes = ["https://rubygems.org"]; | ||
2382 | sha256 = "18l21hy1zdc2pgc2yb17k3n2al1khpfr0z6pijlm852iz6vj0dkm"; | ||
2383 | type = "gem"; | ||
2384 | }; | ||
2385 | version = "3.8.2"; | ||
2386 | }; | ||
2387 | rspec-json_expectations = { | ||
2388 | platforms = []; | ||
2389 | source = { | ||
2390 | remotes = ["https://rubygems.org"]; | ||
2391 | sha256 = "0l3dhvkb95zwyg72wz33azxigc9cisqgg3z16ksns1sx0b93nnbn"; | ||
2392 | type = "gem"; | ||
2393 | }; | ||
2394 | version = "2.1.0"; | ||
2395 | }; | ||
2396 | rspec-mocks = { | ||
2397 | dependencies = ["diff-lcs" "rspec-support"]; | ||
2398 | platforms = []; | ||
2399 | source = { | ||
2400 | remotes = ["https://rubygems.org"]; | ||
2401 | sha256 = "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp"; | ||
2402 | type = "gem"; | ||
2403 | }; | ||
2404 | version = "3.8.0"; | ||
2405 | }; | ||
2406 | rspec-rails = { | ||
2407 | dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; | ||
2408 | platforms = []; | ||
2409 | source = { | ||
2410 | remotes = ["https://rubygems.org"]; | ||
2411 | sha256 = "0sqj5da2kc937j5jb18jcf0hrmmzwgj7pk62j0q3qndhc2kvx88p"; | ||
2412 | type = "gem"; | ||
2413 | }; | ||
2414 | version = "3.8.1"; | ||
2415 | }; | ||
2416 | rspec-support = { | ||
2417 | platforms = []; | ||
2418 | source = { | ||
2419 | remotes = ["https://rubygems.org"]; | ||
2420 | sha256 = "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609"; | ||
2421 | type = "gem"; | ||
2422 | }; | ||
2423 | version = "3.8.0"; | ||
2424 | }; | ||
2425 | rubocop = { | ||
2426 | dependencies = ["jaro_winkler" "parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"]; | ||
2427 | platforms = []; | ||
2428 | source = { | ||
2429 | remotes = ["https://rubygems.org"]; | ||
2430 | sha256 = "1ivk049z3mp12nc6v1wn35bsq1g7nz1i2r4xwzqf0v25hm2v7n1i"; | ||
2431 | type = "gem"; | ||
2432 | }; | ||
2433 | version = "0.60.0"; | ||
2434 | }; | ||
2435 | ruby-oembed = { | ||
2436 | platforms = []; | ||
2437 | source = { | ||
2438 | remotes = ["https://rubygems.org"]; | ||
2439 | sha256 = "1kw4aplb3m13z3kchhb79wf87qb3prn1m99s6vl5cyp0xqwyymv0"; | ||
2440 | type = "gem"; | ||
2441 | }; | ||
2442 | version = "0.12.0"; | ||
2443 | }; | ||
2444 | ruby-progressbar = { | ||
2445 | platforms = []; | ||
2446 | source = { | ||
2447 | remotes = ["https://rubygems.org"]; | ||
2448 | sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk"; | ||
2449 | type = "gem"; | ||
2450 | }; | ||
2451 | version = "1.10.0"; | ||
2452 | }; | ||
2453 | ruby_dep = { | ||
2454 | platforms = []; | ||
2455 | source = { | ||
2456 | remotes = ["https://rubygems.org"]; | ||
2457 | sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5"; | ||
2458 | type = "gem"; | ||
2459 | }; | ||
2460 | version = "1.5.0"; | ||
2461 | }; | ||
2462 | rubyzip = { | ||
2463 | platforms = []; | ||
2464 | source = { | ||
2465 | remotes = ["https://rubygems.org"]; | ||
2466 | sha256 = "1n1lb2sdwh9h27y244hxzg1lrxxg2m53pk1vq7p33bna003qkyrj"; | ||
2467 | type = "gem"; | ||
2468 | }; | ||
2469 | version = "1.2.2"; | ||
2470 | }; | ||
2471 | rugged = { | ||
2472 | platforms = []; | ||
2473 | source = { | ||
2474 | remotes = ["https://rubygems.org"]; | ||
2475 | sha256 = "1jv4nw9hvlxp8hhhlllrfcznki82i50fp1sj65zsjllfl2bvz8x6"; | ||
2476 | type = "gem"; | ||
2477 | }; | ||
2478 | version = "0.27.5"; | ||
2479 | }; | ||
2480 | safe_yaml = { | ||
2481 | platforms = []; | ||
2482 | source = { | ||
2483 | remotes = ["https://rubygems.org"]; | ||
2484 | sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; | ||
2485 | type = "gem"; | ||
2486 | }; | ||
2487 | version = "1.0.4"; | ||
2488 | }; | ||
2489 | sass = { | ||
2490 | platforms = []; | ||
2491 | source = { | ||
2492 | remotes = ["https://rubygems.org"]; | ||
2493 | sha256 = "0kfpcwh8dgw4lc81qglkvjl73689jy3g7196zkxm4fpskg1p5lkw"; | ||
2494 | type = "gem"; | ||
2495 | }; | ||
2496 | version = "3.4.25"; | ||
2497 | }; | ||
2498 | sass-rails = { | ||
2499 | dependencies = ["railties" "sass" "sprockets" "sprockets-rails" "tilt"]; | ||
2500 | platforms = []; | ||
2501 | source = { | ||
2502 | remotes = ["https://rubygems.org"]; | ||
2503 | sha256 = "1wa63sbsimrsf7nfm8h0m1wbsllkfxvd7naph5d1j6pbc555ma7s"; | ||
2504 | type = "gem"; | ||
2505 | }; | ||
2506 | version = "5.0.7"; | ||
2507 | }; | ||
2508 | sawyer = { | ||
2509 | dependencies = ["addressable" "faraday"]; | ||
2510 | platforms = []; | ||
2511 | source = { | ||
2512 | remotes = ["https://rubygems.org"]; | ||
2513 | sha256 = "0sv1463r7bqzvx4drqdmd36m7rrv6sf1v3c6vswpnq3k6vdw2dvd"; | ||
2514 | type = "gem"; | ||
2515 | }; | ||
2516 | version = "0.8.1"; | ||
2517 | }; | ||
2518 | scss_lint = { | ||
2519 | dependencies = ["rake" "sass"]; | ||
2520 | platforms = []; | ||
2521 | source = { | ||
2522 | remotes = ["https://rubygems.org"]; | ||
2523 | sha256 = "11rl8kj32p34mqlkhxvlwfrwl8gdl0iha8q9xsrr3sjxjagzv8yp"; | ||
2524 | type = "gem"; | ||
2525 | }; | ||
2526 | version = "0.55.0"; | ||
2527 | }; | ||
2528 | secure_headers = { | ||
2529 | platforms = []; | ||
2530 | source = { | ||
2531 | remotes = ["https://rubygems.org"]; | ||
2532 | sha256 = "17cxci8jyvlgssix0cy7kbm5m2h7s8ym9caj8nilrbd21jis9pc5"; | ||
2533 | type = "gem"; | ||
2534 | }; | ||
2535 | version = "6.0.0"; | ||
2536 | }; | ||
2537 | shellany = { | ||
2538 | platforms = []; | ||
2539 | source = { | ||
2540 | remotes = ["https://rubygems.org"]; | ||
2541 | sha256 = "1ryyzrj1kxmnpdzhlv4ys3dnl2r5r3d2rs2jwzbnd1v96a8pl4hf"; | ||
2542 | type = "gem"; | ||
2543 | }; | ||
2544 | version = "0.0.1"; | ||
2545 | }; | ||
2546 | shoulda-matchers = { | ||
2547 | dependencies = ["activesupport"]; | ||
2548 | platforms = []; | ||
2549 | source = { | ||
2550 | remotes = ["https://rubygems.org"]; | ||
2551 | sha256 = "1zvv94pqk5b5my3w1shdz7h34xf2ldhg5k4qfdpbwi2iy0j9zw2a"; | ||
2552 | type = "gem"; | ||
2553 | }; | ||
2554 | version = "3.1.2"; | ||
2555 | }; | ||
2556 | sidekiq = { | ||
2557 | dependencies = ["connection_pool" "rack-protection" "redis"]; | ||
2558 | platforms = []; | ||
2559 | source = { | ||
2560 | remotes = ["https://rubygems.org"]; | ||
2561 | sha256 = "1zyf9y3rvzizbwh68i2g1lzd40lalrdc4iyjmaa74gnfwsf92i26"; | ||
2562 | type = "gem"; | ||
2563 | }; | ||
2564 | version = "5.2.3"; | ||
2565 | }; | ||
2566 | sidekiq-cron = { | ||
2567 | dependencies = ["fugit" "sidekiq"]; | ||
2568 | platforms = []; | ||
2569 | source = { | ||
2570 | remotes = ["https://rubygems.org"]; | ||
2571 | sha256 = "1aliswahmpxn1ib2brn4126gk97ac3zdnwr71mn8vzbr3vdd7fl0"; | ||
2572 | type = "gem"; | ||
2573 | }; | ||
2574 | version = "1.0.4"; | ||
2575 | }; | ||
2576 | simple_captcha2 = { | ||
2577 | dependencies = ["rails"]; | ||
2578 | platforms = []; | ||
2579 | source = { | ||
2580 | remotes = ["https://rubygems.org"]; | ||
2581 | sha256 = "0vdjydym8sjpa8c1q0n2hanj3n9vzi4ycdw2p6bbm6qqmm1f3fq3"; | ||
2582 | type = "gem"; | ||
2583 | }; | ||
2584 | version = "0.4.3"; | ||
2585 | }; | ||
2586 | simple_oauth = { | ||
2587 | platforms = []; | ||
2588 | source = { | ||
2589 | remotes = ["https://rubygems.org"]; | ||
2590 | sha256 = "0dw9ii6m7wckml100xhjc6vxpjcry174lbi9jz5v7ibjr3i94y8l"; | ||
2591 | type = "gem"; | ||
2592 | }; | ||
2593 | version = "0.3.1"; | ||
2594 | }; | ||
2595 | simplecov = { | ||
2596 | dependencies = ["docile" "json" "simplecov-html"]; | ||
2597 | platforms = []; | ||
2598 | source = { | ||
2599 | remotes = ["https://rubygems.org"]; | ||
2600 | sha256 = "1sfyfgf7zrp2n42v7rswkqgk3bbwk1bnsphm24y7laxv3f8z0947"; | ||
2601 | type = "gem"; | ||
2602 | }; | ||
2603 | version = "0.16.1"; | ||
2604 | }; | ||
2605 | simplecov-html = { | ||
2606 | platforms = []; | ||
2607 | source = { | ||
2608 | remotes = ["https://rubygems.org"]; | ||
2609 | sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn"; | ||
2610 | type = "gem"; | ||
2611 | }; | ||
2612 | version = "0.10.2"; | ||
2613 | }; | ||
2614 | sinon-rails = { | ||
2615 | dependencies = ["railties"]; | ||
2616 | platforms = []; | ||
2617 | source = { | ||
2618 | remotes = ["https://rubygems.org"]; | ||
2619 | sha256 = "1b7996hb8vfky29b0zcql90x8i6vhdg2zy9nfzmhh820gjv3kggb"; | ||
2620 | type = "gem"; | ||
2621 | }; | ||
2622 | version = "1.15.0"; | ||
2623 | }; | ||
2624 | spring = { | ||
2625 | dependencies = ["activesupport"]; | ||
2626 | platforms = []; | ||
2627 | source = { | ||
2628 | remotes = ["https://rubygems.org"]; | ||
2629 | sha256 = "168yz9c1fv21wc5i8q7n43b9nk33ivg3ws1fn6x0afgryz3ssx75"; | ||
2630 | type = "gem"; | ||
2631 | }; | ||
2632 | version = "2.0.2"; | ||
2633 | }; | ||
2634 | spring-commands-cucumber = { | ||
2635 | dependencies = ["spring"]; | ||
2636 | platforms = []; | ||
2637 | source = { | ||
2638 | remotes = ["https://rubygems.org"]; | ||
2639 | sha256 = "0mw81gvms2svn4k4pc6ly7smkmf0j9r2xbf0d38vygbyhiwd1c9a"; | ||
2640 | type = "gem"; | ||
2641 | }; | ||
2642 | version = "1.0.1"; | ||
2643 | }; | ||
2644 | spring-commands-rspec = { | ||
2645 | dependencies = ["spring"]; | ||
2646 | platforms = []; | ||
2647 | source = { | ||
2648 | remotes = ["https://rubygems.org"]; | ||
2649 | sha256 = "0b0svpq3md1pjz5drpa5pxwg8nk48wrshq8lckim4x3nli7ya0k2"; | ||
2650 | type = "gem"; | ||
2651 | }; | ||
2652 | version = "1.0.4"; | ||
2653 | }; | ||
2654 | sprockets = { | ||
2655 | dependencies = ["concurrent-ruby" "rack"]; | ||
2656 | platforms = []; | ||
2657 | source = { | ||
2658 | remotes = ["https://rubygems.org"]; | ||
2659 | sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay"; | ||
2660 | type = "gem"; | ||
2661 | }; | ||
2662 | version = "3.7.2"; | ||
2663 | }; | ||
2664 | sprockets-rails = { | ||
2665 | dependencies = ["actionpack" "activesupport" "sprockets"]; | ||
2666 | platforms = []; | ||
2667 | source = { | ||
2668 | remotes = ["https://rubygems.org"]; | ||
2669 | sha256 = "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1"; | ||
2670 | type = "gem"; | ||
2671 | }; | ||
2672 | version = "3.2.1"; | ||
2673 | }; | ||
2674 | state_machines = { | ||
2675 | platforms = []; | ||
2676 | source = { | ||
2677 | remotes = ["https://rubygems.org"]; | ||
2678 | sha256 = "00mi16hg3rhkxz4y58s173cbnjlba41y9bfcim90p4ja6yfj9ri3"; | ||
2679 | type = "gem"; | ||
2680 | }; | ||
2681 | version = "0.5.0"; | ||
2682 | }; | ||
2683 | string-direction = { | ||
2684 | platforms = []; | ||
2685 | source = { | ||
2686 | remotes = ["https://rubygems.org"]; | ||
2687 | sha256 = "0iyddwmkj425c6xbn5pmlr2yzwcq4snzlan7rky5b1yp2pvf70jj"; | ||
2688 | type = "gem"; | ||
2689 | }; | ||
2690 | version = "1.2.1"; | ||
2691 | }; | ||
2692 | swd = { | ||
2693 | dependencies = ["activesupport" "attr_required" "httpclient"]; | ||
2694 | platforms = []; | ||
2695 | source = { | ||
2696 | remotes = ["https://rubygems.org"]; | ||
2697 | sha256 = "1s2vjb6f13za7p1iycl2p73d3p202xa6xny9fjrp8ynwsqix7lyd"; | ||
2698 | type = "gem"; | ||
2699 | }; | ||
2700 | version = "1.1.2"; | ||
2701 | }; | ||
2702 | sysexits = { | ||
2703 | platforms = []; | ||
2704 | source = { | ||
2705 | remotes = ["https://rubygems.org"]; | ||
2706 | sha256 = "0qjng6pllznmprzx8vb0zg0c86hdrkyjs615q41s9fjpmv2430jr"; | ||
2707 | type = "gem"; | ||
2708 | }; | ||
2709 | version = "1.2.0"; | ||
2710 | }; | ||
2711 | systemu = { | ||
2712 | platforms = []; | ||
2713 | source = { | ||
2714 | remotes = ["https://rubygems.org"]; | ||
2715 | sha256 = "0gmkbakhfci5wnmbfx5i54f25j9zsvbw858yg3jjhfs5n4ad1xq1"; | ||
2716 | type = "gem"; | ||
2717 | }; | ||
2718 | version = "2.6.5"; | ||
2719 | }; | ||
2720 | temple = { | ||
2721 | platforms = []; | ||
2722 | source = { | ||
2723 | remotes = ["https://rubygems.org"]; | ||
2724 | sha256 = "00nxf610nzi4n1i2lkby43nrnarvl89fcl6lg19406msr0k3ycmq"; | ||
2725 | type = "gem"; | ||
2726 | }; | ||
2727 | version = "0.8.0"; | ||
2728 | }; | ||
2729 | term-ansicolor = { | ||
2730 | dependencies = ["tins"]; | ||
2731 | platforms = []; | ||
2732 | source = { | ||
2733 | remotes = ["https://rubygems.org"]; | ||
2734 | sha256 = "079hbagd9mk0839rkajsdrbzkn992gj8ah2n45qd64v25ml27i6d"; | ||
2735 | type = "gem"; | ||
2736 | }; | ||
2737 | version = "1.7.0"; | ||
2738 | }; | ||
2739 | terminal-table = { | ||
2740 | dependencies = ["unicode-display_width"]; | ||
2741 | platforms = []; | ||
2742 | source = { | ||
2743 | remotes = ["https://rubygems.org"]; | ||
2744 | sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk"; | ||
2745 | type = "gem"; | ||
2746 | }; | ||
2747 | version = "1.8.0"; | ||
2748 | }; | ||
2749 | thor = { | ||
2750 | platforms = []; | ||
2751 | source = { | ||
2752 | remotes = ["https://rubygems.org"]; | ||
2753 | sha256 = "01n5dv9kql60m6a00zc0r66jvaxx98qhdny3klyj0p3w34pad2ns"; | ||
2754 | type = "gem"; | ||
2755 | }; | ||
2756 | version = "0.19.4"; | ||
2757 | }; | ||
2758 | thread_safe = { | ||
2759 | platforms = []; | ||
2760 | source = { | ||
2761 | remotes = ["https://rubygems.org"]; | ||
2762 | sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; | ||
2763 | type = "gem"; | ||
2764 | }; | ||
2765 | version = "0.3.6"; | ||
2766 | }; | ||
2767 | tilt = { | ||
2768 | platforms = []; | ||
2769 | source = { | ||
2770 | remotes = ["https://rubygems.org"]; | ||
2771 | sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra"; | ||
2772 | type = "gem"; | ||
2773 | }; | ||
2774 | version = "2.0.8"; | ||
2775 | }; | ||
2776 | timecop = { | ||
2777 | platforms = []; | ||
2778 | source = { | ||
2779 | remotes = ["https://rubygems.org"]; | ||
2780 | sha256 = "0d7mm786180v4kzvn1f77rhfppsg5n0sq2bdx63x9nv114zm8jrp"; | ||
2781 | type = "gem"; | ||
2782 | }; | ||
2783 | version = "0.9.1"; | ||
2784 | }; | ||
2785 | timers = { | ||
2786 | platforms = []; | ||
2787 | source = { | ||
2788 | remotes = ["https://rubygems.org"]; | ||
2789 | sha256 = "04zbs9wyzajn7g9xfgg2zqz5kzf0qa7jgh4hgry4pfcxfmlnwdwx"; | ||
2790 | type = "gem"; | ||
2791 | }; | ||
2792 | version = "4.2.0"; | ||
2793 | }; | ||
2794 | tins = { | ||
2795 | platforms = []; | ||
2796 | source = { | ||
2797 | remotes = ["https://rubygems.org"]; | ||
2798 | sha256 = "1pqj45n216zrz7yckdbdknlmhh187iqzx8fp76y2h0jrgqjfkxmj"; | ||
2799 | type = "gem"; | ||
2800 | }; | ||
2801 | version = "1.20.2"; | ||
2802 | }; | ||
2803 | to_regexp = { | ||
2804 | platforms = []; | ||
2805 | source = { | ||
2806 | remotes = ["https://rubygems.org"]; | ||
2807 | sha256 = "1rgabfhnql6l4fx09mmj5d0vza924iczqf2blmn82l782b6qqi9v"; | ||
2808 | type = "gem"; | ||
2809 | }; | ||
2810 | version = "0.2.1"; | ||
2811 | }; | ||
2812 | turbo_dev_assets = { | ||
2813 | platforms = []; | ||
2814 | source = { | ||
2815 | remotes = ["https://rubygems.org"]; | ||
2816 | sha256 = "08yp7gpishjfj8b7d61hxs677288ycv6yg78a7hfzn631gxczipx"; | ||
2817 | type = "gem"; | ||
2818 | }; | ||
2819 | version = "0.0.2"; | ||
2820 | }; | ||
2821 | twitter = { | ||
2822 | dependencies = ["addressable" "buftok" "equalizer" "http" "http-form_data" "http_parser.rb" "memoizable" "multipart-post" "naught" "simple_oauth"]; | ||
2823 | platforms = []; | ||
2824 | source = { | ||
2825 | remotes = ["https://rubygems.org"]; | ||
2826 | sha256 = "0fjyz3viabz3xs5d9aad18zgdbhfwm51jsnzigc8kxk77p1x58n5"; | ||
2827 | type = "gem"; | ||
2828 | }; | ||
2829 | version = "6.2.0"; | ||
2830 | }; | ||
2831 | twitter-text = { | ||
2832 | dependencies = ["unf"]; | ||
2833 | platforms = []; | ||
2834 | source = { | ||
2835 | remotes = ["https://rubygems.org"]; | ||
2836 | sha256 = "1732h7hy1k152w8wfvjsx7b79alk45i5imwd37ia4qcx8hfm3gvg"; | ||
2837 | type = "gem"; | ||
2838 | }; | ||
2839 | version = "1.14.7"; | ||
2840 | }; | ||
2841 | typhoeus = { | ||
2842 | dependencies = ["ethon"]; | ||
2843 | platforms = []; | ||
2844 | source = { | ||
2845 | remotes = ["https://rubygems.org"]; | ||
2846 | sha256 = "0cni8b1idcp0dk8kybmxydadhfpaj3lbs99w5kjibv8bsmip2zi5"; | ||
2847 | type = "gem"; | ||
2848 | }; | ||
2849 | version = "1.3.1"; | ||
2850 | }; | ||
2851 | tzinfo = { | ||
2852 | dependencies = ["thread_safe"]; | ||
2853 | platforms = []; | ||
2854 | source = { | ||
2855 | remotes = ["https://rubygems.org"]; | ||
2856 | sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z"; | ||
2857 | type = "gem"; | ||
2858 | }; | ||
2859 | version = "1.2.5"; | ||
2860 | }; | ||
2861 | uglifier = { | ||
2862 | dependencies = ["execjs"]; | ||
2863 | platforms = []; | ||
2864 | source = { | ||
2865 | remotes = ["https://rubygems.org"]; | ||
2866 | sha256 = "1g203kly5wp4qlkc7371skyvyin6iinc8i0p5wrpiqgblqxxgcf1"; | ||
2867 | type = "gem"; | ||
2868 | }; | ||
2869 | version = "4.1.19"; | ||
2870 | }; | ||
2871 | unf = { | ||
2872 | dependencies = ["unf_ext"]; | ||
2873 | platforms = []; | ||
2874 | source = { | ||
2875 | remotes = ["https://rubygems.org"]; | ||
2876 | sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; | ||
2877 | type = "gem"; | ||
2878 | }; | ||
2879 | version = "0.1.4"; | ||
2880 | }; | ||
2881 | unf_ext = { | ||
2882 | platforms = []; | ||
2883 | source = { | ||
2884 | remotes = ["https://rubygems.org"]; | ||
2885 | sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1"; | ||
2886 | type = "gem"; | ||
2887 | }; | ||
2888 | version = "0.0.7.5"; | ||
2889 | }; | ||
2890 | unicode-display_width = { | ||
2891 | platforms = []; | ||
2892 | source = { | ||
2893 | remotes = ["https://rubygems.org"]; | ||
2894 | sha256 = "0040bsdpcmvp8w31lqi2s9s4p4h031zv52401qidmh25cgyh4a57"; | ||
2895 | type = "gem"; | ||
2896 | }; | ||
2897 | version = "1.4.0"; | ||
2898 | }; | ||
2899 | unicorn = { | ||
2900 | dependencies = ["kgio" "raindrops"]; | ||
2901 | platforms = []; | ||
2902 | source = { | ||
2903 | remotes = ["https://rubygems.org"]; | ||
2904 | sha256 = "1qfhvzs4i6ja1s43j8p1kfbzm10n7a02ngki30a38y5m46a2qrak"; | ||
2905 | type = "gem"; | ||
2906 | }; | ||
2907 | version = "5.4.1"; | ||
2908 | }; | ||
2909 | unicorn-worker-killer = { | ||
2910 | dependencies = ["get_process_mem" "unicorn"]; | ||
2911 | platforms = []; | ||
2912 | source = { | ||
2913 | remotes = ["https://rubygems.org"]; | ||
2914 | sha256 = "0rrdxpwdsapx47axjin8ymxb4f685qlpx8a26bql4ay1559c3gva"; | ||
2915 | type = "gem"; | ||
2916 | }; | ||
2917 | version = "0.4.4"; | ||
2918 | }; | ||
2919 | uuid = { | ||
2920 | dependencies = ["macaddr"]; | ||
2921 | platforms = []; | ||
2922 | source = { | ||
2923 | remotes = ["https://rubygems.org"]; | ||
2924 | sha256 = "1mr405vg4ccnndkyf7pb49gp1fha8i6gj7iwq43nxkak41cwzh5f"; | ||
2925 | type = "gem"; | ||
2926 | }; | ||
2927 | version = "2.3.9"; | ||
2928 | }; | ||
2929 | valid = { | ||
2930 | platforms = []; | ||
2931 | source = { | ||
2932 | remotes = ["https://rubygems.org"]; | ||
2933 | sha256 = "0vxrgik9gxyh5j2w16nz5azjk0cbzmvv883hq9pvxm9anfbbj8d3"; | ||
2934 | type = "gem"; | ||
2935 | }; | ||
2936 | version = "1.2.0"; | ||
2937 | }; | ||
2938 | validate_email = { | ||
2939 | dependencies = ["activemodel" "mail"]; | ||
2940 | platforms = []; | ||
2941 | source = { | ||
2942 | remotes = ["https://rubygems.org"]; | ||
2943 | sha256 = "1r1fz29l699arka177c9xw7409d1a3ff95bf7a6pmc97slb91zlx"; | ||
2944 | type = "gem"; | ||
2945 | }; | ||
2946 | version = "0.1.6"; | ||
2947 | }; | ||
2948 | validate_url = { | ||
2949 | dependencies = ["activemodel" "addressable"]; | ||
2950 | platforms = []; | ||
2951 | source = { | ||
2952 | remotes = ["https://rubygems.org"]; | ||
2953 | sha256 = "1df4gch8dizimpbl185vfgw95yb8ffr6zwj6whzbxfil95c3f2qh"; | ||
2954 | type = "gem"; | ||
2955 | }; | ||
2956 | version = "1.0.2"; | ||
2957 | }; | ||
2958 | versionist = { | ||
2959 | dependencies = ["activesupport" "railties" "yard"]; | ||
2960 | platforms = []; | ||
2961 | source = { | ||
2962 | remotes = ["https://rubygems.org"]; | ||
2963 | sha256 = "1p8wizg6jml7gz1qiqk7d77hy0w5650g812jhgd0zzkwwdmzm38m"; | ||
2964 | type = "gem"; | ||
2965 | }; | ||
2966 | version = "1.7.0"; | ||
2967 | }; | ||
2968 | warden = { | ||
2969 | dependencies = ["rack"]; | ||
2970 | platforms = []; | ||
2971 | source = { | ||
2972 | remotes = ["https://rubygems.org"]; | ||
2973 | sha256 = "1fr9n9i9r82xb6i61fdw4xgc7zjv7fsdrr4k0njchy87iw9fl454"; | ||
2974 | type = "gem"; | ||
2975 | }; | ||
2976 | version = "1.2.8"; | ||
2977 | }; | ||
2978 | webfinger = { | ||
2979 | dependencies = ["activesupport" "httpclient"]; | ||
2980 | platforms = []; | ||
2981 | source = { | ||
2982 | remotes = ["https://rubygems.org"]; | ||
2983 | sha256 = "0m0jh8k7c0ifh2jhbn7ihqrmn5fi754wflva97zgy70hpdvxyjar"; | ||
2984 | type = "gem"; | ||
2985 | }; | ||
2986 | version = "1.1.0"; | ||
2987 | }; | ||
2988 | webmock = { | ||
2989 | dependencies = ["addressable" "crack" "hashdiff"]; | ||
2990 | platforms = []; | ||
2991 | source = { | ||
2992 | remotes = ["https://rubygems.org"]; | ||
2993 | sha256 = "03994dxs4xayvkxqp01dd1ivhg4xxx7z35f7cxw7y2mwj3xn24ib"; | ||
2994 | type = "gem"; | ||
2995 | }; | ||
2996 | version = "3.4.2"; | ||
2997 | }; | ||
2998 | websocket-driver = { | ||
2999 | dependencies = ["websocket-extensions"]; | ||
3000 | platforms = []; | ||
3001 | source = { | ||
3002 | remotes = ["https://rubygems.org"]; | ||
3003 | sha256 = "1943442yllhldh9dbp374x2q39cxa49xrm28nb78b7mfbv3y195l"; | ||
3004 | type = "gem"; | ||
3005 | }; | ||
3006 | version = "0.6.5"; | ||
3007 | }; | ||
3008 | websocket-extensions = { | ||
3009 | platforms = []; | ||
3010 | source = { | ||
3011 | remotes = ["https://rubygems.org"]; | ||
3012 | sha256 = "034sdr7fd34yag5l6y156rkbhiqgmy395m231dwhlpcswhs6d270"; | ||
3013 | type = "gem"; | ||
3014 | }; | ||
3015 | version = "0.1.3"; | ||
3016 | }; | ||
3017 | will_paginate = { | ||
3018 | platforms = []; | ||
3019 | source = { | ||
3020 | remotes = ["https://rubygems.org"]; | ||
3021 | sha256 = "0ihf15yaj8883ddhkxq7q60zrg3zfsvqaf5853gybhcg18zq8bn9"; | ||
3022 | type = "gem"; | ||
3023 | }; | ||
3024 | version = "3.1.6"; | ||
3025 | }; | ||
3026 | xpath = { | ||
3027 | dependencies = ["nokogiri"]; | ||
3028 | platforms = []; | ||
3029 | source = { | ||
3030 | remotes = ["https://rubygems.org"]; | ||
3031 | sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"; | ||
3032 | type = "gem"; | ||
3033 | }; | ||
3034 | version = "3.2.0"; | ||
3035 | }; | ||
3036 | yard = { | ||
3037 | platforms = []; | ||
3038 | source = { | ||
3039 | remotes = ["https://rubygems.org"]; | ||
3040 | sha256 = "0lmmr1839qgbb3zxfa7jf5mzy17yjl1yirwlgzdhws4452gqhn67"; | ||
3041 | type = "gem"; | ||
3042 | }; | ||
3043 | version = "0.9.16"; | ||
3044 | }; | ||
3045 | } | ||
diff --git a/virtual/modules/websites/tools/diaspora/ldap.patch b/virtual/modules/websites/tools/diaspora/ldap.patch deleted file mode 100644 index 3d4f785..0000000 --- a/virtual/modules/websites/tools/diaspora/ldap.patch +++ /dev/null | |||
@@ -1,256 +0,0 @@ | |||
1 | commit 936a14e225037aca4cdeac11c843c7985e636c88 | ||
2 | Author: Ismaël Bouya <ismael.bouya@normalesup.org> | ||
3 | Date: Mon Jul 24 19:58:24 2017 +0200 | ||
4 | |||
5 | Add LDAP to diaspora | ||
6 | |||
7 | diff --git a/Gemfile b/Gemfile | ||
8 | index 414b0138d..2a934e9c9 100644 | ||
9 | --- a/Gemfile | ||
10 | +++ b/Gemfile | ||
11 | @@ -217,6 +217,9 @@ gem "thor", "0.19.1" | ||
12 | |||
13 | # gem "therubyracer", :platform => :ruby | ||
14 | |||
15 | +# LDAP | ||
16 | +gem 'net-ldap', '~> 0.16' | ||
17 | + | ||
18 | group :production do # we don"t install these on travis to speed up test runs | ||
19 | # Analytics | ||
20 | |||
21 | diff --git a/Gemfile.lock b/Gemfile.lock | ||
22 | index 84f8172e4..cdbf19fcd 100644 | ||
23 | --- a/Gemfile.lock 2019-01-13 19:55:52.538561762 +0100 | ||
24 | +++ b/Gemfile.lock 2019-01-13 19:58:11.087099067 +0100 | ||
25 | @@ -398,6 +398,7 @@ | ||
26 | mysql2 (0.5.2) | ||
27 | naught (1.1.0) | ||
28 | nenv (0.3.0) | ||
29 | + net-ldap (0.16.1) | ||
30 | nio4r (2.3.1) | ||
31 | nokogiri (1.8.5) | ||
32 | mini_portile2 (~> 2.3.0) | ||
33 | @@ -820,6 +821,7 @@ | ||
34 | minitest | ||
35 | mobile-fu (= 1.4.0) | ||
36 | mysql2 (= 0.5.2) | ||
37 | + net-ldap (~> 0.16) | ||
38 | nokogiri (= 1.8.5) | ||
39 | omniauth (= 1.8.1) | ||
40 | omniauth-tumblr (= 1.2) | ||
41 | diff --git a/app/models/user.rb b/app/models/user.rb | ||
42 | index 940a48f25..d1e2beeee 100644 | ||
43 | --- a/app/models/user.rb | ||
44 | +++ b/app/models/user.rb | ||
45 | @@ -337,6 +337,12 @@ class User < ActiveRecord::Base | ||
46 | end | ||
47 | |||
48 | def send_confirm_email | ||
49 | + if skip_email_confirmation? | ||
50 | + self.email = unconfirmed_email | ||
51 | + self.unconfirmed_email = nil | ||
52 | + save | ||
53 | + end | ||
54 | + | ||
55 | return if unconfirmed_email.blank? | ||
56 | Workers::Mail::ConfirmEmail.perform_async(id) | ||
57 | end | ||
58 | @@ -554,6 +560,14 @@ class User < ActiveRecord::Base | ||
59 | end | ||
60 | end | ||
61 | |||
62 | + def ldap_user? | ||
63 | + AppConfig.ldap.enable? && ldap_dn.present? | ||
64 | + end | ||
65 | + | ||
66 | + def skip_email_confirmation? | ||
67 | + ldap_user? && AppConfig.ldap.skip_email_confirmation? | ||
68 | + end | ||
69 | + | ||
70 | private | ||
71 | |||
72 | def clearable_fields | ||
73 | diff --git a/config/defaults.yml b/config/defaults.yml | ||
74 | index c046aff07..66e9afa13 100644 | ||
75 | --- a/config/defaults.yml | ||
76 | +++ b/config/defaults.yml | ||
77 | @@ -202,6 +202,20 @@ defaults: | ||
78 | scope: tags | ||
79 | include_user_tags: false | ||
80 | pod_tags: | ||
81 | + ldap: | ||
82 | + enable: false | ||
83 | + host: localhost | ||
84 | + port: 389 | ||
85 | + only_ldap: true | ||
86 | + mail_attribute: mail | ||
87 | + skip_email_confirmation: true | ||
88 | + use_bind_dn: true | ||
89 | + bind_dn: "cn=diaspora,dc=example,dc=com" | ||
90 | + bind_pw: "password" | ||
91 | + search_base: "dc=example,dc=com" | ||
92 | + search_filter: "uid=%{username}" | ||
93 | + bind_template: "uid=%{username},dc=example,dc=com" | ||
94 | + | ||
95 | |||
96 | development: | ||
97 | environment: | ||
98 | diff --git a/config/diaspora.yml.example b/config/diaspora.yml.example | ||
99 | index b2573625d..c357c8651 100644 | ||
100 | --- a/config/diaspora.yml.example | ||
101 | +++ b/config/diaspora.yml.example | ||
102 | @@ -710,6 +710,36 @@ configuration: ## Section | ||
103 | ## If scope is 'tags', a comma separated list of tags here can be set. | ||
104 | ## For example "linux,diaspora", to receive posts related to these tags | ||
105 | #pod_tags: | ||
106 | + ldap: | ||
107 | + # Uncomment next line if you want to use LDAP on your instance | ||
108 | + enable: true | ||
109 | + host: localhost | ||
110 | + port: 389 | ||
111 | + # Use only LDAP authentication (don't try other means) | ||
112 | + only_ldap: true | ||
113 | + # LDAP attribute to find the user's e-mail. Necessary to create accounts | ||
114 | + # for not existing users | ||
115 | + mail_attribute: mail | ||
116 | + # Skip e-mail confirmation when creating an account via LDAP. | ||
117 | + skip_email_confirmation: true | ||
118 | + # ----- Using bind_dn and bind_pw | ||
119 | + # bind_dn and bind_pw may be used if the diaspora instance | ||
120 | + # should be able to connect to LDAP to find and search for users. | ||
121 | + | ||
122 | + use_bind_dn: true | ||
123 | + bind_dn: "cn=diaspora,dc=example,dc=com" | ||
124 | + bind_pw: "password" | ||
125 | + search_base: "dc=example,dc=com" | ||
126 | + # This is the filter with which to search for the user. %{username} will | ||
127 | + # be replaced by the given login. | ||
128 | + search_filter: "uid=%{username}" | ||
129 | + # | ||
130 | + # ----- Using template | ||
131 | + # This setting doesn't require a diaspora LDAP user. Use a template, and | ||
132 | + # diaspora will try to login with the templated dn and password | ||
133 | + # | ||
134 | + # bind_template: "uid=%{username},dc=example,dc=com" | ||
135 | + | ||
136 | |||
137 | ## Here you can override settings defined above if you need | ||
138 | ## to have them different in different environments. | ||
139 | diff --git a/config/initializers/0_ldap_authenticatable.rb b/config/initializers/0_ldap_authenticatable.rb | ||
140 | new file mode 100644 | ||
141 | index 000000000..49846502f | ||
142 | --- /dev/null | ||
143 | +++ b/config/initializers/0_ldap_authenticatable.rb | ||
144 | @@ -0,0 +1,82 @@ | ||
145 | +require 'net/ldap' | ||
146 | +require 'devise/strategies/authenticatable' | ||
147 | + | ||
148 | +module Devise | ||
149 | + module Strategies | ||
150 | + class LdapAuthenticatable < Authenticatable | ||
151 | + def valid? | ||
152 | + AppConfig.ldap.enable? && params[:user].present? | ||
153 | + end | ||
154 | + | ||
155 | + def authenticate! | ||
156 | + ldap = Net::LDAP.new( | ||
157 | + host: AppConfig.ldap.host, | ||
158 | + port: AppConfig.ldap.port, | ||
159 | + encryption: :simple_tls, | ||
160 | + ) | ||
161 | + | ||
162 | + if AppConfig.ldap.use_bind_dn? | ||
163 | + ldap.auth AppConfig.ldap.bind_dn, AppConfig.ldap.bind_pw | ||
164 | + | ||
165 | + if !ldap.bind | ||
166 | + return fail(:ldap_configuration_error) | ||
167 | + end | ||
168 | + | ||
169 | + search_filter = AppConfig.ldap.search_filter % { username: params[:user][:username] } | ||
170 | + | ||
171 | + result = ldap.search(base: AppConfig.ldap.search_base, filter: search_filter, result_set: true) | ||
172 | + | ||
173 | + if result.count != 1 | ||
174 | + return login_fail | ||
175 | + end | ||
176 | + | ||
177 | + user_dn = result.first.dn | ||
178 | + user_email = result.first[AppConfig.ldap.mail_attribute].first | ||
179 | + else | ||
180 | + user_dn = AppConfig.ldap.bind_template % { username: params[:user][:username] } | ||
181 | + end | ||
182 | + | ||
183 | + ldap.auth user_dn, params[:user][:password] | ||
184 | + | ||
185 | + if ldap.bind | ||
186 | + user = User.find_by(ldap_dn: user_dn) | ||
187 | + | ||
188 | + # We don't want to trust too much the email attribute from | ||
189 | + # LDAP: if the user can edit it himself, he may login as | ||
190 | + # anyone | ||
191 | + if user.nil? | ||
192 | + if !AppConfig.ldap.use_bind_dn? | ||
193 | + result = ldap.search(base: user_dn, scope: Net::LDAP::SearchScope_BaseObject, filter: "(objectClass=*)", result_set: true) | ||
194 | + user_email = result.first[AppConfig.ldap.mail_attribute].first | ||
195 | + end | ||
196 | + | ||
197 | + if user_email.present? && User.find_by(email: user_email).nil? | ||
198 | + # Password is used for remember_me token | ||
199 | + user = User.build(email: user_email, ldap_dn: user_dn, password: SecureRandom.hex, username: params[:user][:username]) | ||
200 | + user.save | ||
201 | + user.seed_aspects | ||
202 | + elsif User.find_by(email: user_email).present? | ||
203 | + return fail(:ldap_existing_email) | ||
204 | + else | ||
205 | + return fail(:ldap_cannot_create_account_without_email) | ||
206 | + end | ||
207 | + end | ||
208 | + | ||
209 | + success!(user) | ||
210 | + else | ||
211 | + return login_fail | ||
212 | + end | ||
213 | + end | ||
214 | + | ||
215 | + def login_fail | ||
216 | + if AppConfig.ldap.only_ldap? | ||
217 | + return fail(:ldap_invalid_login) | ||
218 | + else | ||
219 | + return pass | ||
220 | + end | ||
221 | + end | ||
222 | + end | ||
223 | + end | ||
224 | +end | ||
225 | + | ||
226 | +Warden::Strategies.add(:ldap_authenticatable, Devise::Strategies::LdapAuthenticatable) | ||
227 | diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb | ||
228 | index 3698e2373..14e88063e 100644 | ||
229 | --- a/config/initializers/devise.rb | ||
230 | +++ b/config/initializers/devise.rb | ||
231 | @@ -250,10 +250,9 @@ Devise.setup do |config| | ||
232 | # If you want to use other strategies, that are not supported by Devise, or | ||
233 | # change the failure app, you can configure them inside the config.warden block. | ||
234 | # | ||
235 | - # config.warden do |manager| | ||
236 | - # manager.intercept_401 = false | ||
237 | - # manager.default_strategies(:scope => :user).unshift :some_external_strategy | ||
238 | - # end | ||
239 | + config.warden do |manager| | ||
240 | + manager.default_strategies(scope: :user).unshift :ldap_authenticatable | ||
241 | + end | ||
242 | |||
243 | # ==> Mountable engine configurations | ||
244 | # When using Devise inside an engine, let's call it `MyEngine`, and this engine | ||
245 | diff --git a/db/migrate/20170724182100_add_ldap_dn_to_users.rb b/db/migrate/20170724182100_add_ldap_dn_to_users.rb | ||
246 | new file mode 100644 | ||
247 | index 000000000..f5cc84d11 | ||
248 | --- /dev/null | ||
249 | +++ b/db/migrate/20170724182100_add_ldap_dn_to_users.rb | ||
250 | @@ -0,0 +1,6 @@ | ||
251 | +class AddLdapDnToUsers < ActiveRecord::Migration | ||
252 | + def change | ||
253 | + add_column :users, :ldap_dn, :text, null: true, default: nil | ||
254 | + add_index :users, ['ldap_dn'], :length => { "ldap_dn" => 191 } | ||
255 | + end | ||
256 | +end | ||
diff --git a/virtual/modules/websites/tools/ether/default.nix b/virtual/modules/websites/tools/ether/default.nix deleted file mode 100644 index 5ee3433..0000000 --- a/virtual/modules/websites/tools/ether/default.nix +++ /dev/null | |||
@@ -1,89 +0,0 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | ||
2 | let | ||
3 | etherpad = pkgs.callPackage ./etherpad_lite.nix { | ||
4 | inherit (mylibs) fetchedGithub; | ||
5 | env = myconfig.env.tools.etherpad-lite; | ||
6 | }; | ||
7 | |||
8 | cfg = config.services.myWebsites.tools.etherpad-lite; | ||
9 | in { | ||
10 | options.services.myWebsites.tools.etherpad-lite = { | ||
11 | enable = lib.mkEnableOption "enable etherpad's website"; | ||
12 | }; | ||
13 | |||
14 | config = lib.mkIf cfg.enable { | ||
15 | systemd.services.etherpad-lite = { | ||
16 | description = "Etherpad-lite"; | ||
17 | wantedBy = [ "multi-user.target" ]; | ||
18 | after = [ "network.target" "postgresql.service" ]; | ||
19 | wants = [ "postgresql.service" ]; | ||
20 | |||
21 | environment.NODE_ENV = "production"; | ||
22 | environment.HOME = etherpad.webappDir; | ||
23 | |||
24 | path = [ pkgs.nodejs ]; | ||
25 | |||
26 | script = '' | ||
27 | exec ${pkgs.nodejs}/bin/node ${etherpad.webappDir}/src/node/server.js \ | ||
28 | --settings ${etherpad.config} | ||
29 | ''; | ||
30 | |||
31 | serviceConfig = { | ||
32 | DynamicUser = true; | ||
33 | User = "etherpad-lite"; | ||
34 | Group = "etherpad-lite"; | ||
35 | WorkingDirectory = etherpad.webappDir; | ||
36 | PrivateTmp = true; | ||
37 | NoNewPrivileges = true; | ||
38 | PrivateDevices = true; | ||
39 | ProtectHome = true; | ||
40 | ProtectControlGroups = true; | ||
41 | ProtectKernelModules = true; | ||
42 | Restart = "always"; | ||
43 | Type = "simple"; | ||
44 | TimeoutSec = 60; | ||
45 | }; | ||
46 | }; | ||
47 | |||
48 | services.myWebsites.tools.modules = [ | ||
49 | "headers" "proxy" "proxy_http" "proxy_wstunnel" | ||
50 | ]; | ||
51 | security.acme.certs."eldiron".extraDomains."ether.immae.eu" = null; | ||
52 | services.myWebsites.tools.vhostConfs.etherpad-lite = { | ||
53 | certName = "eldiron"; | ||
54 | hosts = [ "ether.immae.eu" ]; | ||
55 | root = null; | ||
56 | extraConfig = [ '' | ||
57 | Header always set Strict-Transport-Security "max-age=31536000; includeSubdomains;" | ||
58 | RequestHeader set X-Forwarded-Proto "https" | ||
59 | |||
60 | RewriteEngine On | ||
61 | |||
62 | RewriteMap redirects "txt:${pkgs.writeText "redirects.txt" myconfig.env.tools.etherpad-lite.redirects}" | ||
63 | RewriteCond %{QUERY_STRING} "!noredirect" | ||
64 | RewriteCond %{REQUEST_URI} "^(.*)$" | ||
65 | RewriteCond ''${redirects:$1|Unknown} "!Unknown" | ||
66 | RewriteRule "^(.*)$" ''${redirects:$1} [L,NE,R=301,QSD] | ||
67 | |||
68 | RewriteCond %{REQUEST_URI} ^/socket.io [NC] | ||
69 | RewriteCond %{QUERY_STRING} transport=websocket [NC] | ||
70 | RewriteRule /(.*) ws://localhost:${etherpad.listenPort}/$1 [P,L] | ||
71 | |||
72 | <IfModule mod_proxy.c> | ||
73 | ProxyVia On | ||
74 | ProxyRequests Off | ||
75 | ProxyPreserveHost On | ||
76 | ProxyPass / http://localhost:${etherpad.listenPort}/ | ||
77 | ProxyPassReverse / http://localhost:${etherpad.listenPort}/ | ||
78 | ProxyPass /socket.io ws://localhost:${etherpad.listenPort}/socket.io | ||
79 | ProxyPassReverse /socket.io ws://localhost:${etherpad.listenPort}/socket.io | ||
80 | <Proxy *> | ||
81 | Options FollowSymLinks MultiViews | ||
82 | AllowOverride None | ||
83 | Require all granted | ||
84 | </Proxy> | ||
85 | </IfModule> | ||
86 | '' ]; | ||
87 | }; | ||
88 | }; | ||
89 | } | ||
diff --git a/virtual/modules/websites/tools/ether/etherpad-lite.json b/virtual/modules/websites/tools/ether/etherpad-lite.json deleted file mode 100644 index 81369c4..0000000 --- a/virtual/modules/websites/tools/ether/etherpad-lite.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "1.7.0", | ||
3 | "meta": { | ||
4 | "name": "etherpad-lite", | ||
5 | "url": "https://github.com/ether/etherpad-lite", | ||
6 | "branch": "refs/tags/1.7.0" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "ether", | ||
10 | "repo": "etherpad-lite", | ||
11 | "rev": "96ac381afb9ea731dad48968f15d77dc6488bd0d", | ||
12 | "sha256": "03k6bwlm9ch9kssy9jipfg8ij7rpbzd89xq4mvg4grg1q6ivnzk9", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/virtual/modules/websites/tools/ether/etherpad_lite.nix b/virtual/modules/websites/tools/ether/etherpad_lite.nix deleted file mode 100644 index 02071f1..0000000 --- a/virtual/modules/websites/tools/ether/etherpad_lite.nix +++ /dev/null | |||
@@ -1,183 +0,0 @@ | |||
1 | { env, fetchedGithub, fetchurl, stdenv, writeText, pkgs, cacert }: | ||
2 | let | ||
3 | listenPort = env.listenPort; | ||
4 | sessionkey = writeText "SESSIONKEY.txt" env.session_key; | ||
5 | apikey = writeText "APIKEY.txt" env.api_key; | ||
6 | jquery = fetchurl { | ||
7 | url = https://code.jquery.com/jquery-1.9.1.js; | ||
8 | sha256 = "0h4dk67yc9d0kadqxb6b33585f3x3559p6qmp70l00qwq030vn3v"; | ||
9 | }; | ||
10 | etherpad_modules = [ | ||
11 | "ep_aa_file_menu_toolbar" | ||
12 | "ep_adminpads" | ||
13 | "ep_align" | ||
14 | "ep_bookmark" | ||
15 | "ep_clear_formatting" | ||
16 | "ep_colors" | ||
17 | "ep_copy_paste_select_all" | ||
18 | "ep_cursortrace" | ||
19 | "ep_embedmedia" | ||
20 | "ep_font_family" | ||
21 | "ep_font_size" | ||
22 | "ep_headings2" | ||
23 | "ep_ldapauth" | ||
24 | "ep_line_height" | ||
25 | "ep_markdown" | ||
26 | "ep_previewimages" | ||
27 | "ep_ruler" | ||
28 | "ep_scrollto" | ||
29 | "ep_set_title_on_pad" | ||
30 | "ep_subscript_and_superscript" | ||
31 | "ep_timesliderdiff" | ||
32 | ]; | ||
33 | config = | ||
34 | # Make sure we’re not rebuilding whole libreoffice just because of a | ||
35 | # dependency | ||
36 | let libreoffice = (import <nixpkgs> {}).libreoffice-fresh; | ||
37 | in | ||
38 | writeText "settings.json" '' | ||
39 | { | ||
40 | "title": "Etherpad", | ||
41 | "favicon": "favicon.ico", | ||
42 | |||
43 | "ip": "127.0.0.1", | ||
44 | "port" : ${env.listenPort}, | ||
45 | "showSettingsInAdminPage" : false, | ||
46 | "dbType" : "postgres", | ||
47 | "dbSettings" : { | ||
48 | "user" : "${env.postgresql.user}", | ||
49 | "host" : "${env.postgresql.socket}", | ||
50 | "password": "${env.postgresql.password}", | ||
51 | "database": "${env.postgresql.database}", | ||
52 | "charset" : "utf8mb4" | ||
53 | }, | ||
54 | |||
55 | "defaultPadText" : "Welcome to Etherpad!\n\nThis pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!\n\nGet involved with Etherpad at http:\/\/etherpad.org\n", | ||
56 | "padOptions": { | ||
57 | "noColors": false, | ||
58 | "showControls": true, | ||
59 | "showChat": true, | ||
60 | "showLineNumbers": true, | ||
61 | "useMonospaceFont": false, | ||
62 | "userName": false, | ||
63 | "userColor": false, | ||
64 | "rtl": false, | ||
65 | "alwaysShowChat": false, | ||
66 | "chatAndUsers": false, | ||
67 | "lang": "en-gb" | ||
68 | }, | ||
69 | |||
70 | "suppressErrorsInPadText" : false, | ||
71 | "requireSession" : false, | ||
72 | "editOnly" : false, | ||
73 | "sessionNoPassword" : false, | ||
74 | "minify" : true, | ||
75 | "maxAge" : 21600, | ||
76 | "abiword" : null, | ||
77 | "soffice" : "${libreoffice}/bin/soffice", | ||
78 | "tidyHtml" : "${pkgs.html-tidy}/bin/tidy", | ||
79 | "allowUnknownFileEnds" : true, | ||
80 | "requireAuthentication" : false, | ||
81 | "requireAuthorization" : false, | ||
82 | "trustProxy" : false, | ||
83 | "disableIPlogging" : false, | ||
84 | "automaticReconnectionTimeout" : 0, | ||
85 | "scrollWhenFocusLineIsOutOfViewport": { | ||
86 | "percentage": { | ||
87 | "editionAboveViewport": 0, | ||
88 | "editionBelowViewport": 0 | ||
89 | }, | ||
90 | "duration": 0, | ||
91 | "scrollWhenCaretIsInTheLastLineOfViewport": false, | ||
92 | "percentageToScrollWhenUserPressesArrowUp": 0 | ||
93 | }, | ||
94 | "users": { | ||
95 | "ldapauth": { | ||
96 | "url": "ldaps://${env.ldap.host}", | ||
97 | "accountBase": "${env.ldap.base}", | ||
98 | "accountPattern": "(&(memberOf=cn=users,cn=etherpad,ou=services,dc=immae,dc=eu)(uid={{username}}))", | ||
99 | "displayNameAttribute": "cn", | ||
100 | "searchDN": "cn=etherpad,ou=services,dc=immae,dc=eu", | ||
101 | "searchPWD": "${env.ldap.password}", | ||
102 | "groupSearchBase": "${env.ldap.base}", | ||
103 | "groupAttribute": "member", | ||
104 | "groupAttributeIsDN": true, | ||
105 | "searchScope": "sub", | ||
106 | "groupSearch": "(memberOf=cn=groups,cn=etherpad,ou=services,dc=immae,dc=eu)", | ||
107 | "anonymousReadonly": false | ||
108 | } | ||
109 | }, | ||
110 | "socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"], | ||
111 | "loadTest": false, | ||
112 | "indentationOnNewLine": false, | ||
113 | "toolbar": { | ||
114 | "left": [ | ||
115 | ["bold", "italic", "underline", "strikethrough"], | ||
116 | ["orderedlist", "unorderedlist", "indent", "outdent"], | ||
117 | ["undo", "redo"], | ||
118 | ["clearauthorship"] | ||
119 | ], | ||
120 | "right": [ | ||
121 | ["importexport", "timeslider", "savedrevision"], | ||
122 | ["settings", "embed"], | ||
123 | ["showusers"] | ||
124 | ], | ||
125 | "timeslider": [ | ||
126 | ["timeslider_export", "timeslider_returnToPad"] | ||
127 | ] | ||
128 | }, | ||
129 | "loglevel": "INFO", | ||
130 | "logconfig" : { "appenders": [ { "type": "console" } ] } | ||
131 | } | ||
132 | ''; | ||
133 | webappDir = stdenv.mkDerivation (fetchedGithub ./etherpad-lite.json // rec { | ||
134 | __noChroot = true; | ||
135 | patches = [ ./libreoffice_patch.diff ]; | ||
136 | buildPhase = '' | ||
137 | export GIT_SSL_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt | ||
138 | export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt | ||
139 | export HOME=$PWD | ||
140 | |||
141 | touch src/.ep_initialized | ||
142 | cp -v src/static/custom/js.template src/static/custom/index.js | ||
143 | cp -v src/static/custom/js.template src/static/custom/pad.js | ||
144 | cp -v src/static/custom/js.template src/static/custom/timeslider.js | ||
145 | cp -v src/static/custom/css.template src/static/custom/index.css | ||
146 | cp -v src/static/custom/css.template src/static/custom/pad.css | ||
147 | cp -v src/static/custom/css.template src/static/custom/timeslider.css | ||
148 | |||
149 | sed -i 's/var\/dirty.db/\/var\/lib\/etherpad-lite\/dirty.db/g' \ | ||
150 | settings.json.template | ||
151 | |||
152 | mkdir -v node_modules | ||
153 | ln -s ../src node_modules/ep_etherpad-lite | ||
154 | |||
155 | node bin/doc/generate doc/index.md --format=html \ | ||
156 | --template=doc/template.html > documentation.html | ||
157 | |||
158 | cd src | ||
159 | npm install | ||
160 | cd .. | ||
161 | ${builtins.concatStringsSep "\n" | ||
162 | (map (n: "npm install ${n}; touch node_modules/${n}/.ep_initialized") etherpad_modules)} | ||
163 | ''; | ||
164 | installPhase = '' | ||
165 | mkdir -p $out | ||
166 | install -t $out/src/ -vDm 644 src/.ep_initialized | ||
167 | cp -a node_modules $out/ | ||
168 | cp -a src/* $out/src/ | ||
169 | ln -sf ${sessionkey} $out/SESSIONKEY.txt | ||
170 | ln -sf ${apikey} $out/APIKEY.txt | ||
171 | cp ${jquery} $out/src/static/js/jquery.js | ||
172 | |||
173 | mkdir $out/doc | ||
174 | install -t "$out/doc/" \ | ||
175 | -vDm 644 {CHANGELOG,CONTRIBUTING,README}.md \ | ||
176 | -vDm 644 documentation.html | ||
177 | ''; | ||
178 | buildInputs = [ pkgs.nodejs pkgs.python ]; | ||
179 | }); | ||
180 | in | ||
181 | { | ||
182 | inherit webappDir config listenPort; | ||
183 | } | ||
diff --git a/virtual/modules/websites/tools/ether/libreoffice_patch.diff b/virtual/modules/websites/tools/ether/libreoffice_patch.diff deleted file mode 100644 index d9e3dfc..0000000 --- a/virtual/modules/websites/tools/ether/libreoffice_patch.diff +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | --- a/src/node/utils/LibreOffice.js 2018-06-18 09:54:15.087161212 +0200 | ||
2 | +++ b/src/node/utils/LibreOffice.js 2018-06-18 10:33:27.534055021 +0200 | ||
3 | @@ -63,6 +63,7 @@ | ||
4 | '--invisible', | ||
5 | '--nologo', | ||
6 | '--nolockcheck', | ||
7 | + '-env:UserInstallation=file:///tmp/', | ||
8 | '--convert-to', task.type, | ||
9 | task.srcFile, | ||
10 | '--outdir', tmpDir | ||
11 | |||
diff --git a/virtual/modules/websites/tools/git/default.nix b/virtual/modules/websites/tools/git/default.nix deleted file mode 100644 index 91aa1d0..0000000 --- a/virtual/modules/websites/tools/git/default.nix +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | ||
2 | let | ||
3 | mantisbt = pkgs.callPackage ./mantisbt/mantisbt.nix { | ||
4 | inherit (mylibs) fetchedGithub; | ||
5 | env = myconfig.env.tools.mantisbt; | ||
6 | }; | ||
7 | gitweb = pkgs.callPackage ./gitweb/gitweb.nix { gitoliteDir = config.services.myGitolite.gitoliteDir; }; | ||
8 | |||
9 | cfg = config.services.myWebsites.tools.git; | ||
10 | in { | ||
11 | options.services.myWebsites.tools.git = { | ||
12 | enable = lib.mkEnableOption "enable git's website"; | ||
13 | }; | ||
14 | |||
15 | config = lib.mkIf cfg.enable { | ||
16 | security.acme.certs."eldiron".extraDomains."git.immae.eu" = null; | ||
17 | |||
18 | nixpkgs.config.packageOverrides = oldpkgs: rec { | ||
19 | gitweb = oldpkgs.gitweb.overrideAttrs(old: { | ||
20 | installPhase = old.installPhase + '' | ||
21 | cp -r ${./gitweb/theme} $out/gitweb-theme; | ||
22 | ''; | ||
23 | }); | ||
24 | }; | ||
25 | |||
26 | services.myWebsites.tools.modules = | ||
27 | gitweb.apache.modules ++ | ||
28 | mantisbt.apache.modules; | ||
29 | |||
30 | services.myWebsites.tools.vhostConfs.git = { | ||
31 | certName = "eldiron"; | ||
32 | hosts = ["git.immae.eu" ]; | ||
33 | root = gitweb.webRoot; | ||
34 | extraConfig = [ | ||
35 | gitweb.apache.vhostConf | ||
36 | mantisbt.apache.vhostConf | ||
37 | '' | ||
38 | RewriteEngine on | ||
39 | RewriteCond %{REQUEST_URI} ^/releases | ||
40 | RewriteRule /releases(.*) https://release.immae.eu$1 [P,L] | ||
41 | '' | ||
42 | ]; | ||
43 | }; | ||
44 | services.myPhpfpm.poolConfigs = { | ||
45 | mantisbt = mantisbt.phpFpm.pool; | ||
46 | }; | ||
47 | }; | ||
48 | } | ||
diff --git a/virtual/modules/websites/tools/git/gitweb/gitweb.nix b/virtual/modules/websites/tools/git/gitweb/gitweb.nix deleted file mode 100644 index 22c70f2..0000000 --- a/virtual/modules/websites/tools/git/gitweb/gitweb.nix +++ /dev/null | |||
@@ -1,65 +0,0 @@ | |||
1 | { gitweb, writeText, gitolite, git, gitoliteDir, highlight }: | ||
2 | rec { | ||
3 | varDir = gitoliteDir; | ||
4 | webRoot = gitweb; | ||
5 | config = writeText "gitweb.conf" '' | ||
6 | $git_temp = "/tmp"; | ||
7 | |||
8 | # The directories where your projects are. Must not end with a | ||
9 | # slash. | ||
10 | $projectroot = "${varDir}/repositories"; | ||
11 | |||
12 | $projects_list = "${varDir}/projects.list"; | ||
13 | $strict_export = "true"; | ||
14 | |||
15 | # Base URLs for links displayed in the web interface. | ||
16 | our @git_base_url_list = qw(ssh://gitolite@git.immae.eu https://git.immae.eu); | ||
17 | |||
18 | $feature{'blame'}{'default'} = [1]; | ||
19 | $feature{'avatar'}{'default'} = ['gravatar']; | ||
20 | $feature{'highlight'}{'default'} = [1]; | ||
21 | |||
22 | @stylesheets = ("gitweb-theme/gitweb.css"); | ||
23 | $logo = "gitweb-theme/git-logo.png"; | ||
24 | $favicon = "gitweb-theme/git-favicon.png"; | ||
25 | $javascript = "gitweb-theme/gitweb.js"; | ||
26 | $logo_url = "https://git.immae.eu/"; | ||
27 | $projects_list_group_categories = "true"; | ||
28 | $projects_list_description_width = 60; | ||
29 | $project_list_default_category = "__Others__"; | ||
30 | $highlight_bin = "${highlight}/bin/highlight"; | ||
31 | ''; | ||
32 | apache = { | ||
33 | user = "wwwrun"; | ||
34 | group = "wwwrun"; | ||
35 | modules = [ "cgid" ]; | ||
36 | vhostConf = '' | ||
37 | SetEnv GIT_PROJECT_ROOT ${varDir}/repositories/ | ||
38 | ScriptAliasMatch \ | ||
39 | "(?x)^/(.*/(HEAD | \ | ||
40 | info/refs | \ | ||
41 | objects/(info/[^/]+ | \ | ||
42 | [0-9a-f]{2}/[0-9a-f]{38} | \ | ||
43 | pack/pack-[0-9a-f]{40}\.(pack|idx)) | \ | ||
44 | git-(upload|receive)-pack))$" \ | ||
45 | ${git}/libexec/git-core/git-http-backend/$1 | ||
46 | |||
47 | <Directory "${gitolite}"> | ||
48 | Require all granted | ||
49 | </Directory> | ||
50 | <Directory "${git}/libexec/git-core"> | ||
51 | Require all granted | ||
52 | </Directory> | ||
53 | <Directory "${webRoot}"> | ||
54 | DirectoryIndex gitweb.cgi | ||
55 | Require all granted | ||
56 | AllowOverride None | ||
57 | Options ExecCGI FollowSymLinks | ||
58 | <Files gitweb.cgi> | ||
59 | SetHandler cgi-script | ||
60 | SetEnv GITWEB_CONFIG "${config}" | ||
61 | </Files> | ||
62 | </Directory> | ||
63 | ''; | ||
64 | }; | ||
65 | } | ||
diff --git a/virtual/modules/websites/tools/git/gitweb/theme/git-favicon.png b/virtual/modules/websites/tools/git/gitweb/theme/git-favicon.png deleted file mode 100644 index 4fa44bb..0000000 --- a/virtual/modules/websites/tools/git/gitweb/theme/git-favicon.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/virtual/modules/websites/tools/git/gitweb/theme/git-logo.png b/virtual/modules/websites/tools/git/gitweb/theme/git-logo.png deleted file mode 100644 index fdaf7b7..0000000 --- a/virtual/modules/websites/tools/git/gitweb/theme/git-logo.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/virtual/modules/websites/tools/git/gitweb/theme/gitweb.css b/virtual/modules/websites/tools/git/gitweb/theme/gitweb.css deleted file mode 100644 index 83e0742..0000000 --- a/virtual/modules/websites/tools/git/gitweb/theme/gitweb.css +++ /dev/null | |||
@@ -1,783 +0,0 @@ | |||
1 | /* Reset | ||
2 | ------------------------------------------------------------------------- */ | ||
3 | |||
4 | /* Based on http://meyerweb.com/eric/tools/css/reset/ */ | ||
5 | /* v1.0 | 20080212 */ | ||
6 | |||
7 | html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, | ||
8 | blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, | ||
9 | font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, | ||
10 | u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, | ||
11 | caption, tbody, tfoot, thead, tr, th, td { | ||
12 | margin: 0; | ||
13 | padding: 0; | ||
14 | border: 0; | ||
15 | outline: 0; | ||
16 | font-size: 100%; | ||
17 | vertical-align: baseline; | ||
18 | background: transparent; | ||
19 | } | ||
20 | |||
21 | ol, ul { list-style: none; } | ||
22 | |||
23 | blockquote, q { quotes: none; } | ||
24 | |||
25 | blockquote:before, blockquote:after, | ||
26 | q:before, q:after { | ||
27 | content: ''; | ||
28 | content: none; | ||
29 | } | ||
30 | |||
31 | :focus { outline: 0; } | ||
32 | |||
33 | ins { text-decoration: none; } | ||
34 | |||
35 | del { text-decoration: line-through; } | ||
36 | |||
37 | table { | ||
38 | border-collapse: collapse; | ||
39 | border-spacing: 0; | ||
40 | } | ||
41 | |||
42 | a { outline: none; } | ||
43 | |||
44 | /* General | ||
45 | ---------------------------------------------------------------------------- */ | ||
46 | |||
47 | html { | ||
48 | position: relative; | ||
49 | min-height: 100%; | ||
50 | } | ||
51 | |||
52 | body { | ||
53 | font: 13px Helvetica,arial,freesans,clean,sans-serif; | ||
54 | line-height: 1.4; | ||
55 | margin: 0 0 105px; | ||
56 | background-color: #fff; | ||
57 | color: #000000; | ||
58 | } | ||
59 | |||
60 | /* Monospaced Fonts */ | ||
61 | .sha1, .mode, .diff_tree .list, .pre, .diff, .patchset { | ||
62 | font-family: 'Consolas','Bitstream Vera Sans Mono',monospace; | ||
63 | } | ||
64 | |||
65 | a:link, a:visited { | ||
66 | color: #4183C4; | ||
67 | text-decoration: none; | ||
68 | } | ||
69 | |||
70 | a:hover { | ||
71 | text-decoration: underline; | ||
72 | } | ||
73 | |||
74 | td.list a[href*='tree'], td.list a[href*='blob'] { | ||
75 | padding-left: 20px; | ||
76 | display: block; | ||
77 | float: left; | ||
78 | height: 16px; | ||
79 | line-height: 16px; | ||
80 | } | ||
81 | |||
82 | td.list a[href*='tree'] { | ||
83 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABq0lEQVQ4y8WTu4oUQRSGv+rtGVuxhwVFdFEEE2c3d0HYTEMTn8DEVxADQTDUF9DMwMxQMBMx8AEWzRQ3cBHd9TI91+2urjq/QbczY2IygSep4nD+79yqnCRWsYQVbWVACvDh5ZXdrLe15dwyT1TjT/sxFFeB6i+VA2B6+cb7kAI4Jf0LO087zjlQI8Y5Qvnj0sHug321XoC1bk+K9eHk6+s7wPMUgKAS88eqb4+Jfg2SHs7lZBvX2Nh+2EUCDGSAcMnJsx9f7NxfAGqXyDzRd5EJO/pMPT1gcviGTnYOVIN5pAAE8v7dLrKL8xnglFk4ws9Afko9HpH3b5Gd2mwb/lOBmgrSdYhJugDUCenxM6xv3p4HCsP8F0LxCsUhCkMURihOyM7fg0osASTFEpu9a4LjGIUCqwcoDiEUrX+E4hRUQb20RiokC1j9vckUhygU7X3QZh7NAVKYL7YBeMkRUfjVCotF2XGIwnghtrJpMywB5G0QZj9P1JNujuWJ1AHLQadRrACPkuZ0SSSWpeStWgDK6tHek5vbiOs48n++XQHurcf0rFng//6NvwG+iB9/4duaTgAAAABJRU5ErkJgggo=) center left no-repeat; | ||
84 | } | ||
85 | |||
86 | td.list a[href*='blob'] { | ||
87 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAA6ElEQVQoFQXBMW5TQRgGwNnHnoE0QbiCjoIooUmTU3AuS1BwIoTSUdJBigg3GCWOg9/++zHTop078wIAsPMrE4SL5/1aIyMjIyMjz/m0tbFECFdrPeaQQw75mz/5nZH7fN7aWILmauSYfznmmIfss8vIUx7zZWsTTXM5vpWvTk5Wq9VHQP/gtgOLa0Qpw940vAQdaG6thpOhlOkG0AEuAVGmEkAH+G4YSikxXQM6wDsAMRFAB/ihDNNUmN4DOsAbBAEAdICfpmmaAt4COoj2GgCASbIkZh1NAACznhQt2itnFgAAlF3u/gMDtJXPzQxoswAAAABJRU5ErkJgggo=) center left no-repeat; | ||
88 | } | ||
89 | |||
90 | i { | ||
91 | font-style: normal; | ||
92 | } | ||
93 | |||
94 | td, th { | ||
95 | padding: 5px; | ||
96 | } | ||
97 | |||
98 | .page_nav br { | ||
99 | display: none; | ||
100 | } | ||
101 | |||
102 | /* Page Header | ||
103 | ---------------------------------------------------------------------------- */ | ||
104 | |||
105 | .page_header { | ||
106 | height: 50px; | ||
107 | line-height: 50px; | ||
108 | position: relative; | ||
109 | padding: 0 27px; | ||
110 | margin-bottom: 20px; | ||
111 | font-size: 20px; | ||
112 | font-family: Helvetica, Arial, Freesans, Clean, sans-serif; | ||
113 | background: #FFFFFF; /* old browsers */ | ||
114 | background: -moz-linear-gradient(top, #FFFFFF 0%, #F5F5F5 100%); /* firefox */ | ||
115 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFFFFF), color-stop(100%,#F5F5F5)); /* webkit */ | ||
116 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFF', endColorstr='#F5F5F5',GradientType=0 ); /* ie */ | ||
117 | background: -o-linear-gradient(top, #FFFFFF 0%, #F5F5F5 100%); | ||
118 | border-bottom: 1px solid #dfdfdf; | ||
119 | } | ||
120 | |||
121 | .page_header a:link, .page_header a:visited { | ||
122 | color: #4183C4; | ||
123 | text-decoration: none; | ||
124 | padding: 3px; | ||
125 | font-weight: bold; | ||
126 | } | ||
127 | |||
128 | .page_header a:hover { | ||
129 | font-weight: bold; | ||
130 | padding: 3px; | ||
131 | text-decoration: underline; | ||
132 | } | ||
133 | |||
134 | .page_header a:first-child { | ||
135 | background: transparent; | ||
136 | } | ||
137 | |||
138 | .page_header img.logo { | ||
139 | position: relative; | ||
140 | top: 7px; | ||
141 | margin-right: 5px; | ||
142 | } | ||
143 | |||
144 | /* Page Footer | ||
145 | ---------------------------------------------------------------------------- */ | ||
146 | |||
147 | .page_footer { | ||
148 | position: absolute; | ||
149 | left: 0; | ||
150 | bottom: 0; | ||
151 | width: 100%; | ||
152 | height: 80px; | ||
153 | line-height: 80px; | ||
154 | margin-top: 15px; | ||
155 | background: #f1f1f1; | ||
156 | border-top: 2px solid #ddd; | ||
157 | border-bottom: 1px solid #ddd; | ||
158 | } | ||
159 | |||
160 | .page_footer_text { | ||
161 | color: #666; | ||
162 | display: inline; | ||
163 | float: left; | ||
164 | margin-left: 25px; | ||
165 | width: 80%; | ||
166 | overflow: hidden; | ||
167 | white-space: nowrap; | ||
168 | text-overflow: ellipsis; | ||
169 | } | ||
170 | |||
171 | a.rss_logo { | ||
172 | float: right; | ||
173 | padding: 3px 1px; | ||
174 | width: 35px; | ||
175 | line-height: 10px; | ||
176 | border: 1px solid; | ||
177 | border-color: #fcc7a5 #7d3302 #3e1a01 #ff954e; | ||
178 | color: #ffffff; | ||
179 | background-color: #ff6600; | ||
180 | font-weight: bold; | ||
181 | font-family: sans-serif; | ||
182 | font-size: 80%; | ||
183 | text-align: center; | ||
184 | text-decoration: none; | ||
185 | margin-top: 30px; | ||
186 | margin-left: 5px; | ||
187 | } | ||
188 | |||
189 | a.rss_logo:hover { | ||
190 | background-color: #ee5500; | ||
191 | } | ||
192 | |||
193 | .rss_logo { | ||
194 | margin-right: 25px; | ||
195 | background: yellow; | ||
196 | } | ||
197 | |||
198 | .rss_logo:last-child { | ||
199 | margin-right: 5px; | ||
200 | } | ||
201 | |||
202 | /* Index include | ||
203 | ---------------------------------------------------------------------------- */ | ||
204 | |||
205 | .index_include { | ||
206 | width: 95%; | ||
207 | margin: 0 auto 15px; | ||
208 | background: -moz-linear-gradient(center top , #FFFFFF 0%, #F5F5F5 100%) repeat scroll 0 0 transparent; | ||
209 | border: 1px solid #DFDFDF; | ||
210 | padding: 8px; | ||
211 | -webkit-box-sizing: border-box; | ||
212 | -moz-box-sizing: border-box; | ||
213 | box-sizing: border-box; | ||
214 | } | ||
215 | |||
216 | /* Elements | ||
217 | ---------------------------------------------------------------------------- */ | ||
218 | |||
219 | .project_list, | ||
220 | .shortlog, | ||
221 | .tree, | ||
222 | .commit_search, | ||
223 | .history { | ||
224 | width: 95%; | ||
225 | margin: 0 auto 15px auto; | ||
226 | border: 1px solid #d8d8d8; | ||
227 | -moz-box-shadow: 0 0 3px rgba(0,0,0,0.2); | ||
228 | -webkit-box-shadow: 0 0 3px rgba(0,0,0,0.2); | ||
229 | box-shadow: 0 0 3px rgba(0,0,0,0.2); | ||
230 | } | ||
231 | |||
232 | .project_list th, | ||
233 | .shortlog th, | ||
234 | .tree th, | ||
235 | .commit_search th { | ||
236 | color: #afafaf; | ||
237 | font-weight: normal; | ||
238 | } | ||
239 | |||
240 | .project_list th { | ||
241 | font-weight: bold; | ||
242 | } | ||
243 | |||
244 | .project_list tr, | ||
245 | .shortlog tr, | ||
246 | .tree tr, | ||
247 | .commit_search tr { | ||
248 | background: #eaeaea; | ||
249 | height: 2.5em; | ||
250 | text-align: left; | ||
251 | color: #545454; | ||
252 | } | ||
253 | |||
254 | .project_list tr.dark, .project_list tr.light, | ||
255 | .shortlog tr.dark, .shortlog tr.light, | ||
256 | .tree tr.dark, .tree tr.light, | ||
257 | .commit_search tr.dark, .commit_search tr.light, | ||
258 | .history tr.dark, .history tr.light, | ||
259 | .heads tr.dark, .heads tr.light { | ||
260 | background: #F9F9F9; /* old browsers */ | ||
261 | background: -moz-linear-gradient(top, #F9F9F9 0%, #EFEFEF 100%); /* firefox */ | ||
262 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#F9F9F9), color-stop(100%,#EFEFEF)); /* webkit */ | ||
263 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#F9F9F9', endColorstr='#EFEFEF',GradientType=0 ); /* ie */ | ||
264 | background: -o-linear-gradient(top, #F9F9F9 0%, #EFEFEF 100%); | ||
265 | height: 2.5em; | ||
266 | border-bottom: 1px solid #e1e1e1; | ||
267 | } | ||
268 | |||
269 | th .header { | ||
270 | background: transparent; | ||
271 | border: 0; | ||
272 | padding: 0; | ||
273 | font-weight: bold; | ||
274 | } | ||
275 | |||
276 | .tree { | ||
277 | width: 100%; | ||
278 | margin: 0; | ||
279 | } | ||
280 | |||
281 | .projsearch { | ||
282 | position: absolute; | ||
283 | right: 4%; | ||
284 | top: 15px; | ||
285 | } | ||
286 | |||
287 | .projsearch a { | ||
288 | display: none; | ||
289 | } | ||
290 | |||
291 | .commit_search { | ||
292 | background: #eaeaea; | ||
293 | } | ||
294 | |||
295 | .page_nav, | ||
296 | .list_head, | ||
297 | .page_path, | ||
298 | .search { | ||
299 | width: 94%; | ||
300 | background: #eaeaea; | ||
301 | color: #545454; | ||
302 | border: 1px solid #d8d8d8; | ||
303 | padding: 5px; | ||
304 | margin: 0 auto 15px auto; | ||
305 | } | ||
306 | |||
307 | .history { | ||
308 | background: #eaeaea; | ||
309 | } | ||
310 | |||
311 | .title { | ||
312 | margin: 0 auto 15px auto; | ||
313 | padding: 5px; | ||
314 | width: 95%; | ||
315 | } | ||
316 | |||
317 | .readme { | ||
318 | background: #eaf2f5; | ||
319 | border: 1px solid #bedce7; | ||
320 | -moz-box-sizing: border-box; | ||
321 | -webkit-box-sizing: border-box; | ||
322 | box-sizing: border-box; | ||
323 | margin: 0 auto 15px auto; | ||
324 | padding: 15px; | ||
325 | width: 95%; | ||
326 | } | ||
327 | |||
328 | .readme h1 { | ||
329 | display: block; | ||
330 | font-size: 2em; | ||
331 | font-weight: bold; | ||
332 | margin-bottom: 0.67em; | ||
333 | margin-top: 0; | ||
334 | } | ||
335 | |||
336 | .readme h2 { | ||
337 | font-size: 1.5em; | ||
338 | font-weight: bold; | ||
339 | margin-bottom: 0.83em; | ||
340 | } | ||
341 | |||
342 | |||
343 | .readme h3 { | ||
344 | font-size: 1.17em; | ||
345 | font-weight: bold; | ||
346 | margin-bottom: 1em; | ||
347 | } | ||
348 | |||
349 | .readme p { | ||
350 | margin-bottom: 1em; | ||
351 | } | ||
352 | |||
353 | .readme ul { | ||
354 | list-style: disc; | ||
355 | margin-bottom: 1em; | ||
356 | margin-left: 1.5em; | ||
357 | } | ||
358 | |||
359 | .readme ul ul { | ||
360 | margin-bottom: 0; | ||
361 | } | ||
362 | |||
363 | .readme ol { | ||
364 | list-style: decimal; | ||
365 | margin-bottom: 1em; | ||
366 | margin-left: 1.5em; | ||
367 | } | ||
368 | |||
369 | .readme ol ol { | ||
370 | margin-bottom: 0; | ||
371 | } | ||
372 | |||
373 | .readme pre { | ||
374 | font-family: monospace; | ||
375 | margin: 1em 0; | ||
376 | white-space: pre; | ||
377 | } | ||
378 | |||
379 | .readme tt, .readme code, .readme kbd, .readme samp { | ||
380 | font-family: monospace; | ||
381 | } | ||
382 | |||
383 | .readme blockquote { | ||
384 | margin: 1em; | ||
385 | } | ||
386 | |||
387 | .projects_list, | ||
388 | .tags { | ||
389 | width: 95%; | ||
390 | background: #f0f0f0; | ||
391 | color: #545454; | ||
392 | border: 1px solid #d8d8d8; | ||
393 | padding: 5px; | ||
394 | margin: 0 auto 15px auto; | ||
395 | } | ||
396 | |||
397 | .heads { | ||
398 | width: 95%; | ||
399 | color: #545454; | ||
400 | border: 1px solid #d8d8d8; | ||
401 | padding: 5px; | ||
402 | margin: 0 auto 15px auto; | ||
403 | } | ||
404 | |||
405 | .header { | ||
406 | width: 94%; | ||
407 | margin: 0 auto 15px auto; | ||
408 | background: #eaf2f5; | ||
409 | border: 1px solid #bedce7; | ||
410 | padding: 5px; | ||
411 | } | ||
412 | |||
413 | .header .age { | ||
414 | float: left; | ||
415 | color: #000; | ||
416 | font-weight: bold; | ||
417 | width: 10em; | ||
418 | } | ||
419 | |||
420 | .title_text { | ||
421 | width: 94%; | ||
422 | background: #eaf2f5; | ||
423 | border: 1px solid #bedce7; | ||
424 | padding: 5px; | ||
425 | margin: 0 auto 0 auto; | ||
426 | } | ||
427 | |||
428 | .log_body { | ||
429 | width: 94%; | ||
430 | background: #eaf2f5; | ||
431 | border: 1px solid #bedce7; | ||
432 | border-top: 0; | ||
433 | padding: 5px; | ||
434 | margin: 0 auto 15px auto; | ||
435 | } | ||
436 | |||
437 | .page_body { | ||
438 | line-height: 1.4em; | ||
439 | width: 94%; | ||
440 | background: #f8f8f8; | ||
441 | border: 1px solid #d8d8d8; | ||
442 | padding: 5px; | ||
443 | margin: 15px auto 15px auto; | ||
444 | } | ||
445 | |||
446 | .diff_tree { | ||
447 | width: 95%; | ||
448 | background: #f0f0f0; | ||
449 | border: 1px solid #d8d8d8; | ||
450 | padding: 5px; | ||
451 | margin: 0 auto 15px auto; | ||
452 | } | ||
453 | |||
454 | .page_body > .list_head { | ||
455 | width: 98.5%; | ||
456 | } | ||
457 | |||
458 | .page_body > .diff_tree { | ||
459 | width: 99.5%; | ||
460 | } | ||
461 | |||
462 | .patch > .header { | ||
463 | width: 99%; | ||
464 | } | ||
465 | |||
466 | .author .avatar, | ||
467 | .author_date .avatar { | ||
468 | position: relative; | ||
469 | top: 3px; | ||
470 | } | ||
471 | |||
472 | .object_header .avatar { | ||
473 | border: 1px solid #D8D8D8; | ||
474 | float: right; | ||
475 | } | ||
476 | |||
477 | .object_header td, | ||
478 | .object_header th { | ||
479 | vertical-align: top; | ||
480 | } | ||
481 | |||
482 | /* Refs | ||
483 | ---------------------------------------------------------------------------- */ | ||
484 | |||
485 | span.refs span { | ||
486 | color: #707070; | ||
487 | display: inline-block; | ||
488 | margin: 0; | ||
489 | background-color: #eee; | ||
490 | border: 1px solid #ccc; | ||
491 | border-radius: 3px; | ||
492 | height: 18px; | ||
493 | padding: 0 6px; | ||
494 | text-overflow: ellipsis; | ||
495 | } | ||
496 | |||
497 | span.refs span.ref { | ||
498 | color: #707070; | ||
499 | display: inline-block; | ||
500 | margin: 0; | ||
501 | background-color: #c4c4ff; | ||
502 | border: 1px solid #7878ff; | ||
503 | border-radius: 3px; | ||
504 | height: 18px; | ||
505 | padding: 0 6px; | ||
506 | text-overflow: ellipsis; | ||
507 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gIKFSUnpolg7AAAAHJQTFRFAAAAVVWqZmbMVVXVYGDgbW3td3fuc3PzdHT0cHD1d3f6dHT6dnb7dHT7dnb8dnb8dnb9d3f9dnb+eHj+d3f+eHj+d3f+d3f+d3f+eHj+d3f+eHj+d3f+eHj+d3f+d3f+eHj+d3f+d3f+d3f+eHj/////V9oQhQAAACR0Uk5TAAIEBQcNDhMVGCotNTZAT217i5CgobvExtjZ4eLr7vP09ff7uqQ6cgAAAAFiS0dEJcMByQ8AAABUSURBVBjTpc43AoAwDENRh95bgNBM1f3PyOpslD++RSJ61YgH5M2IbIkn4GocSR1MZVBL4t2n4FgkbaxI8Sqph041WknZCWAIrcmEUbpf3lNe0N9u59YFYHnZ78gAAAAASUVORK5CYII=); | ||
508 | background-repeat: no-repeat; | ||
509 | padding-left: 18px; | ||
510 | } | ||
511 | |||
512 | span.refs span.tag { | ||
513 | color: #707070; | ||
514 | display: inline-block; | ||
515 | margin: 0; | ||
516 | background-color: #ffffab; | ||
517 | border: 1px solid #d9d93b; | ||
518 | border-radius: 3px; | ||
519 | height: 18px; | ||
520 | padding: 0 6px; | ||
521 | text-overflow: ellipsis; | ||
522 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gIKFSUZZ+h9RwAAAGZQTFRFAAAAtrYkwMBAwMBAx8c4yso11NQ71NQ51dU52Ng71tY519c719c719c62Ng719c719c62Ng72dk62Ng62Ng72Ng72dk62Ng72Ng62dk62dk72dk62Ng62dk72Ng72Ng72dk7////ou/AnQAAACB0Uk5TAAYHCxESLjRCWWlqa4uNkpissbrO19jc3ufs8vf6/f7atAU2AAAAAWJLR0QhxGwNFgAAAF1JREFUGFeNy0cOgCAABVGw94rY5d//lC7omhhn+ZIh5Gf1xPk0Zi5dAABROIQjSU/fsAXhDkCUljAv8jW2wlQpaixpo4Nj+dtatVpjkSJjLNaizRVpvhBCu/4h391jzw1lU12Z7wAAAABJRU5ErkJggg==); | ||
523 | background-repeat: no-repeat; | ||
524 | padding-left: 18px; | ||
525 | } | ||
526 | |||
527 | span.refs span.head { | ||
528 | color: #707070; | ||
529 | display: inline-block; | ||
530 | margin: 0; | ||
531 | background-color: #c4ffc4; | ||
532 | border: 1px solid #78ff78; | ||
533 | border-radius: 3px; | ||
534 | height: 18px; | ||
535 | padding: 0 6px; | ||
536 | text-overflow: ellipsis; | ||
537 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gIKFSYDsafX/gAAAUpJREFUOMvVkjFLA0EQhd/s7l06MSCihbV/wC5/QBDEIFYWprRIIQQJFqKFQi4kUbBQsFSwtrUQLQULUTBFLCzVIgimCXe7z0q5yIWcqfRVwzDzMTNvgL8mSUqWw3JOtFQJdsIwLDYyjdYgkEmkazl2oVtQWk36nn8AYBYASmFpxmizGtnoqO7Vb+M9KglEkASdpWU872nvVCiPRpuTnz2JIHGyqX3d0kZfR1G0Ht+g/do+FIhOBbLW3n/FNb/28D0puZ+dyL44ur1UoH5yzt2JyIj6UGdDgwrPhYzSagNEszJaeU/lWlylbmnaeGZZICsAppxzi6nt73HK85oQCMknOuarpno+FIjglVjZDXaCS2yDv3rIHlCb88FY0BlUl3hs7ektkhckb5DFWhoz+n12zr7ZPLpYUqLm0oBMn8NUzLhpAgjpWMS/1CcSJ3ykD7Rk1QAAAABJRU5ErkJggg==); | ||
538 | background-repeat: no-repeat; | ||
539 | padding-left: 18px; | ||
540 | } | ||
541 | |||
542 | span.refs a { | ||
543 | color: #4e4e4e; | ||
544 | font: 11px "Bitstream Vera Sans Mono", "DejaVu Sans Mono", Monaco, monospace; | ||
545 | line-height: 18px; | ||
546 | } | ||
547 | |||
548 | /* Diffs | ||
549 | ---------------------------------------------------------------------------- */ | ||
550 | |||
551 | div.diff.to_file a.path, | ||
552 | div.diff.to_file { | ||
553 | color: #007000; | ||
554 | } | ||
555 | |||
556 | div.diff.from_file a.path, | ||
557 | div.diff.from_file { | ||
558 | color: #aa0000; | ||
559 | } | ||
560 | |||
561 | .patch .header { | ||
562 | margin: 0; | ||
563 | } | ||
564 | |||
565 | .patchset { | ||
566 | overflow-x: auto; | ||
567 | overflow-y: hidden; | ||
568 | } | ||
569 | |||
570 | .chunk_header { | ||
571 | background: #eaf2f5; | ||
572 | color: #999; | ||
573 | } | ||
574 | |||
575 | .rem { | ||
576 | background: #ffdddd; | ||
577 | } | ||
578 | .rem .marked { | ||
579 | background: #ffaaaa; | ||
580 | } | ||
581 | .add { | ||
582 | background: #ddffdd; | ||
583 | } | ||
584 | .add .marked { | ||
585 | background: #7dff7d; | ||
586 | } | ||
587 | |||
588 | .extended_header { | ||
589 | width: 99.5%; | ||
590 | } | ||
591 | |||
592 | div.chunk_block { | ||
593 | overflow: hidden; | ||
594 | } | ||
595 | |||
596 | div.chunk_block div.old { | ||
597 | float: left; | ||
598 | width: 50%; | ||
599 | overflow: hidden; | ||
600 | border-right: 5px solid #EAF2F5; | ||
601 | } | ||
602 | |||
603 | div.chunk_block.rem, | ||
604 | div.chunk_block.add { | ||
605 | background: transparent; | ||
606 | } | ||
607 | |||
608 | div.chunk_block div.old .add, | ||
609 | div.chunk_block div.old .rem { | ||
610 | padding-right: 3px; | ||
611 | } | ||
612 | |||
613 | div.chunk_block div.new .add, | ||
614 | div.chunk_block div.new .rem { | ||
615 | padding-left: 3px; | ||
616 | } | ||
617 | |||
618 | div.chunk_block div.new { | ||
619 | margin-left: 50%; | ||
620 | width: 50%; | ||
621 | border-left: 5px solid #EAF2F5; | ||
622 | } | ||
623 | |||
624 | /* Category | ||
625 | ---------------------------------------------------------------------------- */ | ||
626 | |||
627 | td.category { | ||
628 | background: #E6F1F6; /* old browsers */ | ||
629 | background: -moz-linear-gradient(top, #C8D8E7 0%, #E6F1F3 100%); /* firefox */ | ||
630 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#C8D8E7), color-stop(100%,#E6F1F3)); /* webkit */ | ||
631 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#C8D8E7', endColorstr='#E6F1F3',GradientType=0 ); /* ie */ | ||
632 | background: -o-linear-gradient(top, #C8D8E7 0%, #E6F1F3 100%); | ||
633 | font-weight: bold; | ||
634 | border-bottom: 1px solid #D1D1D1; | ||
635 | border-top: 1px solid #D1D1D1; | ||
636 | } | ||
637 | |||
638 | /* Age | ||
639 | ---------------------------------------------------------------------------- */ | ||
640 | |||
641 | /* noage: "No commits" */ | ||
642 | .project_list td.noage { | ||
643 | color: #cdcdcd; | ||
644 | } | ||
645 | |||
646 | /* age2: 60*60*24*2 <= age */ | ||
647 | .project_list td.age2, .blame td.age2 { | ||
648 | color: #545454; | ||
649 | } | ||
650 | |||
651 | /* age1: 60*60*2 <= age < 60*60*24*2 */ | ||
652 | .project_list td.age1 { | ||
653 | color: #009900; | ||
654 | } | ||
655 | |||
656 | /* age0: age < 60*60*2 */ | ||
657 | .project_list td.age0 { | ||
658 | color: #009900; | ||
659 | font-weight: bold; | ||
660 | } | ||
661 | |||
662 | /* File status | ||
663 | ---------------------------------------------------------------------------- */ | ||
664 | |||
665 | .diff_tree span.file_status.new { | ||
666 | color: #008000; | ||
667 | } | ||
668 | |||
669 | table.diff_tree span.file_status.deleted { | ||
670 | color: #c00000; | ||
671 | } | ||
672 | |||
673 | table.diff_tree span.file_status.moved, | ||
674 | table.diff_tree span.file_status.mode_chnge { | ||
675 | color: #545454; | ||
676 | } | ||
677 | |||
678 | table.diff_tree span.file_status.copied { | ||
679 | color: #70a070; | ||
680 | } | ||
681 | |||
682 | span.cntrl { | ||
683 | border: dashed #aaaaaa; | ||
684 | border-width: 1px; | ||
685 | padding: 0px 2px 0px 2px; | ||
686 | margin: 0px 2px 0px 2px; | ||
687 | } | ||
688 | |||
689 | span.match { | ||
690 | background: #aaffaa; | ||
691 | color: #000; | ||
692 | } | ||
693 | |||
694 | td.error { | ||
695 | color: red; | ||
696 | background: yellow; | ||
697 | } | ||
698 | |||
699 | /* blob view */ | ||
700 | |||
701 | td.pre, div.pre, div.diff { | ||
702 | white-space: pre-wrap; | ||
703 | } | ||
704 | |||
705 | /* JavaScript-based timezone manipulation */ | ||
706 | |||
707 | .popup { /* timezone selection UI */ | ||
708 | position: absolute; | ||
709 | /* "top: 0; right: 0;" would be better, if not for bugs in browsers */ | ||
710 | top: 0; left: 0; | ||
711 | border: 1px solid #d8d8d8; | ||
712 | padding: 2px; | ||
713 | background-color: #f0f0f0; | ||
714 | font-style: normal; | ||
715 | color: #545454; | ||
716 | cursor: auto; | ||
717 | } | ||
718 | |||
719 | .close-button { /* close timezone selection UI without selecting */ | ||
720 | /* float doesn't work within absolutely positioned container, | ||
721 | * if width of container is not set explicitly */ | ||
722 | /* float: right; */ | ||
723 | position: absolute; | ||
724 | top: 0px; right: 0px; | ||
725 | border: 1px solid #ffaaaa; | ||
726 | margin: 1px 1px 1px 1px; | ||
727 | padding-bottom: 2px; | ||
728 | width: 12px; | ||
729 | height: 10px; | ||
730 | font-size: 9px; | ||
731 | font-weight: bold; | ||
732 | text-align: center; | ||
733 | background-color: #ffdddd; | ||
734 | cursor: pointer; | ||
735 | } | ||
736 | |||
737 | /* Style definition generated by highlight 2.4.5, http://www.andre-simon.de/ */ | ||
738 | |||
739 | /* Highlighting theme definition: */ | ||
740 | |||
741 | .num { color:#6ecf36; } | ||
742 | .esc { color:#ff00ff; } | ||
743 | .str { color:#ff00d3; background-color: #edc9ec } | ||
744 | .dstr { color:#818100; } | ||
745 | .slc { color:#838183; font-style:italic; } | ||
746 | .com { color:#838183; font-style:italic; } | ||
747 | .dir { color:#008200; } | ||
748 | .sym { color:#000000; } | ||
749 | .line { color:#555555; } | ||
750 | .kwa { color:#666666; font-weight:bold; } | ||
751 | .kwb { color:#6b3099; } | ||
752 | .kwc { color:#d4663d; } | ||
753 | .kwd { color:#2928ff; } | ||
754 | |||
755 | /**** Styles supplémentaires *****/ | ||
756 | |||
757 | .readme div.toc { | ||
758 | float: right; | ||
759 | border: 1px solid black; | ||
760 | background-color: white; | ||
761 | } | ||
762 | .readme div.toc span.toctitle { | ||
763 | display: inline-block; | ||
764 | width: 100%; | ||
765 | text-align: center; | ||
766 | font-weight: bold; | ||
767 | } | ||
768 | |||
769 | .readme table { | ||
770 | background-color: white; | ||
771 | } | ||
772 | |||
773 | .readme table thead tr { | ||
774 | background-color: #ccc; | ||
775 | } | ||
776 | |||
777 | .readme table tbody tr:nth-child(2n) { | ||
778 | background-color: #f8f8f8; | ||
779 | } | ||
780 | |||
781 | .readme table td, .readme table th { | ||
782 | border: 1px solid black; | ||
783 | } | ||
diff --git a/virtual/modules/websites/tools/git/gitweb/theme/gitweb.js b/virtual/modules/websites/tools/git/gitweb/theme/gitweb.js deleted file mode 100644 index 72f3cfa..0000000 --- a/virtual/modules/websites/tools/git/gitweb/theme/gitweb.js +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | function include(filename, onload) { | ||
2 | var head = document.getElementsByTagName('head')[0]; | ||
3 | var script = document.createElement('script'); | ||
4 | script.src = filename; | ||
5 | script.type = 'text/javascript'; | ||
6 | script.onload = script.onreadystatechange = function() { | ||
7 | if (script.readyState) { | ||
8 | if (script.readyState === 'complete' || script.readyState === 'loaded') { | ||
9 | script.onreadystatechange = null; | ||
10 | onload(); | ||
11 | } | ||
12 | } | ||
13 | else { | ||
14 | onload(); | ||
15 | } | ||
16 | } | ||
17 | head.appendChild(script); | ||
18 | } | ||
19 | |||
20 | include('static/gitweb.js', function() {}); | ||
21 | include('//code.jquery.com/jquery-3.1.0.min.js', function() { | ||
22 | $("div.title").each(function(index, element) { | ||
23 | if ($(element).text() === "readme" || $(element).text() === " ") { | ||
24 | $(element).hide(); | ||
25 | } | ||
26 | }); | ||
27 | }); | ||
diff --git a/virtual/modules/websites/tools/git/mantisbt/mantisbt-plugin-slack.json b/virtual/modules/websites/tools/git/mantisbt/mantisbt-plugin-slack.json deleted file mode 100644 index 54ea38b..0000000 --- a/virtual/modules/websites/tools/git/mantisbt/mantisbt-plugin-slack.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "9286d2e-master", | ||
3 | "meta": { | ||
4 | "name": "mantisbt-plugin-slack", | ||
5 | "url": "https://github.com/mantisbt-plugins/Slack", | ||
6 | "branch": "master" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "mantisbt-plugins", | ||
10 | "repo": "Slack", | ||
11 | "rev": "9286d2eeeb8a986ed949e378711fef5f0bf182dc", | ||
12 | "sha256": "0nn0v4jc967giilkzrppi5svd04m2hnals75xxp0iabcdjnih0mn", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/virtual/modules/websites/tools/git/mantisbt/mantisbt-plugin-source-integration.json b/virtual/modules/websites/tools/git/mantisbt/mantisbt-plugin-source-integration.json deleted file mode 100644 index e36a68c..0000000 --- a/virtual/modules/websites/tools/git/mantisbt/mantisbt-plugin-source-integration.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "v2.1.5", | ||
3 | "meta": { | ||
4 | "name": "mantisbt-plugin-source-integration", | ||
5 | "url": "https://github.com/mantisbt-plugins/source-integration", | ||
6 | "branch": "refs/tags/v2.1.5" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "mantisbt-plugins", | ||
10 | "repo": "source-integration", | ||
11 | "rev": "a48039a20abc50864e0e68c0c843b27058404386", | ||
12 | "sha256": "07g6q3hivmnd94r47pp0snk5bv4pa3piwclc9qhj612i4wnsazsk", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/virtual/modules/websites/tools/git/mantisbt/mantisbt-plugin-source-integration_Source.API.php.diff b/virtual/modules/websites/tools/git/mantisbt/mantisbt-plugin-source-integration_Source.API.php.diff deleted file mode 100644 index c355144..0000000 --- a/virtual/modules/websites/tools/git/mantisbt/mantisbt-plugin-source-integration_Source.API.php.diff +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | --- b/Source/Source.API.php 2017-09-18 00:50:32.000000000 +0200 | ||
2 | +++ a/Source/Source.API.php 2018-03-04 19:00:25.578889039 +0100 | ||
3 | @@ -452,6 +452,9 @@ | ||
4 | # Allow other plugins to post-process commit data | ||
5 | event_signal( 'EVENT_SOURCE_COMMITS', array( $p_changesets ) ); | ||
6 | event_signal( 'EVENT_SOURCE_FIXED', array( $t_fixed_bugs ) ); | ||
7 | + foreach( $t_fixed_bugs as $t_bug_id => $t_changeset ) { | ||
8 | + event_signal( 'EVENT_BUG_ACTION', array('RESOLVE', $t_bug_id) ); | ||
9 | + } | ||
10 | } | ||
11 | |||
12 | /** | ||
diff --git a/virtual/modules/websites/tools/git/mantisbt/mantisbt.nix b/virtual/modules/websites/tools/git/mantisbt/mantisbt.nix deleted file mode 100644 index bc2ff3a..0000000 --- a/virtual/modules/websites/tools/git/mantisbt/mantisbt.nix +++ /dev/null | |||
@@ -1,120 +0,0 @@ | |||
1 | { lib, env, writeText, stdenv, fetchurl, fetchedGithub }: | ||
2 | let | ||
3 | mantisbt = let | ||
4 | plugins = { | ||
5 | slack = stdenv.mkDerivation (fetchedGithub ./mantisbt-plugin-slack.json // rec { | ||
6 | installPhase = '' | ||
7 | sed -i -e "s/return '@' . \\\$username;/return \\\$username;/" Slack.php | ||
8 | cp -a . $out | ||
9 | ''; | ||
10 | }); | ||
11 | source-integration = stdenv.mkDerivation (fetchedGithub ./mantisbt-plugin-source-integration.json // rec { | ||
12 | installPhase = '' | ||
13 | mkdir $out | ||
14 | patch -p1 < ${./mantisbt-plugin-source-integration_Source.API.php.diff} | ||
15 | cp -a Source* $out/ | ||
16 | ''; | ||
17 | }); | ||
18 | }; | ||
19 | in rec { | ||
20 | config = | ||
21 | writeText "config_inc.php" '' | ||
22 | <?php | ||
23 | $g_hostname = 'db-1.immae.eu'; | ||
24 | $g_db_username = 'mantisbt'; | ||
25 | $g_db_password = '${env.postgresql.password}'; | ||
26 | $g_database_name = 'mantisbt'; | ||
27 | $g_db_type = 'pgsql'; | ||
28 | $g_crypto_master_salt = '${env.master_salt}'; | ||
29 | $g_allow_signup = OFF; | ||
30 | $g_allow_anonymous_login = ON; | ||
31 | $g_anonymous_account = 'anonymous'; | ||
32 | |||
33 | $g_phpMailer_method = PHPMAILER_METHOD_SMTP; | ||
34 | $g_smtp_host = 'mail.immae.eu'; | ||
35 | $g_smtp_username = '''; | ||
36 | $g_smtp_password = '''; | ||
37 | $g_webmaster_email = 'webmaster@immae.eu'; | ||
38 | $g_from_email = 'noreply@immae.eu'; | ||
39 | $g_return_path_email = 'webmaster@immae.eu'; | ||
40 | $g_from_name = 'Mantis Bug Tracker at immae.eu'; | ||
41 | $g_email_receive_own = OFF; | ||
42 | # --- LDAP --- | ||
43 | $g_login_method = LDAP; | ||
44 | $g_ldap_protocol_version = 3; | ||
45 | $g_ldap_server = 'ldaps://ldap.immae.eu:636'; | ||
46 | $g_ldap_root_dn = 'ou=users,dc=immae,dc=eu'; | ||
47 | $g_ldap_bind_dn = 'cn=mantisbt,ou=services,dc=immae,dc=eu'; | ||
48 | $g_ldap_bind_passwd = '${env.ldap.password}'; | ||
49 | $g_use_ldap_email = ON; | ||
50 | $g_use_ldap_realname = ON; | ||
51 | $g_ldap_uid_field = 'uid'; | ||
52 | $g_ldap_realname_field = 'cn'; | ||
53 | $g_ldap_organization = '(memberOf=cn=users,cn=mantisbt,ou=services,dc=immae,dc=eu)'; | ||
54 | ''; | ||
55 | webRoot = stdenv.mkDerivation rec { | ||
56 | name = "mantisbt-${version}"; | ||
57 | version = "2.11.1"; | ||
58 | src = fetchurl { | ||
59 | url = "https://downloads.sourceforge.net/project/mantisbt/mantis-stable/${version}/${name}.tar.gz"; | ||
60 | sha256 = "0jnrqz6r2hf53v0k1lh3il7hlfiphn61r9wgg6mzyywkjxwq07md"; | ||
61 | }; | ||
62 | patches = [ | ||
63 | ./patches/bug_report.php.diff | ||
64 | ./patches/bug_report_page.php.diff | ||
65 | ./patches/bugnote_add.php.diff | ||
66 | ./patches/bugnote_add_inc.php.diff | ||
67 | ]; | ||
68 | installPhase = '' | ||
69 | cp -a . $out | ||
70 | ln -s ${config} $out/config/config_inc.php | ||
71 | ln -s ${plugins.slack} $out/plugins/Slack | ||
72 | ln -s ${plugins.source-integration}/Source* $out/plugins/ | ||
73 | ''; | ||
74 | }; | ||
75 | apache = { | ||
76 | user = "wwwrun"; | ||
77 | group = "wwwrun"; | ||
78 | modules = [ "proxy_fcgi" ]; | ||
79 | vhostConf = '' | ||
80 | Alias /mantisbt "${webRoot}" | ||
81 | <Directory "${webRoot}"> | ||
82 | DirectoryIndex index.php | ||
83 | <FilesMatch "\.php$"> | ||
84 | SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" | ||
85 | </FilesMatch> | ||
86 | |||
87 | AllowOverride All | ||
88 | Options FollowSymlinks | ||
89 | Require all granted | ||
90 | </Directory> | ||
91 | <Directory "${webRoot}/admin"> | ||
92 | #Reenable during upgrade | ||
93 | Require all denied | ||
94 | </Directory> | ||
95 | ''; | ||
96 | }; | ||
97 | phpFpm = rec { | ||
98 | basedir = builtins.concatStringsSep ":" ( | ||
99 | [ webRoot config ] | ||
100 | ++ lib.attrsets.mapAttrsToList (name: value: value) plugins); | ||
101 | socket = "/var/run/phpfpm/mantisbt.sock"; | ||
102 | pool = '' | ||
103 | listen = ${socket} | ||
104 | user = ${apache.user} | ||
105 | group = ${apache.group} | ||
106 | listen.owner = ${apache.user} | ||
107 | listen.group = ${apache.group} | ||
108 | pm = ondemand | ||
109 | pm.max_children = 60 | ||
110 | pm.process_idle_timeout = 60 | ||
111 | |||
112 | php_admin_value[upload_max_filesize] = 5000000 | ||
113 | |||
114 | php_admin_value[open_basedir] = "${basedir}:/tmp" | ||
115 | php_admin_value[session.save_path] = "/var/lib/php/sessions/mantisbt" | ||
116 | ''; | ||
117 | }; | ||
118 | }; | ||
119 | in | ||
120 | mantisbt | ||
diff --git a/virtual/modules/websites/tools/git/mantisbt/patches/bug_report.php.diff b/virtual/modules/websites/tools/git/mantisbt/patches/bug_report.php.diff deleted file mode 100644 index a520043..0000000 --- a/virtual/modules/websites/tools/git/mantisbt/patches/bug_report.php.diff +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | --- a/bug_report.php 2018-02-10 21:29:27.000000000 +0100 | ||
2 | +++ b/bug_report.php 2018-03-03 15:04:19.622499678 +0100 | ||
3 | @@ -149,6 +149,17 @@ | ||
4 | access_ensure_project_level( config_get( 'update_bug_assign_threshold' ) ); | ||
5 | } | ||
6 | |||
7 | +# begin captcha check for anon user | ||
8 | +if ( current_user_is_anonymous() && get_gd_version() > 0 ) { | ||
9 | + $f_captcha = gpc_get_string( 'captcha', '' ); | ||
10 | + $f_captcha = utf8_strtolower( trim( $f_captcha ) ); | ||
11 | + | ||
12 | + $t_securimage = new Securimage(); | ||
13 | + if( $t_securimage->check( $f_captcha ) == false ) { | ||
14 | + trigger_error( ERROR_SIGNUP_NOT_MATCHING_CAPTCHA, ERROR ); | ||
15 | + } | ||
16 | +} | ||
17 | + | ||
18 | # if a profile was selected then let's use that information | ||
19 | if( 0 != $t_bug_data->profile_id ) { | ||
20 | if( profile_is_global( $t_bug_data->profile_id ) ) { | ||
diff --git a/virtual/modules/websites/tools/git/mantisbt/patches/bug_report_page.php.diff b/virtual/modules/websites/tools/git/mantisbt/patches/bug_report_page.php.diff deleted file mode 100644 index 80dea91..0000000 --- a/virtual/modules/websites/tools/git/mantisbt/patches/bug_report_page.php.diff +++ /dev/null | |||
@@ -1,53 +0,0 @@ | |||
1 | --- a/bug_report_page.php 2018-02-10 21:29:27.000000000 +0100 | ||
2 | +++ b/bug_report_page.php 2018-03-03 15:04:19.622499678 +0100 | ||
3 | @@ -708,7 +708,50 @@ | ||
4 | <span class="lbl padding-6"><?php echo lang_get( 'check_report_more_bugs' ) ?></span> | ||
5 | </label> | ||
6 | </td> | ||
7 | </tr> | ||
8 | +<?php | ||
9 | + # captcha image requires GD library and related option to ON | ||
10 | + if( current_user_is_anonymous() && get_gd_version() > 0 ) { | ||
11 | + $t_securimage_path = 'vendor/dapphp/securimage'; | ||
12 | + $t_securimage_show = $t_securimage_path . '/securimage_show.php'; | ||
13 | + $t_securimage_play = $t_securimage_path . '/securimage_play.swf?' | ||
14 | + . http_build_query( array( | ||
15 | + 'audio_file' => $t_securimage_path . '/securimage_play.php', | ||
16 | + 'bgColor1=' => '#fff', | ||
17 | + 'bgColor2=' => '#fff', | ||
18 | + 'iconColor=' => '#777', | ||
19 | + 'borderWidth=' => 1, | ||
20 | + 'borderColor=' => '#000', | ||
21 | + ) ); | ||
22 | +?> | ||
23 | + <tr> | ||
24 | + <th class="category">CAPTCHA</th> | ||
25 | + <td> | ||
26 | + | ||
27 | + <label for="captcha-field" class="block clearfix"> | ||
28 | + <strong><?php echo lang_get( 'signup_captcha_request_label' ); ?></strong> | ||
29 | + </label> | ||
30 | + <span id="captcha-input" class="input"> | ||
31 | + <?php print_captcha_input( 'captcha' ); ?> | ||
32 | + | ||
33 | + <span id="captcha-image" class="captcha-image" style="padding-right:3px;"> | ||
34 | + <img src="<?php echo $t_securimage_show; ?>" alt="visual captcha" /> | ||
35 | + <ul id="captcha-refresh"><li><a href="#"><?php | ||
36 | + echo lang_get( 'signup_captcha_refresh' ); | ||
37 | + ?></a></li></ul> | ||
38 | + </span> | ||
39 | + | ||
40 | + <object type="application/x-shockwave-flash" width="19" height="19" | ||
41 | + data="<?php echo $t_securimage_play; ?>"> | ||
42 | + <param name="movie" value="<?php echo $t_securimage_play; ?>" /> | ||
43 | + </object> | ||
44 | + </span> | ||
45 | + </td> | ||
46 | + </tr> | ||
47 | +<?php | ||
48 | + } | ||
49 | +?> | ||
50 | + | ||
51 | </table> | ||
52 | </div> | ||
53 | </div> | ||
diff --git a/virtual/modules/websites/tools/git/mantisbt/patches/bugnote_add.php.diff b/virtual/modules/websites/tools/git/mantisbt/patches/bugnote_add.php.diff deleted file mode 100644 index 4509f0a..0000000 --- a/virtual/modules/websites/tools/git/mantisbt/patches/bugnote_add.php.diff +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | --- a/bugnote_add.php 2018-02-10 21:29:27.000000000 +0100 | ||
2 | +++ b/bugnote_add.php 2018-03-03 15:13:12.439919511 +0100 | ||
3 | @@ -44,6 +44,17 @@ | ||
4 | |||
5 | $t_query = array( 'issue_id' => $f_bug_id ); | ||
6 | |||
7 | +# begin captcha check for anon user | ||
8 | +if ( current_user_is_anonymous() && get_gd_version() > 0 ) { | ||
9 | + $f_captcha = gpc_get_string( 'captcha', '' ); | ||
10 | + $f_captcha = utf8_strtolower( trim( $f_captcha ) ); | ||
11 | + | ||
12 | + $t_securimage = new Securimage(); | ||
13 | + if( $t_securimage->check( $f_captcha ) == false ) { | ||
14 | + trigger_error( ERROR_SIGNUP_NOT_MATCHING_CAPTCHA, ERROR ); | ||
15 | + } | ||
16 | +} | ||
17 | + | ||
18 | if( count( $f_files ) > 0 && is_blank( $f_text ) && helper_duration_to_minutes( $f_duration ) == 0 ) { | ||
19 | $t_payload = array( | ||
20 | 'files' => helper_array_transpose( $f_files ) | ||
diff --git a/virtual/modules/websites/tools/git/mantisbt/patches/bugnote_add_inc.php.diff b/virtual/modules/websites/tools/git/mantisbt/patches/bugnote_add_inc.php.diff deleted file mode 100644 index a8589c7..0000000 --- a/virtual/modules/websites/tools/git/mantisbt/patches/bugnote_add_inc.php.diff +++ /dev/null | |||
@@ -1,52 +0,0 @@ | |||
1 | --- a/bugnote_add_inc.php 2018-02-10 21:29:27.000000000 +0100 | ||
2 | +++ b/bugnote_add_inc.php 2018-03-03 15:14:27.332428557 +0100 | ||
3 | @@ -119,6 +119,49 @@ | ||
4 | <textarea name="bugnote_text" id="bugnote_text" class="<?php echo $t_bugnote_class ?>" rows="7"></textarea> | ||
5 | </td> | ||
6 | </tr> | ||
7 | +<?php | ||
8 | + # captcha image requires GD library and related option to ON | ||
9 | + if( current_user_is_anonymous() && get_gd_version() > 0 ) { | ||
10 | + $t_securimage_path = 'vendor/dapphp/securimage'; | ||
11 | + $t_securimage_show = $t_securimage_path . '/securimage_show.php'; | ||
12 | + $t_securimage_play = $t_securimage_path . '/securimage_play.swf?' | ||
13 | + . http_build_query( array( | ||
14 | + 'audio_file' => $t_securimage_path . '/securimage_play.php', | ||
15 | + 'bgColor1=' => '#fff', | ||
16 | + 'bgColor2=' => '#fff', | ||
17 | + 'iconColor=' => '#777', | ||
18 | + 'borderWidth=' => 1, | ||
19 | + 'borderColor=' => '#000', | ||
20 | + ) ); | ||
21 | +?> | ||
22 | + <tr> | ||
23 | + <th class="category">CAPTCHA</th> | ||
24 | + <td> | ||
25 | + | ||
26 | + <label for="captcha-field" class="block clearfix"> | ||
27 | + <strong><?php echo lang_get( 'signup_captcha_request_label' ); ?></strong> | ||
28 | + </label> | ||
29 | + <span id="captcha-input" class="input"> | ||
30 | + <?php print_captcha_input( 'captcha' ); ?> | ||
31 | + | ||
32 | + <span id="captcha-image" class="captcha-image" style="padding-right:3px;"> | ||
33 | + <img src="<?php echo $t_securimage_show; ?>" alt="visual captcha" /> | ||
34 | + <ul id="captcha-refresh"><li><a href="#"><?php | ||
35 | + echo lang_get( 'signup_captcha_refresh' ); | ||
36 | + ?></a></li></ul> | ||
37 | + </span> | ||
38 | + | ||
39 | + <object type="application/x-shockwave-flash" width="19" height="19" | ||
40 | + data="<?php echo $t_securimage_play; ?>"> | ||
41 | + <param name="movie" value="<?php echo $t_securimage_play; ?>" /> | ||
42 | + </object> | ||
43 | + </span> | ||
44 | + </td> | ||
45 | + </tr> | ||
46 | +<?php | ||
47 | + } | ||
48 | +?> | ||
49 | + | ||
50 | |||
51 | <?php | ||
52 | if( config_get( 'time_tracking_enabled' ) ) { | ||
diff --git a/virtual/modules/websites/tools/mastodon/default.nix b/virtual/modules/websites/tools/mastodon/default.nix deleted file mode 100644 index f1a207f..0000000 --- a/virtual/modules/websites/tools/mastodon/default.nix +++ /dev/null | |||
@@ -1,208 +0,0 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | ||
2 | let | ||
3 | mastodon = pkgs.callPackage ./mastodon.nix { | ||
4 | inherit (mylibs) fetchedGithub; | ||
5 | env = myconfig.env.tools.mastodon; | ||
6 | }; | ||
7 | |||
8 | cfg = config.services.myWebsites.tools.mastodon; | ||
9 | in { | ||
10 | options.services.myWebsites.tools.mastodon = { | ||
11 | enable = lib.mkEnableOption "enable mastodon's website"; | ||
12 | }; | ||
13 | |||
14 | config = lib.mkIf cfg.enable { | ||
15 | ids.uids.mastodon = 399; | ||
16 | ids.gids.mastodon = 399; | ||
17 | |||
18 | users.users.mastodon = { | ||
19 | name = "mastodon"; | ||
20 | uid = config.ids.uids.mastodon; | ||
21 | group = "mastodon"; | ||
22 | description = "Mastodon user"; | ||
23 | home = mastodon.railsRoot; | ||
24 | useDefaultShell = true; | ||
25 | }; | ||
26 | |||
27 | users.groups.mastodon.gid = config.ids.gids.mastodon; | ||
28 | |||
29 | systemd.services.mastodon-streaming = { | ||
30 | description = "Mastodon Streaming"; | ||
31 | wantedBy = [ "multi-user.target" ]; | ||
32 | after = [ "network.target" "mastodon-web.service" ]; | ||
33 | |||
34 | environment.NODE_ENV = "production"; | ||
35 | environment.SOCKET = mastodon.nodeSocket; | ||
36 | |||
37 | path = [ pkgs.nodejs pkgs.bashInteractive ]; | ||
38 | |||
39 | script = '' | ||
40 | exec npm run start | ||
41 | ''; | ||
42 | |||
43 | postStart = '' | ||
44 | while [ ! -S $SOCKET ]; do | ||
45 | sleep 0.5 | ||
46 | done | ||
47 | chmod a+w $SOCKET | ||
48 | ''; | ||
49 | |||
50 | postStop = '' | ||
51 | rm $SOCKET | ||
52 | ''; | ||
53 | |||
54 | serviceConfig = { | ||
55 | User = "mastodon"; | ||
56 | EnvironmentFile = mastodon.config; | ||
57 | PrivateTmp = true; | ||
58 | Restart = "always"; | ||
59 | TimeoutSec = 15; | ||
60 | Type = "simple"; | ||
61 | WorkingDirectory = mastodon.railsRoot; | ||
62 | }; | ||
63 | |||
64 | unitConfig.RequiresMountsFor = mastodon.varDir; | ||
65 | }; | ||
66 | |||
67 | systemd.services.mastodon-web = { | ||
68 | description = "Mastodon Web app"; | ||
69 | wantedBy = [ "multi-user.target" ]; | ||
70 | after = [ "network.target" ]; | ||
71 | |||
72 | environment.RAILS_ENV = "production"; | ||
73 | environment.BUNDLE_PATH = "${mastodon.gems}/lib/ruby/gems/2.5.0"; | ||
74 | environment.BUNDLE_GEMFILE = "${mastodon.gems.confFiles}/Gemfile"; | ||
75 | environment.SOCKET = mastodon.railsSocket; | ||
76 | |||
77 | path = [ mastodon.gems mastodon.gems.ruby pkgs.file ]; | ||
78 | |||
79 | preStart = '' | ||
80 | ./bin/bundle exec rails db:migrate | ||
81 | ''; | ||
82 | |||
83 | script = '' | ||
84 | exec ./bin/bundle exec puma -C config/puma.rb | ||
85 | ''; | ||
86 | |||
87 | serviceConfig = { | ||
88 | User = "mastodon"; | ||
89 | EnvironmentFile = mastodon.config; | ||
90 | PrivateTmp = true; | ||
91 | Restart = "always"; | ||
92 | TimeoutSec = 60; | ||
93 | Type = "simple"; | ||
94 | WorkingDirectory = mastodon.railsRoot; | ||
95 | }; | ||
96 | |||
97 | unitConfig.RequiresMountsFor = mastodon.varDir; | ||
98 | }; | ||
99 | |||
100 | systemd.services.mastodon-sidekiq = { | ||
101 | description = "Mastodon Sidekiq"; | ||
102 | wantedBy = [ "multi-user.target" ]; | ||
103 | after = [ "network.target" "mastodon-web.service" ]; | ||
104 | |||
105 | environment.RAILS_ENV="production"; | ||
106 | environment.BUNDLE_PATH = "${mastodon.gems}/${mastodon.gems.ruby.gemPath}"; | ||
107 | environment.BUNDLE_GEMFILE = "${mastodon.gems.confFiles}/Gemfile"; | ||
108 | environment.DB_POOL="5"; | ||
109 | |||
110 | path = [ mastodon.gems mastodon.gems.ruby pkgs.imagemagick pkgs.ffmpeg pkgs.file ]; | ||
111 | |||
112 | script = '' | ||
113 | exec ./bin/bundle exec sidekiq -c 5 -q default -q mailers -q pull -q push | ||
114 | ''; | ||
115 | |||
116 | serviceConfig = { | ||
117 | User = "mastodon"; | ||
118 | EnvironmentFile = mastodon.config; | ||
119 | PrivateTmp = true; | ||
120 | Restart = "always"; | ||
121 | TimeoutSec = 15; | ||
122 | Type = "simple"; | ||
123 | WorkingDirectory = mastodon.railsRoot; | ||
124 | }; | ||
125 | |||
126 | unitConfig.RequiresMountsFor = mastodon.varDir; | ||
127 | }; | ||
128 | |||
129 | system.activationScripts.mastodon = { | ||
130 | deps = [ "users" ]; | ||
131 | text = '' | ||
132 | install -m 0755 -o mastodon -g mastodon -d ${mastodon.socketsDir} | ||
133 | install -m 0755 -o mastodon -g mastodon -d ${mastodon.varDir} ${mastodon.varDir}/tmp/cache | ||
134 | ''; | ||
135 | }; | ||
136 | |||
137 | services.myWebsites.tools.modules = [ | ||
138 | "headers" "proxy" "proxy_wstunnel" "proxy_http" "proxy_balancer" | ||
139 | "lbmethod_byrequests" "lbmethod_bytraffic" "lbmethod_bybusyness" "lbmethod_heartbeat" | ||
140 | ]; | ||
141 | security.acme.certs."eldiron".extraDomains."mastodon.immae.eu" = null; | ||
142 | services.myWebsites.tools.vhostConfs.mastodon = { | ||
143 | certName = "eldiron"; | ||
144 | hosts = ["mastodon.immae.eu" ]; | ||
145 | root = "${mastodon.railsRoot}/public/"; | ||
146 | extraConfig = [ '' | ||
147 | Header always set Referrer-Policy "strict-origin-when-cross-origin" | ||
148 | Header always set Strict-Transport-Security "max-age=31536000" | ||
149 | |||
150 | <LocationMatch "^/(assets|avatars|emoji|headers|packs|sounds|system)> | ||
151 | Header always set Cache-Control "public, max-age=31536000, immutable" | ||
152 | Require all granted | ||
153 | </LocationMatch> | ||
154 | |||
155 | ProxyPreserveHost On | ||
156 | RequestHeader set X-Forwarded-Proto "https" | ||
157 | |||
158 | RewriteEngine On | ||
159 | |||
160 | ProxyPass /500.html ! | ||
161 | ProxyPass /sw.js ! | ||
162 | ProxyPass /embed.js ! | ||
163 | ProxyPass /robots.txt ! | ||
164 | ProxyPass /manifest.json ! | ||
165 | ProxyPass /browserconfig.xml ! | ||
166 | ProxyPass /mask-icon.svg ! | ||
167 | ProxyPassMatch ^(/.*\.(png|ico|gif)$) ! | ||
168 | ProxyPassMatch ^/(assets|avatars|emoji|headers|packs|sounds|system|.well-known/acme-challenge) ! | ||
169 | |||
170 | ProxyPassMatch /api/v1/streaming/(.+)$ balancer://node_servers_http/api/v1/streaming/$1 | ||
171 | ProxyPass /api/v1/streaming/ balancer://node_servers/ | ||
172 | ProxyPassReverse /api/v1/streaming/ balancer://node_servers/ | ||
173 | ProxyPass / balancer://puma_servers/ | ||
174 | ProxyPassReverse / balancer://puma_servers/ | ||
175 | |||
176 | <Proxy balancer://puma_servers> | ||
177 | BalancerMember unix://${mastodon.railsSocket}|http:// | ||
178 | </Proxy> | ||
179 | |||
180 | <Proxy balancer://node_servers> | ||
181 | BalancerMember unix://${mastodon.nodeSocket}|ws://localhost | ||
182 | </Proxy> | ||
183 | |||
184 | <Proxy balancer://node_servers_http> | ||
185 | BalancerMember unix://${mastodon.nodeSocket}|http://localhost | ||
186 | </Proxy> | ||
187 | |||
188 | Alias /system ${mastodon.varDir} | ||
189 | |||
190 | <Directory ${mastodon.varDir}> | ||
191 | Require all granted | ||
192 | Options -MultiViews | ||
193 | </Directory> | ||
194 | |||
195 | <Directory ${mastodon.railsRoot}/public/> | ||
196 | Require all granted | ||
197 | Options -MultiViews +FollowSymlinks | ||
198 | </Directory> | ||
199 | |||
200 | ErrorDocument 500 /500.html | ||
201 | ErrorDocument 501 /500.html | ||
202 | ErrorDocument 502 /500.html | ||
203 | ErrorDocument 503 /500.html | ||
204 | ErrorDocument 504 /500.html | ||
205 | '' ]; | ||
206 | }; | ||
207 | }; | ||
208 | } | ||
diff --git a/virtual/modules/websites/tools/mastodon/gemset.nix b/virtual/modules/websites/tools/mastodon/gemset.nix deleted file mode 100644 index 585dab1..0000000 --- a/virtual/modules/websites/tools/mastodon/gemset.nix +++ /dev/null | |||
@@ -1,2878 +0,0 @@ | |||
1 | { | ||
2 | actioncable = { | ||
3 | dependencies = ["actionpack" "nio4r" "websocket-driver"]; | ||
4 | groups = ["default"]; | ||
5 | platforms = []; | ||
6 | source = { | ||
7 | remotes = ["https://rubygems.org"]; | ||
8 | sha256 = "17vdxn0afi5rfnbs09nl0m0cyj7yvpi445bmi8pkmzbaqzqkq3ff"; | ||
9 | type = "gem"; | ||
10 | }; | ||
11 | version = "5.2.1"; | ||
12 | }; | ||
13 | actionmailer = { | ||
14 | dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; | ||
15 | groups = ["default" "development"]; | ||
16 | platforms = []; | ||
17 | source = { | ||
18 | remotes = ["https://rubygems.org"]; | ||
19 | sha256 = "0h1nqg47jap0wzp0dhlnck4xjijfvdfw49aipjp8y2ihdpvyqrx6"; | ||
20 | type = "gem"; | ||
21 | }; | ||
22 | version = "5.2.1"; | ||
23 | }; | ||
24 | actionpack = { | ||
25 | dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; | ||
26 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
27 | platforms = []; | ||
28 | source = { | ||
29 | remotes = ["https://rubygems.org"]; | ||
30 | sha256 = "19zv9ix9iwpd8dxi5hyxgwrc1gh0fvx0a2vjhmic8dn8six41f4f"; | ||
31 | type = "gem"; | ||
32 | }; | ||
33 | version = "5.2.1"; | ||
34 | }; | ||
35 | actionview = { | ||
36 | dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; | ||
37 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
38 | platforms = []; | ||
39 | source = { | ||
40 | remotes = ["https://rubygems.org"]; | ||
41 | sha256 = "0dxanjs7ngpny4ig7dg93ywmg9ljswzg8risdlff6ag8fzvsnidf"; | ||
42 | type = "gem"; | ||
43 | }; | ||
44 | version = "5.2.1"; | ||
45 | }; | ||
46 | active_model_serializers = { | ||
47 | dependencies = ["actionpack" "activemodel" "case_transform" "jsonapi-renderer"]; | ||
48 | groups = ["default"]; | ||
49 | platforms = []; | ||
50 | source = { | ||
51 | remotes = ["https://rubygems.org"]; | ||
52 | sha256 = "06arlz90rspfz899g3y2mrp5vwv6h6yahp936yqvl83d6jjpry12"; | ||
53 | type = "gem"; | ||
54 | }; | ||
55 | version = "0.10.7"; | ||
56 | }; | ||
57 | active_record_query_trace = { | ||
58 | groups = ["development"]; | ||
59 | platforms = []; | ||
60 | source = { | ||
61 | remotes = ["https://rubygems.org"]; | ||
62 | sha256 = "1aharmy1fcd0plv9k0i2dk5icvnlww8n43ia8xahfkcask0cpidh"; | ||
63 | type = "gem"; | ||
64 | }; | ||
65 | version = "1.5.4"; | ||
66 | }; | ||
67 | activejob = { | ||
68 | dependencies = ["activesupport" "globalid"]; | ||
69 | groups = ["default" "development"]; | ||
70 | platforms = []; | ||
71 | source = { | ||
72 | remotes = ["https://rubygems.org"]; | ||
73 | sha256 = "1m4l7z08cx1lybfswfggy7y1rxnwr6gi15h0g9kkkkvmmn6klf3r"; | ||
74 | type = "gem"; | ||
75 | }; | ||
76 | version = "5.2.1"; | ||
77 | }; | ||
78 | activemodel = { | ||
79 | dependencies = ["activesupport"]; | ||
80 | groups = ["default" "development"]; | ||
81 | platforms = []; | ||
82 | source = { | ||
83 | remotes = ["https://rubygems.org"]; | ||
84 | sha256 = "043nnxaf3cfq8jijls0jh1bg3a8v5zd9slc62zc2acp2n2wkjnd4"; | ||
85 | type = "gem"; | ||
86 | }; | ||
87 | version = "5.2.1"; | ||
88 | }; | ||
89 | activerecord = { | ||
90 | dependencies = ["activemodel" "activesupport" "arel"]; | ||
91 | groups = ["default" "development"]; | ||
92 | platforms = []; | ||
93 | source = { | ||
94 | remotes = ["https://rubygems.org"]; | ||
95 | sha256 = "0pc7cycvhzjpw0swil2inka6c0fvcxhln793czp52pidg0654g7g"; | ||
96 | type = "gem"; | ||
97 | }; | ||
98 | version = "5.2.1"; | ||
99 | }; | ||
100 | activestorage = { | ||
101 | dependencies = ["actionpack" "activerecord" "marcel"]; | ||
102 | groups = ["default"]; | ||
103 | platforms = []; | ||
104 | source = { | ||
105 | remotes = ["https://rubygems.org"]; | ||
106 | sha256 = "0wncr3h94jsjmmqqmmips9vgy2kf1zhb96rlv5fbrgqplfhvpyag"; | ||
107 | type = "gem"; | ||
108 | }; | ||
109 | version = "5.2.1"; | ||
110 | }; | ||
111 | activesupport = { | ||
112 | dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; | ||
113 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
114 | platforms = []; | ||
115 | source = { | ||
116 | remotes = ["https://rubygems.org"]; | ||
117 | sha256 = "0ziy6xk31k4fs115cdkba1ys4i8nzcyri7a2jig7nx7k5h7li6l2"; | ||
118 | type = "gem"; | ||
119 | }; | ||
120 | version = "5.2.1"; | ||
121 | }; | ||
122 | addressable = { | ||
123 | dependencies = ["public_suffix"]; | ||
124 | groups = ["default" "development" "test"]; | ||
125 | platforms = []; | ||
126 | source = { | ||
127 | remotes = ["https://rubygems.org"]; | ||
128 | sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk"; | ||
129 | type = "gem"; | ||
130 | }; | ||
131 | version = "2.5.2"; | ||
132 | }; | ||
133 | airbrussh = { | ||
134 | dependencies = ["sshkit"]; | ||
135 | groups = ["default" "development"]; | ||
136 | platforms = []; | ||
137 | source = { | ||
138 | remotes = ["https://rubygems.org"]; | ||
139 | sha256 = "0yp1sl5n94ksxpwmaajflbdls45s81hw4spgz01h19xs2zrvv8wl"; | ||
140 | type = "gem"; | ||
141 | }; | ||
142 | version = "1.3.0"; | ||
143 | }; | ||
144 | annotate = { | ||
145 | dependencies = ["activerecord" "rake"]; | ||
146 | groups = ["development"]; | ||
147 | platforms = []; | ||
148 | source = { | ||
149 | remotes = ["https://rubygems.org"]; | ||
150 | sha256 = "1l69l2kn06nkrnyq6gb1x322x5raxs8ms60shpf0v5dsi8lfig16"; | ||
151 | type = "gem"; | ||
152 | }; | ||
153 | version = "2.7.4"; | ||
154 | }; | ||
155 | arel = { | ||
156 | groups = ["default" "development"]; | ||
157 | platforms = []; | ||
158 | source = { | ||
159 | remotes = ["https://rubygems.org"]; | ||
160 | sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0"; | ||
161 | type = "gem"; | ||
162 | }; | ||
163 | version = "9.0.0"; | ||
164 | }; | ||
165 | ast = { | ||
166 | groups = ["default" "development" "test"]; | ||
167 | platforms = []; | ||
168 | source = { | ||
169 | remotes = ["https://rubygems.org"]; | ||
170 | sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7"; | ||
171 | type = "gem"; | ||
172 | }; | ||
173 | version = "2.4.0"; | ||
174 | }; | ||
175 | attr_encrypted = { | ||
176 | dependencies = ["encryptor"]; | ||
177 | groups = ["default"]; | ||
178 | platforms = []; | ||
179 | source = { | ||
180 | remotes = ["https://rubygems.org"]; | ||
181 | sha256 = "0ncv2az1zlj33bsllr6q1qdvbw42gv91lxq0ryclbv8l8xh841jg"; | ||
182 | type = "gem"; | ||
183 | }; | ||
184 | version = "3.1.0"; | ||
185 | }; | ||
186 | av = { | ||
187 | dependencies = ["cocaine"]; | ||
188 | groups = ["default"]; | ||
189 | platforms = []; | ||
190 | source = { | ||
191 | remotes = ["https://rubygems.org"]; | ||
192 | sha256 = "1swakpybf6g0nzfdn6q4s9c97ysc3i4ffk84dw8v2321fpvc8gqq"; | ||
193 | type = "gem"; | ||
194 | }; | ||
195 | version = "0.9.0"; | ||
196 | }; | ||
197 | aws-eventstream = { | ||
198 | groups = ["default"]; | ||
199 | platforms = []; | ||
200 | source = { | ||
201 | remotes = ["https://rubygems.org"]; | ||
202 | sha256 = "0gdiwkg24jpx5f3bkw6vchgliicn6v9bpm09j0dldaxsca66q0wy"; | ||
203 | type = "gem"; | ||
204 | }; | ||
205 | version = "1.0.1"; | ||
206 | }; | ||
207 | aws-partitions = { | ||
208 | groups = ["default"]; | ||
209 | platforms = []; | ||
210 | source = { | ||
211 | remotes = ["https://rubygems.org"]; | ||
212 | sha256 = "0hhdbb5fy8514v7gpz5n3csbhwlk1wwnj9xxc9fwzxiyzh4y0zr4"; | ||
213 | type = "gem"; | ||
214 | }; | ||
215 | version = "1.106.0"; | ||
216 | }; | ||
217 | aws-sdk-core = { | ||
218 | dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; | ||
219 | groups = ["default"]; | ||
220 | platforms = []; | ||
221 | source = { | ||
222 | remotes = ["https://rubygems.org"]; | ||
223 | sha256 = "1gj98hbmzw2c2j8ri1hlrig17b7fsvzzf5jlpzbmmk9ic69hvh1p"; | ||
224 | type = "gem"; | ||
225 | }; | ||
226 | version = "3.35.0"; | ||
227 | }; | ||
228 | aws-sdk-kms = { | ||
229 | dependencies = ["aws-sdk-core" "aws-sigv4"]; | ||
230 | groups = ["default"]; | ||
231 | platforms = []; | ||
232 | source = { | ||
233 | remotes = ["https://rubygems.org"]; | ||
234 | sha256 = "0g13jv1s8hj1yv6qxa2rm0k3n5jzmamn3zk3c73276s3gixpp986"; | ||
235 | type = "gem"; | ||
236 | }; | ||
237 | version = "1.11.0"; | ||
238 | }; | ||
239 | aws-sdk-s3 = { | ||
240 | dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; | ||
241 | groups = ["default"]; | ||
242 | platforms = []; | ||
243 | source = { | ||
244 | remotes = ["https://rubygems.org"]; | ||
245 | sha256 = "1q0bppa23knjnzys3zrbbhajdj0fl9qc23nlrk72cc96rh4caklj"; | ||
246 | type = "gem"; | ||
247 | }; | ||
248 | version = "1.23.0"; | ||
249 | }; | ||
250 | aws-sigv4 = { | ||
251 | groups = ["default"]; | ||
252 | platforms = []; | ||
253 | source = { | ||
254 | remotes = ["https://rubygems.org"]; | ||
255 | sha256 = "1hzndv113i6bgy2n72i5l3mwn8vjnb6hhjxfkpn9mm2p5ra77yk7"; | ||
256 | type = "gem"; | ||
257 | }; | ||
258 | version = "1.0.3"; | ||
259 | }; | ||
260 | bcrypt = { | ||
261 | groups = ["default" "pam_authentication"]; | ||
262 | platforms = []; | ||
263 | source = { | ||
264 | remotes = ["https://rubygems.org"]; | ||
265 | sha256 = "0ysblqxkclmnhrd0kmb5mr8p38mbar633gdsb14b7dhkhgawgzfy"; | ||
266 | type = "gem"; | ||
267 | }; | ||
268 | version = "3.1.12"; | ||
269 | }; | ||
270 | benchmark-ips = { | ||
271 | groups = ["default" "development"]; | ||
272 | platforms = []; | ||
273 | source = { | ||
274 | remotes = ["https://rubygems.org"]; | ||
275 | sha256 = "1w59c4qnwkjqwn7zyp9hshslbshna77vknmz43h0va5lxisd6ai2"; | ||
276 | type = "gem"; | ||
277 | }; | ||
278 | version = "2.7.2"; | ||
279 | }; | ||
280 | better_errors = { | ||
281 | dependencies = ["coderay" "erubi" "rack"]; | ||
282 | groups = ["development"]; | ||
283 | platforms = []; | ||
284 | source = { | ||
285 | remotes = ["https://rubygems.org"]; | ||
286 | sha256 = "1pqnxxsqqs7vnqvamk5bzs84dv584g9s0qaf2vqb1v2aj5dabcg7"; | ||
287 | type = "gem"; | ||
288 | }; | ||
289 | version = "2.5.0"; | ||
290 | }; | ||
291 | binding_of_caller = { | ||
292 | dependencies = ["debug_inspector"]; | ||
293 | groups = ["development"]; | ||
294 | platforms = []; | ||
295 | source = { | ||
296 | remotes = ["https://rubygems.org"]; | ||
297 | sha256 = "05syqlks7463zsy1jdfbbdravdhj9hpj5pv2m74blqpv8bq4vv5g"; | ||
298 | type = "gem"; | ||
299 | }; | ||
300 | version = "0.8.0"; | ||
301 | }; | ||
302 | bootsnap = { | ||
303 | dependencies = ["msgpack"]; | ||
304 | groups = ["default"]; | ||
305 | platforms = []; | ||
306 | source = { | ||
307 | remotes = ["https://rubygems.org"]; | ||
308 | sha256 = "0g6r784lmjfhwi046w82phsk244byq9wkj1q3lddwxg9z559bmhy"; | ||
309 | type = "gem"; | ||
310 | }; | ||
311 | version = "1.3.2"; | ||
312 | }; | ||
313 | brakeman = { | ||
314 | groups = ["development"]; | ||
315 | platforms = []; | ||
316 | source = { | ||
317 | remotes = ["https://rubygems.org"]; | ||
318 | sha256 = "1y4i4vw7hawypvgg04s544fqx52ml67h9zxsaqm8w5hvxmb20wkh"; | ||
319 | type = "gem"; | ||
320 | }; | ||
321 | version = "4.3.1"; | ||
322 | }; | ||
323 | browser = { | ||
324 | groups = ["default"]; | ||
325 | platforms = []; | ||
326 | source = { | ||
327 | remotes = ["https://rubygems.org"]; | ||
328 | sha256 = "0sdx0ny34i6vqxdsc7sy9g0nafdbrw8kvvb5xh9m18x1bzpqk92f"; | ||
329 | type = "gem"; | ||
330 | }; | ||
331 | version = "2.5.3"; | ||
332 | }; | ||
333 | builder = { | ||
334 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
335 | platforms = []; | ||
336 | source = { | ||
337 | remotes = ["https://rubygems.org"]; | ||
338 | sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1"; | ||
339 | type = "gem"; | ||
340 | }; | ||
341 | version = "3.2.3"; | ||
342 | }; | ||
343 | bullet = { | ||
344 | dependencies = ["activesupport" "uniform_notifier"]; | ||
345 | groups = ["development"]; | ||
346 | platforms = []; | ||
347 | source = { | ||
348 | remotes = ["https://rubygems.org"]; | ||
349 | sha256 = "1szq47fa3m1k3x9dj6gh2g6q5n36zdmw8yxl5g45pbxrg70iaga8"; | ||
350 | type = "gem"; | ||
351 | }; | ||
352 | version = "5.7.6"; | ||
353 | }; | ||
354 | bundler-audit = { | ||
355 | dependencies = ["thor"]; | ||
356 | groups = ["development"]; | ||
357 | platforms = []; | ||
358 | source = { | ||
359 | remotes = ["https://rubygems.org"]; | ||
360 | sha256 = "1b884xja6q87siscsx34z2ky3h7npd334pprfy13ns60fax8pn52"; | ||
361 | type = "gem"; | ||
362 | }; | ||
363 | version = "0.6.0"; | ||
364 | }; | ||
365 | byebug = { | ||
366 | groups = ["default" "development" "test"]; | ||
367 | platforms = []; | ||
368 | source = { | ||
369 | remotes = ["https://rubygems.org"]; | ||
370 | sha256 = "10znc1hjv8n686hhpl08f3m2g6h08a4b83nxblqwy2kqamkxcqf8"; | ||
371 | type = "gem"; | ||
372 | }; | ||
373 | version = "10.0.2"; | ||
374 | }; | ||
375 | capistrano = { | ||
376 | dependencies = ["airbrussh" "i18n" "rake" "sshkit"]; | ||
377 | groups = ["development"]; | ||
378 | platforms = []; | ||
379 | source = { | ||
380 | remotes = ["https://rubygems.org"]; | ||
381 | sha256 = "1p1hj8hpmplxl41y6phsvkw2k8x3yxmkngs8yl8gkr7c1ma870p4"; | ||
382 | type = "gem"; | ||
383 | }; | ||
384 | version = "3.11.0"; | ||
385 | }; | ||
386 | capistrano-bundler = { | ||
387 | dependencies = ["capistrano" "sshkit"]; | ||
388 | groups = ["default" "development"]; | ||
389 | platforms = []; | ||
390 | source = { | ||
391 | remotes = ["https://rubygems.org"]; | ||
392 | sha256 = "1p00rw2886v77kfjnh0mslyrv4lij5fa9niflz1lhynzlivgrmdr"; | ||
393 | type = "gem"; | ||
394 | }; | ||
395 | version = "1.3.0"; | ||
396 | }; | ||
397 | capistrano-rails = { | ||
398 | dependencies = ["capistrano" "capistrano-bundler"]; | ||
399 | groups = ["development"]; | ||
400 | platforms = []; | ||
401 | source = { | ||
402 | remotes = ["https://rubygems.org"]; | ||
403 | sha256 = "19j82kiarrph1ilw2xfhfj62z0b53w0gph7613b21iccb2gn3dqy"; | ||
404 | type = "gem"; | ||
405 | }; | ||
406 | version = "1.4.0"; | ||
407 | }; | ||
408 | capistrano-rbenv = { | ||
409 | dependencies = ["capistrano" "sshkit"]; | ||
410 | groups = ["development"]; | ||
411 | platforms = []; | ||
412 | source = { | ||
413 | remotes = ["https://rubygems.org"]; | ||
414 | sha256 = "182dmsliny87b74m9mxi7farmp03ycqh30yf58b2kcx7m2js2s92"; | ||
415 | type = "gem"; | ||
416 | }; | ||
417 | version = "2.1.4"; | ||
418 | }; | ||
419 | capistrano-yarn = { | ||
420 | dependencies = ["capistrano"]; | ||
421 | groups = ["development"]; | ||
422 | platforms = []; | ||
423 | source = { | ||
424 | remotes = ["https://rubygems.org"]; | ||
425 | sha256 = "1zdg2s061vl5b8114n909mrjb2hc1qx0i4wqx9nacsrcjgyp07l9"; | ||
426 | type = "gem"; | ||
427 | }; | ||
428 | version = "2.0.2"; | ||
429 | }; | ||
430 | capybara = { | ||
431 | dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; | ||
432 | groups = ["test"]; | ||
433 | platforms = []; | ||
434 | source = { | ||
435 | remotes = ["https://rubygems.org"]; | ||
436 | sha256 = "0mgx24j9aqcablkny997qm8f1w0cpqmgy6kscrmna1k6r18w8pva"; | ||
437 | type = "gem"; | ||
438 | }; | ||
439 | version = "3.10.0"; | ||
440 | }; | ||
441 | case_transform = { | ||
442 | dependencies = ["activesupport"]; | ||
443 | groups = ["default"]; | ||
444 | platforms = []; | ||
445 | source = { | ||
446 | remotes = ["https://rubygems.org"]; | ||
447 | sha256 = "0fzyws6spn5arqf6q604dh9mrj84a36k5hsc8z7jgcpfvhc49bg2"; | ||
448 | type = "gem"; | ||
449 | }; | ||
450 | version = "0.2"; | ||
451 | }; | ||
452 | charlock_holmes = { | ||
453 | groups = ["default"]; | ||
454 | platforms = []; | ||
455 | source = { | ||
456 | remotes = ["https://rubygems.org"]; | ||
457 | sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5"; | ||
458 | type = "gem"; | ||
459 | }; | ||
460 | version = "0.7.6"; | ||
461 | }; | ||
462 | chewy = { | ||
463 | dependencies = ["activesupport" "elasticsearch" "elasticsearch-dsl"]; | ||
464 | groups = ["default"]; | ||
465 | platforms = []; | ||
466 | source = { | ||
467 | remotes = ["https://rubygems.org"]; | ||
468 | sha256 = "0m1n98fww2is9v4h73qnxjzs0l9ixx2szby5rip26g9l7mjwmm7v"; | ||
469 | type = "gem"; | ||
470 | }; | ||
471 | version = "5.0.0"; | ||
472 | }; | ||
473 | chunky_png = { | ||
474 | groups = ["default"]; | ||
475 | platforms = []; | ||
476 | source = { | ||
477 | remotes = ["https://rubygems.org"]; | ||
478 | sha256 = "05g2xli9wbjylkmblln3bhvjalziwb92q452q8ibjagmb853424w"; | ||
479 | type = "gem"; | ||
480 | }; | ||
481 | version = "1.3.10"; | ||
482 | }; | ||
483 | cld3 = { | ||
484 | dependencies = ["ffi"]; | ||
485 | groups = ["default"]; | ||
486 | platforms = []; | ||
487 | source = { | ||
488 | remotes = ["https://rubygems.org"]; | ||
489 | sha256 = "0ij0i1c511hak7n588qpl0pczdyvin7bzm4g4p5drzbrvr4n1ln7"; | ||
490 | type = "gem"; | ||
491 | }; | ||
492 | version = "3.2.2"; | ||
493 | }; | ||
494 | climate_control = { | ||
495 | groups = ["test"]; | ||
496 | platforms = []; | ||
497 | source = { | ||
498 | remotes = ["https://rubygems.org"]; | ||
499 | sha256 = "0q11v0iabvr6rif0d025xh078ili5frrihlj0m04zfg7lgvagxji"; | ||
500 | type = "gem"; | ||
501 | }; | ||
502 | version = "0.2.0"; | ||
503 | }; | ||
504 | cocaine = { | ||
505 | dependencies = ["climate_control"]; | ||
506 | groups = ["default"]; | ||
507 | platforms = []; | ||
508 | source = { | ||
509 | remotes = ["https://rubygems.org"]; | ||
510 | sha256 = "01kk5xd7lspbkdvn6nyj0y51zhvia3z6r4nalbdcqw5fbsywwi7d"; | ||
511 | type = "gem"; | ||
512 | }; | ||
513 | version = "0.5.8"; | ||
514 | }; | ||
515 | coderay = { | ||
516 | groups = ["default" "development" "test"]; | ||
517 | platforms = []; | ||
518 | source = { | ||
519 | remotes = ["https://rubygems.org"]; | ||
520 | sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y"; | ||
521 | type = "gem"; | ||
522 | }; | ||
523 | version = "1.1.2"; | ||
524 | }; | ||
525 | concurrent-ruby = { | ||
526 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
527 | platforms = []; | ||
528 | source = { | ||
529 | remotes = ["https://rubygems.org"]; | ||
530 | sha256 = "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf"; | ||
531 | type = "gem"; | ||
532 | }; | ||
533 | version = "1.0.5"; | ||
534 | }; | ||
535 | connection_pool = { | ||
536 | groups = ["default" "test"]; | ||
537 | platforms = []; | ||
538 | source = { | ||
539 | remotes = ["https://rubygems.org"]; | ||
540 | sha256 = "0lflx29mlznf1hn0nihkgllzbj8xp5qasn8j7h838465pi399k68"; | ||
541 | type = "gem"; | ||
542 | }; | ||
543 | version = "2.2.2"; | ||
544 | }; | ||
545 | crack = { | ||
546 | dependencies = ["safe_yaml"]; | ||
547 | groups = ["default" "test"]; | ||
548 | platforms = []; | ||
549 | source = { | ||
550 | remotes = ["https://rubygems.org"]; | ||
551 | sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"; | ||
552 | type = "gem"; | ||
553 | }; | ||
554 | version = "0.4.3"; | ||
555 | }; | ||
556 | crass = { | ||
557 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
558 | platforms = []; | ||
559 | source = { | ||
560 | remotes = ["https://rubygems.org"]; | ||
561 | sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi"; | ||
562 | type = "gem"; | ||
563 | }; | ||
564 | version = "1.0.4"; | ||
565 | }; | ||
566 | css_parser = { | ||
567 | dependencies = ["addressable"]; | ||
568 | groups = ["default"]; | ||
569 | platforms = []; | ||
570 | source = { | ||
571 | remotes = ["https://rubygems.org"]; | ||
572 | sha256 = "0gwvf8mc8gnz4aizfijplv3594998h2j44ydakpzsdmkivs07v61"; | ||
573 | type = "gem"; | ||
574 | }; | ||
575 | version = "1.6.0"; | ||
576 | }; | ||
577 | debug_inspector = { | ||
578 | groups = ["default" "development"]; | ||
579 | platforms = []; | ||
580 | source = { | ||
581 | remotes = ["https://rubygems.org"]; | ||
582 | sha256 = "0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0"; | ||
583 | type = "gem"; | ||
584 | }; | ||
585 | version = "0.0.3"; | ||
586 | }; | ||
587 | derailed_benchmarks = { | ||
588 | dependencies = ["benchmark-ips" "get_process_mem" "heapy" "memory_profiler" "rack" "rake" "thor"]; | ||
589 | groups = ["development"]; | ||
590 | platforms = []; | ||
591 | source = { | ||
592 | remotes = ["https://rubygems.org"]; | ||
593 | sha256 = "1c9djg1r2w461h97zmmdsdgnsrxqm4qfyp7gry9qxbav9skrplb8"; | ||
594 | type = "gem"; | ||
595 | }; | ||
596 | version = "1.3.5"; | ||
597 | }; | ||
598 | devise = { | ||
599 | dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"]; | ||
600 | groups = ["default" "pam_authentication"]; | ||
601 | platforms = []; | ||
602 | source = { | ||
603 | remotes = ["https://rubygems.org"]; | ||
604 | sha256 = "1vs8nibl568ghm6a7hbw6xgcv8zbm4gykprcxpnzi7bz5d4gvcjx"; | ||
605 | type = "gem"; | ||
606 | }; | ||
607 | version = "4.5.0"; | ||
608 | }; | ||
609 | devise-two-factor = { | ||
610 | dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"]; | ||
611 | groups = ["default"]; | ||
612 | platforms = []; | ||
613 | source = { | ||
614 | remotes = ["https://rubygems.org"]; | ||
615 | sha256 = "1b61s5y1ch205lgf3xv8hcvyi27ddd0d4qbbcpnnakhn2bx16lmc"; | ||
616 | type = "gem"; | ||
617 | }; | ||
618 | version = "3.0.3"; | ||
619 | }; | ||
620 | devise_pam_authenticatable2 = { | ||
621 | dependencies = ["devise" "rpam2"]; | ||
622 | groups = ["pam_authentication"]; | ||
623 | platforms = []; | ||
624 | source = { | ||
625 | remotes = ["https://rubygems.org"]; | ||
626 | sha256 = "13ipl52pkhc6vxp8ca31viwv01237bi2bfk3b1fixq1x46nf87p2"; | ||
627 | type = "gem"; | ||
628 | }; | ||
629 | version = "9.2.0"; | ||
630 | }; | ||
631 | diff-lcs = { | ||
632 | groups = ["default" "development" "test"]; | ||
633 | platforms = []; | ||
634 | source = { | ||
635 | remotes = ["https://rubygems.org"]; | ||
636 | sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; | ||
637 | type = "gem"; | ||
638 | }; | ||
639 | version = "1.3"; | ||
640 | }; | ||
641 | docile = { | ||
642 | groups = ["default" "test"]; | ||
643 | platforms = []; | ||
644 | source = { | ||
645 | remotes = ["https://rubygems.org"]; | ||
646 | sha256 = "0yyh4lr03q2vafzsfqy1xax7vr8zn7mbddz3ax3vnlm5fg0px6pn"; | ||
647 | type = "gem"; | ||
648 | }; | ||
649 | version = "1.3.0"; | ||
650 | }; | ||
651 | domain_name = { | ||
652 | dependencies = ["unf"]; | ||
653 | groups = ["default"]; | ||
654 | platforms = []; | ||
655 | source = { | ||
656 | remotes = ["https://rubygems.org"]; | ||
657 | sha256 = "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v"; | ||
658 | type = "gem"; | ||
659 | }; | ||
660 | version = "0.5.20180417"; | ||
661 | }; | ||
662 | doorkeeper = { | ||
663 | dependencies = ["railties"]; | ||
664 | groups = ["default"]; | ||
665 | platforms = []; | ||
666 | source = { | ||
667 | remotes = ["https://rubygems.org"]; | ||
668 | sha256 = "0488m6nwp31mxrhayj60gsb7jgyw1lzh73r2kldx00a9bw3634d4"; | ||
669 | type = "gem"; | ||
670 | }; | ||
671 | version = "5.0.2"; | ||
672 | }; | ||
673 | dotenv = { | ||
674 | groups = ["default"]; | ||
675 | platforms = []; | ||
676 | source = { | ||
677 | remotes = ["https://rubygems.org"]; | ||
678 | sha256 = "1va5y19f7l5jh53vz5vibz618lg8z93k5m2k70l25s9k46v2gfm3"; | ||
679 | type = "gem"; | ||
680 | }; | ||
681 | version = "2.5.0"; | ||
682 | }; | ||
683 | dotenv-rails = { | ||
684 | dependencies = ["dotenv" "railties"]; | ||
685 | groups = ["default"]; | ||
686 | platforms = []; | ||
687 | source = { | ||
688 | remotes = ["https://rubygems.org"]; | ||
689 | sha256 = "1vmk541bhb2mw0gfc1bg43jdilqspiggxzglnlr26rzsmvy2cgd2"; | ||
690 | type = "gem"; | ||
691 | }; | ||
692 | version = "2.5.0"; | ||
693 | }; | ||
694 | elasticsearch = { | ||
695 | dependencies = ["elasticsearch-api" "elasticsearch-transport"]; | ||
696 | groups = ["default"]; | ||
697 | platforms = []; | ||
698 | source = { | ||
699 | remotes = ["https://rubygems.org"]; | ||
700 | sha256 = "0a08ynvxz5clfm2ndqpgjrv4aiga9m2y1ab34s3qkihdfdzdzhj8"; | ||
701 | type = "gem"; | ||
702 | }; | ||
703 | version = "6.0.2"; | ||
704 | }; | ||
705 | elasticsearch-api = { | ||
706 | dependencies = ["multi_json"]; | ||
707 | groups = ["default"]; | ||
708 | platforms = []; | ||
709 | source = { | ||
710 | remotes = ["https://rubygems.org"]; | ||
711 | sha256 = "1vkahknqn85vvwr1gzh8jf3pvdial0c0d524icg8x06vibqgzd5h"; | ||
712 | type = "gem"; | ||
713 | }; | ||
714 | version = "6.0.2"; | ||
715 | }; | ||
716 | elasticsearch-dsl = { | ||
717 | groups = ["default"]; | ||
718 | platforms = []; | ||
719 | source = { | ||
720 | remotes = ["https://rubygems.org"]; | ||
721 | sha256 = "1mwn6hvkki560p7sfc841q15zzgldsk9lzm2mlvc2bra7x1yk2q8"; | ||
722 | type = "gem"; | ||
723 | }; | ||
724 | version = "0.1.5"; | ||
725 | }; | ||
726 | elasticsearch-transport = { | ||
727 | dependencies = ["faraday" "multi_json"]; | ||
728 | groups = ["default"]; | ||
729 | platforms = []; | ||
730 | source = { | ||
731 | remotes = ["https://rubygems.org"]; | ||
732 | sha256 = "0gpwbw70qisx681j1bw8xq6shg5kdxmcdzg6425af0b5881jg7iy"; | ||
733 | type = "gem"; | ||
734 | }; | ||
735 | version = "6.0.2"; | ||
736 | }; | ||
737 | encryptor = { | ||
738 | groups = ["default"]; | ||
739 | platforms = []; | ||
740 | source = { | ||
741 | remotes = ["https://rubygems.org"]; | ||
742 | sha256 = "0s8rvfl0vn8w7k1sgkc234060jh468s3zd45xa64p1jdmfa3zwmb"; | ||
743 | type = "gem"; | ||
744 | }; | ||
745 | version = "3.0.0"; | ||
746 | }; | ||
747 | equatable = { | ||
748 | groups = ["default"]; | ||
749 | platforms = []; | ||
750 | source = { | ||
751 | remotes = ["https://rubygems.org"]; | ||
752 | sha256 = "1sjm9zjakyixyvsqziikdrsqfzis6j3fq23crgjkp6fwkfgndj7x"; | ||
753 | type = "gem"; | ||
754 | }; | ||
755 | version = "0.5.0"; | ||
756 | }; | ||
757 | erubi = { | ||
758 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
759 | platforms = []; | ||
760 | source = { | ||
761 | remotes = ["https://rubygems.org"]; | ||
762 | sha256 = "0bws86na9k565raiz0kk61yy5pxxp0fmwyzpibdwjkq0xzx8q6q1"; | ||
763 | type = "gem"; | ||
764 | }; | ||
765 | version = "1.7.1"; | ||
766 | }; | ||
767 | et-orbi = { | ||
768 | dependencies = ["tzinfo"]; | ||
769 | groups = ["default"]; | ||
770 | platforms = []; | ||
771 | source = { | ||
772 | remotes = ["https://rubygems.org"]; | ||
773 | sha256 = "0wk7i0bmsy46la8gcvbmdns0ni8lmdqas838phj97bdwykxw8m4b"; | ||
774 | type = "gem"; | ||
775 | }; | ||
776 | version = "1.1.6"; | ||
777 | }; | ||
778 | excon = { | ||
779 | groups = ["default"]; | ||
780 | platforms = []; | ||
781 | source = { | ||
782 | remotes = ["https://rubygems.org"]; | ||
783 | sha256 = "15l9w0938c19nxmrp09n75qpmm64k12xj69h47yvxzcxcpbgnkb2"; | ||
784 | type = "gem"; | ||
785 | }; | ||
786 | version = "0.62.0"; | ||
787 | }; | ||
788 | fabrication = { | ||
789 | groups = ["development" "test"]; | ||
790 | platforms = []; | ||
791 | source = { | ||
792 | remotes = ["https://rubygems.org"]; | ||
793 | sha256 = "0an28kjand4mjbkmnwd9fmgq3y5vf717zpmiijavar3sxqj52zri"; | ||
794 | type = "gem"; | ||
795 | }; | ||
796 | version = "2.20.1"; | ||
797 | }; | ||
798 | faker = { | ||
799 | dependencies = ["i18n"]; | ||
800 | groups = ["test"]; | ||
801 | platforms = []; | ||
802 | source = { | ||
803 | remotes = ["https://rubygems.org"]; | ||
804 | sha256 = "01q7wrk5bl0c0qrvg2my3kl0mbfnj1jpd89mqm3fzy4ggbkdhh7i"; | ||
805 | type = "gem"; | ||
806 | }; | ||
807 | version = "1.9.1"; | ||
808 | }; | ||
809 | faraday = { | ||
810 | dependencies = ["multipart-post"]; | ||
811 | groups = ["default"]; | ||
812 | platforms = []; | ||
813 | source = { | ||
814 | remotes = ["https://rubygems.org"]; | ||
815 | sha256 = "1dv1vcxxyw4vy0r2diiml0r8zqk1csrksfxv8nkrw61xlf2daaaa"; | ||
816 | type = "gem"; | ||
817 | }; | ||
818 | version = "0.15.0"; | ||
819 | }; | ||
820 | fast_blank = { | ||
821 | groups = ["default"]; | ||
822 | platforms = []; | ||
823 | source = { | ||
824 | remotes = ["https://rubygems.org"]; | ||
825 | sha256 = "16s1ilyvwzmkcgmklbrn0c2pch5n02vf921njx0bld4crgdr6z56"; | ||
826 | type = "gem"; | ||
827 | }; | ||
828 | version = "1.0.0"; | ||
829 | }; | ||
830 | fastimage = { | ||
831 | groups = ["default"]; | ||
832 | platforms = []; | ||
833 | source = { | ||
834 | remotes = ["https://rubygems.org"]; | ||
835 | sha256 = "0i7p9jgb9x1lxkhkwq8xlq7an5qbgdq6gsyrbs2xnf5ffa8yx1i2"; | ||
836 | type = "gem"; | ||
837 | }; | ||
838 | version = "2.1.4"; | ||
839 | }; | ||
840 | ffi = { | ||
841 | groups = ["default" "development"]; | ||
842 | platforms = []; | ||
843 | source = { | ||
844 | remotes = ["https://rubygems.org"]; | ||
845 | sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q"; | ||
846 | type = "gem"; | ||
847 | }; | ||
848 | version = "1.9.25"; | ||
849 | }; | ||
850 | fog-core = { | ||
851 | dependencies = ["builder" "excon" "formatador" "mime-types"]; | ||
852 | groups = ["default"]; | ||
853 | platforms = []; | ||
854 | source = { | ||
855 | remotes = ["https://rubygems.org"]; | ||
856 | sha256 = "1agd6xgzk0rxrsjdpn94v4hy89s0nm2cs4zg2p880w2dan9xgrak"; | ||
857 | type = "gem"; | ||
858 | }; | ||
859 | version = "2.1.0"; | ||
860 | }; | ||
861 | fog-json = { | ||
862 | dependencies = ["fog-core" "multi_json"]; | ||
863 | groups = ["default"]; | ||
864 | platforms = []; | ||
865 | source = { | ||
866 | remotes = ["https://rubygems.org"]; | ||
867 | sha256 = "1zj8llzc119zafbmfa4ai3z5s7c4vp9akfs0f9l2piyvcarmlkyx"; | ||
868 | type = "gem"; | ||
869 | }; | ||
870 | version = "1.2.0"; | ||
871 | }; | ||
872 | fog-openstack = { | ||
873 | dependencies = ["fog-core" "fog-json" "ipaddress"]; | ||
874 | groups = ["default"]; | ||
875 | platforms = []; | ||
876 | source = { | ||
877 | remotes = ["https://rubygems.org"]; | ||
878 | sha256 = "0aphjrvmchmqbyxqq82yj0qngyvkmwdci9iqs8722fi23bk83gdl"; | ||
879 | type = "gem"; | ||
880 | }; | ||
881 | version = "0.3.7"; | ||
882 | }; | ||
883 | formatador = { | ||
884 | groups = ["default"]; | ||
885 | platforms = []; | ||
886 | source = { | ||
887 | remotes = ["https://rubygems.org"]; | ||
888 | sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0"; | ||
889 | type = "gem"; | ||
890 | }; | ||
891 | version = "0.2.5"; | ||
892 | }; | ||
893 | fugit = { | ||
894 | dependencies = ["et-orbi" "raabro"]; | ||
895 | groups = ["default"]; | ||
896 | platforms = []; | ||
897 | source = { | ||
898 | remotes = ["https://rubygems.org"]; | ||
899 | sha256 = "1szijawzdii668z5is9xi849399gy786951dx0l5r2z5mbfqvl9i"; | ||
900 | type = "gem"; | ||
901 | }; | ||
902 | version = "1.1.6"; | ||
903 | }; | ||
904 | fuubar = { | ||
905 | dependencies = ["rspec-core" "ruby-progressbar"]; | ||
906 | groups = ["development" "test"]; | ||
907 | platforms = []; | ||
908 | source = { | ||
909 | remotes = ["https://rubygems.org"]; | ||
910 | sha256 = "1sqkr1nh49rlm86l3qyrgsdqavgqii4pnrjn7855z6dfavh3spxr"; | ||
911 | type = "gem"; | ||
912 | }; | ||
913 | version = "2.3.2"; | ||
914 | }; | ||
915 | get_process_mem = { | ||
916 | groups = ["default" "development"]; | ||
917 | platforms = []; | ||
918 | source = { | ||
919 | remotes = ["https://rubygems.org"]; | ||
920 | sha256 = "0bfd9q1z133a0wh3l8g2imd2rdlbdhav0z41k147n8j40hgg8ygw"; | ||
921 | type = "gem"; | ||
922 | }; | ||
923 | version = "0.2.2"; | ||
924 | }; | ||
925 | globalid = { | ||
926 | dependencies = ["activesupport"]; | ||
927 | groups = ["default" "development"]; | ||
928 | platforms = []; | ||
929 | source = { | ||
930 | remotes = ["https://rubygems.org"]; | ||
931 | sha256 = "02smrgdi11kziqi9zhnsy9i6yr2fnxrqlv3lllsvdjki3cd4is38"; | ||
932 | type = "gem"; | ||
933 | }; | ||
934 | version = "0.4.1"; | ||
935 | }; | ||
936 | goldfinger = { | ||
937 | dependencies = ["addressable" "http" "nokogiri" "oj"]; | ||
938 | groups = ["default"]; | ||
939 | platforms = []; | ||
940 | source = { | ||
941 | remotes = ["https://rubygems.org"]; | ||
942 | sha256 = "0n142035jhyqwczi52zjr07c8kygp9b9f158miaby3z5hygzjyzh"; | ||
943 | type = "gem"; | ||
944 | }; | ||
945 | version = "2.1.0"; | ||
946 | }; | ||
947 | hamlit = { | ||
948 | dependencies = ["temple" "thor" "tilt"]; | ||
949 | groups = ["default"]; | ||
950 | platforms = []; | ||
951 | source = { | ||
952 | remotes = ["https://rubygems.org"]; | ||
953 | sha256 = "0hk338vkzmwszxdh0q02iw88rbr3bj3fd7fzn4psm8wy80zcgl9i"; | ||
954 | type = "gem"; | ||
955 | }; | ||
956 | version = "2.8.8"; | ||
957 | }; | ||
958 | hamlit-rails = { | ||
959 | dependencies = ["actionpack" "activesupport" "hamlit" "railties"]; | ||
960 | groups = ["default"]; | ||
961 | platforms = []; | ||
962 | source = { | ||
963 | remotes = ["https://rubygems.org"]; | ||
964 | sha256 = "14gzlp6w1j3b5fb4bhbjjh24skx031vnfc2shym9bkmq3r0p8dws"; | ||
965 | type = "gem"; | ||
966 | }; | ||
967 | version = "0.2.0"; | ||
968 | }; | ||
969 | hamster = { | ||
970 | dependencies = ["concurrent-ruby"]; | ||
971 | groups = ["default"]; | ||
972 | platforms = []; | ||
973 | source = { | ||
974 | remotes = ["https://rubygems.org"]; | ||
975 | sha256 = "1n1lsh96vnyc1pnzyd30f9prcsclmvmkdb3nm5aahnyizyiy6lar"; | ||
976 | type = "gem"; | ||
977 | }; | ||
978 | version = "3.0.0"; | ||
979 | }; | ||
980 | hashdiff = { | ||
981 | groups = ["default" "test"]; | ||
982 | platforms = []; | ||
983 | source = { | ||
984 | remotes = ["https://rubygems.org"]; | ||
985 | sha256 = "0yj5l2rw8i8jc725hbcpc4wks0qlaaimr3dpaqamfjkjkxl0hjp9"; | ||
986 | type = "gem"; | ||
987 | }; | ||
988 | version = "0.3.7"; | ||
989 | }; | ||
990 | hashie = { | ||
991 | groups = ["default"]; | ||
992 | platforms = []; | ||
993 | source = { | ||
994 | remotes = ["https://rubygems.org"]; | ||
995 | sha256 = "1hh5lybf8hm7d7xs4xm8hxvm8xqrs2flc8fnwkrclaj746izw6xb"; | ||
996 | type = "gem"; | ||
997 | }; | ||
998 | version = "3.5.7"; | ||
999 | }; | ||
1000 | heapy = { | ||
1001 | groups = ["default" "development"]; | ||
1002 | platforms = []; | ||
1003 | source = { | ||
1004 | remotes = ["https://rubygems.org"]; | ||
1005 | sha256 = "1r9f38fpgjgaxskkwvsliijj6vfmgsff9pnranvvvzkdl67hk1hw"; | ||
1006 | type = "gem"; | ||
1007 | }; | ||
1008 | version = "0.1.4"; | ||
1009 | }; | ||
1010 | highline = { | ||
1011 | groups = ["default" "development" "test"]; | ||
1012 | platforms = []; | ||
1013 | source = { | ||
1014 | remotes = ["https://rubygems.org"]; | ||
1015 | sha256 = "069sz5qmjpmv3x7kr5r3rwl20m9vqg97p15scmjdagglra34clkl"; | ||
1016 | type = "gem"; | ||
1017 | }; | ||
1018 | version = "2.0.0"; | ||
1019 | }; | ||
1020 | hiredis = { | ||
1021 | groups = ["default"]; | ||
1022 | platforms = []; | ||
1023 | source = { | ||
1024 | remotes = ["https://rubygems.org"]; | ||
1025 | sha256 = "19fsmy0qv0spyv1jm0mp6c8pk08r1rilw5f778m4n7hbc1x01wnl"; | ||
1026 | type = "gem"; | ||
1027 | }; | ||
1028 | version = "0.6.1"; | ||
1029 | }; | ||
1030 | hitimes = { | ||
1031 | groups = ["default"]; | ||
1032 | platforms = []; | ||
1033 | source = { | ||
1034 | remotes = ["https://rubygems.org"]; | ||
1035 | sha256 = "1z1ss5j5xf9lpc0pn8vbhxkx63r6ai1dd453dqcms2638kx4l2b9"; | ||
1036 | type = "gem"; | ||
1037 | }; | ||
1038 | version = "1.3.0"; | ||
1039 | }; | ||
1040 | hkdf = { | ||
1041 | groups = ["default"]; | ||
1042 | platforms = []; | ||
1043 | source = { | ||
1044 | remotes = ["https://rubygems.org"]; | ||
1045 | sha256 = "04fixg0a51n4vy0j6c1hvisa2yl33m3jrrpxpb5sq6j511vjriil"; | ||
1046 | type = "gem"; | ||
1047 | }; | ||
1048 | version = "0.3.0"; | ||
1049 | }; | ||
1050 | htmlentities = { | ||
1051 | groups = ["default"]; | ||
1052 | platforms = []; | ||
1053 | source = { | ||
1054 | remotes = ["https://rubygems.org"]; | ||
1055 | sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj"; | ||
1056 | type = "gem"; | ||
1057 | }; | ||
1058 | version = "4.3.4"; | ||
1059 | }; | ||
1060 | http = { | ||
1061 | dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"]; | ||
1062 | groups = ["default"]; | ||
1063 | platforms = []; | ||
1064 | source = { | ||
1065 | remotes = ["https://rubygems.org"]; | ||
1066 | sha256 = "1jlm5prw437wqpfxcigh88lfap3m7g8mnmj5as7qw6dzqnvrxwmc"; | ||
1067 | type = "gem"; | ||
1068 | }; | ||
1069 | version = "3.3.0"; | ||
1070 | }; | ||
1071 | http-cookie = { | ||
1072 | dependencies = ["domain_name"]; | ||
1073 | groups = ["default"]; | ||
1074 | platforms = []; | ||
1075 | source = { | ||
1076 | remotes = ["https://rubygems.org"]; | ||
1077 | sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g"; | ||
1078 | type = "gem"; | ||
1079 | }; | ||
1080 | version = "1.0.3"; | ||
1081 | }; | ||
1082 | http-form_data = { | ||
1083 | groups = ["default"]; | ||
1084 | platforms = []; | ||
1085 | source = { | ||
1086 | remotes = ["https://rubygems.org"]; | ||
1087 | sha256 = "15lpn604byf7cyxnw949xz4rvpcknqp7a48q73nm630gqxsa76f3"; | ||
1088 | type = "gem"; | ||
1089 | }; | ||
1090 | version = "2.1.1"; | ||
1091 | }; | ||
1092 | http_accept_language = { | ||
1093 | groups = ["default"]; | ||
1094 | platforms = []; | ||
1095 | source = { | ||
1096 | remotes = ["https://rubygems.org"]; | ||
1097 | sha256 = "0d0nlfz9vm4jr1l6q0chx4rp2hrnrfbx3gadc1dz930lbbaz0hq0"; | ||
1098 | type = "gem"; | ||
1099 | }; | ||
1100 | version = "2.1.1"; | ||
1101 | }; | ||
1102 | "http_parser.rb" = { | ||
1103 | groups = ["default"]; | ||
1104 | platforms = []; | ||
1105 | source = { | ||
1106 | fetchSubmodules = true; | ||
1107 | rev = "54b17ba8c7d8d20a16dfc65d1775241833219cf2"; | ||
1108 | sha256 = "079nwjsmg9jp33afc4f5bhjdbhcnfykdw4rd7ahhz8cbdkbhlzcp"; | ||
1109 | type = "git"; | ||
1110 | url = "https://github.com/tmm1/http_parser.rb"; | ||
1111 | }; | ||
1112 | version = "0.6.1"; | ||
1113 | }; | ||
1114 | httplog = { | ||
1115 | dependencies = ["rack" "rainbow"]; | ||
1116 | groups = ["default"]; | ||
1117 | platforms = []; | ||
1118 | source = { | ||
1119 | remotes = ["https://rubygems.org"]; | ||
1120 | sha256 = "1kxxvkk2zkvq5skj5m6j6z5v0zz404f1s5fi6s4p8ywx5g1hj4ff"; | ||
1121 | type = "gem"; | ||
1122 | }; | ||
1123 | version = "1.1.1"; | ||
1124 | }; | ||
1125 | i18n = { | ||
1126 | dependencies = ["concurrent-ruby"]; | ||
1127 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
1128 | platforms = []; | ||
1129 | source = { | ||
1130 | remotes = ["https://rubygems.org"]; | ||
1131 | sha256 = "1gcp1m1p6dpasycfz2sj82ci9ggz7lsskz9c9q6gvfwxrl8y9dx7"; | ||
1132 | type = "gem"; | ||
1133 | }; | ||
1134 | version = "1.1.1"; | ||
1135 | }; | ||
1136 | i18n-tasks = { | ||
1137 | dependencies = ["activesupport" "ast" "erubi" "highline" "i18n" "parser" "rails-i18n" "rainbow" "terminal-table"]; | ||
1138 | groups = ["development" "test"]; | ||
1139 | platforms = []; | ||
1140 | source = { | ||
1141 | remotes = ["https://rubygems.org"]; | ||
1142 | sha256 = "16592471ylgigmjx98pmbqibjwhavr4wb670kya9qh3nbgf7s1ym"; | ||
1143 | type = "gem"; | ||
1144 | }; | ||
1145 | version = "0.9.28"; | ||
1146 | }; | ||
1147 | idn-ruby = { | ||
1148 | groups = ["default"]; | ||
1149 | platforms = []; | ||
1150 | source = { | ||
1151 | remotes = ["https://rubygems.org"]; | ||
1152 | sha256 = "07vblcyk3g72sbq12xz7xj28snpxnh3sbcnxy8bglqbfqqhvmawr"; | ||
1153 | type = "gem"; | ||
1154 | }; | ||
1155 | version = "0.1.0"; | ||
1156 | }; | ||
1157 | ipaddress = { | ||
1158 | groups = ["default"]; | ||
1159 | platforms = []; | ||
1160 | source = { | ||
1161 | remotes = ["https://rubygems.org"]; | ||
1162 | sha256 = "1x86s0s11w202j6ka40jbmywkrx8fhq8xiy8mwvnkhllj57hqr45"; | ||
1163 | type = "gem"; | ||
1164 | }; | ||
1165 | version = "0.8.3"; | ||
1166 | }; | ||
1167 | iso-639 = { | ||
1168 | groups = ["default"]; | ||
1169 | platforms = []; | ||
1170 | source = { | ||
1171 | remotes = ["https://rubygems.org"]; | ||
1172 | sha256 = "10k1gpkkbxbasgjzh4hd32ygxzjb5312rphipm46ryxkpx556zzz"; | ||
1173 | type = "gem"; | ||
1174 | }; | ||
1175 | version = "0.2.8"; | ||
1176 | }; | ||
1177 | jaro_winkler = { | ||
1178 | groups = ["default" "development"]; | ||
1179 | platforms = []; | ||
1180 | source = { | ||
1181 | remotes = ["https://rubygems.org"]; | ||
1182 | sha256 = "0rr797nqz081bfk30m2apj5h24bg5d1jr1c8p3xwx4hbwsrbclah"; | ||
1183 | type = "gem"; | ||
1184 | }; | ||
1185 | version = "1.5.1"; | ||
1186 | }; | ||
1187 | jmespath = { | ||
1188 | groups = ["default"]; | ||
1189 | platforms = []; | ||
1190 | source = { | ||
1191 | remotes = ["https://rubygems.org"]; | ||
1192 | sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf"; | ||
1193 | type = "gem"; | ||
1194 | }; | ||
1195 | version = "1.4.0"; | ||
1196 | }; | ||
1197 | json = { | ||
1198 | groups = ["default" "test"]; | ||
1199 | platforms = []; | ||
1200 | source = { | ||
1201 | remotes = ["https://rubygems.org"]; | ||
1202 | sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; | ||
1203 | type = "gem"; | ||
1204 | }; | ||
1205 | version = "2.1.0"; | ||
1206 | }; | ||
1207 | json-ld = { | ||
1208 | dependencies = ["multi_json" "rdf"]; | ||
1209 | groups = ["default"]; | ||
1210 | platforms = []; | ||
1211 | source = { | ||
1212 | remotes = ["https://rubygems.org"]; | ||
1213 | sha256 = "08ql8j546akan51yhrjjcphwjdmrl551sz5hi2czc74993523mkw"; | ||
1214 | type = "gem"; | ||
1215 | }; | ||
1216 | version = "2.2.1"; | ||
1217 | }; | ||
1218 | json-ld-preloaded = { | ||
1219 | dependencies = ["json-ld" "multi_json" "rdf"]; | ||
1220 | groups = ["default"]; | ||
1221 | platforms = []; | ||
1222 | source = { | ||
1223 | remotes = ["https://rubygems.org"]; | ||
1224 | sha256 = "08vjc9bgb0bh7dafs55i0ph4jqb7asj0p8qhhls8kq1ira7kzbng"; | ||
1225 | type = "gem"; | ||
1226 | }; | ||
1227 | version = "2.2.3"; | ||
1228 | }; | ||
1229 | jsonapi-renderer = { | ||
1230 | groups = ["default"]; | ||
1231 | platforms = []; | ||
1232 | source = { | ||
1233 | remotes = ["https://rubygems.org"]; | ||
1234 | sha256 = "00ysmcv3nrccyimi334ida4axlfgir6cc2ryjxrf4xb97m1bfk5j"; | ||
1235 | type = "gem"; | ||
1236 | }; | ||
1237 | version = "0.2.0"; | ||
1238 | }; | ||
1239 | jwt = { | ||
1240 | groups = ["default"]; | ||
1241 | platforms = []; | ||
1242 | source = { | ||
1243 | remotes = ["https://rubygems.org"]; | ||
1244 | sha256 = "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky"; | ||
1245 | type = "gem"; | ||
1246 | }; | ||
1247 | version = "2.1.0"; | ||
1248 | }; | ||
1249 | kaminari = { | ||
1250 | dependencies = ["activesupport" "kaminari-actionview" "kaminari-activerecord" "kaminari-core"]; | ||
1251 | groups = ["default"]; | ||
1252 | platforms = []; | ||
1253 | source = { | ||
1254 | remotes = ["https://rubygems.org"]; | ||
1255 | sha256 = "1j27y5phifwpggspglmg8pmlf6n4jblxwziix9am42661c770jlm"; | ||
1256 | type = "gem"; | ||
1257 | }; | ||
1258 | version = "1.1.1"; | ||
1259 | }; | ||
1260 | kaminari-actionview = { | ||
1261 | dependencies = ["actionview" "kaminari-core"]; | ||
1262 | groups = ["default"]; | ||
1263 | platforms = []; | ||
1264 | source = { | ||
1265 | remotes = ["https://rubygems.org"]; | ||
1266 | sha256 = "1386wshpy1ygbris0s7rv7lyzbs0v8dfqkzdwsrsgm9fd1ira640"; | ||
1267 | type = "gem"; | ||
1268 | }; | ||
1269 | version = "1.1.1"; | ||
1270 | }; | ||
1271 | kaminari-activerecord = { | ||
1272 | dependencies = ["activerecord" "kaminari-core"]; | ||
1273 | groups = ["default"]; | ||
1274 | platforms = []; | ||
1275 | source = { | ||
1276 | remotes = ["https://rubygems.org"]; | ||
1277 | sha256 = "0q31ik5648xi2hpy61knnjd0m7rvs17i93gzwcbh3ccj1y24gv2x"; | ||
1278 | type = "gem"; | ||
1279 | }; | ||
1280 | version = "1.1.1"; | ||
1281 | }; | ||
1282 | kaminari-core = { | ||
1283 | groups = ["default"]; | ||
1284 | platforms = []; | ||
1285 | source = { | ||
1286 | remotes = ["https://rubygems.org"]; | ||
1287 | sha256 = "1cfjrhvidvgdwp9ffsm9d4c2s18k2zp3gnya3f41qb3fc6bc2q2w"; | ||
1288 | type = "gem"; | ||
1289 | }; | ||
1290 | version = "1.1.1"; | ||
1291 | }; | ||
1292 | launchy = { | ||
1293 | dependencies = ["addressable"]; | ||
1294 | groups = ["default" "development"]; | ||
1295 | platforms = []; | ||
1296 | source = { | ||
1297 | remotes = ["https://rubygems.org"]; | ||
1298 | sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2"; | ||
1299 | type = "gem"; | ||
1300 | }; | ||
1301 | version = "2.4.3"; | ||
1302 | }; | ||
1303 | letter_opener = { | ||
1304 | dependencies = ["launchy"]; | ||
1305 | groups = ["development"]; | ||
1306 | platforms = []; | ||
1307 | source = { | ||
1308 | remotes = ["https://rubygems.org"]; | ||
1309 | sha256 = "0hvvcl2n4j05vixgydld9lm2hspifn9f651l0d9qdzvlic7wh0rx"; | ||
1310 | type = "gem"; | ||
1311 | }; | ||
1312 | version = "1.6.0"; | ||
1313 | }; | ||
1314 | letter_opener_web = { | ||
1315 | dependencies = ["actionmailer" "letter_opener" "railties"]; | ||
1316 | groups = ["development"]; | ||
1317 | platforms = []; | ||
1318 | source = { | ||
1319 | remotes = ["https://rubygems.org"]; | ||
1320 | sha256 = "17qhwrkncrrp1bi2f7fbkm5lpnkdsiwy8jcvgr2wa97ck8y4x2bb"; | ||
1321 | type = "gem"; | ||
1322 | }; | ||
1323 | version = "1.3.4"; | ||
1324 | }; | ||
1325 | link_header = { | ||
1326 | groups = ["default"]; | ||
1327 | platforms = []; | ||
1328 | source = { | ||
1329 | remotes = ["https://rubygems.org"]; | ||
1330 | sha256 = "1yamrdq4rywmnpdhbygnkkl9fdy249fg5r851nrkkxr97gj5rihm"; | ||
1331 | type = "gem"; | ||
1332 | }; | ||
1333 | version = "0.0.8"; | ||
1334 | }; | ||
1335 | lograge = { | ||
1336 | dependencies = ["actionpack" "activesupport" "railties" "request_store"]; | ||
1337 | groups = ["production"]; | ||
1338 | platforms = []; | ||
1339 | source = { | ||
1340 | remotes = ["https://rubygems.org"]; | ||
1341 | sha256 = "00lcn7s3slfn32di4qwlx2yj5f9r2pcnd0naxrvqqwypcg1z2sdd"; | ||
1342 | type = "gem"; | ||
1343 | }; | ||
1344 | version = "0.10.0"; | ||
1345 | }; | ||
1346 | loofah = { | ||
1347 | dependencies = ["crass" "nokogiri"]; | ||
1348 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
1349 | platforms = []; | ||
1350 | source = { | ||
1351 | remotes = ["https://rubygems.org"]; | ||
1352 | sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg"; | ||
1353 | type = "gem"; | ||
1354 | }; | ||
1355 | version = "2.2.3"; | ||
1356 | }; | ||
1357 | mail = { | ||
1358 | dependencies = ["mini_mime"]; | ||
1359 | groups = ["default" "development"]; | ||
1360 | platforms = []; | ||
1361 | source = { | ||
1362 | remotes = ["https://rubygems.org"]; | ||
1363 | sha256 = "10dyifazss9mgdzdv08p47p344wmphp5pkh5i73s7c04ra8y6ahz"; | ||
1364 | type = "gem"; | ||
1365 | }; | ||
1366 | version = "2.7.0"; | ||
1367 | }; | ||
1368 | makara = { | ||
1369 | dependencies = ["activerecord"]; | ||
1370 | groups = ["default"]; | ||
1371 | platforms = []; | ||
1372 | source = { | ||
1373 | remotes = ["https://rubygems.org"]; | ||
1374 | sha256 = "1ri6r558nylaclqhfq1zhapfsyhryggln7gw69qb9i4c1rkfnyd2"; | ||
1375 | type = "gem"; | ||
1376 | }; | ||
1377 | version = "0.4.0"; | ||
1378 | }; | ||
1379 | marcel = { | ||
1380 | dependencies = ["mimemagic"]; | ||
1381 | groups = ["default"]; | ||
1382 | platforms = []; | ||
1383 | source = { | ||
1384 | remotes = ["https://rubygems.org"]; | ||
1385 | sha256 = "0v1kncmyh0yn9h28zri6hkfdqzr8bf26ar9bvglhgzy0chqr9dp8"; | ||
1386 | type = "gem"; | ||
1387 | }; | ||
1388 | version = "0.3.2"; | ||
1389 | }; | ||
1390 | mario-redis-lock = { | ||
1391 | dependencies = ["redis"]; | ||
1392 | groups = ["default"]; | ||
1393 | platforms = []; | ||
1394 | source = { | ||
1395 | remotes = ["https://rubygems.org"]; | ||
1396 | sha256 = "1v9wdjcjqzpns2migxp4a5b4w82mipi0fwihbqz3q2qj2qm7wc17"; | ||
1397 | type = "gem"; | ||
1398 | }; | ||
1399 | version = "1.2.1"; | ||
1400 | }; | ||
1401 | memory_profiler = { | ||
1402 | groups = ["development"]; | ||
1403 | platforms = []; | ||
1404 | source = { | ||
1405 | remotes = ["https://rubygems.org"]; | ||
1406 | sha256 = "0qir6bc2rw6lac6fsjhnspqyr01sh12d75dkd630qknjwvrrq8kj"; | ||
1407 | type = "gem"; | ||
1408 | }; | ||
1409 | version = "0.9.12"; | ||
1410 | }; | ||
1411 | method_source = { | ||
1412 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
1413 | platforms = []; | ||
1414 | source = { | ||
1415 | remotes = ["https://rubygems.org"]; | ||
1416 | sha256 = "0xqj21j3vfq4ldia6i2akhn2qd84m0iqcnsl49kfpq3xk6x0dzgn"; | ||
1417 | type = "gem"; | ||
1418 | }; | ||
1419 | version = "0.9.0"; | ||
1420 | }; | ||
1421 | microformats = { | ||
1422 | dependencies = ["json" "nokogiri"]; | ||
1423 | groups = ["test"]; | ||
1424 | platforms = []; | ||
1425 | source = { | ||
1426 | remotes = ["https://rubygems.org"]; | ||
1427 | sha256 = "14az36ax3n81fmwqjb5giixvxsnmxpnlfrsz012pl78x1bkrvfki"; | ||
1428 | type = "gem"; | ||
1429 | }; | ||
1430 | version = "4.0.7"; | ||
1431 | }; | ||
1432 | mime-types = { | ||
1433 | dependencies = ["mime-types-data"]; | ||
1434 | groups = ["default"]; | ||
1435 | platforms = []; | ||
1436 | source = { | ||
1437 | remotes = ["https://rubygems.org"]; | ||
1438 | sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk"; | ||
1439 | type = "gem"; | ||
1440 | }; | ||
1441 | version = "3.2.2"; | ||
1442 | }; | ||
1443 | mime-types-data = { | ||
1444 | groups = ["default"]; | ||
1445 | platforms = []; | ||
1446 | source = { | ||
1447 | remotes = ["https://rubygems.org"]; | ||
1448 | sha256 = "07wvp0aw2gjm4njibb70as6rh5hi1zzri5vky1q6jx95h8l56idc"; | ||
1449 | type = "gem"; | ||
1450 | }; | ||
1451 | version = "3.2018.0812"; | ||
1452 | }; | ||
1453 | mimemagic = { | ||
1454 | groups = ["default"]; | ||
1455 | platforms = []; | ||
1456 | source = { | ||
1457 | remotes = ["https://rubygems.org"]; | ||
1458 | sha256 = "00ibc1mhvdfyfyl103xwb45621nwyqxf124cni5hyfhag0fn1c3q"; | ||
1459 | type = "gem"; | ||
1460 | }; | ||
1461 | version = "0.3.2"; | ||
1462 | }; | ||
1463 | mini_mime = { | ||
1464 | groups = ["default" "development" "test"]; | ||
1465 | platforms = []; | ||
1466 | source = { | ||
1467 | remotes = ["https://rubygems.org"]; | ||
1468 | sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3"; | ||
1469 | type = "gem"; | ||
1470 | }; | ||
1471 | version = "1.0.1"; | ||
1472 | }; | ||
1473 | mini_portile2 = { | ||
1474 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
1475 | platforms = []; | ||
1476 | source = { | ||
1477 | remotes = ["https://rubygems.org"]; | ||
1478 | sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11"; | ||
1479 | type = "gem"; | ||
1480 | }; | ||
1481 | version = "2.3.0"; | ||
1482 | }; | ||
1483 | minitest = { | ||
1484 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
1485 | platforms = []; | ||
1486 | source = { | ||
1487 | remotes = ["https://rubygems.org"]; | ||
1488 | sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq"; | ||
1489 | type = "gem"; | ||
1490 | }; | ||
1491 | version = "5.11.3"; | ||
1492 | }; | ||
1493 | msgpack = { | ||
1494 | groups = ["default"]; | ||
1495 | platforms = []; | ||
1496 | source = { | ||
1497 | remotes = ["https://rubygems.org"]; | ||
1498 | sha256 = "09xy1wc4wfbd1jdrzgxwmqjzfdfxbz0cqdszq2gv6rmc3gv1c864"; | ||
1499 | type = "gem"; | ||
1500 | }; | ||
1501 | version = "1.2.4"; | ||
1502 | }; | ||
1503 | multi_json = { | ||
1504 | groups = ["default"]; | ||
1505 | platforms = []; | ||
1506 | source = { | ||
1507 | remotes = ["https://rubygems.org"]; | ||
1508 | sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; | ||
1509 | type = "gem"; | ||
1510 | }; | ||
1511 | version = "1.13.1"; | ||
1512 | }; | ||
1513 | multipart-post = { | ||
1514 | groups = ["default"]; | ||
1515 | platforms = []; | ||
1516 | source = { | ||
1517 | remotes = ["https://rubygems.org"]; | ||
1518 | sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x"; | ||
1519 | type = "gem"; | ||
1520 | }; | ||
1521 | version = "2.0.0"; | ||
1522 | }; | ||
1523 | necromancer = { | ||
1524 | groups = ["default"]; | ||
1525 | platforms = []; | ||
1526 | source = { | ||
1527 | remotes = ["https://rubygems.org"]; | ||
1528 | sha256 = "0v9nhdkv6zrp7cn48xv7n2vjhsbslpvs0ha36mfkcd56cp27pavz"; | ||
1529 | type = "gem"; | ||
1530 | }; | ||
1531 | version = "0.4.0"; | ||
1532 | }; | ||
1533 | net-ldap = { | ||
1534 | groups = ["default"]; | ||
1535 | platforms = []; | ||
1536 | source = { | ||
1537 | remotes = ["https://rubygems.org"]; | ||
1538 | sha256 = "016igqz81a8zcwqzp5bbhryqmb2skmyf57ij3nb5z8sxwhw22jgh"; | ||
1539 | type = "gem"; | ||
1540 | }; | ||
1541 | version = "0.16.1"; | ||
1542 | }; | ||
1543 | net-scp = { | ||
1544 | dependencies = ["net-ssh"]; | ||
1545 | groups = ["default" "development"]; | ||
1546 | platforms = []; | ||
1547 | source = { | ||
1548 | remotes = ["https://rubygems.org"]; | ||
1549 | sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j"; | ||
1550 | type = "gem"; | ||
1551 | }; | ||
1552 | version = "1.2.1"; | ||
1553 | }; | ||
1554 | net-ssh = { | ||
1555 | groups = ["default" "development"]; | ||
1556 | platforms = []; | ||
1557 | source = { | ||
1558 | remotes = ["https://rubygems.org"]; | ||
1559 | sha256 = "0qfanf71yv8w7yl9l9wqcy68i2x1ghvnf8m581yy4pl0anfdhqw8"; | ||
1560 | type = "gem"; | ||
1561 | }; | ||
1562 | version = "5.0.2"; | ||
1563 | }; | ||
1564 | nio4r = { | ||
1565 | groups = ["default"]; | ||
1566 | platforms = []; | ||
1567 | source = { | ||
1568 | remotes = ["https://rubygems.org"]; | ||
1569 | sha256 = "1a41ca1kpdmrypjp9xbgvckpy8g26zxphkja9vk7j5wl4n8yvlyr"; | ||
1570 | type = "gem"; | ||
1571 | }; | ||
1572 | version = "2.3.1"; | ||
1573 | }; | ||
1574 | nokogiri = { | ||
1575 | dependencies = ["mini_portile2"]; | ||
1576 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
1577 | platforms = []; | ||
1578 | source = { | ||
1579 | remotes = ["https://rubygems.org"]; | ||
1580 | sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz"; | ||
1581 | type = "gem"; | ||
1582 | }; | ||
1583 | version = "1.8.5"; | ||
1584 | }; | ||
1585 | nokogumbo = { | ||
1586 | dependencies = ["nokogiri"]; | ||
1587 | groups = ["default"]; | ||
1588 | platforms = []; | ||
1589 | source = { | ||
1590 | remotes = ["https://rubygems.org"]; | ||
1591 | sha256 = "1qr7r2ysbp8b5q78yr8l5qpaxfqdw1i2yz6nsrbavdki8mqjgj24"; | ||
1592 | type = "gem"; | ||
1593 | }; | ||
1594 | version = "2.0.0"; | ||
1595 | }; | ||
1596 | nsa = { | ||
1597 | dependencies = ["activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby"]; | ||
1598 | groups = ["default"]; | ||
1599 | platforms = []; | ||
1600 | source = { | ||
1601 | remotes = ["https://rubygems.org"]; | ||
1602 | sha256 = "1xki3jd107lc189mwwyxf19wz17dlaysrqy2jcbgyk7cdvbmhgf0"; | ||
1603 | type = "gem"; | ||
1604 | }; | ||
1605 | version = "0.2.4"; | ||
1606 | }; | ||
1607 | oj = { | ||
1608 | groups = ["default"]; | ||
1609 | platforms = []; | ||
1610 | source = { | ||
1611 | remotes = ["https://rubygems.org"]; | ||
1612 | sha256 = "01pb6k8sfcj3i04gnwg33ld8682axzpn2kh26d7nsf44jx9k6bdd"; | ||
1613 | type = "gem"; | ||
1614 | }; | ||
1615 | version = "3.7.0"; | ||
1616 | }; | ||
1617 | omniauth = { | ||
1618 | dependencies = ["hashie" "rack"]; | ||
1619 | groups = ["default"]; | ||
1620 | platforms = []; | ||
1621 | source = { | ||
1622 | remotes = ["https://rubygems.org"]; | ||
1623 | sha256 = "1msqr4qq7mfdvl3rg89529isrv595hvjpj2gi0say4b8nwqfggmg"; | ||
1624 | type = "gem"; | ||
1625 | }; | ||
1626 | version = "1.8.1"; | ||
1627 | }; | ||
1628 | omniauth-cas = { | ||
1629 | dependencies = ["addressable" "nokogiri" "omniauth"]; | ||
1630 | groups = ["default"]; | ||
1631 | platforms = []; | ||
1632 | source = { | ||
1633 | remotes = ["https://rubygems.org"]; | ||
1634 | sha256 = "1nnk7cr45aj7hj19zpky58yysvjg8mn5f45sj9knpn5f9kgld7p4"; | ||
1635 | type = "gem"; | ||
1636 | }; | ||
1637 | version = "1.1.1"; | ||
1638 | }; | ||
1639 | omniauth-saml = { | ||
1640 | dependencies = ["omniauth" "ruby-saml"]; | ||
1641 | groups = ["default"]; | ||
1642 | platforms = []; | ||
1643 | source = { | ||
1644 | remotes = ["https://rubygems.org"]; | ||
1645 | sha256 = "1pg3pw4yjd9w1rn3lkycllrvd767pydbhldgdcqbbcck01asfcfz"; | ||
1646 | type = "gem"; | ||
1647 | }; | ||
1648 | version = "1.10.1"; | ||
1649 | }; | ||
1650 | orm_adapter = { | ||
1651 | groups = ["default" "pam_authentication"]; | ||
1652 | platforms = []; | ||
1653 | source = { | ||
1654 | remotes = ["https://rubygems.org"]; | ||
1655 | sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda"; | ||
1656 | type = "gem"; | ||
1657 | }; | ||
1658 | version = "0.5.0"; | ||
1659 | }; | ||
1660 | ostatus2 = { | ||
1661 | dependencies = ["addressable" "http" "nokogiri"]; | ||
1662 | groups = ["default"]; | ||
1663 | platforms = []; | ||
1664 | source = { | ||
1665 | remotes = ["https://rubygems.org"]; | ||
1666 | sha256 = "0fj27nr38g5y52s755pmg5zifwc6n88bw2zmkc22kg4vrhs64k19"; | ||
1667 | type = "gem"; | ||
1668 | }; | ||
1669 | version = "2.0.3"; | ||
1670 | }; | ||
1671 | ox = { | ||
1672 | groups = ["default"]; | ||
1673 | platforms = []; | ||
1674 | source = { | ||
1675 | remotes = ["https://rubygems.org"]; | ||
1676 | sha256 = "15vkq18fp58504ld9vfakisxdmp68pk5y1bmmm5g7b0q25p8z5pq"; | ||
1677 | type = "gem"; | ||
1678 | }; | ||
1679 | version = "2.10.0"; | ||
1680 | }; | ||
1681 | paperclip = { | ||
1682 | dependencies = ["activemodel" "activesupport" "mime-types" "mimemagic" "terrapin"]; | ||
1683 | groups = ["default"]; | ||
1684 | platforms = []; | ||
1685 | source = { | ||
1686 | remotes = ["https://rubygems.org"]; | ||
1687 | sha256 = "04mlw7aqj20ry0fy92gxnxg99hy5xczff7rhywfzz4mqlhc2wgg7"; | ||
1688 | type = "gem"; | ||
1689 | }; | ||
1690 | version = "6.0.0"; | ||
1691 | }; | ||
1692 | paperclip-av-transcoder = { | ||
1693 | dependencies = ["av" "paperclip"]; | ||
1694 | groups = ["default"]; | ||
1695 | platforms = []; | ||
1696 | source = { | ||
1697 | remotes = ["https://rubygems.org"]; | ||
1698 | sha256 = "1gcnp3fpdb5lqilcij4yqga6397nb7zyyf9lzxnqpbp7cvc18lhf"; | ||
1699 | type = "gem"; | ||
1700 | }; | ||
1701 | version = "0.6.4"; | ||
1702 | }; | ||
1703 | parallel = { | ||
1704 | groups = ["default" "development" "test"]; | ||
1705 | platforms = []; | ||
1706 | source = { | ||
1707 | remotes = ["https://rubygems.org"]; | ||
1708 | sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67"; | ||
1709 | type = "gem"; | ||
1710 | }; | ||
1711 | version = "1.12.1"; | ||
1712 | }; | ||
1713 | parallel_tests = { | ||
1714 | dependencies = ["parallel"]; | ||
1715 | groups = ["test"]; | ||
1716 | platforms = []; | ||
1717 | source = { | ||
1718 | remotes = ["https://rubygems.org"]; | ||
1719 | sha256 = "1rlbahdvrng1wbzhqxg0n2q92a25y2mvarmjn2qcrj9mdmlq51kr"; | ||
1720 | type = "gem"; | ||
1721 | }; | ||
1722 | version = "2.26.0"; | ||
1723 | }; | ||
1724 | parser = { | ||
1725 | dependencies = ["ast"]; | ||
1726 | groups = ["default" "development" "test"]; | ||
1727 | platforms = []; | ||
1728 | source = { | ||
1729 | remotes = ["https://rubygems.org"]; | ||
1730 | sha256 = "1zjk0w1kjj3xk8ymy1430aa4gg0k8ckphfj88br6il4pm83f0n1f"; | ||
1731 | type = "gem"; | ||
1732 | }; | ||
1733 | version = "2.5.3.0"; | ||
1734 | }; | ||
1735 | pastel = { | ||
1736 | dependencies = ["equatable" "tty-color"]; | ||
1737 | groups = ["default"]; | ||
1738 | platforms = []; | ||
1739 | source = { | ||
1740 | remotes = ["https://rubygems.org"]; | ||
1741 | sha256 = "1yf30d9kzpm96gw9kwbv31p0qigwfykn8qdis5950plnzgc1vlp1"; | ||
1742 | type = "gem"; | ||
1743 | }; | ||
1744 | version = "0.7.2"; | ||
1745 | }; | ||
1746 | pg = { | ||
1747 | groups = ["default"]; | ||
1748 | platforms = []; | ||
1749 | source = { | ||
1750 | remotes = ["https://rubygems.org"]; | ||
1751 | sha256 = "1pnjw3rspdfjssxyf42jnbsdlgri8ylysimp0s28wxb93k6ff2qb"; | ||
1752 | type = "gem"; | ||
1753 | }; | ||
1754 | version = "1.1.3"; | ||
1755 | }; | ||
1756 | pghero = { | ||
1757 | dependencies = ["activerecord"]; | ||
1758 | groups = ["default"]; | ||
1759 | platforms = []; | ||
1760 | source = { | ||
1761 | remotes = ["https://rubygems.org"]; | ||
1762 | sha256 = "0nvg9jwynnw3brignq6raka0abrcjmm8mr8yxhvybjpmr6lyyjrd"; | ||
1763 | type = "gem"; | ||
1764 | }; | ||
1765 | version = "2.2.0"; | ||
1766 | }; | ||
1767 | pkg-config = { | ||
1768 | groups = ["default"]; | ||
1769 | platforms = []; | ||
1770 | source = { | ||
1771 | remotes = ["https://rubygems.org"]; | ||
1772 | sha256 = "0yrxwki3nzyss1fnjrhkahya0w9wgb7jg6ji995z7y4ph81zwflm"; | ||
1773 | type = "gem"; | ||
1774 | }; | ||
1775 | version = "1.3.1"; | ||
1776 | }; | ||
1777 | posix-spawn = { | ||
1778 | groups = ["default"]; | ||
1779 | platforms = []; | ||
1780 | source = { | ||
1781 | fetchSubmodules = false; | ||
1782 | rev = "58465d2e213991f8afb13b984854a49fcdcc980c"; | ||
1783 | sha256 = "1mq284bps0y4yfwkhvj2j27g6lpzfhzw1bypim1a0n1js7j54vhk"; | ||
1784 | type = "git"; | ||
1785 | url = "https://github.com/rtomayko/posix-spawn"; | ||
1786 | }; | ||
1787 | version = "0.3.13"; | ||
1788 | }; | ||
1789 | powerpack = { | ||
1790 | groups = ["default" "development"]; | ||
1791 | platforms = []; | ||
1792 | source = { | ||
1793 | remotes = ["https://rubygems.org"]; | ||
1794 | sha256 = "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv"; | ||
1795 | type = "gem"; | ||
1796 | }; | ||
1797 | version = "0.1.2"; | ||
1798 | }; | ||
1799 | premailer = { | ||
1800 | dependencies = ["addressable" "css_parser" "htmlentities"]; | ||
1801 | groups = ["default"]; | ||
1802 | platforms = []; | ||
1803 | source = { | ||
1804 | remotes = ["https://rubygems.org"]; | ||
1805 | sha256 = "1xrhmialxn5vlp1nmf40a4db9gji4h2wbzd7f43sz64z8lvrjj6h"; | ||
1806 | type = "gem"; | ||
1807 | }; | ||
1808 | version = "1.11.1"; | ||
1809 | }; | ||
1810 | premailer-rails = { | ||
1811 | dependencies = ["actionmailer" "premailer"]; | ||
1812 | groups = ["default"]; | ||
1813 | platforms = []; | ||
1814 | source = { | ||
1815 | remotes = ["https://rubygems.org"]; | ||
1816 | sha256 = "1avh2bkhabicf1zxla8z6ig5192h3vdzli4d2y9wmxfwgh549lmx"; | ||
1817 | type = "gem"; | ||
1818 | }; | ||
1819 | version = "1.10.2"; | ||
1820 | }; | ||
1821 | private_address_check = { | ||
1822 | groups = ["production" "test"]; | ||
1823 | platforms = []; | ||
1824 | source = { | ||
1825 | remotes = ["https://rubygems.org"]; | ||
1826 | sha256 = "05phz0vscfh9chv90yc9091pifw3cpwkh76flnhrmvja1q3na4cy"; | ||
1827 | type = "gem"; | ||
1828 | }; | ||
1829 | version = "0.5.0"; | ||
1830 | }; | ||
1831 | pry = { | ||
1832 | dependencies = ["coderay" "method_source"]; | ||
1833 | groups = ["default" "development" "test"]; | ||
1834 | platforms = []; | ||
1835 | source = { | ||
1836 | remotes = ["https://rubygems.org"]; | ||
1837 | sha256 = "1mh312k3y94sj0pi160wpia0ps8f4kmzvm505i6bvwynfdh7v30g"; | ||
1838 | type = "gem"; | ||
1839 | }; | ||
1840 | version = "0.11.3"; | ||
1841 | }; | ||
1842 | pry-byebug = { | ||
1843 | dependencies = ["byebug" "pry"]; | ||
1844 | groups = ["development" "test"]; | ||
1845 | platforms = []; | ||
1846 | source = { | ||
1847 | remotes = ["https://rubygems.org"]; | ||
1848 | sha256 = "0y2758593i2ij0nhmv0j1pbdfx2cgi52ns6wkij0frgnk2lf650g"; | ||
1849 | type = "gem"; | ||
1850 | }; | ||
1851 | version = "3.6.0"; | ||
1852 | }; | ||
1853 | pry-rails = { | ||
1854 | dependencies = ["pry"]; | ||
1855 | groups = ["development" "test"]; | ||
1856 | platforms = []; | ||
1857 | source = { | ||
1858 | remotes = ["https://rubygems.org"]; | ||
1859 | sha256 = "0k2d43bwmqbswfra4fkadjjbszwb11pr7qdkma91qrcrk62wqxvy"; | ||
1860 | type = "gem"; | ||
1861 | }; | ||
1862 | version = "0.3.6"; | ||
1863 | }; | ||
1864 | public_suffix = { | ||
1865 | groups = ["default" "development" "test"]; | ||
1866 | platforms = []; | ||
1867 | source = { | ||
1868 | remotes = ["https://rubygems.org"]; | ||
1869 | sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; | ||
1870 | type = "gem"; | ||
1871 | }; | ||
1872 | version = "3.0.3"; | ||
1873 | }; | ||
1874 | puma = { | ||
1875 | groups = ["default"]; | ||
1876 | platforms = []; | ||
1877 | source = { | ||
1878 | remotes = ["https://rubygems.org"]; | ||
1879 | sha256 = "1k7dqxnq0dnf5rxkgs9rknclkn3ah7lsdrk6nrqxla8qzy31wliq"; | ||
1880 | type = "gem"; | ||
1881 | }; | ||
1882 | version = "3.12.0"; | ||
1883 | }; | ||
1884 | pundit = { | ||
1885 | dependencies = ["activesupport"]; | ||
1886 | groups = ["default"]; | ||
1887 | platforms = []; | ||
1888 | source = { | ||
1889 | remotes = ["https://rubygems.org"]; | ||
1890 | sha256 = "0s59ilsqnr3vbai66mp7jj097m6i7ivpnjpbw665s50f5z834vls"; | ||
1891 | type = "gem"; | ||
1892 | }; | ||
1893 | version = "2.0.0"; | ||
1894 | }; | ||
1895 | raabro = { | ||
1896 | groups = ["default"]; | ||
1897 | platforms = []; | ||
1898 | source = { | ||
1899 | remotes = ["https://rubygems.org"]; | ||
1900 | sha256 = "0xzdmbn48753f6k0ckirp8ja5p0xn1a92wbwxfyggyhj0hza9ylq"; | ||
1901 | type = "gem"; | ||
1902 | }; | ||
1903 | version = "1.1.6"; | ||
1904 | }; | ||
1905 | rack = { | ||
1906 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
1907 | platforms = []; | ||
1908 | source = { | ||
1909 | remotes = ["https://rubygems.org"]; | ||
1910 | sha256 = "158hbn7rlc3czp2vivvam44dv6vmzz16qrh5dbzhfxbfsgiyrqw1"; | ||
1911 | type = "gem"; | ||
1912 | }; | ||
1913 | version = "2.0.5"; | ||
1914 | }; | ||
1915 | rack-attack = { | ||
1916 | dependencies = ["rack"]; | ||
1917 | groups = ["default"]; | ||
1918 | platforms = []; | ||
1919 | source = { | ||
1920 | remotes = ["https://rubygems.org"]; | ||
1921 | sha256 = "08787kd5cnm9mbvpbj73xai21fn87wyrlzfp8l753lb9qqjhdn4p"; | ||
1922 | type = "gem"; | ||
1923 | }; | ||
1924 | version = "5.4.1"; | ||
1925 | }; | ||
1926 | rack-cors = { | ||
1927 | groups = ["default"]; | ||
1928 | platforms = []; | ||
1929 | source = { | ||
1930 | remotes = ["https://rubygems.org"]; | ||
1931 | sha256 = "1j27vy1bmhbqcyzhxg8d07qassmax769xjalfwcwz6qfiq8cf013"; | ||
1932 | type = "gem"; | ||
1933 | }; | ||
1934 | version = "1.0.2"; | ||
1935 | }; | ||
1936 | rack-protection = { | ||
1937 | dependencies = ["rack"]; | ||
1938 | groups = ["default" "test"]; | ||
1939 | platforms = []; | ||
1940 | source = { | ||
1941 | remotes = ["https://rubygems.org"]; | ||
1942 | sha256 = "0ylx74ravz7nvnyygq0nk3v86qdzrmqxpwpayhppyy50l72rcajq"; | ||
1943 | type = "gem"; | ||
1944 | }; | ||
1945 | version = "2.0.4"; | ||
1946 | }; | ||
1947 | rack-proxy = { | ||
1948 | dependencies = ["rack"]; | ||
1949 | groups = ["default"]; | ||
1950 | platforms = []; | ||
1951 | source = { | ||
1952 | remotes = ["https://rubygems.org"]; | ||
1953 | sha256 = "1igdsim4ifyx9rfcjbxcwmf2vnxca3f8wmr2sj9j118a21g455pp"; | ||
1954 | type = "gem"; | ||
1955 | }; | ||
1956 | version = "0.6.4"; | ||
1957 | }; | ||
1958 | rack-test = { | ||
1959 | dependencies = ["rack"]; | ||
1960 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
1961 | platforms = []; | ||
1962 | source = { | ||
1963 | remotes = ["https://rubygems.org"]; | ||
1964 | sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m"; | ||
1965 | type = "gem"; | ||
1966 | }; | ||
1967 | version = "1.1.0"; | ||
1968 | }; | ||
1969 | rails = { | ||
1970 | dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"]; | ||
1971 | groups = ["default"]; | ||
1972 | platforms = []; | ||
1973 | source = { | ||
1974 | remotes = ["https://rubygems.org"]; | ||
1975 | sha256 = "1307cv1p6cj350hq2mi00dfgjb77rzvlhrr3h0bjz5s0a6jgwv3p"; | ||
1976 | type = "gem"; | ||
1977 | }; | ||
1978 | version = "5.2.1"; | ||
1979 | }; | ||
1980 | rails-controller-testing = { | ||
1981 | dependencies = ["actionpack" "actionview" "activesupport"]; | ||
1982 | groups = ["test"]; | ||
1983 | platforms = []; | ||
1984 | source = { | ||
1985 | remotes = ["https://rubygems.org"]; | ||
1986 | sha256 = "16kdkk73mhhs73iz3i1i0ryjm84dadiyh817b3nh8acdi490jyhy"; | ||
1987 | type = "gem"; | ||
1988 | }; | ||
1989 | version = "1.0.2"; | ||
1990 | }; | ||
1991 | rails-dom-testing = { | ||
1992 | dependencies = ["activesupport" "nokogiri"]; | ||
1993 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
1994 | platforms = []; | ||
1995 | source = { | ||
1996 | remotes = ["https://rubygems.org"]; | ||
1997 | sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i"; | ||
1998 | type = "gem"; | ||
1999 | }; | ||
2000 | version = "2.0.3"; | ||
2001 | }; | ||
2002 | rails-html-sanitizer = { | ||
2003 | dependencies = ["loofah"]; | ||
2004 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
2005 | platforms = []; | ||
2006 | source = { | ||
2007 | remotes = ["https://rubygems.org"]; | ||
2008 | sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr"; | ||
2009 | type = "gem"; | ||
2010 | }; | ||
2011 | version = "1.0.4"; | ||
2012 | }; | ||
2013 | rails-i18n = { | ||
2014 | dependencies = ["i18n" "railties"]; | ||
2015 | groups = ["default" "development" "test"]; | ||
2016 | platforms = []; | ||
2017 | source = { | ||
2018 | remotes = ["https://rubygems.org"]; | ||
2019 | sha256 = "05lkhc737a9dw0hd5ljmja0yp4cw39r3200s1r0n4bs7z1g3ka7l"; | ||
2020 | type = "gem"; | ||
2021 | }; | ||
2022 | version = "5.1.2"; | ||
2023 | }; | ||
2024 | rails-settings-cached = { | ||
2025 | dependencies = ["rails"]; | ||
2026 | groups = ["default"]; | ||
2027 | platforms = []; | ||
2028 | source = { | ||
2029 | remotes = ["https://rubygems.org"]; | ||
2030 | sha256 = "0wyhyls0aqb1iw7mnaldg39w3mnbi3anmpbvb52rjwkpj2mchhnc"; | ||
2031 | type = "gem"; | ||
2032 | }; | ||
2033 | version = "0.6.6"; | ||
2034 | }; | ||
2035 | railties = { | ||
2036 | dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; | ||
2037 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
2038 | platforms = []; | ||
2039 | source = { | ||
2040 | remotes = ["https://rubygems.org"]; | ||
2041 | sha256 = "19y343dvb7vih82q2ssyhp1cirmp5sp1vpw4k5zmd1bxxkjix9qv"; | ||
2042 | type = "gem"; | ||
2043 | }; | ||
2044 | version = "5.2.1"; | ||
2045 | }; | ||
2046 | rainbow = { | ||
2047 | groups = ["default" "development" "test"]; | ||
2048 | platforms = []; | ||
2049 | source = { | ||
2050 | remotes = ["https://rubygems.org"]; | ||
2051 | sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk"; | ||
2052 | type = "gem"; | ||
2053 | }; | ||
2054 | version = "3.0.0"; | ||
2055 | }; | ||
2056 | rake = { | ||
2057 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
2058 | platforms = []; | ||
2059 | source = { | ||
2060 | remotes = ["https://rubygems.org"]; | ||
2061 | sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg"; | ||
2062 | type = "gem"; | ||
2063 | }; | ||
2064 | version = "12.3.1"; | ||
2065 | }; | ||
2066 | rb-fsevent = { | ||
2067 | groups = ["default" "development"]; | ||
2068 | platforms = []; | ||
2069 | source = { | ||
2070 | remotes = ["https://rubygems.org"]; | ||
2071 | sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; | ||
2072 | type = "gem"; | ||
2073 | }; | ||
2074 | version = "0.10.3"; | ||
2075 | }; | ||
2076 | rb-inotify = { | ||
2077 | dependencies = ["ffi"]; | ||
2078 | groups = ["default" "development"]; | ||
2079 | platforms = []; | ||
2080 | source = { | ||
2081 | remotes = ["https://rubygems.org"]; | ||
2082 | sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71"; | ||
2083 | type = "gem"; | ||
2084 | }; | ||
2085 | version = "0.9.10"; | ||
2086 | }; | ||
2087 | rdf = { | ||
2088 | dependencies = ["hamster" "link_header"]; | ||
2089 | groups = ["default"]; | ||
2090 | platforms = []; | ||
2091 | source = { | ||
2092 | remotes = ["https://rubygems.org"]; | ||
2093 | sha256 = "0fjla68kfhxhq0hip1jjxcp2lpa2h8c6yzjmm4jizrj1amv2cidp"; | ||
2094 | type = "gem"; | ||
2095 | }; | ||
2096 | version = "3.0.2"; | ||
2097 | }; | ||
2098 | rdf-normalize = { | ||
2099 | dependencies = ["rdf"]; | ||
2100 | groups = ["default"]; | ||
2101 | platforms = []; | ||
2102 | source = { | ||
2103 | remotes = ["https://rubygems.org"]; | ||
2104 | sha256 = "0h8qk3x5frqbgb4gj9ga75ddls47x8qhghscgz82gfq76m4r45g0"; | ||
2105 | type = "gem"; | ||
2106 | }; | ||
2107 | version = "0.3.3"; | ||
2108 | }; | ||
2109 | redis = { | ||
2110 | groups = ["default" "production" "test"]; | ||
2111 | platforms = []; | ||
2112 | source = { | ||
2113 | remotes = ["https://rubygems.org"]; | ||
2114 | sha256 = "0c2106d7rx12j1d7lnwqgd2v85xwc5raf9q0xv01qmnq2x167yxk"; | ||
2115 | type = "gem"; | ||
2116 | }; | ||
2117 | version = "4.0.2"; | ||
2118 | }; | ||
2119 | redis-actionpack = { | ||
2120 | dependencies = ["actionpack" "redis-rack" "redis-store"]; | ||
2121 | groups = ["default" "production"]; | ||
2122 | platforms = []; | ||
2123 | source = { | ||
2124 | remotes = ["https://rubygems.org"]; | ||
2125 | sha256 = "15k41gz7nygd4yydk2yd25gghya1j7q6zifk4mdrra6bwnwjbm63"; | ||
2126 | type = "gem"; | ||
2127 | }; | ||
2128 | version = "5.0.2"; | ||
2129 | }; | ||
2130 | redis-activesupport = { | ||
2131 | dependencies = ["activesupport" "redis-store"]; | ||
2132 | groups = ["default" "production"]; | ||
2133 | platforms = []; | ||
2134 | source = { | ||
2135 | remotes = ["https://rubygems.org"]; | ||
2136 | sha256 = "0rq5dhrzc1l8c7f5gx9r7mvnsk5206dfwih3yv5si5rf42nx2ay5"; | ||
2137 | type = "gem"; | ||
2138 | }; | ||
2139 | version = "5.0.4"; | ||
2140 | }; | ||
2141 | redis-namespace = { | ||
2142 | dependencies = ["redis"]; | ||
2143 | groups = ["default"]; | ||
2144 | platforms = []; | ||
2145 | source = { | ||
2146 | remotes = ["https://rubygems.org"]; | ||
2147 | sha256 = "0r7daagrjjribn098dxwbv9zivrbq2rsffbkj2ccxyn9lmjjbgah"; | ||
2148 | type = "gem"; | ||
2149 | }; | ||
2150 | version = "1.6.0"; | ||
2151 | }; | ||
2152 | redis-rack = { | ||
2153 | dependencies = ["rack" "redis-store"]; | ||
2154 | groups = ["default" "production"]; | ||
2155 | platforms = []; | ||
2156 | source = { | ||
2157 | remotes = ["https://rubygems.org"]; | ||
2158 | sha256 = "0px0wv8zripc6lrn3k0k61j6nlxda145q8sz50yvnig17wlk36gb"; | ||
2159 | type = "gem"; | ||
2160 | }; | ||
2161 | version = "2.0.4"; | ||
2162 | }; | ||
2163 | redis-rails = { | ||
2164 | dependencies = ["redis-actionpack" "redis-activesupport" "redis-store"]; | ||
2165 | groups = ["production"]; | ||
2166 | platforms = []; | ||
2167 | source = { | ||
2168 | remotes = ["https://rubygems.org"]; | ||
2169 | sha256 = "0hjvkyaw5hgz7v6fgwdk8pb966z44h1gv8jarmb0gwhkqmjnsh40"; | ||
2170 | type = "gem"; | ||
2171 | }; | ||
2172 | version = "5.0.2"; | ||
2173 | }; | ||
2174 | redis-store = { | ||
2175 | dependencies = ["redis"]; | ||
2176 | groups = ["default" "production"]; | ||
2177 | platforms = []; | ||
2178 | source = { | ||
2179 | remotes = ["https://rubygems.org"]; | ||
2180 | sha256 = "0cpg4fmqcyl8mm77l852xsidp8384a7s1mgbpki999swvq97svi4"; | ||
2181 | type = "gem"; | ||
2182 | }; | ||
2183 | version = "1.5.0"; | ||
2184 | }; | ||
2185 | regexp_parser = { | ||
2186 | groups = ["default" "test"]; | ||
2187 | platforms = []; | ||
2188 | source = { | ||
2189 | remotes = ["https://rubygems.org"]; | ||
2190 | sha256 = "12q3m74kmdc1mdc1nfphxj1089j425cjw9fr3h9z8x1987mgzpw3"; | ||
2191 | type = "gem"; | ||
2192 | }; | ||
2193 | version = "1.2.0"; | ||
2194 | }; | ||
2195 | request_store = { | ||
2196 | dependencies = ["rack"]; | ||
2197 | groups = ["default" "production"]; | ||
2198 | platforms = []; | ||
2199 | source = { | ||
2200 | remotes = ["https://rubygems.org"]; | ||
2201 | sha256 = "1963330z03fk382fi8y231ygcbnh86m91dqlp5rh1mwy9ihzzl6d"; | ||
2202 | type = "gem"; | ||
2203 | }; | ||
2204 | version = "1.4.1"; | ||
2205 | }; | ||
2206 | responders = { | ||
2207 | dependencies = ["actionpack" "railties"]; | ||
2208 | groups = ["default" "pam_authentication"]; | ||
2209 | platforms = []; | ||
2210 | source = { | ||
2211 | remotes = ["https://rubygems.org"]; | ||
2212 | sha256 = "1rhdyyvvm26f2l3fgwdp6xasfl2y0whwgy766bhdwz697mf78zfn"; | ||
2213 | type = "gem"; | ||
2214 | }; | ||
2215 | version = "2.4.0"; | ||
2216 | }; | ||
2217 | rotp = { | ||
2218 | groups = ["default"]; | ||
2219 | platforms = []; | ||
2220 | source = { | ||
2221 | remotes = ["https://rubygems.org"]; | ||
2222 | sha256 = "1w8d6svhq3y9y952r8cqirxvdx12zlkb7zxjb44bcbidb2sisy4d"; | ||
2223 | type = "gem"; | ||
2224 | }; | ||
2225 | version = "2.1.2"; | ||
2226 | }; | ||
2227 | rpam2 = { | ||
2228 | groups = ["default" "pam_authentication"]; | ||
2229 | platforms = []; | ||
2230 | source = { | ||
2231 | remotes = ["https://rubygems.org"]; | ||
2232 | sha256 = "1zvli3s4z1hf2l7gyfickm5i3afjrnycc3ihbiax6ji6arpbyf33"; | ||
2233 | type = "gem"; | ||
2234 | }; | ||
2235 | version = "4.0.2"; | ||
2236 | }; | ||
2237 | rqrcode = { | ||
2238 | dependencies = ["chunky_png"]; | ||
2239 | groups = ["default"]; | ||
2240 | platforms = []; | ||
2241 | source = { | ||
2242 | remotes = ["https://rubygems.org"]; | ||
2243 | sha256 = "0h1pnnydgs032psakvg3l779w3ghbn08ajhhhw19hpmnfhrs8k0a"; | ||
2244 | type = "gem"; | ||
2245 | }; | ||
2246 | version = "0.10.1"; | ||
2247 | }; | ||
2248 | rspec-core = { | ||
2249 | dependencies = ["rspec-support"]; | ||
2250 | groups = ["default" "development" "test"]; | ||
2251 | platforms = []; | ||
2252 | source = { | ||
2253 | remotes = ["https://rubygems.org"]; | ||
2254 | sha256 = "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p"; | ||
2255 | type = "gem"; | ||
2256 | }; | ||
2257 | version = "3.8.0"; | ||
2258 | }; | ||
2259 | rspec-expectations = { | ||
2260 | dependencies = ["diff-lcs" "rspec-support"]; | ||
2261 | groups = ["default" "development" "test"]; | ||
2262 | platforms = []; | ||
2263 | source = { | ||
2264 | remotes = ["https://rubygems.org"]; | ||
2265 | sha256 = "18l21hy1zdc2pgc2yb17k3n2al1khpfr0z6pijlm852iz6vj0dkm"; | ||
2266 | type = "gem"; | ||
2267 | }; | ||
2268 | version = "3.8.2"; | ||
2269 | }; | ||
2270 | rspec-mocks = { | ||
2271 | dependencies = ["diff-lcs" "rspec-support"]; | ||
2272 | groups = ["default" "development" "test"]; | ||
2273 | platforms = []; | ||
2274 | source = { | ||
2275 | remotes = ["https://rubygems.org"]; | ||
2276 | sha256 = "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp"; | ||
2277 | type = "gem"; | ||
2278 | }; | ||
2279 | version = "3.8.0"; | ||
2280 | }; | ||
2281 | rspec-rails = { | ||
2282 | dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; | ||
2283 | groups = ["development" "test"]; | ||
2284 | platforms = []; | ||
2285 | source = { | ||
2286 | remotes = ["https://rubygems.org"]; | ||
2287 | sha256 = "0sqj5da2kc937j5jb18jcf0hrmmzwgj7pk62j0q3qndhc2kvx88p"; | ||
2288 | type = "gem"; | ||
2289 | }; | ||
2290 | version = "3.8.1"; | ||
2291 | }; | ||
2292 | rspec-sidekiq = { | ||
2293 | dependencies = ["rspec-core" "sidekiq"]; | ||
2294 | groups = ["test"]; | ||
2295 | platforms = []; | ||
2296 | source = { | ||
2297 | remotes = ["https://rubygems.org"]; | ||
2298 | sha256 = "0y7pbqrbc8rjszc45vg4vz9qbn8aymgcc4ribrhvm76wrfz3ksfq"; | ||
2299 | type = "gem"; | ||
2300 | }; | ||
2301 | version = "3.0.3"; | ||
2302 | }; | ||
2303 | rspec-support = { | ||
2304 | groups = ["default" "development" "test"]; | ||
2305 | platforms = []; | ||
2306 | source = { | ||
2307 | remotes = ["https://rubygems.org"]; | ||
2308 | sha256 = "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609"; | ||
2309 | type = "gem"; | ||
2310 | }; | ||
2311 | version = "3.8.0"; | ||
2312 | }; | ||
2313 | rubocop = { | ||
2314 | dependencies = ["jaro_winkler" "parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"]; | ||
2315 | groups = ["development"]; | ||
2316 | platforms = []; | ||
2317 | source = { | ||
2318 | remotes = ["https://rubygems.org"]; | ||
2319 | sha256 = "1ivk049z3mp12nc6v1wn35bsq1g7nz1i2r4xwzqf0v25hm2v7n1i"; | ||
2320 | type = "gem"; | ||
2321 | }; | ||
2322 | version = "0.60.0"; | ||
2323 | }; | ||
2324 | ruby-progressbar = { | ||
2325 | groups = ["default" "development" "test"]; | ||
2326 | platforms = []; | ||
2327 | source = { | ||
2328 | remotes = ["https://rubygems.org"]; | ||
2329 | sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk"; | ||
2330 | type = "gem"; | ||
2331 | }; | ||
2332 | version = "1.10.0"; | ||
2333 | }; | ||
2334 | ruby-saml = { | ||
2335 | dependencies = ["nokogiri"]; | ||
2336 | groups = ["default"]; | ||
2337 | platforms = []; | ||
2338 | source = { | ||
2339 | remotes = ["https://rubygems.org"]; | ||
2340 | sha256 = "12f3mmyds4y8f7535p79xzx0wnp7rj02h1fp2x3j2hy5vrkmz2k4"; | ||
2341 | type = "gem"; | ||
2342 | }; | ||
2343 | version = "1.9.0"; | ||
2344 | }; | ||
2345 | rufus-scheduler = { | ||
2346 | dependencies = ["fugit"]; | ||
2347 | groups = ["default"]; | ||
2348 | platforms = []; | ||
2349 | source = { | ||
2350 | remotes = ["https://rubygems.org"]; | ||
2351 | sha256 = "074w41a88343cbv8ydkpl3firhvh3kbh8ppldhdmpvv2g569m32i"; | ||
2352 | type = "gem"; | ||
2353 | }; | ||
2354 | version = "3.5.2"; | ||
2355 | }; | ||
2356 | safe_yaml = { | ||
2357 | groups = ["default" "test"]; | ||
2358 | platforms = []; | ||
2359 | source = { | ||
2360 | remotes = ["https://rubygems.org"]; | ||
2361 | sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; | ||
2362 | type = "gem"; | ||
2363 | }; | ||
2364 | version = "1.0.4"; | ||
2365 | }; | ||
2366 | sanitize = { | ||
2367 | dependencies = ["crass" "nokogiri" "nokogumbo"]; | ||
2368 | groups = ["default"]; | ||
2369 | platforms = []; | ||
2370 | source = { | ||
2371 | remotes = ["https://rubygems.org"]; | ||
2372 | sha256 = "0rsb2gvqdh41miq7xjckidmgnjh3slvfqbp1hh4s6xfhc32r8g3s"; | ||
2373 | type = "gem"; | ||
2374 | }; | ||
2375 | version = "5.0.0"; | ||
2376 | }; | ||
2377 | sass = { | ||
2378 | dependencies = ["sass-listen"]; | ||
2379 | groups = ["default" "development"]; | ||
2380 | platforms = []; | ||
2381 | source = { | ||
2382 | remotes = ["https://rubygems.org"]; | ||
2383 | sha256 = "18c6prbw9wl8bqhb2435pd9s0lzarl3g7xf8pmyla28zblvwxmyh"; | ||
2384 | type = "gem"; | ||
2385 | }; | ||
2386 | version = "3.6.0"; | ||
2387 | }; | ||
2388 | sass-listen = { | ||
2389 | dependencies = ["rb-fsevent" "rb-inotify"]; | ||
2390 | groups = ["default" "development"]; | ||
2391 | platforms = []; | ||
2392 | source = { | ||
2393 | remotes = ["https://rubygems.org"]; | ||
2394 | sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df"; | ||
2395 | type = "gem"; | ||
2396 | }; | ||
2397 | version = "4.0.0"; | ||
2398 | }; | ||
2399 | scss_lint = { | ||
2400 | dependencies = ["rake" "sass"]; | ||
2401 | groups = ["development"]; | ||
2402 | platforms = []; | ||
2403 | source = { | ||
2404 | remotes = ["https://rubygems.org"]; | ||
2405 | sha256 = "0dv4ff1lqbgqdx99nwg059c983dhw67kvvjd21f6vf62cjx09lpn"; | ||
2406 | type = "gem"; | ||
2407 | }; | ||
2408 | version = "0.57.1"; | ||
2409 | }; | ||
2410 | sidekiq = { | ||
2411 | dependencies = ["connection_pool" "rack-protection" "redis"]; | ||
2412 | groups = ["default" "test"]; | ||
2413 | platforms = []; | ||
2414 | source = { | ||
2415 | remotes = ["https://rubygems.org"]; | ||
2416 | sha256 = "06jws6zlyxqdbpcyvdd61ylp9cxsg2h4bs2mmz3k2ah42p5xxkjp"; | ||
2417 | type = "gem"; | ||
2418 | }; | ||
2419 | version = "5.2.2"; | ||
2420 | }; | ||
2421 | sidekiq-bulk = { | ||
2422 | dependencies = ["activesupport" "sidekiq"]; | ||
2423 | groups = ["default"]; | ||
2424 | platforms = []; | ||
2425 | source = { | ||
2426 | remotes = ["https://rubygems.org"]; | ||
2427 | sha256 = "1yj2fwjygv93pr6ph5xyapgwq5vhspvg2hkv8mgf3d3ain082wbi"; | ||
2428 | type = "gem"; | ||
2429 | }; | ||
2430 | version = "0.1.1"; | ||
2431 | }; | ||
2432 | sidekiq-scheduler = { | ||
2433 | dependencies = ["redis" "rufus-scheduler" "sidekiq" "tilt"]; | ||
2434 | groups = ["default"]; | ||
2435 | platforms = []; | ||
2436 | source = { | ||
2437 | remotes = ["https://rubygems.org"]; | ||
2438 | sha256 = "1n38p1ig8rx4ndqxcsc2gyzbaaax6r16b1xkn9mgcwwfx8qd5dbw"; | ||
2439 | type = "gem"; | ||
2440 | }; | ||
2441 | version = "3.0.0"; | ||
2442 | }; | ||
2443 | sidekiq-unique-jobs = { | ||
2444 | dependencies = ["sidekiq" "thor"]; | ||
2445 | groups = ["default"]; | ||
2446 | platforms = []; | ||
2447 | source = { | ||
2448 | remotes = ["https://rubygems.org"]; | ||
2449 | sha256 = "001bmbqbibf7r3hbdkm2sjnmdw5dznnwk89f2s7wk0xhibsczkhw"; | ||
2450 | type = "gem"; | ||
2451 | }; | ||
2452 | version = "5.0.10"; | ||
2453 | }; | ||
2454 | simple-navigation = { | ||
2455 | dependencies = ["activesupport"]; | ||
2456 | groups = ["default"]; | ||
2457 | platforms = []; | ||
2458 | source = { | ||
2459 | remotes = ["https://rubygems.org"]; | ||
2460 | sha256 = "08a2s18an3br3xj5j86r33q0hrkai0y157xg67h1khdskb08yylk"; | ||
2461 | type = "gem"; | ||
2462 | }; | ||
2463 | version = "4.0.5"; | ||
2464 | }; | ||
2465 | simple_form = { | ||
2466 | dependencies = ["actionpack" "activemodel"]; | ||
2467 | groups = ["default"]; | ||
2468 | platforms = []; | ||
2469 | source = { | ||
2470 | remotes = ["https://rubygems.org"]; | ||
2471 | sha256 = "197wzz7yy4ls4ivrvnysa28hvrrwyrq9dny9jpq6d15y2v31chqh"; | ||
2472 | type = "gem"; | ||
2473 | }; | ||
2474 | version = "4.0.1"; | ||
2475 | }; | ||
2476 | simplecov = { | ||
2477 | dependencies = ["docile" "json" "simplecov-html"]; | ||
2478 | groups = ["test"]; | ||
2479 | platforms = []; | ||
2480 | source = { | ||
2481 | remotes = ["https://rubygems.org"]; | ||
2482 | sha256 = "1sfyfgf7zrp2n42v7rswkqgk3bbwk1bnsphm24y7laxv3f8z0947"; | ||
2483 | type = "gem"; | ||
2484 | }; | ||
2485 | version = "0.16.1"; | ||
2486 | }; | ||
2487 | simplecov-html = { | ||
2488 | groups = ["default" "test"]; | ||
2489 | platforms = []; | ||
2490 | source = { | ||
2491 | remotes = ["https://rubygems.org"]; | ||
2492 | sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn"; | ||
2493 | type = "gem"; | ||
2494 | }; | ||
2495 | version = "0.10.2"; | ||
2496 | }; | ||
2497 | sprockets = { | ||
2498 | dependencies = ["concurrent-ruby" "rack"]; | ||
2499 | groups = ["default"]; | ||
2500 | platforms = []; | ||
2501 | source = { | ||
2502 | remotes = ["https://rubygems.org"]; | ||
2503 | sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay"; | ||
2504 | type = "gem"; | ||
2505 | }; | ||
2506 | version = "3.7.2"; | ||
2507 | }; | ||
2508 | sprockets-rails = { | ||
2509 | dependencies = ["actionpack" "activesupport" "sprockets"]; | ||
2510 | groups = ["default"]; | ||
2511 | platforms = []; | ||
2512 | source = { | ||
2513 | remotes = ["https://rubygems.org"]; | ||
2514 | sha256 = "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1"; | ||
2515 | type = "gem"; | ||
2516 | }; | ||
2517 | version = "3.2.1"; | ||
2518 | }; | ||
2519 | sshkit = { | ||
2520 | dependencies = ["net-scp" "net-ssh"]; | ||
2521 | groups = ["default" "development"]; | ||
2522 | platforms = []; | ||
2523 | source = { | ||
2524 | remotes = ["https://rubygems.org"]; | ||
2525 | sha256 = "1982pcckxy811gm6z9h8brkds13mrgrx8sgmdz8dq5rg1h91y0yw"; | ||
2526 | type = "gem"; | ||
2527 | }; | ||
2528 | version = "1.17.0"; | ||
2529 | }; | ||
2530 | stackprof = { | ||
2531 | groups = ["development"]; | ||
2532 | platforms = []; | ||
2533 | source = { | ||
2534 | remotes = ["https://rubygems.org"]; | ||
2535 | sha256 = "1v7mkl4ng2is5h0glivhcjjkkj2shq1qzx9sg9shw9nn8xvg7i4w"; | ||
2536 | type = "gem"; | ||
2537 | }; | ||
2538 | version = "0.2.12"; | ||
2539 | }; | ||
2540 | statsd-ruby = { | ||
2541 | groups = ["default"]; | ||
2542 | platforms = []; | ||
2543 | source = { | ||
2544 | remotes = ["https://rubygems.org"]; | ||
2545 | sha256 = "1qh9w1vydx96v5y04y0k2g56k9yrsgrmbxh1d7haq07wbli0a6yz"; | ||
2546 | type = "gem"; | ||
2547 | }; | ||
2548 | version = "1.2.1"; | ||
2549 | }; | ||
2550 | stoplight = { | ||
2551 | groups = ["default"]; | ||
2552 | platforms = []; | ||
2553 | source = { | ||
2554 | remotes = ["https://rubygems.org"]; | ||
2555 | sha256 = "1c55ar2chyivz8n6xkhyq36hgpb0b7cfqfjrcyyv9sjiyrbqyhic"; | ||
2556 | type = "gem"; | ||
2557 | }; | ||
2558 | version = "2.1.3"; | ||
2559 | }; | ||
2560 | streamio-ffmpeg = { | ||
2561 | dependencies = ["multi_json"]; | ||
2562 | groups = ["default"]; | ||
2563 | platforms = []; | ||
2564 | source = { | ||
2565 | remotes = ["https://rubygems.org"]; | ||
2566 | sha256 = "1nnxizc0371vwh0k6gqjj1b7fjszydpqfz549n6qn2q1pza3894z"; | ||
2567 | type = "gem"; | ||
2568 | }; | ||
2569 | version = "3.0.2"; | ||
2570 | }; | ||
2571 | strong_migrations = { | ||
2572 | dependencies = ["activerecord"]; | ||
2573 | groups = ["default"]; | ||
2574 | platforms = []; | ||
2575 | source = { | ||
2576 | remotes = ["https://rubygems.org"]; | ||
2577 | sha256 = "0scrffkhjx14rrk5cn01vg20y3vvhzzb47a7c9wa864aq8j8kw7z"; | ||
2578 | type = "gem"; | ||
2579 | }; | ||
2580 | version = "0.3.1"; | ||
2581 | }; | ||
2582 | temple = { | ||
2583 | groups = ["default"]; | ||
2584 | platforms = []; | ||
2585 | source = { | ||
2586 | remotes = ["https://rubygems.org"]; | ||
2587 | sha256 = "00nxf610nzi4n1i2lkby43nrnarvl89fcl6lg19406msr0k3ycmq"; | ||
2588 | type = "gem"; | ||
2589 | }; | ||
2590 | version = "0.8.0"; | ||
2591 | }; | ||
2592 | terminal-table = { | ||
2593 | dependencies = ["unicode-display_width"]; | ||
2594 | groups = ["default" "development" "test"]; | ||
2595 | platforms = []; | ||
2596 | source = { | ||
2597 | remotes = ["https://rubygems.org"]; | ||
2598 | sha256 = "1512cngw35hsmhvw4c05rscihc59mnj09m249sm9p3pik831ydqk"; | ||
2599 | type = "gem"; | ||
2600 | }; | ||
2601 | version = "1.8.0"; | ||
2602 | }; | ||
2603 | terrapin = { | ||
2604 | dependencies = ["climate_control"]; | ||
2605 | groups = ["default"]; | ||
2606 | platforms = []; | ||
2607 | source = { | ||
2608 | remotes = ["https://rubygems.org"]; | ||
2609 | sha256 = "0p18f05r0c5s70571gqig3z2ym74wx79s6rd45sprp207bqskzn9"; | ||
2610 | type = "gem"; | ||
2611 | }; | ||
2612 | version = "0.6.0"; | ||
2613 | }; | ||
2614 | thor = { | ||
2615 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
2616 | platforms = []; | ||
2617 | source = { | ||
2618 | remotes = ["https://rubygems.org"]; | ||
2619 | sha256 = "0nmqpyj642sk4g16nkbq6pj856adpv91lp4krwhqkh2iw63aszdl"; | ||
2620 | type = "gem"; | ||
2621 | }; | ||
2622 | version = "0.20.0"; | ||
2623 | }; | ||
2624 | thread_safe = { | ||
2625 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
2626 | platforms = []; | ||
2627 | source = { | ||
2628 | remotes = ["https://rubygems.org"]; | ||
2629 | sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; | ||
2630 | type = "gem"; | ||
2631 | }; | ||
2632 | version = "0.3.6"; | ||
2633 | }; | ||
2634 | tilt = { | ||
2635 | groups = ["default"]; | ||
2636 | platforms = []; | ||
2637 | source = { | ||
2638 | remotes = ["https://rubygems.org"]; | ||
2639 | sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra"; | ||
2640 | type = "gem"; | ||
2641 | }; | ||
2642 | version = "2.0.8"; | ||
2643 | }; | ||
2644 | timers = { | ||
2645 | dependencies = ["hitimes"]; | ||
2646 | groups = ["default"]; | ||
2647 | platforms = []; | ||
2648 | source = { | ||
2649 | remotes = ["https://rubygems.org"]; | ||
2650 | sha256 = "0wax58yagbc7876az5731fs4hxwzr567y9r48v0agmnm162199x7"; | ||
2651 | type = "gem"; | ||
2652 | }; | ||
2653 | version = "4.1.2"; | ||
2654 | }; | ||
2655 | tty-color = { | ||
2656 | groups = ["default"]; | ||
2657 | platforms = []; | ||
2658 | source = { | ||
2659 | remotes = ["https://rubygems.org"]; | ||
2660 | sha256 = "0zz5xa6xbrj69h334d8nx7z732fz80s1a0b02b53mim95p80s7bk"; | ||
2661 | type = "gem"; | ||
2662 | }; | ||
2663 | version = "0.4.3"; | ||
2664 | }; | ||
2665 | tty-command = { | ||
2666 | dependencies = ["pastel"]; | ||
2667 | groups = ["default"]; | ||
2668 | platforms = []; | ||
2669 | source = { | ||
2670 | remotes = ["https://rubygems.org"]; | ||
2671 | sha256 = "1d1fghdvnlc8m5i36h7gswn21232k2f9z5ls73fhs9p5ryfs4vz7"; | ||
2672 | type = "gem"; | ||
2673 | }; | ||
2674 | version = "0.8.2"; | ||
2675 | }; | ||
2676 | tty-cursor = { | ||
2677 | groups = ["default"]; | ||
2678 | platforms = []; | ||
2679 | source = { | ||
2680 | remotes = ["https://rubygems.org"]; | ||
2681 | sha256 = "1f4rsapf4apaxn11xnqrq7axgrlvn6pdlqxqb2g34jnpfh5yrk1i"; | ||
2682 | type = "gem"; | ||
2683 | }; | ||
2684 | version = "0.6.0"; | ||
2685 | }; | ||
2686 | tty-prompt = { | ||
2687 | dependencies = ["necromancer" "pastel" "timers" "tty-cursor" "tty-reader"]; | ||
2688 | groups = ["default"]; | ||
2689 | platforms = []; | ||
2690 | source = { | ||
2691 | remotes = ["https://rubygems.org"]; | ||
2692 | sha256 = "0bnrpz52ga2pwrq5lbjyh4v8v8rhliw749vgzlahzxivvyg93k70"; | ||
2693 | type = "gem"; | ||
2694 | }; | ||
2695 | version = "0.17.1"; | ||
2696 | }; | ||
2697 | tty-reader = { | ||
2698 | dependencies = ["tty-cursor" "tty-screen" "wisper"]; | ||
2699 | groups = ["default"]; | ||
2700 | platforms = []; | ||
2701 | source = { | ||
2702 | remotes = ["https://rubygems.org"]; | ||
2703 | sha256 = "0cy5yyanfgyxxy0g6abiwz2jlbxwdjavk63yjl3gbdjr1j5jgy23"; | ||
2704 | type = "gem"; | ||
2705 | }; | ||
2706 | version = "0.4.0"; | ||
2707 | }; | ||
2708 | tty-screen = { | ||
2709 | groups = ["default"]; | ||
2710 | platforms = []; | ||
2711 | source = { | ||
2712 | remotes = ["https://rubygems.org"]; | ||
2713 | sha256 = "0azpjgyhdm8ycblnx9crq3dgb2x8yg454a13n60zfpsc0n138sw1"; | ||
2714 | type = "gem"; | ||
2715 | }; | ||
2716 | version = "0.6.5"; | ||
2717 | }; | ||
2718 | twitter-text = { | ||
2719 | dependencies = ["unf"]; | ||
2720 | groups = ["default"]; | ||
2721 | platforms = []; | ||
2722 | source = { | ||
2723 | remotes = ["https://rubygems.org"]; | ||
2724 | sha256 = "1732h7hy1k152w8wfvjsx7b79alk45i5imwd37ia4qcx8hfm3gvg"; | ||
2725 | type = "gem"; | ||
2726 | }; | ||
2727 | version = "1.14.7"; | ||
2728 | }; | ||
2729 | tzinfo = { | ||
2730 | dependencies = ["thread_safe"]; | ||
2731 | groups = ["default" "development" "pam_authentication" "production" "test"]; | ||
2732 | platforms = []; | ||
2733 | source = { | ||
2734 | remotes = ["https://rubygems.org"]; | ||
2735 | sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z"; | ||
2736 | type = "gem"; | ||
2737 | }; | ||
2738 | version = "1.2.5"; | ||
2739 | }; | ||
2740 | tzinfo-data = { | ||
2741 | dependencies = ["tzinfo"]; | ||
2742 | groups = ["default"]; | ||
2743 | platforms = []; | ||
2744 | source = { | ||
2745 | remotes = ["https://rubygems.org"]; | ||
2746 | sha256 = "12il6cwzprzrjqv2szxwr3a5zd68q4p37vxfkv0br0c61hi2p8j9"; | ||
2747 | type = "gem"; | ||
2748 | }; | ||
2749 | version = "1.2018.7"; | ||
2750 | }; | ||
2751 | unf = { | ||
2752 | dependencies = ["unf_ext"]; | ||
2753 | groups = ["default"]; | ||
2754 | platforms = []; | ||
2755 | source = { | ||
2756 | remotes = ["https://rubygems.org"]; | ||
2757 | sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; | ||
2758 | type = "gem"; | ||
2759 | }; | ||
2760 | version = "0.1.4"; | ||
2761 | }; | ||
2762 | unf_ext = { | ||
2763 | groups = ["default"]; | ||
2764 | platforms = []; | ||
2765 | source = { | ||
2766 | remotes = ["https://rubygems.org"]; | ||
2767 | sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1"; | ||
2768 | type = "gem"; | ||
2769 | }; | ||
2770 | version = "0.0.7.5"; | ||
2771 | }; | ||
2772 | unicode-display_width = { | ||
2773 | groups = ["default" "development" "test"]; | ||
2774 | platforms = []; | ||
2775 | source = { | ||
2776 | remotes = ["https://rubygems.org"]; | ||
2777 | sha256 = "0040bsdpcmvp8w31lqi2s9s4p4h031zv52401qidmh25cgyh4a57"; | ||
2778 | type = "gem"; | ||
2779 | }; | ||
2780 | version = "1.4.0"; | ||
2781 | }; | ||
2782 | uniform_notifier = { | ||
2783 | groups = ["default" "development"]; | ||
2784 | platforms = []; | ||
2785 | source = { | ||
2786 | remotes = ["https://rubygems.org"]; | ||
2787 | sha256 = "1yblj2rhlabxiqkqn7v3mrk8rnkmvsp3l3mp6c3hrb08rxidssga"; | ||
2788 | type = "gem"; | ||
2789 | }; | ||
2790 | version = "1.11.0"; | ||
2791 | }; | ||
2792 | warden = { | ||
2793 | dependencies = ["rack"]; | ||
2794 | groups = ["default" "pam_authentication"]; | ||
2795 | platforms = []; | ||
2796 | source = { | ||
2797 | remotes = ["https://rubygems.org"]; | ||
2798 | sha256 = "0va966lhpylcwbqb9n151kkihx30agh0a57mwjwdxyanll4s1q12"; | ||
2799 | type = "gem"; | ||
2800 | }; | ||
2801 | version = "1.2.7"; | ||
2802 | }; | ||
2803 | webmock = { | ||
2804 | dependencies = ["addressable" "crack" "hashdiff"]; | ||
2805 | groups = ["test"]; | ||
2806 | platforms = []; | ||
2807 | source = { | ||
2808 | remotes = ["https://rubygems.org"]; | ||
2809 | sha256 = "03994dxs4xayvkxqp01dd1ivhg4xxx7z35f7cxw7y2mwj3xn24ib"; | ||
2810 | type = "gem"; | ||
2811 | }; | ||
2812 | version = "3.4.2"; | ||
2813 | }; | ||
2814 | webpacker = { | ||
2815 | dependencies = ["activesupport" "rack-proxy" "railties"]; | ||
2816 | groups = ["default"]; | ||
2817 | platforms = []; | ||
2818 | source = { | ||
2819 | remotes = ["https://rubygems.org"]; | ||
2820 | sha256 = "0bw01ihvxpy05xzz3wq6p9d3lw7n4x10ivfrh70hlrjyixmapws6"; | ||
2821 | type = "gem"; | ||
2822 | }; | ||
2823 | version = "3.5.5"; | ||
2824 | }; | ||
2825 | webpush = { | ||
2826 | dependencies = ["hkdf" "jwt"]; | ||
2827 | groups = ["default"]; | ||
2828 | platforms = []; | ||
2829 | source = { | ||
2830 | remotes = ["https://rubygems.org"]; | ||
2831 | sha256 = "0qhamsbzixns0fss77c2bdrni1lk192kbm51r2q6m6gk2iqyk0xv"; | ||
2832 | type = "gem"; | ||
2833 | }; | ||
2834 | version = "0.3.4"; | ||
2835 | }; | ||
2836 | websocket-driver = { | ||
2837 | dependencies = ["websocket-extensions"]; | ||
2838 | groups = ["default"]; | ||
2839 | platforms = []; | ||
2840 | source = { | ||
2841 | remotes = ["https://rubygems.org"]; | ||
2842 | sha256 = "1551k3fs3kkb3ghqfj3n5lps0ikb9pyrdnzmvgfdxy8574n4g1dn"; | ||
2843 | type = "gem"; | ||
2844 | }; | ||
2845 | version = "0.7.0"; | ||
2846 | }; | ||
2847 | websocket-extensions = { | ||
2848 | groups = ["default"]; | ||
2849 | platforms = []; | ||
2850 | source = { | ||
2851 | remotes = ["https://rubygems.org"]; | ||
2852 | sha256 = "034sdr7fd34yag5l6y156rkbhiqgmy395m231dwhlpcswhs6d270"; | ||
2853 | type = "gem"; | ||
2854 | }; | ||
2855 | version = "0.1.3"; | ||
2856 | }; | ||
2857 | wisper = { | ||
2858 | groups = ["default"]; | ||
2859 | platforms = []; | ||
2860 | source = { | ||
2861 | remotes = ["https://rubygems.org"]; | ||
2862 | sha256 = "0ar2wn3pxnffyzcmf67y67b8lnhgn9zayqhqp26jwqa3d73j71kd"; | ||
2863 | type = "gem"; | ||
2864 | }; | ||
2865 | version = "2.0.0"; | ||
2866 | }; | ||
2867 | xpath = { | ||
2868 | dependencies = ["nokogiri"]; | ||
2869 | groups = ["default" "test"]; | ||
2870 | platforms = []; | ||
2871 | source = { | ||
2872 | remotes = ["https://rubygems.org"]; | ||
2873 | sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"; | ||
2874 | type = "gem"; | ||
2875 | }; | ||
2876 | version = "3.2.0"; | ||
2877 | }; | ||
2878 | } | ||
diff --git a/virtual/modules/websites/tools/mastodon/mastodon.json b/virtual/modules/websites/tools/mastodon/mastodon.json deleted file mode 100644 index 11e59fa..0000000 --- a/virtual/modules/websites/tools/mastodon/mastodon.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "v2.6.5", | ||
3 | "meta": { | ||
4 | "name": "mastodon", | ||
5 | "url": "https://github.com/tootsuite/mastodon", | ||
6 | "branch": "refs/tags/v2.6.5" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "tootsuite", | ||
10 | "repo": "mastodon", | ||
11 | "rev": "887f9de6dc12ef405f92b94eeaa775df74ebb1ef", | ||
12 | "sha256": "0bszv3cnlqghwpkmh7qzak7wlanlp0dp5k4wxnl3acxzj72p53v5", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/virtual/modules/websites/tools/mastodon/mastodon.nix b/virtual/modules/websites/tools/mastodon/mastodon.nix deleted file mode 100644 index 770aa2c..0000000 --- a/virtual/modules/websites/tools/mastodon/mastodon.nix +++ /dev/null | |||
@@ -1,129 +0,0 @@ | |||
1 | { env, ruby_2_5, bundlerEnv, defaultGemConfig, fetchedGithub, stdenv, writeText, pkgs }: | ||
2 | let | ||
3 | varDir = "/var/lib/mastodon_immae"; | ||
4 | socketsDir = "/run/mastodon"; | ||
5 | gems = bundlerEnv { | ||
6 | name = "mastodon-env"; | ||
7 | ruby = ruby_2_5; | ||
8 | gemset = ./gemset.nix; | ||
9 | gemdir = (fetchedGithub ./mastodon.json).src; | ||
10 | groups = [ "default" "production" "test" "development" ]; | ||
11 | gemConfig = defaultGemConfig // { | ||
12 | cld3 = attrs: { | ||
13 | buildInputs = with pkgs; [ protobuf protobufc pkgconfig ]; | ||
14 | }; | ||
15 | idn-ruby = attrs: { | ||
16 | buildInputs = with pkgs; [ libidn ]; | ||
17 | }; | ||
18 | rpam2 = attrs: { | ||
19 | buildInputs = with pkgs; [ pam ]; | ||
20 | }; | ||
21 | }; | ||
22 | }; | ||
23 | yarnModules = let | ||
24 | info = fetchedGithub ./mastodon.json; | ||
25 | in | ||
26 | pkgs.yarn2nix.mkYarnModules { | ||
27 | name = "mastodon-yarn-modules"; | ||
28 | packageJSON = "${info.src}/package.json"; | ||
29 | yarnLock = "${info.src}/yarn.lock"; | ||
30 | yarnNix = ./yarn-packages.nix; | ||
31 | pkgConfig = { | ||
32 | uws = { | ||
33 | postInstall = '' | ||
34 | node-gyp rebuild > build_log.txt 2>&1 || true | ||
35 | ''; | ||
36 | buildInputs = with pkgs; [ nodePackages.node-gyp ]; | ||
37 | }; | ||
38 | node-zopfli = { | ||
39 | postInstall = '' | ||
40 | node-pre-gyp install --fallback-to-build | ||
41 | ''; | ||
42 | buildInputs = with pkgs; [ nodePackages.node-pre-gyp ]; | ||
43 | }; | ||
44 | node-sass = { | ||
45 | buildInputs = with pkgs; [ binutils libsass python ]; | ||
46 | postInstall = let | ||
47 | nodeHeaders = pkgs.fetchurl { | ||
48 | url = "https://nodejs.org/download/release/v${pkgs.nodejs.version}/node-v${pkgs.nodejs.version}-headers.tar.gz"; | ||
49 | sha256 = "12zzsf8my43b8qnlacp871ih5vqafl2vlpqp51xp6h3gckn2frwy"; | ||
50 | }; | ||
51 | in | ||
52 | '' | ||
53 | export AR=${pkgs.binutils.bintools}/bin/ar | ||
54 | node scripts/build.js --tarball=${nodeHeaders} | ||
55 | ''; | ||
56 | }; | ||
57 | }; | ||
58 | }; | ||
59 | mastodon = stdenv.mkDerivation (fetchedGithub ./mastodon.json // rec { | ||
60 | installPhase = '' | ||
61 | cp -a . $out | ||
62 | cp -a ${yarnModules}/node_modules $out | ||
63 | ''; | ||
64 | buildInputs = [ yarnModules gems ]; | ||
65 | }); | ||
66 | config = writeText "mastodon_environment" '' | ||
67 | REDIS_HOST=${env.redis.host} | ||
68 | REDIS_PORT=${env.redis.port} | ||
69 | REDIS_DB=${env.redis.db} | ||
70 | DB_HOST=${env.postgresql.socket} | ||
71 | DB_USER=${env.postgresql.user} | ||
72 | DB_NAME=${env.postgresql.database} | ||
73 | DB_PASS=${env.postgresql.password} | ||
74 | DB_PORT=${env.postgresql.port} | ||
75 | |||
76 | LOCAL_DOMAIN=mastodon.immae.eu | ||
77 | LOCAL_HTTPS=true | ||
78 | ALTERNATE_DOMAINS=immae.eu | ||
79 | |||
80 | PAPERCLIP_SECRET=${env.paperclip_secret} | ||
81 | SECRET_KEY_BASE=${env.secret_key_base} | ||
82 | OTP_SECRET=${env.otp_secret} | ||
83 | |||
84 | VAPID_PRIVATE_KEY=${env.vapid.private} | ||
85 | VAPID_PUBLIC_KEY=${env.vapid.public} | ||
86 | |||
87 | SMTP_SERVER=mail.immae.eu | ||
88 | SMTP_PORT=587 | ||
89 | SMTP_FROM_ADDRESS=notifications@mastodon.immae.eu | ||
90 | SMTP_DELIVERY_METHOD=smtp | ||
91 | PAPERCLIP_ROOT_PATH=${varDir} | ||
92 | |||
93 | STREAMING_CLUSTER_NUM=1 | ||
94 | |||
95 | # LDAP authentication (optional) | ||
96 | LDAP_ENABLED=true | ||
97 | LDAP_HOST=ldap.immae.eu | ||
98 | LDAP_PORT=636 | ||
99 | LDAP_METHOD=simple_tls | ||
100 | LDAP_BASE="dc=immae,dc=eu" | ||
101 | LDAP_BIND_DN="cn=mastodon,ou=services,dc=immae,dc=eu" | ||
102 | LDAP_PASSWORD="${env.ldap.password}" | ||
103 | LDAP_UID="uid" | ||
104 | LDAP_SEARCH_FILTER="(&(%{uid}=%{email})(memberOf=cn=users,cn=mastodon,ou=services,dc=immae,dc=eu))" | ||
105 | ''; | ||
106 | |||
107 | railsRoot = stdenv.mkDerivation { | ||
108 | name = "mastodon_immae"; | ||
109 | inherit config mastodon; | ||
110 | builder = writeText "build_mastodon_immae" '' | ||
111 | source $stdenv/setup | ||
112 | set -a | ||
113 | source $config | ||
114 | set +a | ||
115 | cp -a $mastodon $out | ||
116 | cd $out | ||
117 | chmod u+rwX . public | ||
118 | RAILS_ENV=production ${gems}/bin/rails assets:precompile | ||
119 | rm -rf tmp/cache | ||
120 | ln -sf ../../../../../../../${varDir}/tmp/cache tmp | ||
121 | ''; | ||
122 | buildInputs = [ gems gems.ruby pkgs.nodejs pkgs.yarn ]; | ||
123 | }; | ||
124 | in | ||
125 | { | ||
126 | inherit railsRoot config varDir socketsDir gems; | ||
127 | nodeSocket = "${socketsDir}/live_immae_node.sock"; | ||
128 | railsSocket = "${socketsDir}/live_immae_puma.sock"; | ||
129 | } | ||
diff --git a/virtual/modules/websites/tools/mastodon/yarn-packages.nix b/virtual/modules/websites/tools/mastodon/yarn-packages.nix deleted file mode 100644 index 5ef66d6..0000000 --- a/virtual/modules/websites/tools/mastodon/yarn-packages.nix +++ /dev/null | |||
@@ -1,12164 +0,0 @@ | |||
1 | {fetchurl, linkFarm}: rec { | ||
2 | offline_cache = linkFarm "offline" packages; | ||
3 | packages = [ | ||
4 | |||
5 | { | ||
6 | name = "code-frame-7.0.0.tgz"; | ||
7 | path = fetchurl { | ||
8 | name = "code-frame-7.0.0.tgz"; | ||
9 | url = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz"; | ||
10 | sha1 = "06e2ab19bdb535385559aabb5ba59729482800f8"; | ||
11 | }; | ||
12 | } | ||
13 | |||
14 | { | ||
15 | name = "core-7.0.1.tgz"; | ||
16 | path = fetchurl { | ||
17 | name = "core-7.0.1.tgz"; | ||
18 | url = "https://registry.yarnpkg.com/@babel/core/-/core-7.0.1.tgz"; | ||
19 | sha1 = "406658caed0e9686fa4feb5c2f3cefb6161c0f41"; | ||
20 | }; | ||
21 | } | ||
22 | |||
23 | { | ||
24 | name = "generator-7.0.0.tgz"; | ||
25 | path = fetchurl { | ||
26 | name = "generator-7.0.0.tgz"; | ||
27 | url = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0.tgz"; | ||
28 | sha1 = "1efd58bffa951dc846449e58ce3a1d7f02d393aa"; | ||
29 | }; | ||
30 | } | ||
31 | |||
32 | { | ||
33 | name = "helper-annotate-as-pure-7.0.0.tgz"; | ||
34 | path = fetchurl { | ||
35 | name = "helper-annotate-as-pure-7.0.0.tgz"; | ||
36 | url = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz"; | ||
37 | sha1 = "323d39dd0b50e10c7c06ca7d7638e6864d8c5c32"; | ||
38 | }; | ||
39 | } | ||
40 | |||
41 | { | ||
42 | name = "helper-builder-binary-assignment-operator-visitor-7.0.0.tgz"; | ||
43 | path = fetchurl { | ||
44 | name = "helper-builder-binary-assignment-operator-visitor-7.0.0.tgz"; | ||
45 | url = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0.tgz"; | ||
46 | sha1 = "ba26336beb2abb547d58b6eba5b84d77975a39eb"; | ||
47 | }; | ||
48 | } | ||
49 | |||
50 | { | ||
51 | name = "helper-builder-react-jsx-7.0.0.tgz"; | ||
52 | path = fetchurl { | ||
53 | name = "helper-builder-react-jsx-7.0.0.tgz"; | ||
54 | url = "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0.tgz"; | ||
55 | sha1 = "fa154cb53eb918cf2a9a7ce928e29eb649c5acdb"; | ||
56 | }; | ||
57 | } | ||
58 | |||
59 | { | ||
60 | name = "helper-call-delegate-7.0.0.tgz"; | ||
61 | path = fetchurl { | ||
62 | name = "helper-call-delegate-7.0.0.tgz"; | ||
63 | url = "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0.tgz"; | ||
64 | sha1 = "e036956bb33d76e59c07a04a1fff144e9f62ab78"; | ||
65 | }; | ||
66 | } | ||
67 | |||
68 | { | ||
69 | name = "helper-define-map-7.0.0.tgz"; | ||
70 | path = fetchurl { | ||
71 | name = "helper-define-map-7.0.0.tgz"; | ||
72 | url = "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.0.0.tgz"; | ||
73 | sha1 = "a5684dd2adf30f0137cf9b0bde436f8c2db17225"; | ||
74 | }; | ||
75 | } | ||
76 | |||
77 | { | ||
78 | name = "helper-explode-assignable-expression-7.0.0.tgz"; | ||
79 | path = fetchurl { | ||
80 | name = "helper-explode-assignable-expression-7.0.0.tgz"; | ||
81 | url = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0.tgz"; | ||
82 | sha1 = "fdfa4c88603ae3e954d0fc3244d5ca82fb468497"; | ||
83 | }; | ||
84 | } | ||
85 | |||
86 | { | ||
87 | name = "helper-function-name-7.0.0.tgz"; | ||
88 | path = fetchurl { | ||
89 | name = "helper-function-name-7.0.0.tgz"; | ||
90 | url = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0.tgz"; | ||
91 | sha1 = "a68cc8d04420ccc663dd258f9cc41b8261efa2d4"; | ||
92 | }; | ||
93 | } | ||
94 | |||
95 | { | ||
96 | name = "helper-get-function-arity-7.0.0.tgz"; | ||
97 | path = fetchurl { | ||
98 | name = "helper-get-function-arity-7.0.0.tgz"; | ||
99 | url = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz"; | ||
100 | sha1 = "83572d4320e2a4657263734113c42868b64e49c3"; | ||
101 | }; | ||
102 | } | ||
103 | |||
104 | { | ||
105 | name = "helper-hoist-variables-7.0.0.tgz"; | ||
106 | path = fetchurl { | ||
107 | name = "helper-hoist-variables-7.0.0.tgz"; | ||
108 | url = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz"; | ||
109 | sha1 = "46adc4c5e758645ae7a45deb92bab0918c23bb88"; | ||
110 | }; | ||
111 | } | ||
112 | |||
113 | { | ||
114 | name = "helper-member-expression-to-functions-7.0.0.tgz"; | ||
115 | path = fetchurl { | ||
116 | name = "helper-member-expression-to-functions-7.0.0.tgz"; | ||
117 | url = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz"; | ||
118 | sha1 = "8cd14b0a0df7ff00f009e7d7a436945f47c7a16f"; | ||
119 | }; | ||
120 | } | ||
121 | |||
122 | { | ||
123 | name = "helper-module-imports-7.0.0.tgz"; | ||
124 | path = fetchurl { | ||
125 | name = "helper-module-imports-7.0.0.tgz"; | ||
126 | url = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz"; | ||
127 | sha1 = "96081b7111e486da4d2cd971ad1a4fe216cc2e3d"; | ||
128 | }; | ||
129 | } | ||
130 | |||
131 | { | ||
132 | name = "helper-module-transforms-7.0.0.tgz"; | ||
133 | path = fetchurl { | ||
134 | name = "helper-module-transforms-7.0.0.tgz"; | ||
135 | url = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0.tgz"; | ||
136 | sha1 = "b01ee7d543e81e8c3fc404b19c9f26acb6e4cf4c"; | ||
137 | }; | ||
138 | } | ||
139 | |||
140 | { | ||
141 | name = "helper-optimise-call-expression-7.0.0.tgz"; | ||
142 | path = fetchurl { | ||
143 | name = "helper-optimise-call-expression-7.0.0.tgz"; | ||
144 | url = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz"; | ||
145 | sha1 = "a2920c5702b073c15de51106200aa8cad20497d5"; | ||
146 | }; | ||
147 | } | ||
148 | |||
149 | { | ||
150 | name = "helper-plugin-utils-7.0.0.tgz"; | ||
151 | path = fetchurl { | ||
152 | name = "helper-plugin-utils-7.0.0.tgz"; | ||
153 | url = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz"; | ||
154 | sha1 = "bbb3fbee98661c569034237cc03967ba99b4f250"; | ||
155 | }; | ||
156 | } | ||
157 | |||
158 | { | ||
159 | name = "helper-regex-7.0.0.tgz"; | ||
160 | path = fetchurl { | ||
161 | name = "helper-regex-7.0.0.tgz"; | ||
162 | url = "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz"; | ||
163 | sha1 = "2c1718923b57f9bbe64705ffe5640ac64d9bdb27"; | ||
164 | }; | ||
165 | } | ||
166 | |||
167 | { | ||
168 | name = "helper-remap-async-to-generator-7.0.0.tgz"; | ||
169 | path = fetchurl { | ||
170 | name = "helper-remap-async-to-generator-7.0.0.tgz"; | ||
171 | url = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0.tgz"; | ||
172 | sha1 = "6512273c2feb91587822335cf913fdf680c26901"; | ||
173 | }; | ||
174 | } | ||
175 | |||
176 | { | ||
177 | name = "helper-replace-supers-7.0.0.tgz"; | ||
178 | path = fetchurl { | ||
179 | name = "helper-replace-supers-7.0.0.tgz"; | ||
180 | url = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0.tgz"; | ||
181 | sha1 = "b6f21237280e0be54f591f63a464b66627ced707"; | ||
182 | }; | ||
183 | } | ||
184 | |||
185 | { | ||
186 | name = "helper-simple-access-7.0.0.tgz"; | ||
187 | path = fetchurl { | ||
188 | name = "helper-simple-access-7.0.0.tgz"; | ||
189 | url = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.0.0.tgz"; | ||
190 | sha1 = "ff36a27983ae4c27122da2f7f294dced80ecbd08"; | ||
191 | }; | ||
192 | } | ||
193 | |||
194 | { | ||
195 | name = "helper-split-export-declaration-7.0.0.tgz"; | ||
196 | path = fetchurl { | ||
197 | name = "helper-split-export-declaration-7.0.0.tgz"; | ||
198 | url = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz"; | ||
199 | sha1 = "3aae285c0311c2ab095d997b8c9a94cad547d813"; | ||
200 | }; | ||
201 | } | ||
202 | |||
203 | { | ||
204 | name = "helper-wrap-function-7.0.0.tgz"; | ||
205 | path = fetchurl { | ||
206 | name = "helper-wrap-function-7.0.0.tgz"; | ||
207 | url = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0.tgz"; | ||
208 | sha1 = "1c8e42a2cfb0808e3140189dfe9490782a6fa740"; | ||
209 | }; | ||
210 | } | ||
211 | |||
212 | { | ||
213 | name = "helpers-7.0.0.tgz"; | ||
214 | path = fetchurl { | ||
215 | name = "helpers-7.0.0.tgz"; | ||
216 | url = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.0.0.tgz"; | ||
217 | sha1 = "7213388341eeb07417f44710fd7e1d00acfa6ac0"; | ||
218 | }; | ||
219 | } | ||
220 | |||
221 | { | ||
222 | name = "highlight-7.0.0.tgz"; | ||
223 | path = fetchurl { | ||
224 | name = "highlight-7.0.0.tgz"; | ||
225 | url = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz"; | ||
226 | sha1 = "f710c38c8d458e6dd9a201afb637fcb781ce99e4"; | ||
227 | }; | ||
228 | } | ||
229 | |||
230 | { | ||
231 | name = "parser-7.0.0.tgz"; | ||
232 | path = fetchurl { | ||
233 | name = "parser-7.0.0.tgz"; | ||
234 | url = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0.tgz"; | ||
235 | sha1 = "697655183394facffb063437ddf52c0277698775"; | ||
236 | }; | ||
237 | } | ||
238 | |||
239 | { | ||
240 | name = "plugin-proposal-async-generator-functions-7.0.0.tgz"; | ||
241 | path = fetchurl { | ||
242 | name = "plugin-proposal-async-generator-functions-7.0.0.tgz"; | ||
243 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0.tgz"; | ||
244 | sha1 = "5d1eb6b44fd388b97f964350007ab9da090b1d70"; | ||
245 | }; | ||
246 | } | ||
247 | |||
248 | { | ||
249 | name = "plugin-proposal-class-properties-7.0.0.tgz"; | ||
250 | path = fetchurl { | ||
251 | name = "plugin-proposal-class-properties-7.0.0.tgz"; | ||
252 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0.tgz"; | ||
253 | sha1 = "a16b5c076ba6c3d87df64d2480a380e979543731"; | ||
254 | }; | ||
255 | } | ||
256 | |||
257 | { | ||
258 | name = "plugin-proposal-decorators-7.0.0.tgz"; | ||
259 | path = fetchurl { | ||
260 | name = "plugin-proposal-decorators-7.0.0.tgz"; | ||
261 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.0.0.tgz"; | ||
262 | sha1 = "33e7e683ca9f8ec3f72104ed11096839d48df502"; | ||
263 | }; | ||
264 | } | ||
265 | |||
266 | { | ||
267 | name = "plugin-proposal-json-strings-7.0.0.tgz"; | ||
268 | path = fetchurl { | ||
269 | name = "plugin-proposal-json-strings-7.0.0.tgz"; | ||
270 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz"; | ||
271 | sha1 = "3b4d7b5cf51e1f2e70f52351d28d44fc2970d01e"; | ||
272 | }; | ||
273 | } | ||
274 | |||
275 | { | ||
276 | name = "plugin-proposal-object-rest-spread-7.0.0.tgz"; | ||
277 | path = fetchurl { | ||
278 | name = "plugin-proposal-object-rest-spread-7.0.0.tgz"; | ||
279 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz"; | ||
280 | sha1 = "9a17b547f64d0676b6c9cecd4edf74a82ab85e7e"; | ||
281 | }; | ||
282 | } | ||
283 | |||
284 | { | ||
285 | name = "plugin-proposal-optional-catch-binding-7.0.0.tgz"; | ||
286 | path = fetchurl { | ||
287 | name = "plugin-proposal-optional-catch-binding-7.0.0.tgz"; | ||
288 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz"; | ||
289 | sha1 = "b610d928fe551ff7117d42c8bb410eec312a6425"; | ||
290 | }; | ||
291 | } | ||
292 | |||
293 | { | ||
294 | name = "plugin-proposal-unicode-property-regex-7.0.0.tgz"; | ||
295 | path = fetchurl { | ||
296 | name = "plugin-proposal-unicode-property-regex-7.0.0.tgz"; | ||
297 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz"; | ||
298 | sha1 = "498b39cd72536cd7c4b26177d030226eba08cd33"; | ||
299 | }; | ||
300 | } | ||
301 | |||
302 | { | ||
303 | name = "plugin-syntax-async-generators-7.0.0.tgz"; | ||
304 | path = fetchurl { | ||
305 | name = "plugin-syntax-async-generators-7.0.0.tgz"; | ||
306 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz"; | ||
307 | sha1 = "bf0891dcdbf59558359d0c626fdc9490e20bc13c"; | ||
308 | }; | ||
309 | } | ||
310 | |||
311 | { | ||
312 | name = "plugin-syntax-class-properties-7.0.0.tgz"; | ||
313 | path = fetchurl { | ||
314 | name = "plugin-syntax-class-properties-7.0.0.tgz"; | ||
315 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0.tgz"; | ||
316 | sha1 = "e051af5d300cbfbcec4a7476e37a803489881634"; | ||
317 | }; | ||
318 | } | ||
319 | |||
320 | { | ||
321 | name = "plugin-syntax-decorators-7.0.0.tgz"; | ||
322 | path = fetchurl { | ||
323 | name = "plugin-syntax-decorators-7.0.0.tgz"; | ||
324 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.0.0.tgz"; | ||
325 | sha1 = "7e151f744e1de3ec3601f6a4c69c8662cef1b27b"; | ||
326 | }; | ||
327 | } | ||
328 | |||
329 | { | ||
330 | name = "plugin-syntax-dynamic-import-7.0.0.tgz"; | ||
331 | path = fetchurl { | ||
332 | name = "plugin-syntax-dynamic-import-7.0.0.tgz"; | ||
333 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0.tgz"; | ||
334 | sha1 = "6dfb7d8b6c3be14ce952962f658f3b7eb54c33ee"; | ||
335 | }; | ||
336 | } | ||
337 | |||
338 | { | ||
339 | name = "plugin-syntax-json-strings-7.0.0.tgz"; | ||
340 | path = fetchurl { | ||
341 | name = "plugin-syntax-json-strings-7.0.0.tgz"; | ||
342 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz"; | ||
343 | sha1 = "0d259a68090e15b383ce3710e01d5b23f3770cbd"; | ||
344 | }; | ||
345 | } | ||
346 | |||
347 | { | ||
348 | name = "plugin-syntax-jsx-7.0.0.tgz"; | ||
349 | path = fetchurl { | ||
350 | name = "plugin-syntax-jsx-7.0.0.tgz"; | ||
351 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0.tgz"; | ||
352 | sha1 = "034d5e2b4e14ccaea2e4c137af7e4afb39375ffd"; | ||
353 | }; | ||
354 | } | ||
355 | |||
356 | { | ||
357 | name = "plugin-syntax-object-rest-spread-7.0.0.tgz"; | ||
358 | path = fetchurl { | ||
359 | name = "plugin-syntax-object-rest-spread-7.0.0.tgz"; | ||
360 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz"; | ||
361 | sha1 = "37d8fbcaf216bd658ea1aebbeb8b75e88ebc549b"; | ||
362 | }; | ||
363 | } | ||
364 | |||
365 | { | ||
366 | name = "plugin-syntax-optional-catch-binding-7.0.0.tgz"; | ||
367 | path = fetchurl { | ||
368 | name = "plugin-syntax-optional-catch-binding-7.0.0.tgz"; | ||
369 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz"; | ||
370 | sha1 = "886f72008b3a8b185977f7cb70713b45e51ee475"; | ||
371 | }; | ||
372 | } | ||
373 | |||
374 | { | ||
375 | name = "plugin-transform-arrow-functions-7.0.0.tgz"; | ||
376 | path = fetchurl { | ||
377 | name = "plugin-transform-arrow-functions-7.0.0.tgz"; | ||
378 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz"; | ||
379 | sha1 = "a6c14875848c68a3b4b3163a486535ef25c7e749"; | ||
380 | }; | ||
381 | } | ||
382 | |||
383 | { | ||
384 | name = "plugin-transform-async-to-generator-7.0.0.tgz"; | ||
385 | path = fetchurl { | ||
386 | name = "plugin-transform-async-to-generator-7.0.0.tgz"; | ||
387 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0.tgz"; | ||
388 | sha1 = "feaf18f4bfeaf2236eea4b2d4879da83006cc8f5"; | ||
389 | }; | ||
390 | } | ||
391 | |||
392 | { | ||
393 | name = "plugin-transform-block-scoped-functions-7.0.0.tgz"; | ||
394 | path = fetchurl { | ||
395 | name = "plugin-transform-block-scoped-functions-7.0.0.tgz"; | ||
396 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz"; | ||
397 | sha1 = "482b3f75103927e37288b3b67b65f848e2aa0d07"; | ||
398 | }; | ||
399 | } | ||
400 | |||
401 | { | ||
402 | name = "plugin-transform-block-scoping-7.0.0.tgz"; | ||
403 | path = fetchurl { | ||
404 | name = "plugin-transform-block-scoping-7.0.0.tgz"; | ||
405 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz"; | ||
406 | sha1 = "1745075edffd7cdaf69fab2fb6f9694424b7e9bc"; | ||
407 | }; | ||
408 | } | ||
409 | |||
410 | { | ||
411 | name = "plugin-transform-classes-7.0.0.tgz"; | ||
412 | path = fetchurl { | ||
413 | name = "plugin-transform-classes-7.0.0.tgz"; | ||
414 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0.tgz"; | ||
415 | sha1 = "9e65ca401747dde99e344baea90ab50dccb4c468"; | ||
416 | }; | ||
417 | } | ||
418 | |||
419 | { | ||
420 | name = "plugin-transform-computed-properties-7.0.0.tgz"; | ||
421 | path = fetchurl { | ||
422 | name = "plugin-transform-computed-properties-7.0.0.tgz"; | ||
423 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz"; | ||
424 | sha1 = "2fbb8900cd3e8258f2a2ede909b90e7556185e31"; | ||
425 | }; | ||
426 | } | ||
427 | |||
428 | { | ||
429 | name = "plugin-transform-destructuring-7.0.0.tgz"; | ||
430 | path = fetchurl { | ||
431 | name = "plugin-transform-destructuring-7.0.0.tgz"; | ||
432 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0.tgz"; | ||
433 | sha1 = "68e911e1935dda2f06b6ccbbf184ffb024e9d43a"; | ||
434 | }; | ||
435 | } | ||
436 | |||
437 | { | ||
438 | name = "plugin-transform-dotall-regex-7.0.0.tgz"; | ||
439 | path = fetchurl { | ||
440 | name = "plugin-transform-dotall-regex-7.0.0.tgz"; | ||
441 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz"; | ||
442 | sha1 = "73a24da69bc3c370251f43a3d048198546115e58"; | ||
443 | }; | ||
444 | } | ||
445 | |||
446 | { | ||
447 | name = "plugin-transform-duplicate-keys-7.0.0.tgz"; | ||
448 | path = fetchurl { | ||
449 | name = "plugin-transform-duplicate-keys-7.0.0.tgz"; | ||
450 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz"; | ||
451 | sha1 = "a0601e580991e7cace080e4cf919cfd58da74e86"; | ||
452 | }; | ||
453 | } | ||
454 | |||
455 | { | ||
456 | name = "plugin-transform-exponentiation-operator-7.0.0.tgz"; | ||
457 | path = fetchurl { | ||
458 | name = "plugin-transform-exponentiation-operator-7.0.0.tgz"; | ||
459 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0.tgz"; | ||
460 | sha1 = "c51b45e090a01876f64d32b5b46c0799c85ea56c"; | ||
461 | }; | ||
462 | } | ||
463 | |||
464 | { | ||
465 | name = "plugin-transform-for-of-7.0.0.tgz"; | ||
466 | path = fetchurl { | ||
467 | name = "plugin-transform-for-of-7.0.0.tgz"; | ||
468 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz"; | ||
469 | sha1 = "f2ba4eadb83bd17dc3c7e9b30f4707365e1c3e39"; | ||
470 | }; | ||
471 | } | ||
472 | |||
473 | { | ||
474 | name = "plugin-transform-function-name-7.0.0.tgz"; | ||
475 | path = fetchurl { | ||
476 | name = "plugin-transform-function-name-7.0.0.tgz"; | ||
477 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0.tgz"; | ||
478 | sha1 = "eeda18dc22584e13c3581a68f6be4822bb1d1d81"; | ||
479 | }; | ||
480 | } | ||
481 | |||
482 | { | ||
483 | name = "plugin-transform-literals-7.0.0.tgz"; | ||
484 | path = fetchurl { | ||
485 | name = "plugin-transform-literals-7.0.0.tgz"; | ||
486 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz"; | ||
487 | sha1 = "2aec1d29cdd24c407359c930cdd89e914ee8ff86"; | ||
488 | }; | ||
489 | } | ||
490 | |||
491 | { | ||
492 | name = "plugin-transform-modules-amd-7.0.0.tgz"; | ||
493 | path = fetchurl { | ||
494 | name = "plugin-transform-modules-amd-7.0.0.tgz"; | ||
495 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0.tgz"; | ||
496 | sha1 = "2430ab73db9960c4ca89966f425b803f5d0d0468"; | ||
497 | }; | ||
498 | } | ||
499 | |||
500 | { | ||
501 | name = "plugin-transform-modules-commonjs-7.0.0.tgz"; | ||
502 | path = fetchurl { | ||
503 | name = "plugin-transform-modules-commonjs-7.0.0.tgz"; | ||
504 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0.tgz"; | ||
505 | sha1 = "20b906e5ab130dd8e456b694a94d9575da0fd41f"; | ||
506 | }; | ||
507 | } | ||
508 | |||
509 | { | ||
510 | name = "plugin-transform-modules-systemjs-7.0.0.tgz"; | ||
511 | path = fetchurl { | ||
512 | name = "plugin-transform-modules-systemjs-7.0.0.tgz"; | ||
513 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0.tgz"; | ||
514 | sha1 = "8873d876d4fee23209decc4d1feab8f198cf2df4"; | ||
515 | }; | ||
516 | } | ||
517 | |||
518 | { | ||
519 | name = "plugin-transform-modules-umd-7.0.0.tgz"; | ||
520 | path = fetchurl { | ||
521 | name = "plugin-transform-modules-umd-7.0.0.tgz"; | ||
522 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0.tgz"; | ||
523 | sha1 = "e7bb4f2a6cd199668964241951a25013450349be"; | ||
524 | }; | ||
525 | } | ||
526 | |||
527 | { | ||
528 | name = "plugin-transform-new-target-7.0.0.tgz"; | ||
529 | path = fetchurl { | ||
530 | name = "plugin-transform-new-target-7.0.0.tgz"; | ||
531 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz"; | ||
532 | sha1 = "ae8fbd89517fa7892d20e6564e641e8770c3aa4a"; | ||
533 | }; | ||
534 | } | ||
535 | |||
536 | { | ||
537 | name = "plugin-transform-object-super-7.0.0.tgz"; | ||
538 | path = fetchurl { | ||
539 | name = "plugin-transform-object-super-7.0.0.tgz"; | ||
540 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0.tgz"; | ||
541 | sha1 = "b8587d511309b3a0e96e9e38169908b3e392041e"; | ||
542 | }; | ||
543 | } | ||
544 | |||
545 | { | ||
546 | name = "plugin-transform-parameters-7.0.0.tgz"; | ||
547 | path = fetchurl { | ||
548 | name = "plugin-transform-parameters-7.0.0.tgz"; | ||
549 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0.tgz"; | ||
550 | sha1 = "da864efa111816a6df161d492f33de10e74b1949"; | ||
551 | }; | ||
552 | } | ||
553 | |||
554 | { | ||
555 | name = "plugin-transform-react-display-name-7.0.0.tgz"; | ||
556 | path = fetchurl { | ||
557 | name = "plugin-transform-react-display-name-7.0.0.tgz"; | ||
558 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0.tgz"; | ||
559 | sha1 = "93759e6c023782e52c2da3b75eca60d4f10533ee"; | ||
560 | }; | ||
561 | } | ||
562 | |||
563 | { | ||
564 | name = "plugin-transform-react-inline-elements-7.0.0.tgz"; | ||
565 | path = fetchurl { | ||
566 | name = "plugin-transform-react-inline-elements-7.0.0.tgz"; | ||
567 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-inline-elements/-/plugin-transform-react-inline-elements-7.0.0.tgz"; | ||
568 | sha1 = "caec13a7829b34d7eb64dfe9fc310326f74f7b05"; | ||
569 | }; | ||
570 | } | ||
571 | |||
572 | { | ||
573 | name = "plugin-transform-react-jsx-self-7.0.0.tgz"; | ||
574 | path = fetchurl { | ||
575 | name = "plugin-transform-react-jsx-self-7.0.0.tgz"; | ||
576 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0.tgz"; | ||
577 | sha1 = "a84bb70fea302d915ea81d9809e628266bb0bc11"; | ||
578 | }; | ||
579 | } | ||
580 | |||
581 | { | ||
582 | name = "plugin-transform-react-jsx-source-7.0.0.tgz"; | ||
583 | path = fetchurl { | ||
584 | name = "plugin-transform-react-jsx-source-7.0.0.tgz"; | ||
585 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0.tgz"; | ||
586 | sha1 = "28e00584f9598c0dd279f6280eee213fa0121c3c"; | ||
587 | }; | ||
588 | } | ||
589 | |||
590 | { | ||
591 | name = "plugin-transform-react-jsx-7.0.0.tgz"; | ||
592 | path = fetchurl { | ||
593 | name = "plugin-transform-react-jsx-7.0.0.tgz"; | ||
594 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0.tgz"; | ||
595 | sha1 = "524379e4eca5363cd10c4446ba163f093da75f3e"; | ||
596 | }; | ||
597 | } | ||
598 | |||
599 | { | ||
600 | name = "plugin-transform-regenerator-7.0.0.tgz"; | ||
601 | path = fetchurl { | ||
602 | name = "plugin-transform-regenerator-7.0.0.tgz"; | ||
603 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz"; | ||
604 | sha1 = "5b41686b4ed40bef874d7ed6a84bdd849c13e0c1"; | ||
605 | }; | ||
606 | } | ||
607 | |||
608 | { | ||
609 | name = "plugin-transform-runtime-7.0.0.tgz"; | ||
610 | path = fetchurl { | ||
611 | name = "plugin-transform-runtime-7.0.0.tgz"; | ||
612 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0.tgz"; | ||
613 | sha1 = "0f1443c07bac16dba8efa939e0c61d6922740062"; | ||
614 | }; | ||
615 | } | ||
616 | |||
617 | { | ||
618 | name = "plugin-transform-shorthand-properties-7.0.0.tgz"; | ||
619 | path = fetchurl { | ||
620 | name = "plugin-transform-shorthand-properties-7.0.0.tgz"; | ||
621 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz"; | ||
622 | sha1 = "85f8af592dcc07647541a0350e8c95c7bf419d15"; | ||
623 | }; | ||
624 | } | ||
625 | |||
626 | { | ||
627 | name = "plugin-transform-spread-7.0.0.tgz"; | ||
628 | path = fetchurl { | ||
629 | name = "plugin-transform-spread-7.0.0.tgz"; | ||
630 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz"; | ||
631 | sha1 = "93583ce48dd8c85e53f3a46056c856e4af30b49b"; | ||
632 | }; | ||
633 | } | ||
634 | |||
635 | { | ||
636 | name = "plugin-transform-sticky-regex-7.0.0.tgz"; | ||
637 | path = fetchurl { | ||
638 | name = "plugin-transform-sticky-regex-7.0.0.tgz"; | ||
639 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz"; | ||
640 | sha1 = "30a9d64ac2ab46eec087b8530535becd90e73366"; | ||
641 | }; | ||
642 | } | ||
643 | |||
644 | { | ||
645 | name = "plugin-transform-template-literals-7.0.0.tgz"; | ||
646 | path = fetchurl { | ||
647 | name = "plugin-transform-template-literals-7.0.0.tgz"; | ||
648 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz"; | ||
649 | sha1 = "084f1952efe5b153ddae69eb8945f882c7a97c65"; | ||
650 | }; | ||
651 | } | ||
652 | |||
653 | { | ||
654 | name = "plugin-transform-typeof-symbol-7.0.0.tgz"; | ||
655 | path = fetchurl { | ||
656 | name = "plugin-transform-typeof-symbol-7.0.0.tgz"; | ||
657 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz"; | ||
658 | sha1 = "4dcf1e52e943e5267b7313bff347fdbe0f81cec9"; | ||
659 | }; | ||
660 | } | ||
661 | |||
662 | { | ||
663 | name = "plugin-transform-unicode-regex-7.0.0.tgz"; | ||
664 | path = fetchurl { | ||
665 | name = "plugin-transform-unicode-regex-7.0.0.tgz"; | ||
666 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz"; | ||
667 | sha1 = "c6780e5b1863a76fe792d90eded9fcd5b51d68fc"; | ||
668 | }; | ||
669 | } | ||
670 | |||
671 | { | ||
672 | name = "preset-env-7.0.0.tgz"; | ||
673 | path = fetchurl { | ||
674 | name = "preset-env-7.0.0.tgz"; | ||
675 | url = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.0.0.tgz"; | ||
676 | sha1 = "f450f200c14e713f98cb14d113bf0c2cfbb89ca9"; | ||
677 | }; | ||
678 | } | ||
679 | |||
680 | { | ||
681 | name = "preset-react-7.0.0.tgz"; | ||
682 | path = fetchurl { | ||
683 | name = "preset-react-7.0.0.tgz"; | ||
684 | url = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz"; | ||
685 | sha1 = "e86b4b3d99433c7b3e9e91747e2653958bc6b3c0"; | ||
686 | }; | ||
687 | } | ||
688 | |||
689 | { | ||
690 | name = "runtime-7.0.0.tgz"; | ||
691 | path = fetchurl { | ||
692 | name = "runtime-7.0.0.tgz"; | ||
693 | url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0.tgz"; | ||
694 | sha1 = "adeb78fedfc855aa05bc041640f3f6f98e85424c"; | ||
695 | }; | ||
696 | } | ||
697 | |||
698 | { | ||
699 | name = "runtime-7.0.0-rc.1.tgz"; | ||
700 | path = fetchurl { | ||
701 | name = "runtime-7.0.0-rc.1.tgz"; | ||
702 | url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0-rc.1.tgz"; | ||
703 | sha1 = "42f36fc5817911c89ea75da2b874054922967616"; | ||
704 | }; | ||
705 | } | ||
706 | |||
707 | { | ||
708 | name = "template-7.0.0.tgz"; | ||
709 | path = fetchurl { | ||
710 | name = "template-7.0.0.tgz"; | ||
711 | url = "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0.tgz"; | ||
712 | sha1 = "c2bc9870405959c89a9c814376a2ecb247838c80"; | ||
713 | }; | ||
714 | } | ||
715 | |||
716 | { | ||
717 | name = "traverse-7.0.0.tgz"; | ||
718 | path = fetchurl { | ||
719 | name = "traverse-7.0.0.tgz"; | ||
720 | url = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0.tgz"; | ||
721 | sha1 = "b1fe9b6567fdf3ab542cfad6f3b31f854d799a61"; | ||
722 | }; | ||
723 | } | ||
724 | |||
725 | { | ||
726 | name = "types-7.0.0.tgz"; | ||
727 | path = fetchurl { | ||
728 | name = "types-7.0.0.tgz"; | ||
729 | url = "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0.tgz"; | ||
730 | sha1 = "6e191793d3c854d19c6749989e3bc55f0e962118"; | ||
731 | }; | ||
732 | } | ||
733 | |||
734 | { | ||
735 | name = "convert-colors-1.4.0.tgz"; | ||
736 | path = fetchurl { | ||
737 | name = "convert-colors-1.4.0.tgz"; | ||
738 | url = "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz"; | ||
739 | sha1 = "ad495dc41b12e75d588c6db8b9834f08fa131eb7"; | ||
740 | }; | ||
741 | } | ||
742 | |||
743 | { | ||
744 | name = "postcss-image-set-function-1.0.0.tgz"; | ||
745 | path = fetchurl { | ||
746 | name = "postcss-image-set-function-1.0.0.tgz"; | ||
747 | url = "https://registry.yarnpkg.com/@csstools/postcss-image-set-function/-/postcss-image-set-function-1.0.0.tgz"; | ||
748 | sha1 = "1ef0913d90a9c4440495eb41624c202e53a703f3"; | ||
749 | }; | ||
750 | } | ||
751 | |||
752 | { | ||
753 | name = "sass-import-resolve-1.0.0.tgz"; | ||
754 | path = fetchurl { | ||
755 | name = "sass-import-resolve-1.0.0.tgz"; | ||
756 | url = "https://registry.yarnpkg.com/@csstools/sass-import-resolve/-/sass-import-resolve-1.0.0.tgz"; | ||
757 | sha1 = "32c3cdb2f7af3cd8f0dca357b592e7271f3831b5"; | ||
758 | }; | ||
759 | } | ||
760 | |||
761 | { | ||
762 | name = "node-10.9.4.tgz"; | ||
763 | path = fetchurl { | ||
764 | name = "node-10.9.4.tgz"; | ||
765 | url = "https://registry.yarnpkg.com/@types/node/-/node-10.9.4.tgz"; | ||
766 | sha1 = "0f4cb2dc7c1de6096055357f70179043c33e9897"; | ||
767 | }; | ||
768 | } | ||
769 | |||
770 | { | ||
771 | name = "react-16.4.6.tgz"; | ||
772 | path = fetchurl { | ||
773 | name = "react-16.4.6.tgz"; | ||
774 | url = "https://registry.yarnpkg.com/@types/react/-/react-16.4.6.tgz"; | ||
775 | sha1 = "5024957c6bcef4f02823accf5974faba2e54fada"; | ||
776 | }; | ||
777 | } | ||
778 | |||
779 | { | ||
780 | name = "ast-1.7.6.tgz"; | ||
781 | path = fetchurl { | ||
782 | name = "ast-1.7.6.tgz"; | ||
783 | url = "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.6.tgz"; | ||
784 | sha1 = "3ef8c45b3e5e943a153a05281317474fef63e21e"; | ||
785 | }; | ||
786 | } | ||
787 | |||
788 | { | ||
789 | name = "floating-point-hex-parser-1.7.6.tgz"; | ||
790 | path = fetchurl { | ||
791 | name = "floating-point-hex-parser-1.7.6.tgz"; | ||
792 | url = "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.6.tgz"; | ||
793 | sha1 = "7cb37d51a05c3fe09b464ae7e711d1ab3837801f"; | ||
794 | }; | ||
795 | } | ||
796 | |||
797 | { | ||
798 | name = "helper-api-error-1.7.6.tgz"; | ||
799 | path = fetchurl { | ||
800 | name = "helper-api-error-1.7.6.tgz"; | ||
801 | url = "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.6.tgz"; | ||
802 | sha1 = "99b7e30e66f550a2638299a109dda84a622070ef"; | ||
803 | }; | ||
804 | } | ||
805 | |||
806 | { | ||
807 | name = "helper-buffer-1.7.6.tgz"; | ||
808 | path = fetchurl { | ||
809 | name = "helper-buffer-1.7.6.tgz"; | ||
810 | url = "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.6.tgz"; | ||
811 | sha1 = "ba0648be12bbe560c25c997e175c2018df39ca3e"; | ||
812 | }; | ||
813 | } | ||
814 | |||
815 | { | ||
816 | name = "helper-code-frame-1.7.6.tgz"; | ||
817 | path = fetchurl { | ||
818 | name = "helper-code-frame-1.7.6.tgz"; | ||
819 | url = "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.6.tgz"; | ||
820 | sha1 = "5a94d21b0057b69a7403fca0c253c3aaca95b1a5"; | ||
821 | }; | ||
822 | } | ||
823 | |||
824 | { | ||
825 | name = "helper-fsm-1.7.6.tgz"; | ||
826 | path = fetchurl { | ||
827 | name = "helper-fsm-1.7.6.tgz"; | ||
828 | url = "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.6.tgz"; | ||
829 | sha1 = "ae1741c6f6121213c7a0b587fb964fac492d3e49"; | ||
830 | }; | ||
831 | } | ||
832 | |||
833 | { | ||
834 | name = "helper-module-context-1.7.6.tgz"; | ||
835 | path = fetchurl { | ||
836 | name = "helper-module-context-1.7.6.tgz"; | ||
837 | url = "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.6.tgz"; | ||
838 | sha1 = "116d19a51a6cebc8900ad53ca34ff8269c668c23"; | ||
839 | }; | ||
840 | } | ||
841 | |||
842 | { | ||
843 | name = "helper-wasm-bytecode-1.7.6.tgz"; | ||
844 | path = fetchurl { | ||
845 | name = "helper-wasm-bytecode-1.7.6.tgz"; | ||
846 | url = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.6.tgz"; | ||
847 | sha1 = "98e515eaee611aa6834eb5f6a7f8f5b29fefb6f1"; | ||
848 | }; | ||
849 | } | ||
850 | |||
851 | { | ||
852 | name = "helper-wasm-section-1.7.6.tgz"; | ||
853 | path = fetchurl { | ||
854 | name = "helper-wasm-section-1.7.6.tgz"; | ||
855 | url = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.6.tgz"; | ||
856 | sha1 = "783835867bdd686df7a95377ab64f51a275e8333"; | ||
857 | }; | ||
858 | } | ||
859 | |||
860 | { | ||
861 | name = "ieee754-1.7.6.tgz"; | ||
862 | path = fetchurl { | ||
863 | name = "ieee754-1.7.6.tgz"; | ||
864 | url = "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.6.tgz"; | ||
865 | sha1 = "c34fc058f2f831fae0632a8bb9803cf2d3462eb1"; | ||
866 | }; | ||
867 | } | ||
868 | |||
869 | { | ||
870 | name = "leb128-1.7.6.tgz"; | ||
871 | path = fetchurl { | ||
872 | name = "leb128-1.7.6.tgz"; | ||
873 | url = "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.6.tgz"; | ||
874 | sha1 = "197f75376a29f6ed6ace15898a310d871d92f03b"; | ||
875 | }; | ||
876 | } | ||
877 | |||
878 | { | ||
879 | name = "utf8-1.7.6.tgz"; | ||
880 | path = fetchurl { | ||
881 | name = "utf8-1.7.6.tgz"; | ||
882 | url = "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.6.tgz"; | ||
883 | sha1 = "eb62c66f906af2be70de0302e29055d25188797d"; | ||
884 | }; | ||
885 | } | ||
886 | |||
887 | { | ||
888 | name = "wasm-edit-1.7.6.tgz"; | ||
889 | path = fetchurl { | ||
890 | name = "wasm-edit-1.7.6.tgz"; | ||
891 | url = "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.6.tgz"; | ||
892 | sha1 = "fa41929160cd7d676d4c28ecef420eed5b3733c5"; | ||
893 | }; | ||
894 | } | ||
895 | |||
896 | { | ||
897 | name = "wasm-gen-1.7.6.tgz"; | ||
898 | path = fetchurl { | ||
899 | name = "wasm-gen-1.7.6.tgz"; | ||
900 | url = "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.6.tgz"; | ||
901 | sha1 = "695ac38861ab3d72bf763c8c75e5f087ffabc322"; | ||
902 | }; | ||
903 | } | ||
904 | |||
905 | { | ||
906 | name = "wasm-opt-1.7.6.tgz"; | ||
907 | path = fetchurl { | ||
908 | name = "wasm-opt-1.7.6.tgz"; | ||
909 | url = "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.6.tgz"; | ||
910 | sha1 = "fbafa78e27e1a75ab759a4b658ff3d50b4636c21"; | ||
911 | }; | ||
912 | } | ||
913 | |||
914 | { | ||
915 | name = "wasm-parser-1.7.6.tgz"; | ||
916 | path = fetchurl { | ||
917 | name = "wasm-parser-1.7.6.tgz"; | ||
918 | url = "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.6.tgz"; | ||
919 | sha1 = "84eafeeff405ad6f4c4b5777d6a28ae54eed51fe"; | ||
920 | }; | ||
921 | } | ||
922 | |||
923 | { | ||
924 | name = "wast-parser-1.7.6.tgz"; | ||
925 | path = fetchurl { | ||
926 | name = "wast-parser-1.7.6.tgz"; | ||
927 | url = "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.6.tgz"; | ||
928 | sha1 = "ca4d20b1516e017c91981773bd7e819d6bd9c6a7"; | ||
929 | }; | ||
930 | } | ||
931 | |||
932 | { | ||
933 | name = "wast-printer-1.7.6.tgz"; | ||
934 | path = fetchurl { | ||
935 | name = "wast-printer-1.7.6.tgz"; | ||
936 | url = "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.6.tgz"; | ||
937 | sha1 = "a6002c526ac5fa230fe2c6d2f1bdbf4aead43a5e"; | ||
938 | }; | ||
939 | } | ||
940 | |||
941 | { | ||
942 | name = "ieee754-1.2.0.tgz"; | ||
943 | path = fetchurl { | ||
944 | name = "ieee754-1.2.0.tgz"; | ||
945 | url = "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz"; | ||
946 | sha1 = "eef014a3145ae477a1cbc00cd1e552336dceb790"; | ||
947 | }; | ||
948 | } | ||
949 | |||
950 | { | ||
951 | name = "long-4.2.1.tgz"; | ||
952 | path = fetchurl { | ||
953 | name = "long-4.2.1.tgz"; | ||
954 | url = "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz"; | ||
955 | sha1 = "5c85d662f76fa1d34575766c5dcd6615abcd30d8"; | ||
956 | }; | ||
957 | } | ||
958 | |||
959 | { | ||
960 | name = "abab-2.0.0.tgz"; | ||
961 | path = fetchurl { | ||
962 | name = "abab-2.0.0.tgz"; | ||
963 | url = "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz"; | ||
964 | sha1 = "aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f"; | ||
965 | }; | ||
966 | } | ||
967 | |||
968 | { | ||
969 | name = "abbrev-1.1.1.tgz"; | ||
970 | path = fetchurl { | ||
971 | name = "abbrev-1.1.1.tgz"; | ||
972 | url = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz"; | ||
973 | sha1 = "f8f2c887ad10bf67f634f005b6987fed3179aac8"; | ||
974 | }; | ||
975 | } | ||
976 | |||
977 | { | ||
978 | name = "accepts-1.3.5.tgz"; | ||
979 | path = fetchurl { | ||
980 | name = "accepts-1.3.5.tgz"; | ||
981 | url = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz"; | ||
982 | sha1 = "eb777df6011723a3b14e8a72c0805c8e86746bd2"; | ||
983 | }; | ||
984 | } | ||
985 | |||
986 | { | ||
987 | name = "acorn-dynamic-import-3.0.0.tgz"; | ||
988 | path = fetchurl { | ||
989 | name = "acorn-dynamic-import-3.0.0.tgz"; | ||
990 | url = "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz"; | ||
991 | sha1 = "901ceee4c7faaef7e07ad2a47e890675da50a278"; | ||
992 | }; | ||
993 | } | ||
994 | |||
995 | { | ||
996 | name = "acorn-globals-4.1.0.tgz"; | ||
997 | path = fetchurl { | ||
998 | name = "acorn-globals-4.1.0.tgz"; | ||
999 | url = "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz"; | ||
1000 | sha1 = "ab716025dbe17c54d3ef81d32ece2b2d99fe2538"; | ||
1001 | }; | ||
1002 | } | ||
1003 | |||
1004 | { | ||
1005 | name = "acorn-jsx-3.0.1.tgz"; | ||
1006 | path = fetchurl { | ||
1007 | name = "acorn-jsx-3.0.1.tgz"; | ||
1008 | url = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz"; | ||
1009 | sha1 = "afdf9488fb1ecefc8348f6fb22f464e32a58b36b"; | ||
1010 | }; | ||
1011 | } | ||
1012 | |||
1013 | { | ||
1014 | name = "acorn-3.3.0.tgz"; | ||
1015 | path = fetchurl { | ||
1016 | name = "acorn-3.3.0.tgz"; | ||
1017 | url = "http://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz"; | ||
1018 | sha1 = "45e37fb39e8da3f25baee3ff5369e2bb5f22017a"; | ||
1019 | }; | ||
1020 | } | ||
1021 | |||
1022 | { | ||
1023 | name = "acorn-5.7.3.tgz"; | ||
1024 | path = fetchurl { | ||
1025 | name = "acorn-5.7.3.tgz"; | ||
1026 | url = "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz"; | ||
1027 | sha1 = "67aa231bf8812974b85235a96771eb6bd07ea279"; | ||
1028 | }; | ||
1029 | } | ||
1030 | |||
1031 | { | ||
1032 | name = "ajv-errors-1.0.0.tgz"; | ||
1033 | path = fetchurl { | ||
1034 | name = "ajv-errors-1.0.0.tgz"; | ||
1035 | url = "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.0.tgz"; | ||
1036 | sha1 = "ecf021fa108fd17dfb5e6b383f2dd233e31ffc59"; | ||
1037 | }; | ||
1038 | } | ||
1039 | |||
1040 | { | ||
1041 | name = "ajv-keywords-2.1.1.tgz"; | ||
1042 | path = fetchurl { | ||
1043 | name = "ajv-keywords-2.1.1.tgz"; | ||
1044 | url = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz"; | ||
1045 | sha1 = "617997fc5f60576894c435f940d819e135b80762"; | ||
1046 | }; | ||
1047 | } | ||
1048 | |||
1049 | { | ||
1050 | name = "ajv-keywords-3.2.0.tgz"; | ||
1051 | path = fetchurl { | ||
1052 | name = "ajv-keywords-3.2.0.tgz"; | ||
1053 | url = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz"; | ||
1054 | sha1 = "e86b819c602cf8821ad637413698f1dec021847a"; | ||
1055 | }; | ||
1056 | } | ||
1057 | |||
1058 | { | ||
1059 | name = "ajv-4.11.8.tgz"; | ||
1060 | path = fetchurl { | ||
1061 | name = "ajv-4.11.8.tgz"; | ||
1062 | url = "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz"; | ||
1063 | sha1 = "82ffb02b29e662ae53bdc20af15947706739c536"; | ||
1064 | }; | ||
1065 | } | ||
1066 | |||
1067 | { | ||
1068 | name = "ajv-5.5.2.tgz"; | ||
1069 | path = fetchurl { | ||
1070 | name = "ajv-5.5.2.tgz"; | ||
1071 | url = "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz"; | ||
1072 | sha1 = "73b5eeca3fab653e3d3f9422b341ad42205dc965"; | ||
1073 | }; | ||
1074 | } | ||
1075 | |||
1076 | { | ||
1077 | name = "ajv-6.5.3.tgz"; | ||
1078 | path = fetchurl { | ||
1079 | name = "ajv-6.5.3.tgz"; | ||
1080 | url = "https://registry.yarnpkg.com/ajv/-/ajv-6.5.3.tgz"; | ||
1081 | sha1 = "71a569d189ecf4f4f321224fecb166f071dd90f9"; | ||
1082 | }; | ||
1083 | } | ||
1084 | |||
1085 | { | ||
1086 | name = "amdefine-1.0.1.tgz"; | ||
1087 | path = fetchurl { | ||
1088 | name = "amdefine-1.0.1.tgz"; | ||
1089 | url = "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz"; | ||
1090 | sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5"; | ||
1091 | }; | ||
1092 | } | ||
1093 | |||
1094 | { | ||
1095 | name = "ansi-colors-3.0.5.tgz"; | ||
1096 | path = fetchurl { | ||
1097 | name = "ansi-colors-3.0.5.tgz"; | ||
1098 | url = "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.0.5.tgz"; | ||
1099 | sha1 = "cb9dc64993b64fd6945485f797fc3853137d9a7b"; | ||
1100 | }; | ||
1101 | } | ||
1102 | |||
1103 | { | ||
1104 | name = "ansi-escapes-3.1.0.tgz"; | ||
1105 | path = fetchurl { | ||
1106 | name = "ansi-escapes-3.1.0.tgz"; | ||
1107 | url = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz"; | ||
1108 | sha1 = "f73207bb81207d75fd6c83f125af26eea378ca30"; | ||
1109 | }; | ||
1110 | } | ||
1111 | |||
1112 | { | ||
1113 | name = "ansi-html-0.0.7.tgz"; | ||
1114 | path = fetchurl { | ||
1115 | name = "ansi-html-0.0.7.tgz"; | ||
1116 | url = "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz"; | ||
1117 | sha1 = "813584021962a9e9e6fd039f940d12f56ca7859e"; | ||
1118 | }; | ||
1119 | } | ||
1120 | |||
1121 | { | ||
1122 | name = "ansi-regex-2.1.1.tgz"; | ||
1123 | path = fetchurl { | ||
1124 | name = "ansi-regex-2.1.1.tgz"; | ||
1125 | url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz"; | ||
1126 | sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df"; | ||
1127 | }; | ||
1128 | } | ||
1129 | |||
1130 | { | ||
1131 | name = "ansi-regex-3.0.0.tgz"; | ||
1132 | path = fetchurl { | ||
1133 | name = "ansi-regex-3.0.0.tgz"; | ||
1134 | url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz"; | ||
1135 | sha1 = "ed0317c322064f79466c02966bddb605ab37d998"; | ||
1136 | }; | ||
1137 | } | ||
1138 | |||
1139 | { | ||
1140 | name = "ansi-styles-2.2.1.tgz"; | ||
1141 | path = fetchurl { | ||
1142 | name = "ansi-styles-2.2.1.tgz"; | ||
1143 | url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz"; | ||
1144 | sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe"; | ||
1145 | }; | ||
1146 | } | ||
1147 | |||
1148 | { | ||
1149 | name = "ansi-styles-3.2.1.tgz"; | ||
1150 | path = fetchurl { | ||
1151 | name = "ansi-styles-3.2.1.tgz"; | ||
1152 | url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz"; | ||
1153 | sha1 = "41fbb20243e50b12be0f04b8dedbf07520ce841d"; | ||
1154 | }; | ||
1155 | } | ||
1156 | |||
1157 | { | ||
1158 | name = "any-promise-0.1.0.tgz"; | ||
1159 | path = fetchurl { | ||
1160 | name = "any-promise-0.1.0.tgz"; | ||
1161 | url = "https://registry.yarnpkg.com/any-promise/-/any-promise-0.1.0.tgz"; | ||
1162 | sha1 = "830b680aa7e56f33451d4b049f3bd8044498ee27"; | ||
1163 | }; | ||
1164 | } | ||
1165 | |||
1166 | { | ||
1167 | name = "anymatch-2.0.0.tgz"; | ||
1168 | path = fetchurl { | ||
1169 | name = "anymatch-2.0.0.tgz"; | ||
1170 | url = "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz"; | ||
1171 | sha1 = "bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"; | ||
1172 | }; | ||
1173 | } | ||
1174 | |||
1175 | { | ||
1176 | name = "append-transform-0.4.0.tgz"; | ||
1177 | path = fetchurl { | ||
1178 | name = "append-transform-0.4.0.tgz"; | ||
1179 | url = "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz"; | ||
1180 | sha1 = "d76ebf8ca94d276e247a36bad44a4b74ab611991"; | ||
1181 | }; | ||
1182 | } | ||
1183 | |||
1184 | { | ||
1185 | name = "aproba-1.2.0.tgz"; | ||
1186 | path = fetchurl { | ||
1187 | name = "aproba-1.2.0.tgz"; | ||
1188 | url = "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz"; | ||
1189 | sha1 = "6802e6264efd18c790a1b0d517f0f2627bf2c94a"; | ||
1190 | }; | ||
1191 | } | ||
1192 | |||
1193 | { | ||
1194 | name = "are-we-there-yet-1.1.5.tgz"; | ||
1195 | path = fetchurl { | ||
1196 | name = "are-we-there-yet-1.1.5.tgz"; | ||
1197 | url = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz"; | ||
1198 | sha1 = "4b35c2944f062a8bfcda66410760350fe9ddfc21"; | ||
1199 | }; | ||
1200 | } | ||
1201 | |||
1202 | { | ||
1203 | name = "argparse-1.0.10.tgz"; | ||
1204 | path = fetchurl { | ||
1205 | name = "argparse-1.0.10.tgz"; | ||
1206 | url = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz"; | ||
1207 | sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911"; | ||
1208 | }; | ||
1209 | } | ||
1210 | |||
1211 | { | ||
1212 | name = "aria-query-3.0.0.tgz"; | ||
1213 | path = fetchurl { | ||
1214 | name = "aria-query-3.0.0.tgz"; | ||
1215 | url = "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz"; | ||
1216 | sha1 = "65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc"; | ||
1217 | }; | ||
1218 | } | ||
1219 | |||
1220 | { | ||
1221 | name = "arr-diff-2.0.0.tgz"; | ||
1222 | path = fetchurl { | ||
1223 | name = "arr-diff-2.0.0.tgz"; | ||
1224 | url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz"; | ||
1225 | sha1 = "8f3b827f955a8bd669697e4a4256ac3ceae356cf"; | ||
1226 | }; | ||
1227 | } | ||
1228 | |||
1229 | { | ||
1230 | name = "arr-diff-4.0.0.tgz"; | ||
1231 | path = fetchurl { | ||
1232 | name = "arr-diff-4.0.0.tgz"; | ||
1233 | url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz"; | ||
1234 | sha1 = "d6461074febfec71e7e15235761a329a5dc7c520"; | ||
1235 | }; | ||
1236 | } | ||
1237 | |||
1238 | { | ||
1239 | name = "arr-flatten-1.1.0.tgz"; | ||
1240 | path = fetchurl { | ||
1241 | name = "arr-flatten-1.1.0.tgz"; | ||
1242 | url = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz"; | ||
1243 | sha1 = "36048bbff4e7b47e136644316c99669ea5ae91f1"; | ||
1244 | }; | ||
1245 | } | ||
1246 | |||
1247 | { | ||
1248 | name = "arr-union-3.1.0.tgz"; | ||
1249 | path = fetchurl { | ||
1250 | name = "arr-union-3.1.0.tgz"; | ||
1251 | url = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz"; | ||
1252 | sha1 = "e39b09aea9def866a8f206e288af63919bae39c4"; | ||
1253 | }; | ||
1254 | } | ||
1255 | |||
1256 | { | ||
1257 | name = "array-equal-1.0.0.tgz"; | ||
1258 | path = fetchurl { | ||
1259 | name = "array-equal-1.0.0.tgz"; | ||
1260 | url = "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz"; | ||
1261 | sha1 = "8c2a5ef2472fd9ea742b04c77a75093ba2757c93"; | ||
1262 | }; | ||
1263 | } | ||
1264 | |||
1265 | { | ||
1266 | name = "array-find-index-1.0.2.tgz"; | ||
1267 | path = fetchurl { | ||
1268 | name = "array-find-index-1.0.2.tgz"; | ||
1269 | url = "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz"; | ||
1270 | sha1 = "df010aa1287e164bbda6f9723b0a96a1ec4187a1"; | ||
1271 | }; | ||
1272 | } | ||
1273 | |||
1274 | { | ||
1275 | name = "array-flatten-1.1.1.tgz"; | ||
1276 | path = fetchurl { | ||
1277 | name = "array-flatten-1.1.1.tgz"; | ||
1278 | url = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz"; | ||
1279 | sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2"; | ||
1280 | }; | ||
1281 | } | ||
1282 | |||
1283 | { | ||
1284 | name = "array-flatten-2.1.1.tgz"; | ||
1285 | path = fetchurl { | ||
1286 | name = "array-flatten-2.1.1.tgz"; | ||
1287 | url = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz"; | ||
1288 | sha1 = "426bb9da84090c1838d812c8150af20a8331e296"; | ||
1289 | }; | ||
1290 | } | ||
1291 | |||
1292 | { | ||
1293 | name = "array-includes-3.0.3.tgz"; | ||
1294 | path = fetchurl { | ||
1295 | name = "array-includes-3.0.3.tgz"; | ||
1296 | url = "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz"; | ||
1297 | sha1 = "184b48f62d92d7452bb31b323165c7f8bd02266d"; | ||
1298 | }; | ||
1299 | } | ||
1300 | |||
1301 | { | ||
1302 | name = "array-union-1.0.2.tgz"; | ||
1303 | path = fetchurl { | ||
1304 | name = "array-union-1.0.2.tgz"; | ||
1305 | url = "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz"; | ||
1306 | sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39"; | ||
1307 | }; | ||
1308 | } | ||
1309 | |||
1310 | { | ||
1311 | name = "array-uniq-1.0.3.tgz"; | ||
1312 | path = fetchurl { | ||
1313 | name = "array-uniq-1.0.3.tgz"; | ||
1314 | url = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz"; | ||
1315 | sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6"; | ||
1316 | }; | ||
1317 | } | ||
1318 | |||
1319 | { | ||
1320 | name = "array-unique-0.2.1.tgz"; | ||
1321 | path = fetchurl { | ||
1322 | name = "array-unique-0.2.1.tgz"; | ||
1323 | url = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz"; | ||
1324 | sha1 = "a1d97ccafcbc2625cc70fadceb36a50c58b01a53"; | ||
1325 | }; | ||
1326 | } | ||
1327 | |||
1328 | { | ||
1329 | name = "array-unique-0.3.2.tgz"; | ||
1330 | path = fetchurl { | ||
1331 | name = "array-unique-0.3.2.tgz"; | ||
1332 | url = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz"; | ||
1333 | sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"; | ||
1334 | }; | ||
1335 | } | ||
1336 | |||
1337 | { | ||
1338 | name = "array.prototype.flat-1.2.1.tgz"; | ||
1339 | path = fetchurl { | ||
1340 | name = "array.prototype.flat-1.2.1.tgz"; | ||
1341 | url = "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz"; | ||
1342 | sha1 = "812db8f02cad24d3fab65dd67eabe3b8903494a4"; | ||
1343 | }; | ||
1344 | } | ||
1345 | |||
1346 | { | ||
1347 | name = "arrify-1.0.1.tgz"; | ||
1348 | path = fetchurl { | ||
1349 | name = "arrify-1.0.1.tgz"; | ||
1350 | url = "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz"; | ||
1351 | sha1 = "898508da2226f380df904728456849c1501a4b0d"; | ||
1352 | }; | ||
1353 | } | ||
1354 | |||
1355 | { | ||
1356 | name = "asap-2.0.6.tgz"; | ||
1357 | path = fetchurl { | ||
1358 | name = "asap-2.0.6.tgz"; | ||
1359 | url = "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz"; | ||
1360 | sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46"; | ||
1361 | }; | ||
1362 | } | ||
1363 | |||
1364 | { | ||
1365 | name = "asn1.js-4.10.1.tgz"; | ||
1366 | path = fetchurl { | ||
1367 | name = "asn1.js-4.10.1.tgz"; | ||
1368 | url = "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz"; | ||
1369 | sha1 = "b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"; | ||
1370 | }; | ||
1371 | } | ||
1372 | |||
1373 | { | ||
1374 | name = "asn1-0.2.4.tgz"; | ||
1375 | path = fetchurl { | ||
1376 | name = "asn1-0.2.4.tgz"; | ||
1377 | url = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz"; | ||
1378 | sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136"; | ||
1379 | }; | ||
1380 | } | ||
1381 | |||
1382 | { | ||
1383 | name = "assert-plus-1.0.0.tgz"; | ||
1384 | path = fetchurl { | ||
1385 | name = "assert-plus-1.0.0.tgz"; | ||
1386 | url = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz"; | ||
1387 | sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"; | ||
1388 | }; | ||
1389 | } | ||
1390 | |||
1391 | { | ||
1392 | name = "assert-plus-0.2.0.tgz"; | ||
1393 | path = fetchurl { | ||
1394 | name = "assert-plus-0.2.0.tgz"; | ||
1395 | url = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz"; | ||
1396 | sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234"; | ||
1397 | }; | ||
1398 | } | ||
1399 | |||
1400 | { | ||
1401 | name = "assert-1.4.1.tgz"; | ||
1402 | path = fetchurl { | ||
1403 | name = "assert-1.4.1.tgz"; | ||
1404 | url = "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz"; | ||
1405 | sha1 = "99912d591836b5a6f5b345c0f07eefc08fc65d91"; | ||
1406 | }; | ||
1407 | } | ||
1408 | |||
1409 | { | ||
1410 | name = "assign-symbols-1.0.0.tgz"; | ||
1411 | path = fetchurl { | ||
1412 | name = "assign-symbols-1.0.0.tgz"; | ||
1413 | url = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz"; | ||
1414 | sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"; | ||
1415 | }; | ||
1416 | } | ||
1417 | |||
1418 | { | ||
1419 | name = "ast-types-flow-0.0.7.tgz"; | ||
1420 | path = fetchurl { | ||
1421 | name = "ast-types-flow-0.0.7.tgz"; | ||
1422 | url = "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz"; | ||
1423 | sha1 = "f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"; | ||
1424 | }; | ||
1425 | } | ||
1426 | |||
1427 | { | ||
1428 | name = "astral-regex-1.0.0.tgz"; | ||
1429 | path = fetchurl { | ||
1430 | name = "astral-regex-1.0.0.tgz"; | ||
1431 | url = "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz"; | ||
1432 | sha1 = "6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"; | ||
1433 | }; | ||
1434 | } | ||
1435 | |||
1436 | { | ||
1437 | name = "async-each-1.0.1.tgz"; | ||
1438 | path = fetchurl { | ||
1439 | name = "async-each-1.0.1.tgz"; | ||
1440 | url = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz"; | ||
1441 | sha1 = "19d386a1d9edc6e7c1c85d388aedbcc56d33602d"; | ||
1442 | }; | ||
1443 | } | ||
1444 | |||
1445 | { | ||
1446 | name = "async-foreach-0.1.3.tgz"; | ||
1447 | path = fetchurl { | ||
1448 | name = "async-foreach-0.1.3.tgz"; | ||
1449 | url = "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz"; | ||
1450 | sha1 = "36121f845c0578172de419a97dbeb1d16ec34542"; | ||
1451 | }; | ||
1452 | } | ||
1453 | |||
1454 | { | ||
1455 | name = "async-limiter-1.0.0.tgz"; | ||
1456 | path = fetchurl { | ||
1457 | name = "async-limiter-1.0.0.tgz"; | ||
1458 | url = "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz"; | ||
1459 | sha1 = "78faed8c3d074ab81f22b4e985d79e8738f720f8"; | ||
1460 | }; | ||
1461 | } | ||
1462 | |||
1463 | { | ||
1464 | name = "async-1.5.2.tgz"; | ||
1465 | path = fetchurl { | ||
1466 | name = "async-1.5.2.tgz"; | ||
1467 | url = "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz"; | ||
1468 | sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a"; | ||
1469 | }; | ||
1470 | } | ||
1471 | |||
1472 | { | ||
1473 | name = "async-2.6.1.tgz"; | ||
1474 | path = fetchurl { | ||
1475 | name = "async-2.6.1.tgz"; | ||
1476 | url = "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz"; | ||
1477 | sha1 = "b245a23ca71930044ec53fa46aa00a3e87c6a610"; | ||
1478 | }; | ||
1479 | } | ||
1480 | |||
1481 | { | ||
1482 | name = "asynckit-0.4.0.tgz"; | ||
1483 | path = fetchurl { | ||
1484 | name = "asynckit-0.4.0.tgz"; | ||
1485 | url = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz"; | ||
1486 | sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"; | ||
1487 | }; | ||
1488 | } | ||
1489 | |||
1490 | { | ||
1491 | name = "atob-2.1.2.tgz"; | ||
1492 | path = fetchurl { | ||
1493 | name = "atob-2.1.2.tgz"; | ||
1494 | url = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz"; | ||
1495 | sha1 = "6d9517eb9e030d2436666651e86bd9f6f13533c9"; | ||
1496 | }; | ||
1497 | } | ||
1498 | |||
1499 | { | ||
1500 | name = "autoprefixer-8.6.5.tgz"; | ||
1501 | path = fetchurl { | ||
1502 | name = "autoprefixer-8.6.5.tgz"; | ||
1503 | url = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-8.6.5.tgz"; | ||
1504 | sha1 = "343f3d193ed568b3208e00117a1b96eb691d4ee9"; | ||
1505 | }; | ||
1506 | } | ||
1507 | |||
1508 | { | ||
1509 | name = "aws-sign2-0.6.0.tgz"; | ||
1510 | path = fetchurl { | ||
1511 | name = "aws-sign2-0.6.0.tgz"; | ||
1512 | url = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz"; | ||
1513 | sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f"; | ||
1514 | }; | ||
1515 | } | ||
1516 | |||
1517 | { | ||
1518 | name = "aws-sign2-0.7.0.tgz"; | ||
1519 | path = fetchurl { | ||
1520 | name = "aws-sign2-0.7.0.tgz"; | ||
1521 | url = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz"; | ||
1522 | sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"; | ||
1523 | }; | ||
1524 | } | ||
1525 | |||
1526 | { | ||
1527 | name = "aws4-1.8.0.tgz"; | ||
1528 | path = fetchurl { | ||
1529 | name = "aws4-1.8.0.tgz"; | ||
1530 | url = "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz"; | ||
1531 | sha1 = "f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"; | ||
1532 | }; | ||
1533 | } | ||
1534 | |||
1535 | { | ||
1536 | name = "axios-0.16.2.tgz"; | ||
1537 | path = fetchurl { | ||
1538 | name = "axios-0.16.2.tgz"; | ||
1539 | url = "https://registry.yarnpkg.com/axios/-/axios-0.16.2.tgz"; | ||
1540 | sha1 = "ba4f92f17167dfbab40983785454b9ac149c3c6d"; | ||
1541 | }; | ||
1542 | } | ||
1543 | |||
1544 | { | ||
1545 | name = "axobject-query-2.0.1.tgz"; | ||
1546 | path = fetchurl { | ||
1547 | name = "axobject-query-2.0.1.tgz"; | ||
1548 | url = "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.1.tgz"; | ||
1549 | sha1 = "05dfa705ada8ad9db993fa6896f22d395b0b0a07"; | ||
1550 | }; | ||
1551 | } | ||
1552 | |||
1553 | { | ||
1554 | name = "babel-code-frame-6.26.0.tgz"; | ||
1555 | path = fetchurl { | ||
1556 | name = "babel-code-frame-6.26.0.tgz"; | ||
1557 | url = "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz"; | ||
1558 | sha1 = "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"; | ||
1559 | }; | ||
1560 | } | ||
1561 | |||
1562 | { | ||
1563 | name = "babel-core-6.26.3.tgz"; | ||
1564 | path = fetchurl { | ||
1565 | name = "babel-core-6.26.3.tgz"; | ||
1566 | url = "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz"; | ||
1567 | sha1 = "b2e2f09e342d0f0c88e2f02e067794125e75c207"; | ||
1568 | }; | ||
1569 | } | ||
1570 | |||
1571 | { | ||
1572 | name = "babel-core-7.0.0-bridge.0.tgz"; | ||
1573 | path = fetchurl { | ||
1574 | name = "babel-core-7.0.0-bridge.0.tgz"; | ||
1575 | url = "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz"; | ||
1576 | sha1 = "95a492ddd90f9b4e9a4a1da14eb335b87b634ece"; | ||
1577 | }; | ||
1578 | } | ||
1579 | |||
1580 | { | ||
1581 | name = "babel-eslint-9.0.0.tgz"; | ||
1582 | path = fetchurl { | ||
1583 | name = "babel-eslint-9.0.0.tgz"; | ||
1584 | url = "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-9.0.0.tgz"; | ||
1585 | sha1 = "7d9445f81ed9f60aff38115f838970df9f2b6220"; | ||
1586 | }; | ||
1587 | } | ||
1588 | |||
1589 | { | ||
1590 | name = "babel-generator-6.26.1.tgz"; | ||
1591 | path = fetchurl { | ||
1592 | name = "babel-generator-6.26.1.tgz"; | ||
1593 | url = "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz"; | ||
1594 | sha1 = "1844408d3b8f0d35a404ea7ac180f087a601bd90"; | ||
1595 | }; | ||
1596 | } | ||
1597 | |||
1598 | { | ||
1599 | name = "babel-helpers-6.24.1.tgz"; | ||
1600 | path = fetchurl { | ||
1601 | name = "babel-helpers-6.24.1.tgz"; | ||
1602 | url = "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz"; | ||
1603 | sha1 = "3471de9caec388e5c850e597e58a26ddf37602b2"; | ||
1604 | }; | ||
1605 | } | ||
1606 | |||
1607 | { | ||
1608 | name = "babel-jest-23.6.0.tgz"; | ||
1609 | path = fetchurl { | ||
1610 | name = "babel-jest-23.6.0.tgz"; | ||
1611 | url = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.6.0.tgz"; | ||
1612 | sha1 = "a644232366557a2240a0c083da6b25786185a2f1"; | ||
1613 | }; | ||
1614 | } | ||
1615 | |||
1616 | { | ||
1617 | name = "babel-loader-8.0.2.tgz"; | ||
1618 | path = fetchurl { | ||
1619 | name = "babel-loader-8.0.2.tgz"; | ||
1620 | url = "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.2.tgz"; | ||
1621 | sha1 = "2079b8ec1628284a929241da3d90f5b3de2a5ae5"; | ||
1622 | }; | ||
1623 | } | ||
1624 | |||
1625 | { | ||
1626 | name = "babel-messages-6.23.0.tgz"; | ||
1627 | path = fetchurl { | ||
1628 | name = "babel-messages-6.23.0.tgz"; | ||
1629 | url = "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz"; | ||
1630 | sha1 = "f3cdf4703858035b2a2951c6ec5edf6c62f2630e"; | ||
1631 | }; | ||
1632 | } | ||
1633 | |||
1634 | { | ||
1635 | name = "babel-plugin-istanbul-4.1.6.tgz"; | ||
1636 | path = fetchurl { | ||
1637 | name = "babel-plugin-istanbul-4.1.6.tgz"; | ||
1638 | url = "http://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz"; | ||
1639 | sha1 = "36c59b2192efce81c5b378321b74175add1c9a45"; | ||
1640 | }; | ||
1641 | } | ||
1642 | |||
1643 | { | ||
1644 | name = "babel-plugin-jest-hoist-23.2.0.tgz"; | ||
1645 | path = fetchurl { | ||
1646 | name = "babel-plugin-jest-hoist-23.2.0.tgz"; | ||
1647 | url = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz"; | ||
1648 | sha1 = "e61fae05a1ca8801aadee57a6d66b8cefaf44167"; | ||
1649 | }; | ||
1650 | } | ||
1651 | |||
1652 | { | ||
1653 | name = "babel-plugin-lodash-3.3.4.tgz"; | ||
1654 | path = fetchurl { | ||
1655 | name = "babel-plugin-lodash-3.3.4.tgz"; | ||
1656 | url = "https://registry.yarnpkg.com/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz"; | ||
1657 | sha1 = "4f6844358a1340baed182adbeffa8df9967bc196"; | ||
1658 | }; | ||
1659 | } | ||
1660 | |||
1661 | { | ||
1662 | name = "babel-plugin-macros-2.4.0.tgz"; | ||
1663 | path = fetchurl { | ||
1664 | name = "babel-plugin-macros-2.4.0.tgz"; | ||
1665 | url = "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.4.0.tgz"; | ||
1666 | sha1 = "6c5f9836e1f6c0a9743b3bab4af29f73e437e544"; | ||
1667 | }; | ||
1668 | } | ||
1669 | |||
1670 | { | ||
1671 | name = "babel-plugin-preval-3.0.1.tgz"; | ||
1672 | path = fetchurl { | ||
1673 | name = "babel-plugin-preval-3.0.1.tgz"; | ||
1674 | url = "https://registry.yarnpkg.com/babel-plugin-preval/-/babel-plugin-preval-3.0.1.tgz"; | ||
1675 | sha1 = "a26f9690114a864a54a5cbdf865496ebf541a9c3"; | ||
1676 | }; | ||
1677 | } | ||
1678 | |||
1679 | { | ||
1680 | name = "babel-plugin-react-intl-3.0.0.tgz"; | ||
1681 | path = fetchurl { | ||
1682 | name = "babel-plugin-react-intl-3.0.0.tgz"; | ||
1683 | url = "https://registry.yarnpkg.com/babel-plugin-react-intl/-/babel-plugin-react-intl-3.0.0.tgz"; | ||
1684 | sha1 = "ea2152b1fe0a36be33b89f8cc8b961b8fd4cfaf8"; | ||
1685 | }; | ||
1686 | } | ||
1687 | |||
1688 | { | ||
1689 | name = "babel-plugin-syntax-object-rest-spread-6.13.0.tgz"; | ||
1690 | path = fetchurl { | ||
1691 | name = "babel-plugin-syntax-object-rest-spread-6.13.0.tgz"; | ||
1692 | url = "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz"; | ||
1693 | sha1 = "fd6536f2bce13836ffa3a5458c4903a597bb3bf5"; | ||
1694 | }; | ||
1695 | } | ||
1696 | |||
1697 | { | ||
1698 | name = "babel-plugin-transform-react-remove-prop-types-0.4.15.tgz"; | ||
1699 | path = fetchurl { | ||
1700 | name = "babel-plugin-transform-react-remove-prop-types-0.4.15.tgz"; | ||
1701 | url = "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.15.tgz"; | ||
1702 | sha1 = "7ba830e77276a0e788cd58ea527b5f70396e12a7"; | ||
1703 | }; | ||
1704 | } | ||
1705 | |||
1706 | { | ||
1707 | name = "babel-preset-jest-23.2.0.tgz"; | ||
1708 | path = fetchurl { | ||
1709 | name = "babel-preset-jest-23.2.0.tgz"; | ||
1710 | url = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz"; | ||
1711 | sha1 = "8ec7a03a138f001a1a8fb1e8113652bf1a55da46"; | ||
1712 | }; | ||
1713 | } | ||
1714 | |||
1715 | { | ||
1716 | name = "babel-register-6.26.0.tgz"; | ||
1717 | path = fetchurl { | ||
1718 | name = "babel-register-6.26.0.tgz"; | ||
1719 | url = "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz"; | ||
1720 | sha1 = "6ed021173e2fcb486d7acb45c6009a856f647071"; | ||
1721 | }; | ||
1722 | } | ||
1723 | |||
1724 | { | ||
1725 | name = "babel-runtime-6.26.0.tgz"; | ||
1726 | path = fetchurl { | ||
1727 | name = "babel-runtime-6.26.0.tgz"; | ||
1728 | url = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz"; | ||
1729 | sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe"; | ||
1730 | }; | ||
1731 | } | ||
1732 | |||
1733 | { | ||
1734 | name = "babel-template-6.26.0.tgz"; | ||
1735 | path = fetchurl { | ||
1736 | name = "babel-template-6.26.0.tgz"; | ||
1737 | url = "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz"; | ||
1738 | sha1 = "de03e2d16396b069f46dd9fff8521fb1a0e35e02"; | ||
1739 | }; | ||
1740 | } | ||
1741 | |||
1742 | { | ||
1743 | name = "babel-traverse-6.26.0.tgz"; | ||
1744 | path = fetchurl { | ||
1745 | name = "babel-traverse-6.26.0.tgz"; | ||
1746 | url = "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz"; | ||
1747 | sha1 = "46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"; | ||
1748 | }; | ||
1749 | } | ||
1750 | |||
1751 | { | ||
1752 | name = "babel-types-6.26.0.tgz"; | ||
1753 | path = fetchurl { | ||
1754 | name = "babel-types-6.26.0.tgz"; | ||
1755 | url = "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz"; | ||
1756 | sha1 = "a3b073f94ab49eb6fa55cd65227a334380632497"; | ||
1757 | }; | ||
1758 | } | ||
1759 | |||
1760 | { | ||
1761 | name = "babylon-6.18.0.tgz"; | ||
1762 | path = fetchurl { | ||
1763 | name = "babylon-6.18.0.tgz"; | ||
1764 | url = "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz"; | ||
1765 | sha1 = "af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"; | ||
1766 | }; | ||
1767 | } | ||
1768 | |||
1769 | { | ||
1770 | name = "backoff-2.5.0.tgz"; | ||
1771 | path = fetchurl { | ||
1772 | name = "backoff-2.5.0.tgz"; | ||
1773 | url = "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz"; | ||
1774 | sha1 = "f616eda9d3e4b66b8ca7fca79f695722c5f8e26f"; | ||
1775 | }; | ||
1776 | } | ||
1777 | |||
1778 | { | ||
1779 | name = "balanced-match-0.4.2.tgz"; | ||
1780 | path = fetchurl { | ||
1781 | name = "balanced-match-0.4.2.tgz"; | ||
1782 | url = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz"; | ||
1783 | sha1 = "cb3f3e3c732dc0f01ee70b403f302e61d7709838"; | ||
1784 | }; | ||
1785 | } | ||
1786 | |||
1787 | { | ||
1788 | name = "balanced-match-1.0.0.tgz"; | ||
1789 | path = fetchurl { | ||
1790 | name = "balanced-match-1.0.0.tgz"; | ||
1791 | url = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz"; | ||
1792 | sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767"; | ||
1793 | }; | ||
1794 | } | ||
1795 | |||
1796 | { | ||
1797 | name = "base64-js-1.3.0.tgz"; | ||
1798 | path = fetchurl { | ||
1799 | name = "base64-js-1.3.0.tgz"; | ||
1800 | url = "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz"; | ||
1801 | sha1 = "cab1e6118f051095e58b5281aea8c1cd22bfc0e3"; | ||
1802 | }; | ||
1803 | } | ||
1804 | |||
1805 | { | ||
1806 | name = "base-0.11.2.tgz"; | ||
1807 | path = fetchurl { | ||
1808 | name = "base-0.11.2.tgz"; | ||
1809 | url = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz"; | ||
1810 | sha1 = "7bde5ced145b6d551a90db87f83c558b4eb48a8f"; | ||
1811 | }; | ||
1812 | } | ||
1813 | |||
1814 | { | ||
1815 | name = "batch-0.6.1.tgz"; | ||
1816 | path = fetchurl { | ||
1817 | name = "batch-0.6.1.tgz"; | ||
1818 | url = "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz"; | ||
1819 | sha1 = "dc34314f4e679318093fc760272525f94bf25c16"; | ||
1820 | }; | ||
1821 | } | ||
1822 | |||
1823 | { | ||
1824 | name = "bcrypt-pbkdf-1.0.2.tgz"; | ||
1825 | path = fetchurl { | ||
1826 | name = "bcrypt-pbkdf-1.0.2.tgz"; | ||
1827 | url = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz"; | ||
1828 | sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"; | ||
1829 | }; | ||
1830 | } | ||
1831 | |||
1832 | { | ||
1833 | name = "bfj-node4-5.3.1.tgz"; | ||
1834 | path = fetchurl { | ||
1835 | name = "bfj-node4-5.3.1.tgz"; | ||
1836 | url = "https://registry.yarnpkg.com/bfj-node4/-/bfj-node4-5.3.1.tgz"; | ||
1837 | sha1 = "e23d8b27057f1d0214fc561142ad9db998f26830"; | ||
1838 | }; | ||
1839 | } | ||
1840 | |||
1841 | { | ||
1842 | name = "big.js-3.2.0.tgz"; | ||
1843 | path = fetchurl { | ||
1844 | name = "big.js-3.2.0.tgz"; | ||
1845 | url = "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz"; | ||
1846 | sha1 = "a5fc298b81b9e0dca2e458824784b65c52ba588e"; | ||
1847 | }; | ||
1848 | } | ||
1849 | |||
1850 | { | ||
1851 | name = "binary-extensions-1.11.0.tgz"; | ||
1852 | path = fetchurl { | ||
1853 | name = "binary-extensions-1.11.0.tgz"; | ||
1854 | url = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz"; | ||
1855 | sha1 = "46aa1751fb6a2f93ee5e689bb1087d4b14c6c205"; | ||
1856 | }; | ||
1857 | } | ||
1858 | |||
1859 | { | ||
1860 | name = "block-stream-0.0.9.tgz"; | ||
1861 | path = fetchurl { | ||
1862 | name = "block-stream-0.0.9.tgz"; | ||
1863 | url = "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz"; | ||
1864 | sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a"; | ||
1865 | }; | ||
1866 | } | ||
1867 | |||
1868 | { | ||
1869 | name = "bluebird-3.5.2.tgz"; | ||
1870 | path = fetchurl { | ||
1871 | name = "bluebird-3.5.2.tgz"; | ||
1872 | url = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.2.tgz"; | ||
1873 | sha1 = "1be0908e054a751754549c270489c1505d4ab15a"; | ||
1874 | }; | ||
1875 | } | ||
1876 | |||
1877 | { | ||
1878 | name = "bn.js-4.11.8.tgz"; | ||
1879 | path = fetchurl { | ||
1880 | name = "bn.js-4.11.8.tgz"; | ||
1881 | url = "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz"; | ||
1882 | sha1 = "2cde09eb5ee341f484746bb0309b3253b1b1442f"; | ||
1883 | }; | ||
1884 | } | ||
1885 | |||
1886 | { | ||
1887 | name = "body-parser-1.18.2.tgz"; | ||
1888 | path = fetchurl { | ||
1889 | name = "body-parser-1.18.2.tgz"; | ||
1890 | url = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz"; | ||
1891 | sha1 = "87678a19d84b47d859b83199bd59bce222b10454"; | ||
1892 | }; | ||
1893 | } | ||
1894 | |||
1895 | { | ||
1896 | name = "bonjour-3.5.0.tgz"; | ||
1897 | path = fetchurl { | ||
1898 | name = "bonjour-3.5.0.tgz"; | ||
1899 | url = "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz"; | ||
1900 | sha1 = "8e890a183d8ee9a2393b3844c691a42bcf7bc9f5"; | ||
1901 | }; | ||
1902 | } | ||
1903 | |||
1904 | { | ||
1905 | name = "boolbase-1.0.0.tgz"; | ||
1906 | path = fetchurl { | ||
1907 | name = "boolbase-1.0.0.tgz"; | ||
1908 | url = "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz"; | ||
1909 | sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"; | ||
1910 | }; | ||
1911 | } | ||
1912 | |||
1913 | { | ||
1914 | name = "boom-2.10.1.tgz"; | ||
1915 | path = fetchurl { | ||
1916 | name = "boom-2.10.1.tgz"; | ||
1917 | url = "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz"; | ||
1918 | sha1 = "39c8918ceff5799f83f9492a848f625add0c766f"; | ||
1919 | }; | ||
1920 | } | ||
1921 | |||
1922 | { | ||
1923 | name = "brace-expansion-1.1.11.tgz"; | ||
1924 | path = fetchurl { | ||
1925 | name = "brace-expansion-1.1.11.tgz"; | ||
1926 | url = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz"; | ||
1927 | sha1 = "3c7fcbf529d87226f3d2f52b966ff5271eb441dd"; | ||
1928 | }; | ||
1929 | } | ||
1930 | |||
1931 | { | ||
1932 | name = "braces-1.8.5.tgz"; | ||
1933 | path = fetchurl { | ||
1934 | name = "braces-1.8.5.tgz"; | ||
1935 | url = "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz"; | ||
1936 | sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7"; | ||
1937 | }; | ||
1938 | } | ||
1939 | |||
1940 | { | ||
1941 | name = "braces-2.3.2.tgz"; | ||
1942 | path = fetchurl { | ||
1943 | name = "braces-2.3.2.tgz"; | ||
1944 | url = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz"; | ||
1945 | sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729"; | ||
1946 | }; | ||
1947 | } | ||
1948 | |||
1949 | { | ||
1950 | name = "brorand-1.1.0.tgz"; | ||
1951 | path = fetchurl { | ||
1952 | name = "brorand-1.1.0.tgz"; | ||
1953 | url = "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz"; | ||
1954 | sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f"; | ||
1955 | }; | ||
1956 | } | ||
1957 | |||
1958 | { | ||
1959 | name = "browser-process-hrtime-0.1.2.tgz"; | ||
1960 | path = fetchurl { | ||
1961 | name = "browser-process-hrtime-0.1.2.tgz"; | ||
1962 | url = "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz"; | ||
1963 | sha1 = "425d68a58d3447f02a04aa894187fce8af8b7b8e"; | ||
1964 | }; | ||
1965 | } | ||
1966 | |||
1967 | { | ||
1968 | name = "browser-resolve-1.11.3.tgz"; | ||
1969 | path = fetchurl { | ||
1970 | name = "browser-resolve-1.11.3.tgz"; | ||
1971 | url = "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz"; | ||
1972 | sha1 = "9b7cbb3d0f510e4cb86bdbd796124d28b5890af6"; | ||
1973 | }; | ||
1974 | } | ||
1975 | |||
1976 | { | ||
1977 | name = "browserify-aes-1.2.0.tgz"; | ||
1978 | path = fetchurl { | ||
1979 | name = "browserify-aes-1.2.0.tgz"; | ||
1980 | url = "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz"; | ||
1981 | sha1 = "326734642f403dabc3003209853bb70ad428ef48"; | ||
1982 | }; | ||
1983 | } | ||
1984 | |||
1985 | { | ||
1986 | name = "browserify-cipher-1.0.1.tgz"; | ||
1987 | path = fetchurl { | ||
1988 | name = "browserify-cipher-1.0.1.tgz"; | ||
1989 | url = "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz"; | ||
1990 | sha1 = "8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"; | ||
1991 | }; | ||
1992 | } | ||
1993 | |||
1994 | { | ||
1995 | name = "browserify-des-1.0.2.tgz"; | ||
1996 | path = fetchurl { | ||
1997 | name = "browserify-des-1.0.2.tgz"; | ||
1998 | url = "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz"; | ||
1999 | sha1 = "3af4f1f59839403572f1c66204375f7a7f703e9c"; | ||
2000 | }; | ||
2001 | } | ||
2002 | |||
2003 | { | ||
2004 | name = "browserify-rsa-4.0.1.tgz"; | ||
2005 | path = fetchurl { | ||
2006 | name = "browserify-rsa-4.0.1.tgz"; | ||
2007 | url = "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz"; | ||
2008 | sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524"; | ||
2009 | }; | ||
2010 | } | ||
2011 | |||
2012 | { | ||
2013 | name = "browserify-sign-4.0.4.tgz"; | ||
2014 | path = fetchurl { | ||
2015 | name = "browserify-sign-4.0.4.tgz"; | ||
2016 | url = "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz"; | ||
2017 | sha1 = "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"; | ||
2018 | }; | ||
2019 | } | ||
2020 | |||
2021 | { | ||
2022 | name = "browserify-zlib-0.2.0.tgz"; | ||
2023 | path = fetchurl { | ||
2024 | name = "browserify-zlib-0.2.0.tgz"; | ||
2025 | url = "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz"; | ||
2026 | sha1 = "2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"; | ||
2027 | }; | ||
2028 | } | ||
2029 | |||
2030 | { | ||
2031 | name = "browserslist-3.2.8.tgz"; | ||
2032 | path = fetchurl { | ||
2033 | name = "browserslist-3.2.8.tgz"; | ||
2034 | url = "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz"; | ||
2035 | sha1 = "b0005361d6471f0f5952797a76fc985f1f978fc6"; | ||
2036 | }; | ||
2037 | } | ||
2038 | |||
2039 | { | ||
2040 | name = "browserslist-4.1.1.tgz"; | ||
2041 | path = fetchurl { | ||
2042 | name = "browserslist-4.1.1.tgz"; | ||
2043 | url = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.1.1.tgz"; | ||
2044 | sha1 = "328eb4ff1215b12df6589e9ab82f8adaa4fc8cd6"; | ||
2045 | }; | ||
2046 | } | ||
2047 | |||
2048 | { | ||
2049 | name = "bser-2.0.0.tgz"; | ||
2050 | path = fetchurl { | ||
2051 | name = "bser-2.0.0.tgz"; | ||
2052 | url = "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz"; | ||
2053 | sha1 = "9ac78d3ed5d915804fd87acb158bc797147a1719"; | ||
2054 | }; | ||
2055 | } | ||
2056 | |||
2057 | { | ||
2058 | name = "buffer-from-1.1.1.tgz"; | ||
2059 | path = fetchurl { | ||
2060 | name = "buffer-from-1.1.1.tgz"; | ||
2061 | url = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz"; | ||
2062 | sha1 = "32713bc028f75c02fdb710d7c7bcec1f2c6070ef"; | ||
2063 | }; | ||
2064 | } | ||
2065 | |||
2066 | { | ||
2067 | name = "buffer-indexof-1.1.1.tgz"; | ||
2068 | path = fetchurl { | ||
2069 | name = "buffer-indexof-1.1.1.tgz"; | ||
2070 | url = "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz"; | ||
2071 | sha1 = "52fabcc6a606d1a00302802648ef68f639da268c"; | ||
2072 | }; | ||
2073 | } | ||
2074 | |||
2075 | { | ||
2076 | name = "buffer-writer-1.0.1.tgz"; | ||
2077 | path = fetchurl { | ||
2078 | name = "buffer-writer-1.0.1.tgz"; | ||
2079 | url = "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-1.0.1.tgz"; | ||
2080 | sha1 = "22a936901e3029afcd7547eb4487ceb697a3bf08"; | ||
2081 | }; | ||
2082 | } | ||
2083 | |||
2084 | { | ||
2085 | name = "buffer-xor-1.0.3.tgz"; | ||
2086 | path = fetchurl { | ||
2087 | name = "buffer-xor-1.0.3.tgz"; | ||
2088 | url = "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz"; | ||
2089 | sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9"; | ||
2090 | }; | ||
2091 | } | ||
2092 | |||
2093 | { | ||
2094 | name = "buffer-4.9.1.tgz"; | ||
2095 | path = fetchurl { | ||
2096 | name = "buffer-4.9.1.tgz"; | ||
2097 | url = "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz"; | ||
2098 | sha1 = "6d1bb601b07a4efced97094132093027c95bc298"; | ||
2099 | }; | ||
2100 | } | ||
2101 | |||
2102 | { | ||
2103 | name = "builtin-modules-1.1.1.tgz"; | ||
2104 | path = fetchurl { | ||
2105 | name = "builtin-modules-1.1.1.tgz"; | ||
2106 | url = "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz"; | ||
2107 | sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f"; | ||
2108 | }; | ||
2109 | } | ||
2110 | |||
2111 | { | ||
2112 | name = "builtin-status-codes-3.0.0.tgz"; | ||
2113 | path = fetchurl { | ||
2114 | name = "builtin-status-codes-3.0.0.tgz"; | ||
2115 | url = "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz"; | ||
2116 | sha1 = "85982878e21b98e1c66425e03d0174788f569ee8"; | ||
2117 | }; | ||
2118 | } | ||
2119 | |||
2120 | { | ||
2121 | name = "bytes-3.0.0.tgz"; | ||
2122 | path = fetchurl { | ||
2123 | name = "bytes-3.0.0.tgz"; | ||
2124 | url = "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz"; | ||
2125 | sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048"; | ||
2126 | }; | ||
2127 | } | ||
2128 | |||
2129 | { | ||
2130 | name = "cacache-10.0.4.tgz"; | ||
2131 | path = fetchurl { | ||
2132 | name = "cacache-10.0.4.tgz"; | ||
2133 | url = "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz"; | ||
2134 | sha1 = "6452367999eff9d4188aefd9a14e9d7c6a263460"; | ||
2135 | }; | ||
2136 | } | ||
2137 | |||
2138 | { | ||
2139 | name = "cacache-11.2.0.tgz"; | ||
2140 | path = fetchurl { | ||
2141 | name = "cacache-11.2.0.tgz"; | ||
2142 | url = "https://registry.yarnpkg.com/cacache/-/cacache-11.2.0.tgz"; | ||
2143 | sha1 = "617bdc0b02844af56310e411c0878941d5739965"; | ||
2144 | }; | ||
2145 | } | ||
2146 | |||
2147 | { | ||
2148 | name = "cache-base-1.0.1.tgz"; | ||
2149 | path = fetchurl { | ||
2150 | name = "cache-base-1.0.1.tgz"; | ||
2151 | url = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz"; | ||
2152 | sha1 = "0a7f46416831c8b662ee36fe4e7c59d76f666ab2"; | ||
2153 | }; | ||
2154 | } | ||
2155 | |||
2156 | { | ||
2157 | name = "caller-path-0.1.0.tgz"; | ||
2158 | path = fetchurl { | ||
2159 | name = "caller-path-0.1.0.tgz"; | ||
2160 | url = "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz"; | ||
2161 | sha1 = "94085ef63581ecd3daa92444a8fe94e82577751f"; | ||
2162 | }; | ||
2163 | } | ||
2164 | |||
2165 | { | ||
2166 | name = "callsites-0.2.0.tgz"; | ||
2167 | path = fetchurl { | ||
2168 | name = "callsites-0.2.0.tgz"; | ||
2169 | url = "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz"; | ||
2170 | sha1 = "afab96262910a7f33c19a5775825c69f34e350ca"; | ||
2171 | }; | ||
2172 | } | ||
2173 | |||
2174 | { | ||
2175 | name = "callsites-2.0.0.tgz"; | ||
2176 | path = fetchurl { | ||
2177 | name = "callsites-2.0.0.tgz"; | ||
2178 | url = "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz"; | ||
2179 | sha1 = "06eb84f00eea413da86affefacbffb36093b3c50"; | ||
2180 | }; | ||
2181 | } | ||
2182 | |||
2183 | { | ||
2184 | name = "camelcase-keys-2.1.0.tgz"; | ||
2185 | path = fetchurl { | ||
2186 | name = "camelcase-keys-2.1.0.tgz"; | ||
2187 | url = "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz"; | ||
2188 | sha1 = "308beeaffdf28119051efa1d932213c91b8f92e7"; | ||
2189 | }; | ||
2190 | } | ||
2191 | |||
2192 | { | ||
2193 | name = "camelcase-2.1.1.tgz"; | ||
2194 | path = fetchurl { | ||
2195 | name = "camelcase-2.1.1.tgz"; | ||
2196 | url = "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz"; | ||
2197 | sha1 = "7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"; | ||
2198 | }; | ||
2199 | } | ||
2200 | |||
2201 | { | ||
2202 | name = "camelcase-3.0.0.tgz"; | ||
2203 | path = fetchurl { | ||
2204 | name = "camelcase-3.0.0.tgz"; | ||
2205 | url = "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz"; | ||
2206 | sha1 = "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"; | ||
2207 | }; | ||
2208 | } | ||
2209 | |||
2210 | { | ||
2211 | name = "camelcase-4.1.0.tgz"; | ||
2212 | path = fetchurl { | ||
2213 | name = "camelcase-4.1.0.tgz"; | ||
2214 | url = "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz"; | ||
2215 | sha1 = "d545635be1e33c542649c69173e5de6acfae34dd"; | ||
2216 | }; | ||
2217 | } | ||
2218 | |||
2219 | { | ||
2220 | name = "caniuse-lite-1.0.30000885.tgz"; | ||
2221 | path = fetchurl { | ||
2222 | name = "caniuse-lite-1.0.30000885.tgz"; | ||
2223 | url = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000885.tgz"; | ||
2224 | sha1 = "e889e9f8e7e50e769f2a49634c932b8aee622984"; | ||
2225 | }; | ||
2226 | } | ||
2227 | |||
2228 | { | ||
2229 | name = "capture-exit-1.2.0.tgz"; | ||
2230 | path = fetchurl { | ||
2231 | name = "capture-exit-1.2.0.tgz"; | ||
2232 | url = "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz"; | ||
2233 | sha1 = "1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f"; | ||
2234 | }; | ||
2235 | } | ||
2236 | |||
2237 | { | ||
2238 | name = "caseless-0.12.0.tgz"; | ||
2239 | path = fetchurl { | ||
2240 | name = "caseless-0.12.0.tgz"; | ||
2241 | url = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz"; | ||
2242 | sha1 = "1b681c21ff84033c826543090689420d187151dc"; | ||
2243 | }; | ||
2244 | } | ||
2245 | |||
2246 | { | ||
2247 | name = "chalk-1.1.3.tgz"; | ||
2248 | path = fetchurl { | ||
2249 | name = "chalk-1.1.3.tgz"; | ||
2250 | url = "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"; | ||
2251 | sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98"; | ||
2252 | }; | ||
2253 | } | ||
2254 | |||
2255 | { | ||
2256 | name = "chalk-2.4.1.tgz"; | ||
2257 | path = fetchurl { | ||
2258 | name = "chalk-2.4.1.tgz"; | ||
2259 | url = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz"; | ||
2260 | sha1 = "18c49ab16a037b6eb0152cc83e3471338215b66e"; | ||
2261 | }; | ||
2262 | } | ||
2263 | |||
2264 | { | ||
2265 | name = "chardet-0.4.2.tgz"; | ||
2266 | path = fetchurl { | ||
2267 | name = "chardet-0.4.2.tgz"; | ||
2268 | url = "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz"; | ||
2269 | sha1 = "b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"; | ||
2270 | }; | ||
2271 | } | ||
2272 | |||
2273 | { | ||
2274 | name = "chardet-0.7.0.tgz"; | ||
2275 | path = fetchurl { | ||
2276 | name = "chardet-0.7.0.tgz"; | ||
2277 | url = "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz"; | ||
2278 | sha1 = "90094849f0937f2eedc2425d0d28a9e5f0cbad9e"; | ||
2279 | }; | ||
2280 | } | ||
2281 | |||
2282 | { | ||
2283 | name = "check-types-7.4.0.tgz"; | ||
2284 | path = fetchurl { | ||
2285 | name = "check-types-7.4.0.tgz"; | ||
2286 | url = "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz"; | ||
2287 | sha1 = "0378ec1b9616ec71f774931a3c6516fad8c152f4"; | ||
2288 | }; | ||
2289 | } | ||
2290 | |||
2291 | { | ||
2292 | name = "cheerio-1.0.0-rc.2.tgz"; | ||
2293 | path = fetchurl { | ||
2294 | name = "cheerio-1.0.0-rc.2.tgz"; | ||
2295 | url = "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.2.tgz"; | ||
2296 | sha1 = "4b9f53a81b27e4d5dac31c0ffd0cfa03cc6830db"; | ||
2297 | }; | ||
2298 | } | ||
2299 | |||
2300 | { | ||
2301 | name = "chokidar-2.0.4.tgz"; | ||
2302 | path = fetchurl { | ||
2303 | name = "chokidar-2.0.4.tgz"; | ||
2304 | url = "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz"; | ||
2305 | sha1 = "356ff4e2b0e8e43e322d18a372460bbcf3accd26"; | ||
2306 | }; | ||
2307 | } | ||
2308 | |||
2309 | { | ||
2310 | name = "chownr-1.0.1.tgz"; | ||
2311 | path = fetchurl { | ||
2312 | name = "chownr-1.0.1.tgz"; | ||
2313 | url = "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz"; | ||
2314 | sha1 = "e2a75042a9551908bebd25b8523d5f9769d79181"; | ||
2315 | }; | ||
2316 | } | ||
2317 | |||
2318 | { | ||
2319 | name = "chrome-trace-event-1.0.0.tgz"; | ||
2320 | path = fetchurl { | ||
2321 | name = "chrome-trace-event-1.0.0.tgz"; | ||
2322 | url = "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz"; | ||
2323 | sha1 = "45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48"; | ||
2324 | }; | ||
2325 | } | ||
2326 | |||
2327 | { | ||
2328 | name = "ci-info-1.5.1.tgz"; | ||
2329 | path = fetchurl { | ||
2330 | name = "ci-info-1.5.1.tgz"; | ||
2331 | url = "https://registry.yarnpkg.com/ci-info/-/ci-info-1.5.1.tgz"; | ||
2332 | sha1 = "17e8eb5de6f8b2b6038f0cbb714d410bfa9f3030"; | ||
2333 | }; | ||
2334 | } | ||
2335 | |||
2336 | { | ||
2337 | name = "cipher-base-1.0.4.tgz"; | ||
2338 | path = fetchurl { | ||
2339 | name = "cipher-base-1.0.4.tgz"; | ||
2340 | url = "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz"; | ||
2341 | sha1 = "8760e4ecc272f4c363532f926d874aae2c1397de"; | ||
2342 | }; | ||
2343 | } | ||
2344 | |||
2345 | { | ||
2346 | name = "circular-json-0.3.3.tgz"; | ||
2347 | path = fetchurl { | ||
2348 | name = "circular-json-0.3.3.tgz"; | ||
2349 | url = "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz"; | ||
2350 | sha1 = "815c99ea84f6809529d2f45791bdf82711352d66"; | ||
2351 | }; | ||
2352 | } | ||
2353 | |||
2354 | { | ||
2355 | name = "class-utils-0.3.6.tgz"; | ||
2356 | path = fetchurl { | ||
2357 | name = "class-utils-0.3.6.tgz"; | ||
2358 | url = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz"; | ||
2359 | sha1 = "f93369ae8b9a7ce02fd41faad0ca83033190c463"; | ||
2360 | }; | ||
2361 | } | ||
2362 | |||
2363 | { | ||
2364 | name = "classnames-2.2.6.tgz"; | ||
2365 | path = fetchurl { | ||
2366 | name = "classnames-2.2.6.tgz"; | ||
2367 | url = "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz"; | ||
2368 | sha1 = "43935bffdd291f326dad0a205309b38d00f650ce"; | ||
2369 | }; | ||
2370 | } | ||
2371 | |||
2372 | { | ||
2373 | name = "cli-cursor-2.1.0.tgz"; | ||
2374 | path = fetchurl { | ||
2375 | name = "cli-cursor-2.1.0.tgz"; | ||
2376 | url = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz"; | ||
2377 | sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5"; | ||
2378 | }; | ||
2379 | } | ||
2380 | |||
2381 | { | ||
2382 | name = "cli-width-2.2.0.tgz"; | ||
2383 | path = fetchurl { | ||
2384 | name = "cli-width-2.2.0.tgz"; | ||
2385 | url = "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz"; | ||
2386 | sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639"; | ||
2387 | }; | ||
2388 | } | ||
2389 | |||
2390 | { | ||
2391 | name = "cliui-3.2.0.tgz"; | ||
2392 | path = fetchurl { | ||
2393 | name = "cliui-3.2.0.tgz"; | ||
2394 | url = "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz"; | ||
2395 | sha1 = "120601537a916d29940f934da3b48d585a39213d"; | ||
2396 | }; | ||
2397 | } | ||
2398 | |||
2399 | { | ||
2400 | name = "cliui-4.1.0.tgz"; | ||
2401 | path = fetchurl { | ||
2402 | name = "cliui-4.1.0.tgz"; | ||
2403 | url = "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz"; | ||
2404 | sha1 = "348422dbe82d800b3022eef4f6ac10bf2e4d1b49"; | ||
2405 | }; | ||
2406 | } | ||
2407 | |||
2408 | { | ||
2409 | name = "clone-deep-2.0.2.tgz"; | ||
2410 | path = fetchurl { | ||
2411 | name = "clone-deep-2.0.2.tgz"; | ||
2412 | url = "https://registry.yarnpkg.com/clone-deep/-/clone-deep-2.0.2.tgz"; | ||
2413 | sha1 = "00db3a1e173656730d1188c3d6aced6d7ea97713"; | ||
2414 | }; | ||
2415 | } | ||
2416 | |||
2417 | { | ||
2418 | name = "clone-1.0.4.tgz"; | ||
2419 | path = fetchurl { | ||
2420 | name = "clone-1.0.4.tgz"; | ||
2421 | url = "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz"; | ||
2422 | sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e"; | ||
2423 | }; | ||
2424 | } | ||
2425 | |||
2426 | { | ||
2427 | name = "co-4.6.0.tgz"; | ||
2428 | path = fetchurl { | ||
2429 | name = "co-4.6.0.tgz"; | ||
2430 | url = "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz"; | ||
2431 | sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"; | ||
2432 | }; | ||
2433 | } | ||
2434 | |||
2435 | { | ||
2436 | name = "code-point-at-1.1.0.tgz"; | ||
2437 | path = fetchurl { | ||
2438 | name = "code-point-at-1.1.0.tgz"; | ||
2439 | url = "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz"; | ||
2440 | sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"; | ||
2441 | }; | ||
2442 | } | ||
2443 | |||
2444 | { | ||
2445 | name = "collection-visit-1.0.0.tgz"; | ||
2446 | path = fetchurl { | ||
2447 | name = "collection-visit-1.0.0.tgz"; | ||
2448 | url = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz"; | ||
2449 | sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0"; | ||
2450 | }; | ||
2451 | } | ||
2452 | |||
2453 | { | ||
2454 | name = "color-convert-1.9.3.tgz"; | ||
2455 | path = fetchurl { | ||
2456 | name = "color-convert-1.9.3.tgz"; | ||
2457 | url = "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz"; | ||
2458 | sha1 = "bb71850690e1f136567de629d2d5471deda4c1e8"; | ||
2459 | }; | ||
2460 | } | ||
2461 | |||
2462 | { | ||
2463 | name = "color-name-1.1.3.tgz"; | ||
2464 | path = fetchurl { | ||
2465 | name = "color-name-1.1.3.tgz"; | ||
2466 | url = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz"; | ||
2467 | sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25"; | ||
2468 | }; | ||
2469 | } | ||
2470 | |||
2471 | { | ||
2472 | name = "color-string-1.5.3.tgz"; | ||
2473 | path = fetchurl { | ||
2474 | name = "color-string-1.5.3.tgz"; | ||
2475 | url = "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz"; | ||
2476 | sha1 = "c9bbc5f01b58b5492f3d6857459cb6590ce204cc"; | ||
2477 | }; | ||
2478 | } | ||
2479 | |||
2480 | { | ||
2481 | name = "color-1.0.3.tgz"; | ||
2482 | path = fetchurl { | ||
2483 | name = "color-1.0.3.tgz"; | ||
2484 | url = "https://registry.yarnpkg.com/color/-/color-1.0.3.tgz"; | ||
2485 | sha1 = "e48e832d85f14ef694fb468811c2d5cfe729b55d"; | ||
2486 | }; | ||
2487 | } | ||
2488 | |||
2489 | { | ||
2490 | name = "colors-0.5.1.tgz"; | ||
2491 | path = fetchurl { | ||
2492 | name = "colors-0.5.1.tgz"; | ||
2493 | url = "https://registry.yarnpkg.com/colors/-/colors-0.5.1.tgz"; | ||
2494 | sha1 = "7d0023eaeb154e8ee9fce75dcb923d0ed1667774"; | ||
2495 | }; | ||
2496 | } | ||
2497 | |||
2498 | { | ||
2499 | name = "combined-stream-1.0.6.tgz"; | ||
2500 | path = fetchurl { | ||
2501 | name = "combined-stream-1.0.6.tgz"; | ||
2502 | url = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz"; | ||
2503 | sha1 = "723e7df6e801ac5613113a7e445a9b69cb632818"; | ||
2504 | }; | ||
2505 | } | ||
2506 | |||
2507 | { | ||
2508 | name = "commander-2.18.0.tgz"; | ||
2509 | path = fetchurl { | ||
2510 | name = "commander-2.18.0.tgz"; | ||
2511 | url = "https://registry.yarnpkg.com/commander/-/commander-2.18.0.tgz"; | ||
2512 | sha1 = "2bf063ddee7c7891176981a2cc798e5754bc6970"; | ||
2513 | }; | ||
2514 | } | ||
2515 | |||
2516 | { | ||
2517 | name = "commander-2.13.0.tgz"; | ||
2518 | path = fetchurl { | ||
2519 | name = "commander-2.13.0.tgz"; | ||
2520 | url = "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz"; | ||
2521 | sha1 = "6964bca67685df7c1f1430c584f07d7597885b9c"; | ||
2522 | }; | ||
2523 | } | ||
2524 | |||
2525 | { | ||
2526 | name = "commander-2.17.1.tgz"; | ||
2527 | path = fetchurl { | ||
2528 | name = "commander-2.17.1.tgz"; | ||
2529 | url = "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz"; | ||
2530 | sha1 = "bd77ab7de6de94205ceacc72f1716d29f20a77bf"; | ||
2531 | }; | ||
2532 | } | ||
2533 | |||
2534 | { | ||
2535 | name = "commondir-1.0.1.tgz"; | ||
2536 | path = fetchurl { | ||
2537 | name = "commondir-1.0.1.tgz"; | ||
2538 | url = "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz"; | ||
2539 | sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b"; | ||
2540 | }; | ||
2541 | } | ||
2542 | |||
2543 | { | ||
2544 | name = "component-emitter-1.2.1.tgz"; | ||
2545 | path = fetchurl { | ||
2546 | name = "component-emitter-1.2.1.tgz"; | ||
2547 | url = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz"; | ||
2548 | sha1 = "137918d6d78283f7df7a6b7c5a63e140e69425e6"; | ||
2549 | }; | ||
2550 | } | ||
2551 | |||
2552 | { | ||
2553 | name = "compressible-2.0.14.tgz"; | ||
2554 | path = fetchurl { | ||
2555 | name = "compressible-2.0.14.tgz"; | ||
2556 | url = "https://registry.yarnpkg.com/compressible/-/compressible-2.0.14.tgz"; | ||
2557 | sha1 = "326c5f507fbb055f54116782b969a81b67a29da7"; | ||
2558 | }; | ||
2559 | } | ||
2560 | |||
2561 | { | ||
2562 | name = "compression-webpack-plugin-2.0.0.tgz"; | ||
2563 | path = fetchurl { | ||
2564 | name = "compression-webpack-plugin-2.0.0.tgz"; | ||
2565 | url = "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-2.0.0.tgz"; | ||
2566 | sha1 = "46476350c1eb27f783dccc79ac2f709baa2cffbc"; | ||
2567 | }; | ||
2568 | } | ||
2569 | |||
2570 | { | ||
2571 | name = "compression-1.7.3.tgz"; | ||
2572 | path = fetchurl { | ||
2573 | name = "compression-1.7.3.tgz"; | ||
2574 | url = "https://registry.yarnpkg.com/compression/-/compression-1.7.3.tgz"; | ||
2575 | sha1 = "27e0e176aaf260f7f2c2813c3e440adb9f1993db"; | ||
2576 | }; | ||
2577 | } | ||
2578 | |||
2579 | { | ||
2580 | name = "concat-map-0.0.1.tgz"; | ||
2581 | path = fetchurl { | ||
2582 | name = "concat-map-0.0.1.tgz"; | ||
2583 | url = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz"; | ||
2584 | sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b"; | ||
2585 | }; | ||
2586 | } | ||
2587 | |||
2588 | { | ||
2589 | name = "concat-stream-1.6.2.tgz"; | ||
2590 | path = fetchurl { | ||
2591 | name = "concat-stream-1.6.2.tgz"; | ||
2592 | url = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz"; | ||
2593 | sha1 = "904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"; | ||
2594 | }; | ||
2595 | } | ||
2596 | |||
2597 | { | ||
2598 | name = "connect-history-api-fallback-1.5.0.tgz"; | ||
2599 | path = fetchurl { | ||
2600 | name = "connect-history-api-fallback-1.5.0.tgz"; | ||
2601 | url = "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz"; | ||
2602 | sha1 = "b06873934bc5e344fef611a196a6faae0aee015a"; | ||
2603 | }; | ||
2604 | } | ||
2605 | |||
2606 | { | ||
2607 | name = "console-browserify-1.1.0.tgz"; | ||
2608 | path = fetchurl { | ||
2609 | name = "console-browserify-1.1.0.tgz"; | ||
2610 | url = "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz"; | ||
2611 | sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10"; | ||
2612 | }; | ||
2613 | } | ||
2614 | |||
2615 | { | ||
2616 | name = "console-control-strings-1.1.0.tgz"; | ||
2617 | path = fetchurl { | ||
2618 | name = "console-control-strings-1.1.0.tgz"; | ||
2619 | url = "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz"; | ||
2620 | sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e"; | ||
2621 | }; | ||
2622 | } | ||
2623 | |||
2624 | { | ||
2625 | name = "constants-browserify-1.0.0.tgz"; | ||
2626 | path = fetchurl { | ||
2627 | name = "constants-browserify-1.0.0.tgz"; | ||
2628 | url = "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz"; | ||
2629 | sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75"; | ||
2630 | }; | ||
2631 | } | ||
2632 | |||
2633 | { | ||
2634 | name = "contains-path-0.1.0.tgz"; | ||
2635 | path = fetchurl { | ||
2636 | name = "contains-path-0.1.0.tgz"; | ||
2637 | url = "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz"; | ||
2638 | sha1 = "fe8cf184ff6670b6baef01a9d4861a5cbec4120a"; | ||
2639 | }; | ||
2640 | } | ||
2641 | |||
2642 | { | ||
2643 | name = "content-disposition-0.5.2.tgz"; | ||
2644 | path = fetchurl { | ||
2645 | name = "content-disposition-0.5.2.tgz"; | ||
2646 | url = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz"; | ||
2647 | sha1 = "0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"; | ||
2648 | }; | ||
2649 | } | ||
2650 | |||
2651 | { | ||
2652 | name = "content-type-1.0.4.tgz"; | ||
2653 | path = fetchurl { | ||
2654 | name = "content-type-1.0.4.tgz"; | ||
2655 | url = "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz"; | ||
2656 | sha1 = "e138cc75e040c727b1966fe5e5f8c9aee256fe3b"; | ||
2657 | }; | ||
2658 | } | ||
2659 | |||
2660 | { | ||
2661 | name = "convert-source-map-1.6.0.tgz"; | ||
2662 | path = fetchurl { | ||
2663 | name = "convert-source-map-1.6.0.tgz"; | ||
2664 | url = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz"; | ||
2665 | sha1 = "51b537a8c43e0f04dec1993bffcdd504e758ac20"; | ||
2666 | }; | ||
2667 | } | ||
2668 | |||
2669 | { | ||
2670 | name = "cookie-signature-1.0.6.tgz"; | ||
2671 | path = fetchurl { | ||
2672 | name = "cookie-signature-1.0.6.tgz"; | ||
2673 | url = "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz"; | ||
2674 | sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c"; | ||
2675 | }; | ||
2676 | } | ||
2677 | |||
2678 | { | ||
2679 | name = "cookie-0.3.1.tgz"; | ||
2680 | path = fetchurl { | ||
2681 | name = "cookie-0.3.1.tgz"; | ||
2682 | url = "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz"; | ||
2683 | sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"; | ||
2684 | }; | ||
2685 | } | ||
2686 | |||
2687 | { | ||
2688 | name = "copy-concurrently-1.0.5.tgz"; | ||
2689 | path = fetchurl { | ||
2690 | name = "copy-concurrently-1.0.5.tgz"; | ||
2691 | url = "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz"; | ||
2692 | sha1 = "92297398cae34937fcafd6ec8139c18051f0b5e0"; | ||
2693 | }; | ||
2694 | } | ||
2695 | |||
2696 | { | ||
2697 | name = "copy-descriptor-0.1.1.tgz"; | ||
2698 | path = fetchurl { | ||
2699 | name = "copy-descriptor-0.1.1.tgz"; | ||
2700 | url = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz"; | ||
2701 | sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d"; | ||
2702 | }; | ||
2703 | } | ||
2704 | |||
2705 | { | ||
2706 | name = "core-js-1.2.7.tgz"; | ||
2707 | path = fetchurl { | ||
2708 | name = "core-js-1.2.7.tgz"; | ||
2709 | url = "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz"; | ||
2710 | sha1 = "652294c14651db28fa93bd2d5ff2983a4f08c636"; | ||
2711 | }; | ||
2712 | } | ||
2713 | |||
2714 | { | ||
2715 | name = "core-js-2.5.7.tgz"; | ||
2716 | path = fetchurl { | ||
2717 | name = "core-js-2.5.7.tgz"; | ||
2718 | url = "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz"; | ||
2719 | sha1 = "f972608ff0cead68b841a16a932d0b183791814e"; | ||
2720 | }; | ||
2721 | } | ||
2722 | |||
2723 | { | ||
2724 | name = "core-util-is-1.0.2.tgz"; | ||
2725 | path = fetchurl { | ||
2726 | name = "core-util-is-1.0.2.tgz"; | ||
2727 | url = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz"; | ||
2728 | sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7"; | ||
2729 | }; | ||
2730 | } | ||
2731 | |||
2732 | { | ||
2733 | name = "cosmiconfig-4.0.0.tgz"; | ||
2734 | path = fetchurl { | ||
2735 | name = "cosmiconfig-4.0.0.tgz"; | ||
2736 | url = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz"; | ||
2737 | sha1 = "760391549580bbd2df1e562bc177b13c290972dc"; | ||
2738 | }; | ||
2739 | } | ||
2740 | |||
2741 | { | ||
2742 | name = "cosmiconfig-5.0.6.tgz"; | ||
2743 | path = fetchurl { | ||
2744 | name = "cosmiconfig-5.0.6.tgz"; | ||
2745 | url = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.6.tgz"; | ||
2746 | sha1 = "dca6cf680a0bd03589aff684700858c81abeeb39"; | ||
2747 | }; | ||
2748 | } | ||
2749 | |||
2750 | { | ||
2751 | name = "create-ecdh-4.0.3.tgz"; | ||
2752 | path = fetchurl { | ||
2753 | name = "create-ecdh-4.0.3.tgz"; | ||
2754 | url = "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz"; | ||
2755 | sha1 = "c9111b6f33045c4697f144787f9254cdc77c45ff"; | ||
2756 | }; | ||
2757 | } | ||
2758 | |||
2759 | { | ||
2760 | name = "create-hash-1.2.0.tgz"; | ||
2761 | path = fetchurl { | ||
2762 | name = "create-hash-1.2.0.tgz"; | ||
2763 | url = "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz"; | ||
2764 | sha1 = "889078af11a63756bcfb59bd221996be3a9ef196"; | ||
2765 | }; | ||
2766 | } | ||
2767 | |||
2768 | { | ||
2769 | name = "create-hmac-1.1.7.tgz"; | ||
2770 | path = fetchurl { | ||
2771 | name = "create-hmac-1.1.7.tgz"; | ||
2772 | url = "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz"; | ||
2773 | sha1 = "69170c78b3ab957147b2b8b04572e47ead2243ff"; | ||
2774 | }; | ||
2775 | } | ||
2776 | |||
2777 | { | ||
2778 | name = "create-react-class-15.6.3.tgz"; | ||
2779 | path = fetchurl { | ||
2780 | name = "create-react-class-15.6.3.tgz"; | ||
2781 | url = "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz"; | ||
2782 | sha1 = "2d73237fb3f970ae6ebe011a9e66f46dbca80036"; | ||
2783 | }; | ||
2784 | } | ||
2785 | |||
2786 | { | ||
2787 | name = "cross-env-5.2.0.tgz"; | ||
2788 | path = fetchurl { | ||
2789 | name = "cross-env-5.2.0.tgz"; | ||
2790 | url = "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.0.tgz"; | ||
2791 | sha1 = "6ecd4c015d5773e614039ee529076669b9d126f2"; | ||
2792 | }; | ||
2793 | } | ||
2794 | |||
2795 | { | ||
2796 | name = "cross-spawn-3.0.1.tgz"; | ||
2797 | path = fetchurl { | ||
2798 | name = "cross-spawn-3.0.1.tgz"; | ||
2799 | url = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz"; | ||
2800 | sha1 = "1256037ecb9f0c5f79e3d6ef135e30770184b982"; | ||
2801 | }; | ||
2802 | } | ||
2803 | |||
2804 | { | ||
2805 | name = "cross-spawn-5.1.0.tgz"; | ||
2806 | path = fetchurl { | ||
2807 | name = "cross-spawn-5.1.0.tgz"; | ||
2808 | url = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz"; | ||
2809 | sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449"; | ||
2810 | }; | ||
2811 | } | ||
2812 | |||
2813 | { | ||
2814 | name = "cross-spawn-6.0.5.tgz"; | ||
2815 | path = fetchurl { | ||
2816 | name = "cross-spawn-6.0.5.tgz"; | ||
2817 | url = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz"; | ||
2818 | sha1 = "4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"; | ||
2819 | }; | ||
2820 | } | ||
2821 | |||
2822 | { | ||
2823 | name = "cryptiles-2.0.5.tgz"; | ||
2824 | path = fetchurl { | ||
2825 | name = "cryptiles-2.0.5.tgz"; | ||
2826 | url = "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz"; | ||
2827 | sha1 = "3bdfecdc608147c1c67202fa291e7dca59eaa3b8"; | ||
2828 | }; | ||
2829 | } | ||
2830 | |||
2831 | { | ||
2832 | name = "crypto-browserify-3.12.0.tgz"; | ||
2833 | path = fetchurl { | ||
2834 | name = "crypto-browserify-3.12.0.tgz"; | ||
2835 | url = "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz"; | ||
2836 | sha1 = "396cf9f3137f03e4b8e532c58f698254e00f80ec"; | ||
2837 | }; | ||
2838 | } | ||
2839 | |||
2840 | { | ||
2841 | name = "css-font-size-keywords-1.0.0.tgz"; | ||
2842 | path = fetchurl { | ||
2843 | name = "css-font-size-keywords-1.0.0.tgz"; | ||
2844 | url = "https://registry.yarnpkg.com/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz"; | ||
2845 | sha1 = "854875ace9aca6a8d2ee0d345a44aae9bb6db6cb"; | ||
2846 | }; | ||
2847 | } | ||
2848 | |||
2849 | { | ||
2850 | name = "css-font-stretch-keywords-1.0.1.tgz"; | ||
2851 | path = fetchurl { | ||
2852 | name = "css-font-stretch-keywords-1.0.1.tgz"; | ||
2853 | url = "https://registry.yarnpkg.com/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz"; | ||
2854 | sha1 = "50cee9b9ba031fb5c952d4723139f1e107b54b10"; | ||
2855 | }; | ||
2856 | } | ||
2857 | |||
2858 | { | ||
2859 | name = "css-font-style-keywords-1.0.1.tgz"; | ||
2860 | path = fetchurl { | ||
2861 | name = "css-font-style-keywords-1.0.1.tgz"; | ||
2862 | url = "https://registry.yarnpkg.com/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz"; | ||
2863 | sha1 = "5c3532813f63b4a1de954d13cea86ab4333409e4"; | ||
2864 | }; | ||
2865 | } | ||
2866 | |||
2867 | { | ||
2868 | name = "css-font-weight-keywords-1.0.0.tgz"; | ||
2869 | path = fetchurl { | ||
2870 | name = "css-font-weight-keywords-1.0.0.tgz"; | ||
2871 | url = "https://registry.yarnpkg.com/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz"; | ||
2872 | sha1 = "9bc04671ac85bc724b574ef5d3ac96b0d604fd97"; | ||
2873 | }; | ||
2874 | } | ||
2875 | |||
2876 | { | ||
2877 | name = "css-global-keywords-1.0.1.tgz"; | ||
2878 | path = fetchurl { | ||
2879 | name = "css-global-keywords-1.0.1.tgz"; | ||
2880 | url = "https://registry.yarnpkg.com/css-global-keywords/-/css-global-keywords-1.0.1.tgz"; | ||
2881 | sha1 = "72a9aea72796d019b1d2a3252de4e5aaa37e4a69"; | ||
2882 | }; | ||
2883 | } | ||
2884 | |||
2885 | { | ||
2886 | name = "css-list-helpers-1.0.1.tgz"; | ||
2887 | path = fetchurl { | ||
2888 | name = "css-list-helpers-1.0.1.tgz"; | ||
2889 | url = "https://registry.yarnpkg.com/css-list-helpers/-/css-list-helpers-1.0.1.tgz"; | ||
2890 | sha1 = "fff57192202db83240c41686f919e449a7024f7d"; | ||
2891 | }; | ||
2892 | } | ||
2893 | |||
2894 | { | ||
2895 | name = "css-loader-1.0.0.tgz"; | ||
2896 | path = fetchurl { | ||
2897 | name = "css-loader-1.0.0.tgz"; | ||
2898 | url = "https://registry.yarnpkg.com/css-loader/-/css-loader-1.0.0.tgz"; | ||
2899 | sha1 = "9f46aaa5ca41dbe31860e3b62b8e23c42916bf56"; | ||
2900 | }; | ||
2901 | } | ||
2902 | |||
2903 | { | ||
2904 | name = "css-select-1.2.0.tgz"; | ||
2905 | path = fetchurl { | ||
2906 | name = "css-select-1.2.0.tgz"; | ||
2907 | url = "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz"; | ||
2908 | sha1 = "2b3a110539c5355f1cd8d314623e870b121ec858"; | ||
2909 | }; | ||
2910 | } | ||
2911 | |||
2912 | { | ||
2913 | name = "css-selector-tokenizer-0.7.0.tgz"; | ||
2914 | path = fetchurl { | ||
2915 | name = "css-selector-tokenizer-0.7.0.tgz"; | ||
2916 | url = "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz"; | ||
2917 | sha1 = "e6988474ae8c953477bf5e7efecfceccd9cf4c86"; | ||
2918 | }; | ||
2919 | } | ||
2920 | |||
2921 | { | ||
2922 | name = "css-system-font-keywords-1.0.0.tgz"; | ||
2923 | path = fetchurl { | ||
2924 | name = "css-system-font-keywords-1.0.0.tgz"; | ||
2925 | url = "https://registry.yarnpkg.com/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz"; | ||
2926 | sha1 = "85c6f086aba4eb32c571a3086affc434b84823ed"; | ||
2927 | }; | ||
2928 | } | ||
2929 | |||
2930 | { | ||
2931 | name = "css-what-2.1.0.tgz"; | ||
2932 | path = fetchurl { | ||
2933 | name = "css-what-2.1.0.tgz"; | ||
2934 | url = "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz"; | ||
2935 | sha1 = "9467d032c38cfaefb9f2d79501253062f87fa1bd"; | ||
2936 | }; | ||
2937 | } | ||
2938 | |||
2939 | { | ||
2940 | name = "cssdb-1.6.0.tgz"; | ||
2941 | path = fetchurl { | ||
2942 | name = "cssdb-1.6.0.tgz"; | ||
2943 | url = "http://registry.npmjs.org/cssdb/-/cssdb-1.6.0.tgz"; | ||
2944 | sha1 = "3360c4163e07cf4d1efe58c1bc15170535f4d393"; | ||
2945 | }; | ||
2946 | } | ||
2947 | |||
2948 | { | ||
2949 | name = "cssesc-0.1.0.tgz"; | ||
2950 | path = fetchurl { | ||
2951 | name = "cssesc-0.1.0.tgz"; | ||
2952 | url = "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz"; | ||
2953 | sha1 = "c814903e45623371a0477b40109aaafbeeaddbb4"; | ||
2954 | }; | ||
2955 | } | ||
2956 | |||
2957 | { | ||
2958 | name = "cssom-0.3.4.tgz"; | ||
2959 | path = fetchurl { | ||
2960 | name = "cssom-0.3.4.tgz"; | ||
2961 | url = "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz"; | ||
2962 | sha1 = "8cd52e8a3acfd68d3aed38ee0a640177d2f9d797"; | ||
2963 | }; | ||
2964 | } | ||
2965 | |||
2966 | { | ||
2967 | name = "cssstyle-1.1.1.tgz"; | ||
2968 | path = fetchurl { | ||
2969 | name = "cssstyle-1.1.1.tgz"; | ||
2970 | url = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.1.1.tgz"; | ||
2971 | sha1 = "18b038a9c44d65f7a8e428a653b9f6fe42faf5fb"; | ||
2972 | }; | ||
2973 | } | ||
2974 | |||
2975 | { | ||
2976 | name = "csstype-2.5.6.tgz"; | ||
2977 | path = fetchurl { | ||
2978 | name = "csstype-2.5.6.tgz"; | ||
2979 | url = "https://registry.yarnpkg.com/csstype/-/csstype-2.5.6.tgz"; | ||
2980 | sha1 = "2ae1db2319642d8b80a668d2d025c6196071e788"; | ||
2981 | }; | ||
2982 | } | ||
2983 | |||
2984 | { | ||
2985 | name = "currently-unhandled-0.4.1.tgz"; | ||
2986 | path = fetchurl { | ||
2987 | name = "currently-unhandled-0.4.1.tgz"; | ||
2988 | url = "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz"; | ||
2989 | sha1 = "988df33feab191ef799a61369dd76c17adf957ea"; | ||
2990 | }; | ||
2991 | } | ||
2992 | |||
2993 | { | ||
2994 | name = "cyclist-0.2.2.tgz"; | ||
2995 | path = fetchurl { | ||
2996 | name = "cyclist-0.2.2.tgz"; | ||
2997 | url = "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz"; | ||
2998 | sha1 = "1b33792e11e914a2fd6d6ed6447464444e5fa640"; | ||
2999 | }; | ||
3000 | } | ||
3001 | |||
3002 | { | ||
3003 | name = "d-1.0.0.tgz"; | ||
3004 | path = fetchurl { | ||
3005 | name = "d-1.0.0.tgz"; | ||
3006 | url = "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz"; | ||
3007 | sha1 = "754bb5bfe55451da69a58b94d45f4c5b0462d58f"; | ||
3008 | }; | ||
3009 | } | ||
3010 | |||
3011 | { | ||
3012 | name = "damerau-levenshtein-1.0.4.tgz"; | ||
3013 | path = fetchurl { | ||
3014 | name = "damerau-levenshtein-1.0.4.tgz"; | ||
3015 | url = "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz"; | ||
3016 | sha1 = "03191c432cb6eea168bb77f3a55ffdccb8978514"; | ||
3017 | }; | ||
3018 | } | ||
3019 | |||
3020 | { | ||
3021 | name = "dashdash-1.14.1.tgz"; | ||
3022 | path = fetchurl { | ||
3023 | name = "dashdash-1.14.1.tgz"; | ||
3024 | url = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz"; | ||
3025 | sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"; | ||
3026 | }; | ||
3027 | } | ||
3028 | |||
3029 | { | ||
3030 | name = "data-urls-1.0.1.tgz"; | ||
3031 | path = fetchurl { | ||
3032 | name = "data-urls-1.0.1.tgz"; | ||
3033 | url = "https://registry.yarnpkg.com/data-urls/-/data-urls-1.0.1.tgz"; | ||
3034 | sha1 = "d416ac3896918f29ca84d81085bc3705834da579"; | ||
3035 | }; | ||
3036 | } | ||
3037 | |||
3038 | { | ||
3039 | name = "date-now-0.1.4.tgz"; | ||
3040 | path = fetchurl { | ||
3041 | name = "date-now-0.1.4.tgz"; | ||
3042 | url = "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz"; | ||
3043 | sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b"; | ||
3044 | }; | ||
3045 | } | ||
3046 | |||
3047 | { | ||
3048 | name = "debug-2.6.9.tgz"; | ||
3049 | path = fetchurl { | ||
3050 | name = "debug-2.6.9.tgz"; | ||
3051 | url = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz"; | ||
3052 | sha1 = "5d128515df134ff327e90a4c93f4e077a536341f"; | ||
3053 | }; | ||
3054 | } | ||
3055 | |||
3056 | { | ||
3057 | name = "debug-3.1.0.tgz"; | ||
3058 | path = fetchurl { | ||
3059 | name = "debug-3.1.0.tgz"; | ||
3060 | url = "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz"; | ||
3061 | sha1 = "5bb5a0672628b64149566ba16819e61518c67261"; | ||
3062 | }; | ||
3063 | } | ||
3064 | |||
3065 | { | ||
3066 | name = "debug-3.2.5.tgz"; | ||
3067 | path = fetchurl { | ||
3068 | name = "debug-3.2.5.tgz"; | ||
3069 | url = "https://registry.yarnpkg.com/debug/-/debug-3.2.5.tgz"; | ||
3070 | sha1 = "c2418fbfd7a29f4d4f70ff4cea604d4b64c46407"; | ||
3071 | }; | ||
3072 | } | ||
3073 | |||
3074 | { | ||
3075 | name = "decamelize-1.2.0.tgz"; | ||
3076 | path = fetchurl { | ||
3077 | name = "decamelize-1.2.0.tgz"; | ||
3078 | url = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz"; | ||
3079 | sha1 = "f6534d15148269b20352e7bee26f501f9a191290"; | ||
3080 | }; | ||
3081 | } | ||
3082 | |||
3083 | { | ||
3084 | name = "decamelize-2.0.0.tgz"; | ||
3085 | path = fetchurl { | ||
3086 | name = "decamelize-2.0.0.tgz"; | ||
3087 | url = "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz"; | ||
3088 | sha1 = "656d7bbc8094c4c788ea53c5840908c9c7d063c7"; | ||
3089 | }; | ||
3090 | } | ||
3091 | |||
3092 | { | ||
3093 | name = "decode-uri-component-0.2.0.tgz"; | ||
3094 | path = fetchurl { | ||
3095 | name = "decode-uri-component-0.2.0.tgz"; | ||
3096 | url = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz"; | ||
3097 | sha1 = "eb3913333458775cb84cd1a1fae062106bb87545"; | ||
3098 | }; | ||
3099 | } | ||
3100 | |||
3101 | { | ||
3102 | name = "deep-equal-1.0.1.tgz"; | ||
3103 | path = fetchurl { | ||
3104 | name = "deep-equal-1.0.1.tgz"; | ||
3105 | url = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz"; | ||
3106 | sha1 = "f5d260292b660e084eff4cdbc9f08ad3247448b5"; | ||
3107 | }; | ||
3108 | } | ||
3109 | |||
3110 | { | ||
3111 | name = "deep-extend-0.5.1.tgz"; | ||
3112 | path = fetchurl { | ||
3113 | name = "deep-extend-0.5.1.tgz"; | ||
3114 | url = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz"; | ||
3115 | sha1 = "b894a9dd90d3023fbf1c55a394fb858eb2066f1f"; | ||
3116 | }; | ||
3117 | } | ||
3118 | |||
3119 | { | ||
3120 | name = "deep-extend-0.6.0.tgz"; | ||
3121 | path = fetchurl { | ||
3122 | name = "deep-extend-0.6.0.tgz"; | ||
3123 | url = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz"; | ||
3124 | sha1 = "c4fa7c95404a17a9c3e8ca7e1537312b736330ac"; | ||
3125 | }; | ||
3126 | } | ||
3127 | |||
3128 | { | ||
3129 | name = "deep-is-0.1.3.tgz"; | ||
3130 | path = fetchurl { | ||
3131 | name = "deep-is-0.1.3.tgz"; | ||
3132 | url = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz"; | ||
3133 | sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34"; | ||
3134 | }; | ||
3135 | } | ||
3136 | |||
3137 | { | ||
3138 | name = "default-gateway-2.7.2.tgz"; | ||
3139 | path = fetchurl { | ||
3140 | name = "default-gateway-2.7.2.tgz"; | ||
3141 | url = "https://registry.yarnpkg.com/default-gateway/-/default-gateway-2.7.2.tgz"; | ||
3142 | sha1 = "b7ef339e5e024b045467af403d50348db4642d0f"; | ||
3143 | }; | ||
3144 | } | ||
3145 | |||
3146 | { | ||
3147 | name = "default-require-extensions-1.0.0.tgz"; | ||
3148 | path = fetchurl { | ||
3149 | name = "default-require-extensions-1.0.0.tgz"; | ||
3150 | url = "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz"; | ||
3151 | sha1 = "f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8"; | ||
3152 | }; | ||
3153 | } | ||
3154 | |||
3155 | { | ||
3156 | name = "defaults-1.0.3.tgz"; | ||
3157 | path = fetchurl { | ||
3158 | name = "defaults-1.0.3.tgz"; | ||
3159 | url = "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz"; | ||
3160 | sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d"; | ||
3161 | }; | ||
3162 | } | ||
3163 | |||
3164 | { | ||
3165 | name = "define-properties-1.1.3.tgz"; | ||
3166 | path = fetchurl { | ||
3167 | name = "define-properties-1.1.3.tgz"; | ||
3168 | url = "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz"; | ||
3169 | sha1 = "cf88da6cbee26fe6db7094f61d870cbd84cee9f1"; | ||
3170 | }; | ||
3171 | } | ||
3172 | |||
3173 | { | ||
3174 | name = "define-property-0.2.5.tgz"; | ||
3175 | path = fetchurl { | ||
3176 | name = "define-property-0.2.5.tgz"; | ||
3177 | url = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz"; | ||
3178 | sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116"; | ||
3179 | }; | ||
3180 | } | ||
3181 | |||
3182 | { | ||
3183 | name = "define-property-1.0.0.tgz"; | ||
3184 | path = fetchurl { | ||
3185 | name = "define-property-1.0.0.tgz"; | ||
3186 | url = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz"; | ||
3187 | sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"; | ||
3188 | }; | ||
3189 | } | ||
3190 | |||
3191 | { | ||
3192 | name = "define-property-2.0.2.tgz"; | ||
3193 | path = fetchurl { | ||
3194 | name = "define-property-2.0.2.tgz"; | ||
3195 | url = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz"; | ||
3196 | sha1 = "d459689e8d654ba77e02a817f8710d702cb16e9d"; | ||
3197 | }; | ||
3198 | } | ||
3199 | |||
3200 | { | ||
3201 | name = "del-2.2.2.tgz"; | ||
3202 | path = fetchurl { | ||
3203 | name = "del-2.2.2.tgz"; | ||
3204 | url = "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz"; | ||
3205 | sha1 = "c12c981d067846c84bcaf862cff930d907ffd1a8"; | ||
3206 | }; | ||
3207 | } | ||
3208 | |||
3209 | { | ||
3210 | name = "del-3.0.0.tgz"; | ||
3211 | path = fetchurl { | ||
3212 | name = "del-3.0.0.tgz"; | ||
3213 | url = "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz"; | ||
3214 | sha1 = "53ecf699ffcbcb39637691ab13baf160819766e5"; | ||
3215 | }; | ||
3216 | } | ||
3217 | |||
3218 | { | ||
3219 | name = "delayed-stream-1.0.0.tgz"; | ||
3220 | path = fetchurl { | ||
3221 | name = "delayed-stream-1.0.0.tgz"; | ||
3222 | url = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz"; | ||
3223 | sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619"; | ||
3224 | }; | ||
3225 | } | ||
3226 | |||
3227 | { | ||
3228 | name = "delegates-1.0.0.tgz"; | ||
3229 | path = fetchurl { | ||
3230 | name = "delegates-1.0.0.tgz"; | ||
3231 | url = "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz"; | ||
3232 | sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a"; | ||
3233 | }; | ||
3234 | } | ||
3235 | |||
3236 | { | ||
3237 | name = "depd-1.1.1.tgz"; | ||
3238 | path = fetchurl { | ||
3239 | name = "depd-1.1.1.tgz"; | ||
3240 | url = "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz"; | ||
3241 | sha1 = "5783b4e1c459f06fa5ca27f991f3d06e7a310359"; | ||
3242 | }; | ||
3243 | } | ||
3244 | |||
3245 | { | ||
3246 | name = "depd-1.1.2.tgz"; | ||
3247 | path = fetchurl { | ||
3248 | name = "depd-1.1.2.tgz"; | ||
3249 | url = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz"; | ||
3250 | sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9"; | ||
3251 | }; | ||
3252 | } | ||
3253 | |||
3254 | { | ||
3255 | name = "des.js-1.0.0.tgz"; | ||
3256 | path = fetchurl { | ||
3257 | name = "des.js-1.0.0.tgz"; | ||
3258 | url = "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz"; | ||
3259 | sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"; | ||
3260 | }; | ||
3261 | } | ||
3262 | |||
3263 | { | ||
3264 | name = "destroy-1.0.4.tgz"; | ||
3265 | path = fetchurl { | ||
3266 | name = "destroy-1.0.4.tgz"; | ||
3267 | url = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz"; | ||
3268 | sha1 = "978857442c44749e4206613e37946205826abd80"; | ||
3269 | }; | ||
3270 | } | ||
3271 | |||
3272 | { | ||
3273 | name = "detect-indent-4.0.0.tgz"; | ||
3274 | path = fetchurl { | ||
3275 | name = "detect-indent-4.0.0.tgz"; | ||
3276 | url = "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz"; | ||
3277 | sha1 = "f76d064352cdf43a1cb6ce619c4ee3a9475de208"; | ||
3278 | }; | ||
3279 | } | ||
3280 | |||
3281 | { | ||
3282 | name = "detect-libc-1.0.3.tgz"; | ||
3283 | path = fetchurl { | ||
3284 | name = "detect-libc-1.0.3.tgz"; | ||
3285 | url = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz"; | ||
3286 | sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"; | ||
3287 | }; | ||
3288 | } | ||
3289 | |||
3290 | { | ||
3291 | name = "detect-newline-2.1.0.tgz"; | ||
3292 | path = fetchurl { | ||
3293 | name = "detect-newline-2.1.0.tgz"; | ||
3294 | url = "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz"; | ||
3295 | sha1 = "f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"; | ||
3296 | }; | ||
3297 | } | ||
3298 | |||
3299 | { | ||
3300 | name = "detect-node-2.0.4.tgz"; | ||
3301 | path = fetchurl { | ||
3302 | name = "detect-node-2.0.4.tgz"; | ||
3303 | url = "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz"; | ||
3304 | sha1 = "014ee8f8f669c5c58023da64b8179c083a28c46c"; | ||
3305 | }; | ||
3306 | } | ||
3307 | |||
3308 | { | ||
3309 | name = "detect-passive-events-1.0.4.tgz"; | ||
3310 | path = fetchurl { | ||
3311 | name = "detect-passive-events-1.0.4.tgz"; | ||
3312 | url = "https://registry.yarnpkg.com/detect-passive-events/-/detect-passive-events-1.0.4.tgz"; | ||
3313 | sha1 = "6ed477e6e5bceb79079735dcd357789d37f9a91a"; | ||
3314 | }; | ||
3315 | } | ||
3316 | |||
3317 | { | ||
3318 | name = "diff-3.5.0.tgz"; | ||
3319 | path = fetchurl { | ||
3320 | name = "diff-3.5.0.tgz"; | ||
3321 | url = "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz"; | ||
3322 | sha1 = "800c0dd1e0a8bfbc95835c202ad220fe317e5a12"; | ||
3323 | }; | ||
3324 | } | ||
3325 | |||
3326 | { | ||
3327 | name = "diffie-hellman-5.0.3.tgz"; | ||
3328 | path = fetchurl { | ||
3329 | name = "diffie-hellman-5.0.3.tgz"; | ||
3330 | url = "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz"; | ||
3331 | sha1 = "40e8ee98f55a2149607146921c63e1ae5f3d2875"; | ||
3332 | }; | ||
3333 | } | ||
3334 | |||
3335 | { | ||
3336 | name = "discontinuous-range-1.0.0.tgz"; | ||
3337 | path = fetchurl { | ||
3338 | name = "discontinuous-range-1.0.0.tgz"; | ||
3339 | url = "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz"; | ||
3340 | sha1 = "e38331f0844bba49b9a9cb71c771585aab1bc65a"; | ||
3341 | }; | ||
3342 | } | ||
3343 | |||
3344 | { | ||
3345 | name = "dns-equal-1.0.0.tgz"; | ||
3346 | path = fetchurl { | ||
3347 | name = "dns-equal-1.0.0.tgz"; | ||
3348 | url = "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz"; | ||
3349 | sha1 = "b39e7f1da6eb0a75ba9c17324b34753c47e0654d"; | ||
3350 | }; | ||
3351 | } | ||
3352 | |||
3353 | { | ||
3354 | name = "dns-packet-1.3.1.tgz"; | ||
3355 | path = fetchurl { | ||
3356 | name = "dns-packet-1.3.1.tgz"; | ||
3357 | url = "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz"; | ||
3358 | sha1 = "12aa426981075be500b910eedcd0b47dd7deda5a"; | ||
3359 | }; | ||
3360 | } | ||
3361 | |||
3362 | { | ||
3363 | name = "dns-txt-2.0.2.tgz"; | ||
3364 | path = fetchurl { | ||
3365 | name = "dns-txt-2.0.2.tgz"; | ||
3366 | url = "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz"; | ||
3367 | sha1 = "b91d806f5d27188e4ab3e7d107d881a1cc4642b6"; | ||
3368 | }; | ||
3369 | } | ||
3370 | |||
3371 | { | ||
3372 | name = "doctrine-1.5.0.tgz"; | ||
3373 | path = fetchurl { | ||
3374 | name = "doctrine-1.5.0.tgz"; | ||
3375 | url = "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz"; | ||
3376 | sha1 = "379dce730f6166f76cefa4e6707a159b02c5a6fa"; | ||
3377 | }; | ||
3378 | } | ||
3379 | |||
3380 | { | ||
3381 | name = "doctrine-2.1.0.tgz"; | ||
3382 | path = fetchurl { | ||
3383 | name = "doctrine-2.1.0.tgz"; | ||
3384 | url = "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz"; | ||
3385 | sha1 = "5cd01fc101621b42c4cd7f5d1a66243716d3f39d"; | ||
3386 | }; | ||
3387 | } | ||
3388 | |||
3389 | { | ||
3390 | name = "dom-helpers-3.3.1.tgz"; | ||
3391 | path = fetchurl { | ||
3392 | name = "dom-helpers-3.3.1.tgz"; | ||
3393 | url = "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.3.1.tgz"; | ||
3394 | sha1 = "fc1a4e15ffdf60ddde03a480a9c0fece821dd4a6"; | ||
3395 | }; | ||
3396 | } | ||
3397 | |||
3398 | { | ||
3399 | name = "dom-serializer-0.1.0.tgz"; | ||
3400 | path = fetchurl { | ||
3401 | name = "dom-serializer-0.1.0.tgz"; | ||
3402 | url = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz"; | ||
3403 | sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82"; | ||
3404 | }; | ||
3405 | } | ||
3406 | |||
3407 | { | ||
3408 | name = "domain-browser-1.2.0.tgz"; | ||
3409 | path = fetchurl { | ||
3410 | name = "domain-browser-1.2.0.tgz"; | ||
3411 | url = "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz"; | ||
3412 | sha1 = "3d31f50191a6749dd1375a7f522e823d42e54eda"; | ||
3413 | }; | ||
3414 | } | ||
3415 | |||
3416 | { | ||
3417 | name = "domelementtype-1.3.0.tgz"; | ||
3418 | path = fetchurl { | ||
3419 | name = "domelementtype-1.3.0.tgz"; | ||
3420 | url = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz"; | ||
3421 | sha1 = "b17aed82e8ab59e52dd9c19b1756e0fc187204c2"; | ||
3422 | }; | ||
3423 | } | ||
3424 | |||
3425 | { | ||
3426 | name = "domelementtype-1.1.3.tgz"; | ||
3427 | path = fetchurl { | ||
3428 | name = "domelementtype-1.1.3.tgz"; | ||
3429 | url = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz"; | ||
3430 | sha1 = "bd28773e2642881aec51544924299c5cd822185b"; | ||
3431 | }; | ||
3432 | } | ||
3433 | |||
3434 | { | ||
3435 | name = "domexception-1.0.1.tgz"; | ||
3436 | path = fetchurl { | ||
3437 | name = "domexception-1.0.1.tgz"; | ||
3438 | url = "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz"; | ||
3439 | sha1 = "937442644ca6a31261ef36e3ec677fe805582c90"; | ||
3440 | }; | ||
3441 | } | ||
3442 | |||
3443 | { | ||
3444 | name = "domhandler-2.4.2.tgz"; | ||
3445 | path = fetchurl { | ||
3446 | name = "domhandler-2.4.2.tgz"; | ||
3447 | url = "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz"; | ||
3448 | sha1 = "8805097e933d65e85546f726d60f5eb88b44f803"; | ||
3449 | }; | ||
3450 | } | ||
3451 | |||
3452 | { | ||
3453 | name = "domutils-1.5.1.tgz"; | ||
3454 | path = fetchurl { | ||
3455 | name = "domutils-1.5.1.tgz"; | ||
3456 | url = "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz"; | ||
3457 | sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf"; | ||
3458 | }; | ||
3459 | } | ||
3460 | |||
3461 | { | ||
3462 | name = "domutils-1.7.0.tgz"; | ||
3463 | path = fetchurl { | ||
3464 | name = "domutils-1.7.0.tgz"; | ||
3465 | url = "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz"; | ||
3466 | sha1 = "56ea341e834e06e6748af7a1cb25da67ea9f8c2a"; | ||
3467 | }; | ||
3468 | } | ||
3469 | |||
3470 | { | ||
3471 | name = "dot-prop-4.2.0.tgz"; | ||
3472 | path = fetchurl { | ||
3473 | name = "dot-prop-4.2.0.tgz"; | ||
3474 | url = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz"; | ||
3475 | sha1 = "1f19e0c2e1aa0e32797c49799f2837ac6af69c57"; | ||
3476 | }; | ||
3477 | } | ||
3478 | |||
3479 | { | ||
3480 | name = "dotenv-4.0.0.tgz"; | ||
3481 | path = fetchurl { | ||
3482 | name = "dotenv-4.0.0.tgz"; | ||
3483 | url = "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz"; | ||
3484 | sha1 = "864ef1379aced55ce6f95debecdce179f7a0cd1d"; | ||
3485 | }; | ||
3486 | } | ||
3487 | |||
3488 | { | ||
3489 | name = "double-ended-queue-2.1.0-0.tgz"; | ||
3490 | path = fetchurl { | ||
3491 | name = "double-ended-queue-2.1.0-0.tgz"; | ||
3492 | url = "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz"; | ||
3493 | sha1 = "103d3527fd31528f40188130c841efdd78264e5c"; | ||
3494 | }; | ||
3495 | } | ||
3496 | |||
3497 | { | ||
3498 | name = "duplexer-0.1.1.tgz"; | ||
3499 | path = fetchurl { | ||
3500 | name = "duplexer-0.1.1.tgz"; | ||
3501 | url = "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz"; | ||
3502 | sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1"; | ||
3503 | }; | ||
3504 | } | ||
3505 | |||
3506 | { | ||
3507 | name = "duplexify-3.6.0.tgz"; | ||
3508 | path = fetchurl { | ||
3509 | name = "duplexify-3.6.0.tgz"; | ||
3510 | url = "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz"; | ||
3511 | sha1 = "592903f5d80b38d037220541264d69a198fb3410"; | ||
3512 | }; | ||
3513 | } | ||
3514 | |||
3515 | { | ||
3516 | name = "ecc-jsbn-0.1.2.tgz"; | ||
3517 | path = fetchurl { | ||
3518 | name = "ecc-jsbn-0.1.2.tgz"; | ||
3519 | url = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"; | ||
3520 | sha1 = "3a83a904e54353287874c564b7549386849a98c9"; | ||
3521 | }; | ||
3522 | } | ||
3523 | |||
3524 | { | ||
3525 | name = "ee-first-1.1.1.tgz"; | ||
3526 | path = fetchurl { | ||
3527 | name = "ee-first-1.1.1.tgz"; | ||
3528 | url = "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz"; | ||
3529 | sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d"; | ||
3530 | }; | ||
3531 | } | ||
3532 | |||
3533 | { | ||
3534 | name = "ejs-2.6.1.tgz"; | ||
3535 | path = fetchurl { | ||
3536 | name = "ejs-2.6.1.tgz"; | ||
3537 | url = "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz"; | ||
3538 | sha1 = "498ec0d495655abc6f23cd61868d926464071aa0"; | ||
3539 | }; | ||
3540 | } | ||
3541 | |||
3542 | { | ||
3543 | name = "electron-to-chromium-1.3.66.tgz"; | ||
3544 | path = fetchurl { | ||
3545 | name = "electron-to-chromium-1.3.66.tgz"; | ||
3546 | url = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.66.tgz"; | ||
3547 | sha1 = "1410d8f8768a14dcd09d96222990f43c969af270"; | ||
3548 | }; | ||
3549 | } | ||
3550 | |||
3551 | { | ||
3552 | name = "elliptic-6.4.1.tgz"; | ||
3553 | path = fetchurl { | ||
3554 | name = "elliptic-6.4.1.tgz"; | ||
3555 | url = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz"; | ||
3556 | sha1 = "c2d0b7776911b86722c632c3c06c60f2f819939a"; | ||
3557 | }; | ||
3558 | } | ||
3559 | |||
3560 | { | ||
3561 | name = "ff00dc470b5b2d9f145a6d6e977a54de5df2b4c9"; | ||
3562 | path = fetchurl { | ||
3563 | name = "ff00dc470b5b2d9f145a6d6e977a54de5df2b4c9"; | ||
3564 | url = "https://codeload.github.com/Gargron/emoji-mart/tar.gz/ff00dc470b5b2d9f145a6d6e977a54de5df2b4c9"; | ||
3565 | sha1 = "4255dc41fa7df9c3a02c1595f058e248bc37b784"; | ||
3566 | }; | ||
3567 | } | ||
3568 | |||
3569 | { | ||
3570 | name = "emoji-regex-6.5.1.tgz"; | ||
3571 | path = fetchurl { | ||
3572 | name = "emoji-regex-6.5.1.tgz"; | ||
3573 | url = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz"; | ||
3574 | sha1 = "9baea929b155565c11ea41c6626eaa65cef992c2"; | ||
3575 | }; | ||
3576 | } | ||
3577 | |||
3578 | { | ||
3579 | name = "emojis-list-2.1.0.tgz"; | ||
3580 | path = fetchurl { | ||
3581 | name = "emojis-list-2.1.0.tgz"; | ||
3582 | url = "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz"; | ||
3583 | sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389"; | ||
3584 | }; | ||
3585 | } | ||
3586 | |||
3587 | { | ||
3588 | name = "encodeurl-1.0.2.tgz"; | ||
3589 | path = fetchurl { | ||
3590 | name = "encodeurl-1.0.2.tgz"; | ||
3591 | url = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz"; | ||
3592 | sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"; | ||
3593 | }; | ||
3594 | } | ||
3595 | |||
3596 | { | ||
3597 | name = "encoding-0.1.12.tgz"; | ||
3598 | path = fetchurl { | ||
3599 | name = "encoding-0.1.12.tgz"; | ||
3600 | url = "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz"; | ||
3601 | sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb"; | ||
3602 | }; | ||
3603 | } | ||
3604 | |||
3605 | { | ||
3606 | name = "end-of-stream-1.4.1.tgz"; | ||
3607 | path = fetchurl { | ||
3608 | name = "end-of-stream-1.4.1.tgz"; | ||
3609 | url = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz"; | ||
3610 | sha1 = "ed29634d19baba463b6ce6b80a37213eab71ec43"; | ||
3611 | }; | ||
3612 | } | ||
3613 | |||
3614 | { | ||
3615 | name = "enhanced-resolve-4.1.0.tgz"; | ||
3616 | path = fetchurl { | ||
3617 | name = "enhanced-resolve-4.1.0.tgz"; | ||
3618 | url = "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz"; | ||
3619 | sha1 = "41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f"; | ||
3620 | }; | ||
3621 | } | ||
3622 | |||
3623 | { | ||
3624 | name = "entities-1.1.1.tgz"; | ||
3625 | path = fetchurl { | ||
3626 | name = "entities-1.1.1.tgz"; | ||
3627 | url = "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz"; | ||
3628 | sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"; | ||
3629 | }; | ||
3630 | } | ||
3631 | |||
3632 | { | ||
3633 | name = "enzyme-adapter-react-16-1.5.0.tgz"; | ||
3634 | path = fetchurl { | ||
3635 | name = "enzyme-adapter-react-16-1.5.0.tgz"; | ||
3636 | url = "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.5.0.tgz"; | ||
3637 | sha1 = "50af8d76a45fe0915de932bd95d34cdca75c0be3"; | ||
3638 | }; | ||
3639 | } | ||
3640 | |||
3641 | { | ||
3642 | name = "enzyme-adapter-utils-1.8.0.tgz"; | ||
3643 | path = fetchurl { | ||
3644 | name = "enzyme-adapter-utils-1.8.0.tgz"; | ||
3645 | url = "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.8.0.tgz"; | ||
3646 | sha1 = "ee9f07250663a985f1f2caaf297720787da559f1"; | ||
3647 | }; | ||
3648 | } | ||
3649 | |||
3650 | { | ||
3651 | name = "enzyme-3.6.0.tgz"; | ||
3652 | path = fetchurl { | ||
3653 | name = "enzyme-3.6.0.tgz"; | ||
3654 | url = "https://registry.yarnpkg.com/enzyme/-/enzyme-3.6.0.tgz"; | ||
3655 | sha1 = "d213f280a258f61e901bc663d4cc2d6fd9a9dec8"; | ||
3656 | }; | ||
3657 | } | ||
3658 | |||
3659 | { | ||
3660 | name = "errno-0.1.7.tgz"; | ||
3661 | path = fetchurl { | ||
3662 | name = "errno-0.1.7.tgz"; | ||
3663 | url = "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz"; | ||
3664 | sha1 = "4684d71779ad39af177e3f007996f7c67c852618"; | ||
3665 | }; | ||
3666 | } | ||
3667 | |||
3668 | { | ||
3669 | name = "error-ex-1.3.2.tgz"; | ||
3670 | path = fetchurl { | ||
3671 | name = "error-ex-1.3.2.tgz"; | ||
3672 | url = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz"; | ||
3673 | sha1 = "b4ac40648107fdcdcfae242f428bea8a14d4f1bf"; | ||
3674 | }; | ||
3675 | } | ||
3676 | |||
3677 | { | ||
3678 | name = "es-abstract-1.12.0.tgz"; | ||
3679 | path = fetchurl { | ||
3680 | name = "es-abstract-1.12.0.tgz"; | ||
3681 | url = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz"; | ||
3682 | sha1 = "9dbbdd27c6856f0001421ca18782d786bf8a6165"; | ||
3683 | }; | ||
3684 | } | ||
3685 | |||
3686 | { | ||
3687 | name = "es-to-primitive-1.1.1.tgz"; | ||
3688 | path = fetchurl { | ||
3689 | name = "es-to-primitive-1.1.1.tgz"; | ||
3690 | url = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz"; | ||
3691 | sha1 = "45355248a88979034b6792e19bb81f2b7975dd0d"; | ||
3692 | }; | ||
3693 | } | ||
3694 | |||
3695 | { | ||
3696 | name = "es5-ext-0.10.46.tgz"; | ||
3697 | path = fetchurl { | ||
3698 | name = "es5-ext-0.10.46.tgz"; | ||
3699 | url = "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.46.tgz"; | ||
3700 | sha1 = "efd99f67c5a7ec789baa3daa7f79870388f7f572"; | ||
3701 | }; | ||
3702 | } | ||
3703 | |||
3704 | { | ||
3705 | name = "es6-iterator-2.0.3.tgz"; | ||
3706 | path = fetchurl { | ||
3707 | name = "es6-iterator-2.0.3.tgz"; | ||
3708 | url = "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz"; | ||
3709 | sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7"; | ||
3710 | }; | ||
3711 | } | ||
3712 | |||
3713 | { | ||
3714 | name = "es6-symbol-3.1.1.tgz"; | ||
3715 | path = fetchurl { | ||
3716 | name = "es6-symbol-3.1.1.tgz"; | ||
3717 | url = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz"; | ||
3718 | sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"; | ||
3719 | }; | ||
3720 | } | ||
3721 | |||
3722 | { | ||
3723 | name = "escape-html-1.0.3.tgz"; | ||
3724 | path = fetchurl { | ||
3725 | name = "escape-html-1.0.3.tgz"; | ||
3726 | url = "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz"; | ||
3727 | sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988"; | ||
3728 | }; | ||
3729 | } | ||
3730 | |||
3731 | { | ||
3732 | name = "escape-string-regexp-1.0.5.tgz"; | ||
3733 | path = fetchurl { | ||
3734 | name = "escape-string-regexp-1.0.5.tgz"; | ||
3735 | url = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; | ||
3736 | sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; | ||
3737 | }; | ||
3738 | } | ||
3739 | |||
3740 | { | ||
3741 | name = "escodegen-1.11.0.tgz"; | ||
3742 | path = fetchurl { | ||
3743 | name = "escodegen-1.11.0.tgz"; | ||
3744 | url = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz"; | ||
3745 | sha1 = "b27a9389481d5bfd5bec76f7bb1eb3f8f4556589"; | ||
3746 | }; | ||
3747 | } | ||
3748 | |||
3749 | { | ||
3750 | name = "eslint-import-resolver-node-0.3.2.tgz"; | ||
3751 | path = fetchurl { | ||
3752 | name = "eslint-import-resolver-node-0.3.2.tgz"; | ||
3753 | url = "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz"; | ||
3754 | sha1 = "58f15fb839b8d0576ca980413476aab2472db66a"; | ||
3755 | }; | ||
3756 | } | ||
3757 | |||
3758 | { | ||
3759 | name = "eslint-module-utils-2.2.0.tgz"; | ||
3760 | path = fetchurl { | ||
3761 | name = "eslint-module-utils-2.2.0.tgz"; | ||
3762 | url = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz"; | ||
3763 | sha1 = "b270362cd88b1a48ad308976ce7fa54e98411746"; | ||
3764 | }; | ||
3765 | } | ||
3766 | |||
3767 | { | ||
3768 | name = "eslint-plugin-import-2.14.0.tgz"; | ||
3769 | path = fetchurl { | ||
3770 | name = "eslint-plugin-import-2.14.0.tgz"; | ||
3771 | url = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz"; | ||
3772 | sha1 = "6b17626d2e3e6ad52cfce8807a845d15e22111a8"; | ||
3773 | }; | ||
3774 | } | ||
3775 | |||
3776 | { | ||
3777 | name = "eslint-plugin-jsx-a11y-6.1.1.tgz"; | ||
3778 | path = fetchurl { | ||
3779 | name = "eslint-plugin-jsx-a11y-6.1.1.tgz"; | ||
3780 | url = "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.1.tgz"; | ||
3781 | sha1 = "7bf56dbe7d47d811d14dbb3ddff644aa656ce8e1"; | ||
3782 | }; | ||
3783 | } | ||
3784 | |||
3785 | { | ||
3786 | name = "eslint-plugin-promise-3.8.0.tgz"; | ||
3787 | path = fetchurl { | ||
3788 | name = "eslint-plugin-promise-3.8.0.tgz"; | ||
3789 | url = "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.8.0.tgz"; | ||
3790 | sha1 = "65ebf27a845e3c1e9d6f6a5622ddd3801694b621"; | ||
3791 | }; | ||
3792 | } | ||
3793 | |||
3794 | { | ||
3795 | name = "eslint-plugin-react-7.11.1.tgz"; | ||
3796 | path = fetchurl { | ||
3797 | name = "eslint-plugin-react-7.11.1.tgz"; | ||
3798 | url = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz"; | ||
3799 | sha1 = "c01a7af6f17519457d6116aa94fc6d2ccad5443c"; | ||
3800 | }; | ||
3801 | } | ||
3802 | |||
3803 | { | ||
3804 | name = "eslint-scope-3.7.1.tgz"; | ||
3805 | path = fetchurl { | ||
3806 | name = "eslint-scope-3.7.1.tgz"; | ||
3807 | url = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz"; | ||
3808 | sha1 = "3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"; | ||
3809 | }; | ||
3810 | } | ||
3811 | |||
3812 | { | ||
3813 | name = "eslint-scope-3.7.3.tgz"; | ||
3814 | path = fetchurl { | ||
3815 | name = "eslint-scope-3.7.3.tgz"; | ||
3816 | url = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz"; | ||
3817 | sha1 = "bb507200d3d17f60247636160b4826284b108535"; | ||
3818 | }; | ||
3819 | } | ||
3820 | |||
3821 | { | ||
3822 | name = "eslint-scope-4.0.0.tgz"; | ||
3823 | path = fetchurl { | ||
3824 | name = "eslint-scope-4.0.0.tgz"; | ||
3825 | url = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz"; | ||
3826 | sha1 = "50bf3071e9338bcdc43331794a0cb533f0136172"; | ||
3827 | }; | ||
3828 | } | ||
3829 | |||
3830 | { | ||
3831 | name = "eslint-visitor-keys-1.0.0.tgz"; | ||
3832 | path = fetchurl { | ||
3833 | name = "eslint-visitor-keys-1.0.0.tgz"; | ||
3834 | url = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz"; | ||
3835 | sha1 = "3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"; | ||
3836 | }; | ||
3837 | } | ||
3838 | |||
3839 | { | ||
3840 | name = "eslint-4.19.1.tgz"; | ||
3841 | path = fetchurl { | ||
3842 | name = "eslint-4.19.1.tgz"; | ||
3843 | url = "http://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz"; | ||
3844 | sha1 = "32d1d653e1d90408854bfb296f076ec7e186a300"; | ||
3845 | }; | ||
3846 | } | ||
3847 | |||
3848 | { | ||
3849 | name = "espree-3.5.4.tgz"; | ||
3850 | path = fetchurl { | ||
3851 | name = "espree-3.5.4.tgz"; | ||
3852 | url = "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz"; | ||
3853 | sha1 = "b0f447187c8a8bed944b815a660bddf5deb5d1a7"; | ||
3854 | }; | ||
3855 | } | ||
3856 | |||
3857 | { | ||
3858 | name = "esprima-3.1.3.tgz"; | ||
3859 | path = fetchurl { | ||
3860 | name = "esprima-3.1.3.tgz"; | ||
3861 | url = "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz"; | ||
3862 | sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633"; | ||
3863 | }; | ||
3864 | } | ||
3865 | |||
3866 | { | ||
3867 | name = "esprima-4.0.1.tgz"; | ||
3868 | path = fetchurl { | ||
3869 | name = "esprima-4.0.1.tgz"; | ||
3870 | url = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz"; | ||
3871 | sha1 = "13b04cdb3e6c5d19df91ab6987a8695619b0aa71"; | ||
3872 | }; | ||
3873 | } | ||
3874 | |||
3875 | { | ||
3876 | name = "esquery-1.0.1.tgz"; | ||
3877 | path = fetchurl { | ||
3878 | name = "esquery-1.0.1.tgz"; | ||
3879 | url = "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz"; | ||
3880 | sha1 = "406c51658b1f5991a5f9b62b1dc25b00e3e5c708"; | ||
3881 | }; | ||
3882 | } | ||
3883 | |||
3884 | { | ||
3885 | name = "esrecurse-4.2.1.tgz"; | ||
3886 | path = fetchurl { | ||
3887 | name = "esrecurse-4.2.1.tgz"; | ||
3888 | url = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz"; | ||
3889 | sha1 = "007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"; | ||
3890 | }; | ||
3891 | } | ||
3892 | |||
3893 | { | ||
3894 | name = "estraverse-4.2.0.tgz"; | ||
3895 | path = fetchurl { | ||
3896 | name = "estraverse-4.2.0.tgz"; | ||
3897 | url = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz"; | ||
3898 | sha1 = "0dee3fed31fcd469618ce7342099fc1afa0bdb13"; | ||
3899 | }; | ||
3900 | } | ||
3901 | |||
3902 | { | ||
3903 | name = "esutils-2.0.2.tgz"; | ||
3904 | path = fetchurl { | ||
3905 | name = "esutils-2.0.2.tgz"; | ||
3906 | url = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz"; | ||
3907 | sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"; | ||
3908 | }; | ||
3909 | } | ||
3910 | |||
3911 | { | ||
3912 | name = "etag-1.8.1.tgz"; | ||
3913 | path = fetchurl { | ||
3914 | name = "etag-1.8.1.tgz"; | ||
3915 | url = "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz"; | ||
3916 | sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887"; | ||
3917 | }; | ||
3918 | } | ||
3919 | |||
3920 | { | ||
3921 | name = "eventemitter3-3.1.0.tgz"; | ||
3922 | path = fetchurl { | ||
3923 | name = "eventemitter3-3.1.0.tgz"; | ||
3924 | url = "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz"; | ||
3925 | sha1 = "090b4d6cdbd645ed10bf750d4b5407942d7ba163"; | ||
3926 | }; | ||
3927 | } | ||
3928 | |||
3929 | { | ||
3930 | name = "events-1.1.1.tgz"; | ||
3931 | path = fetchurl { | ||
3932 | name = "events-1.1.1.tgz"; | ||
3933 | url = "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz"; | ||
3934 | sha1 = "9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"; | ||
3935 | }; | ||
3936 | } | ||
3937 | |||
3938 | { | ||
3939 | name = "eventsource-0.1.6.tgz"; | ||
3940 | path = fetchurl { | ||
3941 | name = "eventsource-0.1.6.tgz"; | ||
3942 | url = "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz"; | ||
3943 | sha1 = "0acede849ed7dd1ccc32c811bb11b944d4f29232"; | ||
3944 | }; | ||
3945 | } | ||
3946 | |||
3947 | { | ||
3948 | name = "evp_bytestokey-1.0.3.tgz"; | ||
3949 | path = fetchurl { | ||
3950 | name = "evp_bytestokey-1.0.3.tgz"; | ||
3951 | url = "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz"; | ||
3952 | sha1 = "7fcbdb198dc71959432efe13842684e0525acb02"; | ||
3953 | }; | ||
3954 | } | ||
3955 | |||
3956 | { | ||
3957 | name = "exec-sh-0.2.2.tgz"; | ||
3958 | path = fetchurl { | ||
3959 | name = "exec-sh-0.2.2.tgz"; | ||
3960 | url = "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz"; | ||
3961 | sha1 = "2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36"; | ||
3962 | }; | ||
3963 | } | ||
3964 | |||
3965 | { | ||
3966 | name = "execa-0.10.0.tgz"; | ||
3967 | path = fetchurl { | ||
3968 | name = "execa-0.10.0.tgz"; | ||
3969 | url = "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz"; | ||
3970 | sha1 = "ff456a8f53f90f8eccc71a96d11bdfc7f082cb50"; | ||
3971 | }; | ||
3972 | } | ||
3973 | |||
3974 | { | ||
3975 | name = "execa-0.7.0.tgz"; | ||
3976 | path = fetchurl { | ||
3977 | name = "execa-0.7.0.tgz"; | ||
3978 | url = "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz"; | ||
3979 | sha1 = "944becd34cc41ee32a63a9faf27ad5a65fc59777"; | ||
3980 | }; | ||
3981 | } | ||
3982 | |||
3983 | { | ||
3984 | name = "exif-js-2.3.0.tgz"; | ||
3985 | path = fetchurl { | ||
3986 | name = "exif-js-2.3.0.tgz"; | ||
3987 | url = "https://registry.yarnpkg.com/exif-js/-/exif-js-2.3.0.tgz"; | ||
3988 | sha1 = "9d10819bf571f873813e7640241255ab9ce1a814"; | ||
3989 | }; | ||
3990 | } | ||
3991 | |||
3992 | { | ||
3993 | name = "exit-0.1.2.tgz"; | ||
3994 | path = fetchurl { | ||
3995 | name = "exit-0.1.2.tgz"; | ||
3996 | url = "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz"; | ||
3997 | sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c"; | ||
3998 | }; | ||
3999 | } | ||
4000 | |||
4001 | { | ||
4002 | name = "expand-brackets-0.1.5.tgz"; | ||
4003 | path = fetchurl { | ||
4004 | name = "expand-brackets-0.1.5.tgz"; | ||
4005 | url = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz"; | ||
4006 | sha1 = "df07284e342a807cd733ac5af72411e581d1177b"; | ||
4007 | }; | ||
4008 | } | ||
4009 | |||
4010 | { | ||
4011 | name = "expand-brackets-2.1.4.tgz"; | ||
4012 | path = fetchurl { | ||
4013 | name = "expand-brackets-2.1.4.tgz"; | ||
4014 | url = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz"; | ||
4015 | sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622"; | ||
4016 | }; | ||
4017 | } | ||
4018 | |||
4019 | { | ||
4020 | name = "expand-range-1.8.2.tgz"; | ||
4021 | path = fetchurl { | ||
4022 | name = "expand-range-1.8.2.tgz"; | ||
4023 | url = "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz"; | ||
4024 | sha1 = "a299effd335fe2721ebae8e257ec79644fc85337"; | ||
4025 | }; | ||
4026 | } | ||
4027 | |||
4028 | { | ||
4029 | name = "expect-23.6.0.tgz"; | ||
4030 | path = fetchurl { | ||
4031 | name = "expect-23.6.0.tgz"; | ||
4032 | url = "https://registry.yarnpkg.com/expect/-/expect-23.6.0.tgz"; | ||
4033 | sha1 = "1e0c8d3ba9a581c87bd71fb9bc8862d443425f98"; | ||
4034 | }; | ||
4035 | } | ||
4036 | |||
4037 | { | ||
4038 | name = "express-4.16.3.tgz"; | ||
4039 | path = fetchurl { | ||
4040 | name = "express-4.16.3.tgz"; | ||
4041 | url = "http://registry.npmjs.org/express/-/express-4.16.3.tgz"; | ||
4042 | sha1 = "6af8a502350db3246ecc4becf6b5a34d22f7ed53"; | ||
4043 | }; | ||
4044 | } | ||
4045 | |||
4046 | { | ||
4047 | name = "extend-shallow-2.0.1.tgz"; | ||
4048 | path = fetchurl { | ||
4049 | name = "extend-shallow-2.0.1.tgz"; | ||
4050 | url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz"; | ||
4051 | sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f"; | ||
4052 | }; | ||
4053 | } | ||
4054 | |||
4055 | { | ||
4056 | name = "extend-shallow-3.0.2.tgz"; | ||
4057 | path = fetchurl { | ||
4058 | name = "extend-shallow-3.0.2.tgz"; | ||
4059 | url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz"; | ||
4060 | sha1 = "26a71aaf073b39fb2127172746131c2704028db8"; | ||
4061 | }; | ||
4062 | } | ||
4063 | |||
4064 | { | ||
4065 | name = "extend-3.0.2.tgz"; | ||
4066 | path = fetchurl { | ||
4067 | name = "extend-3.0.2.tgz"; | ||
4068 | url = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz"; | ||
4069 | sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa"; | ||
4070 | }; | ||
4071 | } | ||
4072 | |||
4073 | { | ||
4074 | name = "external-editor-2.2.0.tgz"; | ||
4075 | path = fetchurl { | ||
4076 | name = "external-editor-2.2.0.tgz"; | ||
4077 | url = "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz"; | ||
4078 | sha1 = "045511cfd8d133f3846673d1047c154e214ad3d5"; | ||
4079 | }; | ||
4080 | } | ||
4081 | |||
4082 | { | ||
4083 | name = "external-editor-3.0.3.tgz"; | ||
4084 | path = fetchurl { | ||
4085 | name = "external-editor-3.0.3.tgz"; | ||
4086 | url = "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz"; | ||
4087 | sha1 = "5866db29a97826dbe4bf3afd24070ead9ea43a27"; | ||
4088 | }; | ||
4089 | } | ||
4090 | |||
4091 | { | ||
4092 | name = "extglob-0.3.2.tgz"; | ||
4093 | path = fetchurl { | ||
4094 | name = "extglob-0.3.2.tgz"; | ||
4095 | url = "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz"; | ||
4096 | sha1 = "2e18ff3d2f49ab2765cec9023f011daa8d8349a1"; | ||
4097 | }; | ||
4098 | } | ||
4099 | |||
4100 | { | ||
4101 | name = "extglob-2.0.4.tgz"; | ||
4102 | path = fetchurl { | ||
4103 | name = "extglob-2.0.4.tgz"; | ||
4104 | url = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz"; | ||
4105 | sha1 = "ad00fe4dc612a9232e8718711dc5cb5ab0285543"; | ||
4106 | }; | ||
4107 | } | ||
4108 | |||
4109 | { | ||
4110 | name = "extsprintf-1.3.0.tgz"; | ||
4111 | path = fetchurl { | ||
4112 | name = "extsprintf-1.3.0.tgz"; | ||
4113 | url = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz"; | ||
4114 | sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05"; | ||
4115 | }; | ||
4116 | } | ||
4117 | |||
4118 | { | ||
4119 | name = "extsprintf-1.4.0.tgz"; | ||
4120 | path = fetchurl { | ||
4121 | name = "extsprintf-1.4.0.tgz"; | ||
4122 | url = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz"; | ||
4123 | sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f"; | ||
4124 | }; | ||
4125 | } | ||
4126 | |||
4127 | { | ||
4128 | name = "fast-deep-equal-1.1.0.tgz"; | ||
4129 | path = fetchurl { | ||
4130 | name = "fast-deep-equal-1.1.0.tgz"; | ||
4131 | url = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz"; | ||
4132 | sha1 = "c053477817c86b51daa853c81e059b733d023614"; | ||
4133 | }; | ||
4134 | } | ||
4135 | |||
4136 | { | ||
4137 | name = "fast-deep-equal-2.0.1.tgz"; | ||
4138 | path = fetchurl { | ||
4139 | name = "fast-deep-equal-2.0.1.tgz"; | ||
4140 | url = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz"; | ||
4141 | sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"; | ||
4142 | }; | ||
4143 | } | ||
4144 | |||
4145 | { | ||
4146 | name = "fast-json-stable-stringify-2.0.0.tgz"; | ||
4147 | path = fetchurl { | ||
4148 | name = "fast-json-stable-stringify-2.0.0.tgz"; | ||
4149 | url = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz"; | ||
4150 | sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2"; | ||
4151 | }; | ||
4152 | } | ||
4153 | |||
4154 | { | ||
4155 | name = "fast-levenshtein-2.0.6.tgz"; | ||
4156 | path = fetchurl { | ||
4157 | name = "fast-levenshtein-2.0.6.tgz"; | ||
4158 | url = "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"; | ||
4159 | sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917"; | ||
4160 | }; | ||
4161 | } | ||
4162 | |||
4163 | { | ||
4164 | name = "fastparse-1.1.1.tgz"; | ||
4165 | path = fetchurl { | ||
4166 | name = "fastparse-1.1.1.tgz"; | ||
4167 | url = "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz"; | ||
4168 | sha1 = "d1e2643b38a94d7583b479060e6c4affc94071f8"; | ||
4169 | }; | ||
4170 | } | ||
4171 | |||
4172 | { | ||
4173 | name = "faye-websocket-0.10.0.tgz"; | ||
4174 | path = fetchurl { | ||
4175 | name = "faye-websocket-0.10.0.tgz"; | ||
4176 | url = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz"; | ||
4177 | sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"; | ||
4178 | }; | ||
4179 | } | ||
4180 | |||
4181 | { | ||
4182 | name = "faye-websocket-0.11.1.tgz"; | ||
4183 | path = fetchurl { | ||
4184 | name = "faye-websocket-0.11.1.tgz"; | ||
4185 | url = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz"; | ||
4186 | sha1 = "f0efe18c4f56e4f40afc7e06c719fd5ee6188f38"; | ||
4187 | }; | ||
4188 | } | ||
4189 | |||
4190 | { | ||
4191 | name = "fb-watchman-2.0.0.tgz"; | ||
4192 | path = fetchurl { | ||
4193 | name = "fb-watchman-2.0.0.tgz"; | ||
4194 | url = "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz"; | ||
4195 | sha1 = "54e9abf7dfa2f26cd9b1636c588c1afc05de5d58"; | ||
4196 | }; | ||
4197 | } | ||
4198 | |||
4199 | { | ||
4200 | name = "fbjs-0.8.17.tgz"; | ||
4201 | path = fetchurl { | ||
4202 | name = "fbjs-0.8.17.tgz"; | ||
4203 | url = "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz"; | ||
4204 | sha1 = "c4d598ead6949112653d6588b01a5cdcd9f90fdd"; | ||
4205 | }; | ||
4206 | } | ||
4207 | |||
4208 | { | ||
4209 | name = "figgy-pudding-3.5.1.tgz"; | ||
4210 | path = fetchurl { | ||
4211 | name = "figgy-pudding-3.5.1.tgz"; | ||
4212 | url = "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz"; | ||
4213 | sha1 = "862470112901c727a0e495a80744bd5baa1d6790"; | ||
4214 | }; | ||
4215 | } | ||
4216 | |||
4217 | { | ||
4218 | name = "figures-2.0.0.tgz"; | ||
4219 | path = fetchurl { | ||
4220 | name = "figures-2.0.0.tgz"; | ||
4221 | url = "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz"; | ||
4222 | sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"; | ||
4223 | }; | ||
4224 | } | ||
4225 | |||
4226 | { | ||
4227 | name = "file-entry-cache-2.0.0.tgz"; | ||
4228 | path = fetchurl { | ||
4229 | name = "file-entry-cache-2.0.0.tgz"; | ||
4230 | url = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz"; | ||
4231 | sha1 = "c392990c3e684783d838b8c84a45d8a048458361"; | ||
4232 | }; | ||
4233 | } | ||
4234 | |||
4235 | { | ||
4236 | name = "file-loader-2.0.0.tgz"; | ||
4237 | path = fetchurl { | ||
4238 | name = "file-loader-2.0.0.tgz"; | ||
4239 | url = "https://registry.yarnpkg.com/file-loader/-/file-loader-2.0.0.tgz"; | ||
4240 | sha1 = "39749c82f020b9e85901dcff98e8004e6401cfde"; | ||
4241 | }; | ||
4242 | } | ||
4243 | |||
4244 | { | ||
4245 | name = "filename-regex-2.0.1.tgz"; | ||
4246 | path = fetchurl { | ||
4247 | name = "filename-regex-2.0.1.tgz"; | ||
4248 | url = "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz"; | ||
4249 | sha1 = "c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"; | ||
4250 | }; | ||
4251 | } | ||
4252 | |||
4253 | { | ||
4254 | name = "fileset-2.0.3.tgz"; | ||
4255 | path = fetchurl { | ||
4256 | name = "fileset-2.0.3.tgz"; | ||
4257 | url = "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz"; | ||
4258 | sha1 = "8e7548a96d3cc2327ee5e674168723a333bba2a0"; | ||
4259 | }; | ||
4260 | } | ||
4261 | |||
4262 | { | ||
4263 | name = "filesize-3.6.1.tgz"; | ||
4264 | path = fetchurl { | ||
4265 | name = "filesize-3.6.1.tgz"; | ||
4266 | url = "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz"; | ||
4267 | sha1 = "090bb3ee01b6f801a8a8be99d31710b3422bb317"; | ||
4268 | }; | ||
4269 | } | ||
4270 | |||
4271 | { | ||
4272 | name = "fill-range-2.2.4.tgz"; | ||
4273 | path = fetchurl { | ||
4274 | name = "fill-range-2.2.4.tgz"; | ||
4275 | url = "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz"; | ||
4276 | sha1 = "eb1e773abb056dcd8df2bfdf6af59b8b3a936565"; | ||
4277 | }; | ||
4278 | } | ||
4279 | |||
4280 | { | ||
4281 | name = "fill-range-4.0.0.tgz"; | ||
4282 | path = fetchurl { | ||
4283 | name = "fill-range-4.0.0.tgz"; | ||
4284 | url = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz"; | ||
4285 | sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7"; | ||
4286 | }; | ||
4287 | } | ||
4288 | |||
4289 | { | ||
4290 | name = "finalhandler-1.1.1.tgz"; | ||
4291 | path = fetchurl { | ||
4292 | name = "finalhandler-1.1.1.tgz"; | ||
4293 | url = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz"; | ||
4294 | sha1 = "eebf4ed840079c83f4249038c9d703008301b105"; | ||
4295 | }; | ||
4296 | } | ||
4297 | |||
4298 | { | ||
4299 | name = "find-cache-dir-1.0.0.tgz"; | ||
4300 | path = fetchurl { | ||
4301 | name = "find-cache-dir-1.0.0.tgz"; | ||
4302 | url = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz"; | ||
4303 | sha1 = "9288e3e9e3cc3748717d39eade17cf71fc30ee6f"; | ||
4304 | }; | ||
4305 | } | ||
4306 | |||
4307 | { | ||
4308 | name = "find-cache-dir-2.0.0.tgz"; | ||
4309 | path = fetchurl { | ||
4310 | name = "find-cache-dir-2.0.0.tgz"; | ||
4311 | url = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.0.0.tgz"; | ||
4312 | sha1 = "4c1faed59f45184530fb9d7fa123a4d04a98472d"; | ||
4313 | }; | ||
4314 | } | ||
4315 | |||
4316 | { | ||
4317 | name = "find-up-1.1.2.tgz"; | ||
4318 | path = fetchurl { | ||
4319 | name = "find-up-1.1.2.tgz"; | ||
4320 | url = "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz"; | ||
4321 | sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"; | ||
4322 | }; | ||
4323 | } | ||
4324 | |||
4325 | { | ||
4326 | name = "find-up-2.1.0.tgz"; | ||
4327 | path = fetchurl { | ||
4328 | name = "find-up-2.1.0.tgz"; | ||
4329 | url = "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz"; | ||
4330 | sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7"; | ||
4331 | }; | ||
4332 | } | ||
4333 | |||
4334 | { | ||
4335 | name = "find-up-3.0.0.tgz"; | ||
4336 | path = fetchurl { | ||
4337 | name = "find-up-3.0.0.tgz"; | ||
4338 | url = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz"; | ||
4339 | sha1 = "49169f1d7993430646da61ecc5ae355c21c97b73"; | ||
4340 | }; | ||
4341 | } | ||
4342 | |||
4343 | { | ||
4344 | name = "flat-cache-1.3.0.tgz"; | ||
4345 | path = fetchurl { | ||
4346 | name = "flat-cache-1.3.0.tgz"; | ||
4347 | url = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz"; | ||
4348 | sha1 = "d3030b32b38154f4e3b7e9c709f490f7ef97c481"; | ||
4349 | }; | ||
4350 | } | ||
4351 | |||
4352 | { | ||
4353 | name = "flatten-1.0.2.tgz"; | ||
4354 | path = fetchurl { | ||
4355 | name = "flatten-1.0.2.tgz"; | ||
4356 | url = "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz"; | ||
4357 | sha1 = "dae46a9d78fbe25292258cc1e780a41d95c03782"; | ||
4358 | }; | ||
4359 | } | ||
4360 | |||
4361 | { | ||
4362 | name = "flush-write-stream-1.0.3.tgz"; | ||
4363 | path = fetchurl { | ||
4364 | name = "flush-write-stream-1.0.3.tgz"; | ||
4365 | url = "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz"; | ||
4366 | sha1 = "c5d586ef38af6097650b49bc41b55fabb19f35bd"; | ||
4367 | }; | ||
4368 | } | ||
4369 | |||
4370 | { | ||
4371 | name = "follow-redirects-1.5.8.tgz"; | ||
4372 | path = fetchurl { | ||
4373 | name = "follow-redirects-1.5.8.tgz"; | ||
4374 | url = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.8.tgz"; | ||
4375 | sha1 = "1dbfe13e45ad969f813e86c00e5296f525c885a1"; | ||
4376 | }; | ||
4377 | } | ||
4378 | |||
4379 | { | ||
4380 | name = "font-awesome-4.7.0.tgz"; | ||
4381 | path = fetchurl { | ||
4382 | name = "font-awesome-4.7.0.tgz"; | ||
4383 | url = "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz"; | ||
4384 | sha1 = "8fa8cf0411a1a31afd07b06d2902bb9fc815a133"; | ||
4385 | }; | ||
4386 | } | ||
4387 | |||
4388 | { | ||
4389 | name = "for-in-0.1.8.tgz"; | ||
4390 | path = fetchurl { | ||
4391 | name = "for-in-0.1.8.tgz"; | ||
4392 | url = "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz"; | ||
4393 | sha1 = "d8773908e31256109952b1fdb9b3fa867d2775e1"; | ||
4394 | }; | ||
4395 | } | ||
4396 | |||
4397 | { | ||
4398 | name = "for-in-1.0.2.tgz"; | ||
4399 | path = fetchurl { | ||
4400 | name = "for-in-1.0.2.tgz"; | ||
4401 | url = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz"; | ||
4402 | sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80"; | ||
4403 | }; | ||
4404 | } | ||
4405 | |||
4406 | { | ||
4407 | name = "for-own-0.1.5.tgz"; | ||
4408 | path = fetchurl { | ||
4409 | name = "for-own-0.1.5.tgz"; | ||
4410 | url = "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz"; | ||
4411 | sha1 = "5265c681a4f294dabbf17c9509b6763aa84510ce"; | ||
4412 | }; | ||
4413 | } | ||
4414 | |||
4415 | { | ||
4416 | name = "for-own-1.0.0.tgz"; | ||
4417 | path = fetchurl { | ||
4418 | name = "for-own-1.0.0.tgz"; | ||
4419 | url = "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz"; | ||
4420 | sha1 = "c63332f415cedc4b04dbfe70cf836494c53cb44b"; | ||
4421 | }; | ||
4422 | } | ||
4423 | |||
4424 | { | ||
4425 | name = "forever-agent-0.6.1.tgz"; | ||
4426 | path = fetchurl { | ||
4427 | name = "forever-agent-0.6.1.tgz"; | ||
4428 | url = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz"; | ||
4429 | sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"; | ||
4430 | }; | ||
4431 | } | ||
4432 | |||
4433 | { | ||
4434 | name = "form-data-2.1.4.tgz"; | ||
4435 | path = fetchurl { | ||
4436 | name = "form-data-2.1.4.tgz"; | ||
4437 | url = "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz"; | ||
4438 | sha1 = "33c183acf193276ecaa98143a69e94bfee1750d1"; | ||
4439 | }; | ||
4440 | } | ||
4441 | |||
4442 | { | ||
4443 | name = "form-data-2.3.2.tgz"; | ||
4444 | path = fetchurl { | ||
4445 | name = "form-data-2.3.2.tgz"; | ||
4446 | url = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz"; | ||
4447 | sha1 = "4970498be604c20c005d4f5c23aecd21d6b49099"; | ||
4448 | }; | ||
4449 | } | ||
4450 | |||
4451 | { | ||
4452 | name = "forwarded-0.1.2.tgz"; | ||
4453 | path = fetchurl { | ||
4454 | name = "forwarded-0.1.2.tgz"; | ||
4455 | url = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz"; | ||
4456 | sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84"; | ||
4457 | }; | ||
4458 | } | ||
4459 | |||
4460 | { | ||
4461 | name = "fragment-cache-0.2.1.tgz"; | ||
4462 | path = fetchurl { | ||
4463 | name = "fragment-cache-0.2.1.tgz"; | ||
4464 | url = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz"; | ||
4465 | sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19"; | ||
4466 | }; | ||
4467 | } | ||
4468 | |||
4469 | { | ||
4470 | name = "fresh-0.5.2.tgz"; | ||
4471 | path = fetchurl { | ||
4472 | name = "fresh-0.5.2.tgz"; | ||
4473 | url = "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz"; | ||
4474 | sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7"; | ||
4475 | }; | ||
4476 | } | ||
4477 | |||
4478 | { | ||
4479 | name = "from2-2.3.0.tgz"; | ||
4480 | path = fetchurl { | ||
4481 | name = "from2-2.3.0.tgz"; | ||
4482 | url = "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz"; | ||
4483 | sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af"; | ||
4484 | }; | ||
4485 | } | ||
4486 | |||
4487 | { | ||
4488 | name = "fs-extra-7.0.0.tgz"; | ||
4489 | path = fetchurl { | ||
4490 | name = "fs-extra-7.0.0.tgz"; | ||
4491 | url = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.0.tgz"; | ||
4492 | sha1 = "8cc3f47ce07ef7b3593a11b9fb245f7e34c041d6"; | ||
4493 | }; | ||
4494 | } | ||
4495 | |||
4496 | { | ||
4497 | name = "fs-minipass-1.2.5.tgz"; | ||
4498 | path = fetchurl { | ||
4499 | name = "fs-minipass-1.2.5.tgz"; | ||
4500 | url = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz"; | ||
4501 | sha1 = "06c277218454ec288df77ada54a03b8702aacb9d"; | ||
4502 | }; | ||
4503 | } | ||
4504 | |||
4505 | { | ||
4506 | name = "fs-write-stream-atomic-1.0.10.tgz"; | ||
4507 | path = fetchurl { | ||
4508 | name = "fs-write-stream-atomic-1.0.10.tgz"; | ||
4509 | url = "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz"; | ||
4510 | sha1 = "b47df53493ef911df75731e70a9ded0189db40c9"; | ||
4511 | }; | ||
4512 | } | ||
4513 | |||
4514 | { | ||
4515 | name = "fs.realpath-1.0.0.tgz"; | ||
4516 | path = fetchurl { | ||
4517 | name = "fs.realpath-1.0.0.tgz"; | ||
4518 | url = "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz"; | ||
4519 | sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f"; | ||
4520 | }; | ||
4521 | } | ||
4522 | |||
4523 | { | ||
4524 | name = "fsevents-1.2.4.tgz"; | ||
4525 | path = fetchurl { | ||
4526 | name = "fsevents-1.2.4.tgz"; | ||
4527 | url = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz"; | ||
4528 | sha1 = "f41dcb1af2582af3692da36fc55cbd8e1041c426"; | ||
4529 | }; | ||
4530 | } | ||
4531 | |||
4532 | { | ||
4533 | name = "fstream-ignore-1.0.5.tgz"; | ||
4534 | path = fetchurl { | ||
4535 | name = "fstream-ignore-1.0.5.tgz"; | ||
4536 | url = "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz"; | ||
4537 | sha1 = "9c31dae34767018fe1d249b24dada67d092da105"; | ||
4538 | }; | ||
4539 | } | ||
4540 | |||
4541 | { | ||
4542 | name = "fstream-1.0.11.tgz"; | ||
4543 | path = fetchurl { | ||
4544 | name = "fstream-1.0.11.tgz"; | ||
4545 | url = "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz"; | ||
4546 | sha1 = "5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"; | ||
4547 | }; | ||
4548 | } | ||
4549 | |||
4550 | { | ||
4551 | name = "function-bind-1.1.1.tgz"; | ||
4552 | path = fetchurl { | ||
4553 | name = "function-bind-1.1.1.tgz"; | ||
4554 | url = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz"; | ||
4555 | sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d"; | ||
4556 | }; | ||
4557 | } | ||
4558 | |||
4559 | { | ||
4560 | name = "function.prototype.name-1.1.0.tgz"; | ||
4561 | path = fetchurl { | ||
4562 | name = "function.prototype.name-1.1.0.tgz"; | ||
4563 | url = "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.0.tgz"; | ||
4564 | sha1 = "8bd763cc0af860a859cc5d49384d74b932cd2327"; | ||
4565 | }; | ||
4566 | } | ||
4567 | |||
4568 | { | ||
4569 | name = "functional-red-black-tree-1.0.1.tgz"; | ||
4570 | path = fetchurl { | ||
4571 | name = "functional-red-black-tree-1.0.1.tgz"; | ||
4572 | url = "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz"; | ||
4573 | sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"; | ||
4574 | }; | ||
4575 | } | ||
4576 | |||
4577 | { | ||
4578 | name = "gauge-2.7.4.tgz"; | ||
4579 | path = fetchurl { | ||
4580 | name = "gauge-2.7.4.tgz"; | ||
4581 | url = "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz"; | ||
4582 | sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7"; | ||
4583 | }; | ||
4584 | } | ||
4585 | |||
4586 | { | ||
4587 | name = "gaze-1.1.3.tgz"; | ||
4588 | path = fetchurl { | ||
4589 | name = "gaze-1.1.3.tgz"; | ||
4590 | url = "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz"; | ||
4591 | sha1 = "c441733e13b927ac8c0ff0b4c3b033f28812924a"; | ||
4592 | }; | ||
4593 | } | ||
4594 | |||
4595 | { | ||
4596 | name = "generic-pool-2.4.3.tgz"; | ||
4597 | path = fetchurl { | ||
4598 | name = "generic-pool-2.4.3.tgz"; | ||
4599 | url = "https://registry.yarnpkg.com/generic-pool/-/generic-pool-2.4.3.tgz"; | ||
4600 | sha1 = "780c36f69dfad05a5a045dd37be7adca11a4f6ff"; | ||
4601 | }; | ||
4602 | } | ||
4603 | |||
4604 | { | ||
4605 | name = "get-caller-file-1.0.3.tgz"; | ||
4606 | path = fetchurl { | ||
4607 | name = "get-caller-file-1.0.3.tgz"; | ||
4608 | url = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz"; | ||
4609 | sha1 = "f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"; | ||
4610 | }; | ||
4611 | } | ||
4612 | |||
4613 | { | ||
4614 | name = "get-stdin-4.0.1.tgz"; | ||
4615 | path = fetchurl { | ||
4616 | name = "get-stdin-4.0.1.tgz"; | ||
4617 | url = "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz"; | ||
4618 | sha1 = "b968c6b0a04384324902e8bf1a5df32579a450fe"; | ||
4619 | }; | ||
4620 | } | ||
4621 | |||
4622 | { | ||
4623 | name = "get-stream-3.0.0.tgz"; | ||
4624 | path = fetchurl { | ||
4625 | name = "get-stream-3.0.0.tgz"; | ||
4626 | url = "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz"; | ||
4627 | sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14"; | ||
4628 | }; | ||
4629 | } | ||
4630 | |||
4631 | { | ||
4632 | name = "get-value-2.0.6.tgz"; | ||
4633 | path = fetchurl { | ||
4634 | name = "get-value-2.0.6.tgz"; | ||
4635 | url = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz"; | ||
4636 | sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28"; | ||
4637 | }; | ||
4638 | } | ||
4639 | |||
4640 | { | ||
4641 | name = "getpass-0.1.7.tgz"; | ||
4642 | path = fetchurl { | ||
4643 | name = "getpass-0.1.7.tgz"; | ||
4644 | url = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz"; | ||
4645 | sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa"; | ||
4646 | }; | ||
4647 | } | ||
4648 | |||
4649 | { | ||
4650 | name = "glob-base-0.3.0.tgz"; | ||
4651 | path = fetchurl { | ||
4652 | name = "glob-base-0.3.0.tgz"; | ||
4653 | url = "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz"; | ||
4654 | sha1 = "dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"; | ||
4655 | }; | ||
4656 | } | ||
4657 | |||
4658 | { | ||
4659 | name = "glob-parent-2.0.0.tgz"; | ||
4660 | path = fetchurl { | ||
4661 | name = "glob-parent-2.0.0.tgz"; | ||
4662 | url = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz"; | ||
4663 | sha1 = "81383d72db054fcccf5336daa902f182f6edbb28"; | ||
4664 | }; | ||
4665 | } | ||
4666 | |||
4667 | { | ||
4668 | name = "glob-parent-3.1.0.tgz"; | ||
4669 | path = fetchurl { | ||
4670 | name = "glob-parent-3.1.0.tgz"; | ||
4671 | url = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz"; | ||
4672 | sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae"; | ||
4673 | }; | ||
4674 | } | ||
4675 | |||
4676 | { | ||
4677 | name = "glob-7.1.3.tgz"; | ||
4678 | path = fetchurl { | ||
4679 | name = "glob-7.1.3.tgz"; | ||
4680 | url = "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz"; | ||
4681 | sha1 = "3960832d3f1574108342dafd3a67b332c0969df1"; | ||
4682 | }; | ||
4683 | } | ||
4684 | |||
4685 | { | ||
4686 | name = "global-modules-path-2.3.0.tgz"; | ||
4687 | path = fetchurl { | ||
4688 | name = "global-modules-path-2.3.0.tgz"; | ||
4689 | url = "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.0.tgz"; | ||
4690 | sha1 = "b0e2bac6beac39745f7db5c59d26a36a0b94f7dc"; | ||
4691 | }; | ||
4692 | } | ||
4693 | |||
4694 | { | ||
4695 | name = "globals-11.7.0.tgz"; | ||
4696 | path = fetchurl { | ||
4697 | name = "globals-11.7.0.tgz"; | ||
4698 | url = "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz"; | ||
4699 | sha1 = "a583faa43055b1aca771914bf68258e2fc125673"; | ||
4700 | }; | ||
4701 | } | ||
4702 | |||
4703 | { | ||
4704 | name = "globals-9.18.0.tgz"; | ||
4705 | path = fetchurl { | ||
4706 | name = "globals-9.18.0.tgz"; | ||
4707 | url = "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz"; | ||
4708 | sha1 = "aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"; | ||
4709 | }; | ||
4710 | } | ||
4711 | |||
4712 | { | ||
4713 | name = "globby-5.0.0.tgz"; | ||
4714 | path = fetchurl { | ||
4715 | name = "globby-5.0.0.tgz"; | ||
4716 | url = "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz"; | ||
4717 | sha1 = "ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"; | ||
4718 | }; | ||
4719 | } | ||
4720 | |||
4721 | { | ||
4722 | name = "globby-6.1.0.tgz"; | ||
4723 | path = fetchurl { | ||
4724 | name = "globby-6.1.0.tgz"; | ||
4725 | url = "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz"; | ||
4726 | sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c"; | ||
4727 | }; | ||
4728 | } | ||
4729 | |||
4730 | { | ||
4731 | name = "globule-1.2.1.tgz"; | ||
4732 | path = fetchurl { | ||
4733 | name = "globule-1.2.1.tgz"; | ||
4734 | url = "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz"; | ||
4735 | sha1 = "5dffb1b191f22d20797a9369b49eab4e9839696d"; | ||
4736 | }; | ||
4737 | } | ||
4738 | |||
4739 | { | ||
4740 | name = "gonzales-pe-4.2.3.tgz"; | ||
4741 | path = fetchurl { | ||
4742 | name = "gonzales-pe-4.2.3.tgz"; | ||
4743 | url = "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.2.3.tgz"; | ||
4744 | sha1 = "41091703625433285e0aee3aa47829fc1fbeb6f2"; | ||
4745 | }; | ||
4746 | } | ||
4747 | |||
4748 | { | ||
4749 | name = "graceful-fs-4.1.11.tgz"; | ||
4750 | path = fetchurl { | ||
4751 | name = "graceful-fs-4.1.11.tgz"; | ||
4752 | url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz"; | ||
4753 | sha1 = "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"; | ||
4754 | }; | ||
4755 | } | ||
4756 | |||
4757 | { | ||
4758 | name = "growly-1.3.0.tgz"; | ||
4759 | path = fetchurl { | ||
4760 | name = "growly-1.3.0.tgz"; | ||
4761 | url = "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz"; | ||
4762 | sha1 = "f10748cbe76af964b7c96c93c6bcc28af120c081"; | ||
4763 | }; | ||
4764 | } | ||
4765 | |||
4766 | { | ||
4767 | name = "gzip-size-4.1.0.tgz"; | ||
4768 | path = fetchurl { | ||
4769 | name = "gzip-size-4.1.0.tgz"; | ||
4770 | url = "https://registry.yarnpkg.com/gzip-size/-/gzip-size-4.1.0.tgz"; | ||
4771 | sha1 = "8ae096257eabe7d69c45be2b67c448124ffb517c"; | ||
4772 | }; | ||
4773 | } | ||
4774 | |||
4775 | { | ||
4776 | name = "handle-thing-1.2.5.tgz"; | ||
4777 | path = fetchurl { | ||
4778 | name = "handle-thing-1.2.5.tgz"; | ||
4779 | url = "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz"; | ||
4780 | sha1 = "fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4"; | ||
4781 | }; | ||
4782 | } | ||
4783 | |||
4784 | { | ||
4785 | name = "handlebars-4.0.12.tgz"; | ||
4786 | path = fetchurl { | ||
4787 | name = "handlebars-4.0.12.tgz"; | ||
4788 | url = "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.12.tgz"; | ||
4789 | sha1 = "2c15c8a96d46da5e266700518ba8cb8d919d5bc5"; | ||
4790 | }; | ||
4791 | } | ||
4792 | |||
4793 | { | ||
4794 | name = "har-schema-1.0.5.tgz"; | ||
4795 | path = fetchurl { | ||
4796 | name = "har-schema-1.0.5.tgz"; | ||
4797 | url = "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz"; | ||
4798 | sha1 = "d263135f43307c02c602afc8fe95970c0151369e"; | ||
4799 | }; | ||
4800 | } | ||
4801 | |||
4802 | { | ||
4803 | name = "har-schema-2.0.0.tgz"; | ||
4804 | path = fetchurl { | ||
4805 | name = "har-schema-2.0.0.tgz"; | ||
4806 | url = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz"; | ||
4807 | sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92"; | ||
4808 | }; | ||
4809 | } | ||
4810 | |||
4811 | { | ||
4812 | name = "har-validator-4.2.1.tgz"; | ||
4813 | path = fetchurl { | ||
4814 | name = "har-validator-4.2.1.tgz"; | ||
4815 | url = "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz"; | ||
4816 | sha1 = "33481d0f1bbff600dd203d75812a6a5fba002e2a"; | ||
4817 | }; | ||
4818 | } | ||
4819 | |||
4820 | { | ||
4821 | name = "har-validator-5.0.3.tgz"; | ||
4822 | path = fetchurl { | ||
4823 | name = "har-validator-5.0.3.tgz"; | ||
4824 | url = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz"; | ||
4825 | sha1 = "ba402c266194f15956ef15e0fcf242993f6a7dfd"; | ||
4826 | }; | ||
4827 | } | ||
4828 | |||
4829 | { | ||
4830 | name = "har-validator-5.1.0.tgz"; | ||
4831 | path = fetchurl { | ||
4832 | name = "har-validator-5.1.0.tgz"; | ||
4833 | url = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.0.tgz"; | ||
4834 | sha1 = "44657f5688a22cfd4b72486e81b3a3fb11742c29"; | ||
4835 | }; | ||
4836 | } | ||
4837 | |||
4838 | { | ||
4839 | name = "has-ansi-2.0.0.tgz"; | ||
4840 | path = fetchurl { | ||
4841 | name = "has-ansi-2.0.0.tgz"; | ||
4842 | url = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz"; | ||
4843 | sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91"; | ||
4844 | }; | ||
4845 | } | ||
4846 | |||
4847 | { | ||
4848 | name = "has-flag-1.0.0.tgz"; | ||
4849 | path = fetchurl { | ||
4850 | name = "has-flag-1.0.0.tgz"; | ||
4851 | url = "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz"; | ||
4852 | sha1 = "9d9e793165ce017a00f00418c43f942a7b1d11fa"; | ||
4853 | }; | ||
4854 | } | ||
4855 | |||
4856 | { | ||
4857 | name = "has-flag-3.0.0.tgz"; | ||
4858 | path = fetchurl { | ||
4859 | name = "has-flag-3.0.0.tgz"; | ||
4860 | url = "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz"; | ||
4861 | sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd"; | ||
4862 | }; | ||
4863 | } | ||
4864 | |||
4865 | { | ||
4866 | name = "has-symbols-1.0.0.tgz"; | ||
4867 | path = fetchurl { | ||
4868 | name = "has-symbols-1.0.0.tgz"; | ||
4869 | url = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz"; | ||
4870 | sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44"; | ||
4871 | }; | ||
4872 | } | ||
4873 | |||
4874 | { | ||
4875 | name = "has-unicode-2.0.1.tgz"; | ||
4876 | path = fetchurl { | ||
4877 | name = "has-unicode-2.0.1.tgz"; | ||
4878 | url = "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz"; | ||
4879 | sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9"; | ||
4880 | }; | ||
4881 | } | ||
4882 | |||
4883 | { | ||
4884 | name = "has-value-0.3.1.tgz"; | ||
4885 | path = fetchurl { | ||
4886 | name = "has-value-0.3.1.tgz"; | ||
4887 | url = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz"; | ||
4888 | sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f"; | ||
4889 | }; | ||
4890 | } | ||
4891 | |||
4892 | { | ||
4893 | name = "has-value-1.0.0.tgz"; | ||
4894 | path = fetchurl { | ||
4895 | name = "has-value-1.0.0.tgz"; | ||
4896 | url = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz"; | ||
4897 | sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177"; | ||
4898 | }; | ||
4899 | } | ||
4900 | |||
4901 | { | ||
4902 | name = "has-values-0.1.4.tgz"; | ||
4903 | path = fetchurl { | ||
4904 | name = "has-values-0.1.4.tgz"; | ||
4905 | url = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz"; | ||
4906 | sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771"; | ||
4907 | }; | ||
4908 | } | ||
4909 | |||
4910 | { | ||
4911 | name = "has-values-1.0.0.tgz"; | ||
4912 | path = fetchurl { | ||
4913 | name = "has-values-1.0.0.tgz"; | ||
4914 | url = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz"; | ||
4915 | sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f"; | ||
4916 | }; | ||
4917 | } | ||
4918 | |||
4919 | { | ||
4920 | name = "has-1.0.3.tgz"; | ||
4921 | path = fetchurl { | ||
4922 | name = "has-1.0.3.tgz"; | ||
4923 | url = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz"; | ||
4924 | sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796"; | ||
4925 | }; | ||
4926 | } | ||
4927 | |||
4928 | { | ||
4929 | name = "hash-base-3.0.4.tgz"; | ||
4930 | path = fetchurl { | ||
4931 | name = "hash-base-3.0.4.tgz"; | ||
4932 | url = "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz"; | ||
4933 | sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918"; | ||
4934 | }; | ||
4935 | } | ||
4936 | |||
4937 | { | ||
4938 | name = "hash.js-1.1.5.tgz"; | ||
4939 | path = fetchurl { | ||
4940 | name = "hash.js-1.1.5.tgz"; | ||
4941 | url = "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.5.tgz"; | ||
4942 | sha1 = "e38ab4b85dfb1e0c40fe9265c0e9b54854c23812"; | ||
4943 | }; | ||
4944 | } | ||
4945 | |||
4946 | { | ||
4947 | name = "hawk-3.1.3.tgz"; | ||
4948 | path = fetchurl { | ||
4949 | name = "hawk-3.1.3.tgz"; | ||
4950 | url = "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz"; | ||
4951 | sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4"; | ||
4952 | }; | ||
4953 | } | ||
4954 | |||
4955 | { | ||
4956 | name = "history-4.7.2.tgz"; | ||
4957 | path = fetchurl { | ||
4958 | name = "history-4.7.2.tgz"; | ||
4959 | url = "https://registry.yarnpkg.com/history/-/history-4.7.2.tgz"; | ||
4960 | sha1 = "22b5c7f31633c5b8021c7f4a8a954ac139ee8d5b"; | ||
4961 | }; | ||
4962 | } | ||
4963 | |||
4964 | { | ||
4965 | name = "hmac-drbg-1.0.1.tgz"; | ||
4966 | path = fetchurl { | ||
4967 | name = "hmac-drbg-1.0.1.tgz"; | ||
4968 | url = "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz"; | ||
4969 | sha1 = "d2745701025a6c775a6c545793ed502fc0c649a1"; | ||
4970 | }; | ||
4971 | } | ||
4972 | |||
4973 | { | ||
4974 | name = "hoek-2.16.3.tgz"; | ||
4975 | path = fetchurl { | ||
4976 | name = "hoek-2.16.3.tgz"; | ||
4977 | url = "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz"; | ||
4978 | sha1 = "20bb7403d3cea398e91dc4710a8ff1b8274a25ed"; | ||
4979 | }; | ||
4980 | } | ||
4981 | |||
4982 | { | ||
4983 | name = "hoist-non-react-statics-2.5.5.tgz"; | ||
4984 | path = fetchurl { | ||
4985 | name = "hoist-non-react-statics-2.5.5.tgz"; | ||
4986 | url = "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz"; | ||
4987 | sha1 = "c5903cf409c0dfd908f388e619d86b9c1174cb47"; | ||
4988 | }; | ||
4989 | } | ||
4990 | |||
4991 | { | ||
4992 | name = "home-or-tmp-2.0.0.tgz"; | ||
4993 | path = fetchurl { | ||
4994 | name = "home-or-tmp-2.0.0.tgz"; | ||
4995 | url = "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz"; | ||
4996 | sha1 = "e36c3f2d2cae7d746a857e38d18d5f32a7882db8"; | ||
4997 | }; | ||
4998 | } | ||
4999 | |||
5000 | { | ||
5001 | name = "hosted-git-info-2.7.1.tgz"; | ||
5002 | path = fetchurl { | ||
5003 | name = "hosted-git-info-2.7.1.tgz"; | ||
5004 | url = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz"; | ||
5005 | sha1 = "97f236977bd6e125408930ff6de3eec6281ec047"; | ||
5006 | }; | ||
5007 | } | ||
5008 | |||
5009 | { | ||
5010 | name = "hpack.js-2.1.6.tgz"; | ||
5011 | path = fetchurl { | ||
5012 | name = "hpack.js-2.1.6.tgz"; | ||
5013 | url = "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz"; | ||
5014 | sha1 = "87774c0949e513f42e84575b3c45681fade2a0b2"; | ||
5015 | }; | ||
5016 | } | ||
5017 | |||
5018 | { | ||
5019 | name = "html-encoding-sniffer-1.0.2.tgz"; | ||
5020 | path = fetchurl { | ||
5021 | name = "html-encoding-sniffer-1.0.2.tgz"; | ||
5022 | url = "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz"; | ||
5023 | sha1 = "e70d84b94da53aa375e11fe3a351be6642ca46f8"; | ||
5024 | }; | ||
5025 | } | ||
5026 | |||
5027 | { | ||
5028 | name = "html-entities-1.2.1.tgz"; | ||
5029 | path = fetchurl { | ||
5030 | name = "html-entities-1.2.1.tgz"; | ||
5031 | url = "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz"; | ||
5032 | sha1 = "0df29351f0721163515dfb9e5543e5f6eed5162f"; | ||
5033 | }; | ||
5034 | } | ||
5035 | |||
5036 | { | ||
5037 | name = "htmlparser2-3.9.2.tgz"; | ||
5038 | path = fetchurl { | ||
5039 | name = "htmlparser2-3.9.2.tgz"; | ||
5040 | url = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz"; | ||
5041 | sha1 = "1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338"; | ||
5042 | }; | ||
5043 | } | ||
5044 | |||
5045 | { | ||
5046 | name = "http-deceiver-1.2.7.tgz"; | ||
5047 | path = fetchurl { | ||
5048 | name = "http-deceiver-1.2.7.tgz"; | ||
5049 | url = "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz"; | ||
5050 | sha1 = "fa7168944ab9a519d337cb0bec7284dc3e723d87"; | ||
5051 | }; | ||
5052 | } | ||
5053 | |||
5054 | { | ||
5055 | name = "http-errors-1.6.2.tgz"; | ||
5056 | path = fetchurl { | ||
5057 | name = "http-errors-1.6.2.tgz"; | ||
5058 | url = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz"; | ||
5059 | sha1 = "0a002cc85707192a7e7946ceedc11155f60ec736"; | ||
5060 | }; | ||
5061 | } | ||
5062 | |||
5063 | { | ||
5064 | name = "http-errors-1.6.3.tgz"; | ||
5065 | path = fetchurl { | ||
5066 | name = "http-errors-1.6.3.tgz"; | ||
5067 | url = "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"; | ||
5068 | sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d"; | ||
5069 | }; | ||
5070 | } | ||
5071 | |||
5072 | { | ||
5073 | name = "http-link-header-0.8.0.tgz"; | ||
5074 | path = fetchurl { | ||
5075 | name = "http-link-header-0.8.0.tgz"; | ||
5076 | url = "https://registry.yarnpkg.com/http-link-header/-/http-link-header-0.8.0.tgz"; | ||
5077 | sha1 = "a22b41a0c9b1e2d8fac1bf1b697c6bd532d5f5e4"; | ||
5078 | }; | ||
5079 | } | ||
5080 | |||
5081 | { | ||
5082 | name = "http-parser-js-0.4.13.tgz"; | ||
5083 | path = fetchurl { | ||
5084 | name = "http-parser-js-0.4.13.tgz"; | ||
5085 | url = "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.13.tgz"; | ||
5086 | sha1 = "3bd6d6fde6e3172c9334c3b33b6c193d80fe1137"; | ||
5087 | }; | ||
5088 | } | ||
5089 | |||
5090 | { | ||
5091 | name = "http-proxy-middleware-0.18.0.tgz"; | ||
5092 | path = fetchurl { | ||
5093 | name = "http-proxy-middleware-0.18.0.tgz"; | ||
5094 | url = "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz"; | ||
5095 | sha1 = "0987e6bb5a5606e5a69168d8f967a87f15dd8aab"; | ||
5096 | }; | ||
5097 | } | ||
5098 | |||
5099 | { | ||
5100 | name = "http-proxy-1.17.0.tgz"; | ||
5101 | path = fetchurl { | ||
5102 | name = "http-proxy-1.17.0.tgz"; | ||
5103 | url = "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz"; | ||
5104 | sha1 = "7ad38494658f84605e2f6db4436df410f4e5be9a"; | ||
5105 | }; | ||
5106 | } | ||
5107 | |||
5108 | { | ||
5109 | name = "http-signature-1.1.1.tgz"; | ||
5110 | path = fetchurl { | ||
5111 | name = "http-signature-1.1.1.tgz"; | ||
5112 | url = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz"; | ||
5113 | sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf"; | ||
5114 | }; | ||
5115 | } | ||
5116 | |||
5117 | { | ||
5118 | name = "http-signature-1.2.0.tgz"; | ||
5119 | path = fetchurl { | ||
5120 | name = "http-signature-1.2.0.tgz"; | ||
5121 | url = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz"; | ||
5122 | sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1"; | ||
5123 | }; | ||
5124 | } | ||
5125 | |||
5126 | { | ||
5127 | name = "https-browserify-1.0.0.tgz"; | ||
5128 | path = fetchurl { | ||
5129 | name = "https-browserify-1.0.0.tgz"; | ||
5130 | url = "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz"; | ||
5131 | sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"; | ||
5132 | }; | ||
5133 | } | ||
5134 | |||
5135 | { | ||
5136 | name = "iconv-lite-0.4.19.tgz"; | ||
5137 | path = fetchurl { | ||
5138 | name = "iconv-lite-0.4.19.tgz"; | ||
5139 | url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz"; | ||
5140 | sha1 = "f7468f60135f5e5dad3399c0a81be9a1603a082b"; | ||
5141 | }; | ||
5142 | } | ||
5143 | |||
5144 | { | ||
5145 | name = "iconv-lite-0.4.23.tgz"; | ||
5146 | path = fetchurl { | ||
5147 | name = "iconv-lite-0.4.23.tgz"; | ||
5148 | url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz"; | ||
5149 | sha1 = "297871f63be507adcfbfca715d0cd0eed84e9a63"; | ||
5150 | }; | ||
5151 | } | ||
5152 | |||
5153 | { | ||
5154 | name = "iconv-lite-0.4.24.tgz"; | ||
5155 | path = fetchurl { | ||
5156 | name = "iconv-lite-0.4.24.tgz"; | ||
5157 | url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz"; | ||
5158 | sha1 = "2022b4b25fbddc21d2f524974a474aafe733908b"; | ||
5159 | }; | ||
5160 | } | ||
5161 | |||
5162 | { | ||
5163 | name = "icss-replace-symbols-1.1.0.tgz"; | ||
5164 | path = fetchurl { | ||
5165 | name = "icss-replace-symbols-1.1.0.tgz"; | ||
5166 | url = "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz"; | ||
5167 | sha1 = "06ea6f83679a7749e386cfe1fe812ae5db223ded"; | ||
5168 | }; | ||
5169 | } | ||
5170 | |||
5171 | { | ||
5172 | name = "icss-utils-2.1.0.tgz"; | ||
5173 | path = fetchurl { | ||
5174 | name = "icss-utils-2.1.0.tgz"; | ||
5175 | url = "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz"; | ||
5176 | sha1 = "83f0a0ec378bf3246178b6c2ad9136f135b1c962"; | ||
5177 | }; | ||
5178 | } | ||
5179 | |||
5180 | { | ||
5181 | name = "ieee754-1.1.12.tgz"; | ||
5182 | path = fetchurl { | ||
5183 | name = "ieee754-1.1.12.tgz"; | ||
5184 | url = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz"; | ||
5185 | sha1 = "50bf24e5b9c8bb98af4964c941cdb0918da7b60b"; | ||
5186 | }; | ||
5187 | } | ||
5188 | |||
5189 | { | ||
5190 | name = "iferr-0.1.5.tgz"; | ||
5191 | path = fetchurl { | ||
5192 | name = "iferr-0.1.5.tgz"; | ||
5193 | url = "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz"; | ||
5194 | sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"; | ||
5195 | }; | ||
5196 | } | ||
5197 | |||
5198 | { | ||
5199 | name = "ignore-walk-3.0.1.tgz"; | ||
5200 | path = fetchurl { | ||
5201 | name = "ignore-walk-3.0.1.tgz"; | ||
5202 | url = "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz"; | ||
5203 | sha1 = "a83e62e7d272ac0e3b551aaa82831a19b69f82f8"; | ||
5204 | }; | ||
5205 | } | ||
5206 | |||
5207 | { | ||
5208 | name = "ignore-3.3.10.tgz"; | ||
5209 | path = fetchurl { | ||
5210 | name = "ignore-3.3.10.tgz"; | ||
5211 | url = "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz"; | ||
5212 | sha1 = "0a97fb876986e8081c631160f8f9f389157f0043"; | ||
5213 | }; | ||
5214 | } | ||
5215 | |||
5216 | { | ||
5217 | name = "immutable-3.8.2.tgz"; | ||
5218 | path = fetchurl { | ||
5219 | name = "immutable-3.8.2.tgz"; | ||
5220 | url = "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz"; | ||
5221 | sha1 = "c2439951455bb39913daf281376f1530e104adf3"; | ||
5222 | }; | ||
5223 | } | ||
5224 | |||
5225 | { | ||
5226 | name = "import-cwd-2.1.0.tgz"; | ||
5227 | path = fetchurl { | ||
5228 | name = "import-cwd-2.1.0.tgz"; | ||
5229 | url = "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz"; | ||
5230 | sha1 = "aa6cf36e722761285cb371ec6519f53e2435b0a9"; | ||
5231 | }; | ||
5232 | } | ||
5233 | |||
5234 | { | ||
5235 | name = "import-from-2.1.0.tgz"; | ||
5236 | path = fetchurl { | ||
5237 | name = "import-from-2.1.0.tgz"; | ||
5238 | url = "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz"; | ||
5239 | sha1 = "335db7f2a7affd53aaa471d4b8021dee36b7f3b1"; | ||
5240 | }; | ||
5241 | } | ||
5242 | |||
5243 | { | ||
5244 | name = "import-local-1.0.0.tgz"; | ||
5245 | path = fetchurl { | ||
5246 | name = "import-local-1.0.0.tgz"; | ||
5247 | url = "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz"; | ||
5248 | sha1 = "5e4ffdc03f4fe6c009c6729beb29631c2f8227bc"; | ||
5249 | }; | ||
5250 | } | ||
5251 | |||
5252 | { | ||
5253 | name = "import-local-2.0.0.tgz"; | ||
5254 | path = fetchurl { | ||
5255 | name = "import-local-2.0.0.tgz"; | ||
5256 | url = "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz"; | ||
5257 | sha1 = "55070be38a5993cf18ef6db7e961f5bee5c5a09d"; | ||
5258 | }; | ||
5259 | } | ||
5260 | |||
5261 | { | ||
5262 | name = "imports-loader-0.8.0.tgz"; | ||
5263 | path = fetchurl { | ||
5264 | name = "imports-loader-0.8.0.tgz"; | ||
5265 | url = "https://registry.yarnpkg.com/imports-loader/-/imports-loader-0.8.0.tgz"; | ||
5266 | sha1 = "030ea51b8ca05977c40a3abfd9b4088fe0be9a69"; | ||
5267 | }; | ||
5268 | } | ||
5269 | |||
5270 | { | ||
5271 | name = "imurmurhash-0.1.4.tgz"; | ||
5272 | path = fetchurl { | ||
5273 | name = "imurmurhash-0.1.4.tgz"; | ||
5274 | url = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz"; | ||
5275 | sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea"; | ||
5276 | }; | ||
5277 | } | ||
5278 | |||
5279 | { | ||
5280 | name = "in-publish-2.0.0.tgz"; | ||
5281 | path = fetchurl { | ||
5282 | name = "in-publish-2.0.0.tgz"; | ||
5283 | url = "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz"; | ||
5284 | sha1 = "e20ff5e3a2afc2690320b6dc552682a9c7fadf51"; | ||
5285 | }; | ||
5286 | } | ||
5287 | |||
5288 | { | ||
5289 | name = "indent-string-2.1.0.tgz"; | ||
5290 | path = fetchurl { | ||
5291 | name = "indent-string-2.1.0.tgz"; | ||
5292 | url = "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz"; | ||
5293 | sha1 = "8e2d48348742121b4a8218b7a137e9a52049dc80"; | ||
5294 | }; | ||
5295 | } | ||
5296 | |||
5297 | { | ||
5298 | name = "indexes-of-1.0.1.tgz"; | ||
5299 | path = fetchurl { | ||
5300 | name = "indexes-of-1.0.1.tgz"; | ||
5301 | url = "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz"; | ||
5302 | sha1 = "f30f716c8e2bd346c7b67d3df3915566a7c05607"; | ||
5303 | }; | ||
5304 | } | ||
5305 | |||
5306 | { | ||
5307 | name = "indexof-0.0.1.tgz"; | ||
5308 | path = fetchurl { | ||
5309 | name = "indexof-0.0.1.tgz"; | ||
5310 | url = "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz"; | ||
5311 | sha1 = "82dc336d232b9062179d05ab3293a66059fd435d"; | ||
5312 | }; | ||
5313 | } | ||
5314 | |||
5315 | { | ||
5316 | name = "inflight-1.0.6.tgz"; | ||
5317 | path = fetchurl { | ||
5318 | name = "inflight-1.0.6.tgz"; | ||
5319 | url = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz"; | ||
5320 | sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9"; | ||
5321 | }; | ||
5322 | } | ||
5323 | |||
5324 | { | ||
5325 | name = "inherits-2.0.3.tgz"; | ||
5326 | path = fetchurl { | ||
5327 | name = "inherits-2.0.3.tgz"; | ||
5328 | url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz"; | ||
5329 | sha1 = "633c2c83e3da42a502f52466022480f4208261de"; | ||
5330 | }; | ||
5331 | } | ||
5332 | |||
5333 | { | ||
5334 | name = "inherits-2.0.1.tgz"; | ||
5335 | path = fetchurl { | ||
5336 | name = "inherits-2.0.1.tgz"; | ||
5337 | url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz"; | ||
5338 | sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1"; | ||
5339 | }; | ||
5340 | } | ||
5341 | |||
5342 | { | ||
5343 | name = "ini-1.3.5.tgz"; | ||
5344 | path = fetchurl { | ||
5345 | name = "ini-1.3.5.tgz"; | ||
5346 | url = "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz"; | ||
5347 | sha1 = "eee25f56db1c9ec6085e0c22778083f596abf927"; | ||
5348 | }; | ||
5349 | } | ||
5350 | |||
5351 | { | ||
5352 | name = "inquirer-3.3.0.tgz"; | ||
5353 | path = fetchurl { | ||
5354 | name = "inquirer-3.3.0.tgz"; | ||
5355 | url = "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz"; | ||
5356 | sha1 = "9dd2f2ad765dcab1ff0443b491442a20ba227dc9"; | ||
5357 | }; | ||
5358 | } | ||
5359 | |||
5360 | { | ||
5361 | name = "inquirer-6.2.0.tgz"; | ||
5362 | path = fetchurl { | ||
5363 | name = "inquirer-6.2.0.tgz"; | ||
5364 | url = "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz"; | ||
5365 | sha1 = "51adcd776f661369dc1e894859c2560a224abdd8"; | ||
5366 | }; | ||
5367 | } | ||
5368 | |||
5369 | { | ||
5370 | name = "internal-ip-3.0.1.tgz"; | ||
5371 | path = fetchurl { | ||
5372 | name = "internal-ip-3.0.1.tgz"; | ||
5373 | url = "https://registry.yarnpkg.com/internal-ip/-/internal-ip-3.0.1.tgz"; | ||
5374 | sha1 = "df5c99876e1d2eb2ea2d74f520e3f669a00ece27"; | ||
5375 | }; | ||
5376 | } | ||
5377 | |||
5378 | { | ||
5379 | name = "interpret-1.1.0.tgz"; | ||
5380 | path = fetchurl { | ||
5381 | name = "interpret-1.1.0.tgz"; | ||
5382 | url = "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz"; | ||
5383 | sha1 = "7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614"; | ||
5384 | }; | ||
5385 | } | ||
5386 | |||
5387 | { | ||
5388 | name = "intersection-observer-0.5.0.tgz"; | ||
5389 | path = fetchurl { | ||
5390 | name = "intersection-observer-0.5.0.tgz"; | ||
5391 | url = "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.5.0.tgz"; | ||
5392 | sha1 = "9fe8bee3953c755b1485c38efd9633d535775ea6"; | ||
5393 | }; | ||
5394 | } | ||
5395 | |||
5396 | { | ||
5397 | name = "intl-format-cache-2.1.0.tgz"; | ||
5398 | path = fetchurl { | ||
5399 | name = "intl-format-cache-2.1.0.tgz"; | ||
5400 | url = "https://registry.yarnpkg.com/intl-format-cache/-/intl-format-cache-2.1.0.tgz"; | ||
5401 | sha1 = "04a369fecbfad6da6005bae1f14333332dcf9316"; | ||
5402 | }; | ||
5403 | } | ||
5404 | |||
5405 | { | ||
5406 | name = "intl-messageformat-parser-1.4.0.tgz"; | ||
5407 | path = fetchurl { | ||
5408 | name = "intl-messageformat-parser-1.4.0.tgz"; | ||
5409 | url = "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz"; | ||
5410 | sha1 = "b43d45a97468cadbe44331d74bb1e8dea44fc075"; | ||
5411 | }; | ||
5412 | } | ||
5413 | |||
5414 | { | ||
5415 | name = "intl-messageformat-2.2.0.tgz"; | ||
5416 | path = fetchurl { | ||
5417 | name = "intl-messageformat-2.2.0.tgz"; | ||
5418 | url = "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-2.2.0.tgz"; | ||
5419 | sha1 = "345bcd46de630b7683330c2e52177ff5eab484fc"; | ||
5420 | }; | ||
5421 | } | ||
5422 | |||
5423 | { | ||
5424 | name = "intl-relativeformat-2.1.0.tgz"; | ||
5425 | path = fetchurl { | ||
5426 | name = "intl-relativeformat-2.1.0.tgz"; | ||
5427 | url = "https://registry.yarnpkg.com/intl-relativeformat/-/intl-relativeformat-2.1.0.tgz"; | ||
5428 | sha1 = "010f1105802251f40ac47d0e3e1a201348a255df"; | ||
5429 | }; | ||
5430 | } | ||
5431 | |||
5432 | { | ||
5433 | name = "intl-1.2.5.tgz"; | ||
5434 | path = fetchurl { | ||
5435 | name = "intl-1.2.5.tgz"; | ||
5436 | url = "https://registry.yarnpkg.com/intl/-/intl-1.2.5.tgz"; | ||
5437 | sha1 = "82244a2190c4e419f8371f5aa34daa3420e2abde"; | ||
5438 | }; | ||
5439 | } | ||
5440 | |||
5441 | { | ||
5442 | name = "invariant-2.2.4.tgz"; | ||
5443 | path = fetchurl { | ||
5444 | name = "invariant-2.2.4.tgz"; | ||
5445 | url = "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz"; | ||
5446 | sha1 = "610f3c92c9359ce1db616e538008d23ff35158e6"; | ||
5447 | }; | ||
5448 | } | ||
5449 | |||
5450 | { | ||
5451 | name = "invert-kv-1.0.0.tgz"; | ||
5452 | path = fetchurl { | ||
5453 | name = "invert-kv-1.0.0.tgz"; | ||
5454 | url = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz"; | ||
5455 | sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"; | ||
5456 | }; | ||
5457 | } | ||
5458 | |||
5459 | { | ||
5460 | name = "invert-kv-2.0.0.tgz"; | ||
5461 | path = fetchurl { | ||
5462 | name = "invert-kv-2.0.0.tgz"; | ||
5463 | url = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz"; | ||
5464 | sha1 = "7393f5afa59ec9ff5f67a27620d11c226e3eec02"; | ||
5465 | }; | ||
5466 | } | ||
5467 | |||
5468 | { | ||
5469 | name = "ip-regex-2.1.0.tgz"; | ||
5470 | path = fetchurl { | ||
5471 | name = "ip-regex-2.1.0.tgz"; | ||
5472 | url = "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz"; | ||
5473 | sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"; | ||
5474 | }; | ||
5475 | } | ||
5476 | |||
5477 | { | ||
5478 | name = "ip-1.1.5.tgz"; | ||
5479 | path = fetchurl { | ||
5480 | name = "ip-1.1.5.tgz"; | ||
5481 | url = "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz"; | ||
5482 | sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a"; | ||
5483 | }; | ||
5484 | } | ||
5485 | |||
5486 | { | ||
5487 | name = "ipaddr.js-1.8.0.tgz"; | ||
5488 | path = fetchurl { | ||
5489 | name = "ipaddr.js-1.8.0.tgz"; | ||
5490 | url = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz"; | ||
5491 | sha1 = "eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e"; | ||
5492 | }; | ||
5493 | } | ||
5494 | |||
5495 | { | ||
5496 | name = "ipaddr.js-1.8.1.tgz"; | ||
5497 | path = fetchurl { | ||
5498 | name = "ipaddr.js-1.8.1.tgz"; | ||
5499 | url = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.1.tgz"; | ||
5500 | sha1 = "fa4b79fa47fd3def5e3b159825161c0a519c9427"; | ||
5501 | }; | ||
5502 | } | ||
5503 | |||
5504 | { | ||
5505 | name = "is-accessor-descriptor-0.1.6.tgz"; | ||
5506 | path = fetchurl { | ||
5507 | name = "is-accessor-descriptor-0.1.6.tgz"; | ||
5508 | url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz"; | ||
5509 | sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"; | ||
5510 | }; | ||
5511 | } | ||
5512 | |||
5513 | { | ||
5514 | name = "is-accessor-descriptor-1.0.0.tgz"; | ||
5515 | path = fetchurl { | ||
5516 | name = "is-accessor-descriptor-1.0.0.tgz"; | ||
5517 | url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz"; | ||
5518 | sha1 = "169c2f6d3df1f992618072365c9b0ea1f6878656"; | ||
5519 | }; | ||
5520 | } | ||
5521 | |||
5522 | { | ||
5523 | name = "is-arrayish-0.2.1.tgz"; | ||
5524 | path = fetchurl { | ||
5525 | name = "is-arrayish-0.2.1.tgz"; | ||
5526 | url = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz"; | ||
5527 | sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d"; | ||
5528 | }; | ||
5529 | } | ||
5530 | |||
5531 | { | ||
5532 | name = "is-arrayish-0.3.2.tgz"; | ||
5533 | path = fetchurl { | ||
5534 | name = "is-arrayish-0.3.2.tgz"; | ||
5535 | url = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz"; | ||
5536 | sha1 = "4574a2ae56f7ab206896fb431eaeed066fdf8f03"; | ||
5537 | }; | ||
5538 | } | ||
5539 | |||
5540 | { | ||
5541 | name = "is-binary-path-1.0.1.tgz"; | ||
5542 | path = fetchurl { | ||
5543 | name = "is-binary-path-1.0.1.tgz"; | ||
5544 | url = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz"; | ||
5545 | sha1 = "75f16642b480f187a711c814161fd3a4a7655898"; | ||
5546 | }; | ||
5547 | } | ||
5548 | |||
5549 | { | ||
5550 | name = "is-boolean-object-1.0.0.tgz"; | ||
5551 | path = fetchurl { | ||
5552 | name = "is-boolean-object-1.0.0.tgz"; | ||
5553 | url = "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.0.tgz"; | ||
5554 | sha1 = "98f8b28030684219a95f375cfbd88ce3405dff93"; | ||
5555 | }; | ||
5556 | } | ||
5557 | |||
5558 | { | ||
5559 | name = "is-buffer-1.1.6.tgz"; | ||
5560 | path = fetchurl { | ||
5561 | name = "is-buffer-1.1.6.tgz"; | ||
5562 | url = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz"; | ||
5563 | sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"; | ||
5564 | }; | ||
5565 | } | ||
5566 | |||
5567 | { | ||
5568 | name = "is-builtin-module-1.0.0.tgz"; | ||
5569 | path = fetchurl { | ||
5570 | name = "is-builtin-module-1.0.0.tgz"; | ||
5571 | url = "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz"; | ||
5572 | sha1 = "540572d34f7ac3119f8f76c30cbc1b1e037affbe"; | ||
5573 | }; | ||
5574 | } | ||
5575 | |||
5576 | { | ||
5577 | name = "is-callable-1.1.4.tgz"; | ||
5578 | path = fetchurl { | ||
5579 | name = "is-callable-1.1.4.tgz"; | ||
5580 | url = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz"; | ||
5581 | sha1 = "1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"; | ||
5582 | }; | ||
5583 | } | ||
5584 | |||
5585 | { | ||
5586 | name = "is-ci-1.2.1.tgz"; | ||
5587 | path = fetchurl { | ||
5588 | name = "is-ci-1.2.1.tgz"; | ||
5589 | url = "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz"; | ||
5590 | sha1 = "e3779c8ee17fccf428488f6e281187f2e632841c"; | ||
5591 | }; | ||
5592 | } | ||
5593 | |||
5594 | { | ||
5595 | name = "is-data-descriptor-0.1.4.tgz"; | ||
5596 | path = fetchurl { | ||
5597 | name = "is-data-descriptor-0.1.4.tgz"; | ||
5598 | url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz"; | ||
5599 | sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56"; | ||
5600 | }; | ||
5601 | } | ||
5602 | |||
5603 | { | ||
5604 | name = "is-data-descriptor-1.0.0.tgz"; | ||
5605 | path = fetchurl { | ||
5606 | name = "is-data-descriptor-1.0.0.tgz"; | ||
5607 | url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz"; | ||
5608 | sha1 = "d84876321d0e7add03990406abbbbd36ba9268c7"; | ||
5609 | }; | ||
5610 | } | ||
5611 | |||
5612 | { | ||
5613 | name = "is-date-object-1.0.1.tgz"; | ||
5614 | path = fetchurl { | ||
5615 | name = "is-date-object-1.0.1.tgz"; | ||
5616 | url = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz"; | ||
5617 | sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"; | ||
5618 | }; | ||
5619 | } | ||
5620 | |||
5621 | { | ||
5622 | name = "is-descriptor-0.1.6.tgz"; | ||
5623 | path = fetchurl { | ||
5624 | name = "is-descriptor-0.1.6.tgz"; | ||
5625 | url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz"; | ||
5626 | sha1 = "366d8240dde487ca51823b1ab9f07a10a78251ca"; | ||
5627 | }; | ||
5628 | } | ||
5629 | |||
5630 | { | ||
5631 | name = "is-descriptor-1.0.2.tgz"; | ||
5632 | path = fetchurl { | ||
5633 | name = "is-descriptor-1.0.2.tgz"; | ||
5634 | url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz"; | ||
5635 | sha1 = "3b159746a66604b04f8c81524ba365c5f14d86ec"; | ||
5636 | }; | ||
5637 | } | ||
5638 | |||
5639 | { | ||
5640 | name = "is-directory-0.3.1.tgz"; | ||
5641 | path = fetchurl { | ||
5642 | name = "is-directory-0.3.1.tgz"; | ||
5643 | url = "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz"; | ||
5644 | sha1 = "61339b6f2475fc772fd9c9d83f5c8575dc154ae1"; | ||
5645 | }; | ||
5646 | } | ||
5647 | |||
5648 | { | ||
5649 | name = "is-dotfile-1.0.3.tgz"; | ||
5650 | path = fetchurl { | ||
5651 | name = "is-dotfile-1.0.3.tgz"; | ||
5652 | url = "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz"; | ||
5653 | sha1 = "a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"; | ||
5654 | }; | ||
5655 | } | ||
5656 | |||
5657 | { | ||
5658 | name = "is-equal-shallow-0.1.3.tgz"; | ||
5659 | path = fetchurl { | ||
5660 | name = "is-equal-shallow-0.1.3.tgz"; | ||
5661 | url = "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz"; | ||
5662 | sha1 = "2238098fc221de0bcfa5d9eac4c45d638aa1c534"; | ||
5663 | }; | ||
5664 | } | ||
5665 | |||
5666 | { | ||
5667 | name = "is-extendable-0.1.1.tgz"; | ||
5668 | path = fetchurl { | ||
5669 | name = "is-extendable-0.1.1.tgz"; | ||
5670 | url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz"; | ||
5671 | sha1 = "62b110e289a471418e3ec36a617d472e301dfc89"; | ||
5672 | }; | ||
5673 | } | ||
5674 | |||
5675 | { | ||
5676 | name = "is-extendable-1.0.1.tgz"; | ||
5677 | path = fetchurl { | ||
5678 | name = "is-extendable-1.0.1.tgz"; | ||
5679 | url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz"; | ||
5680 | sha1 = "a7470f9e426733d81bd81e1155264e3a3507cab4"; | ||
5681 | }; | ||
5682 | } | ||
5683 | |||
5684 | { | ||
5685 | name = "is-extglob-1.0.0.tgz"; | ||
5686 | path = fetchurl { | ||
5687 | name = "is-extglob-1.0.0.tgz"; | ||
5688 | url = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz"; | ||
5689 | sha1 = "ac468177c4943405a092fc8f29760c6ffc6206c0"; | ||
5690 | }; | ||
5691 | } | ||
5692 | |||
5693 | { | ||
5694 | name = "is-extglob-2.1.1.tgz"; | ||
5695 | path = fetchurl { | ||
5696 | name = "is-extglob-2.1.1.tgz"; | ||
5697 | url = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz"; | ||
5698 | sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2"; | ||
5699 | }; | ||
5700 | } | ||
5701 | |||
5702 | { | ||
5703 | name = "is-finite-1.0.2.tgz"; | ||
5704 | path = fetchurl { | ||
5705 | name = "is-finite-1.0.2.tgz"; | ||
5706 | url = "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz"; | ||
5707 | sha1 = "cc6677695602be550ef11e8b4aa6305342b6d0aa"; | ||
5708 | }; | ||
5709 | } | ||
5710 | |||
5711 | { | ||
5712 | name = "is-fullwidth-code-point-1.0.0.tgz"; | ||
5713 | path = fetchurl { | ||
5714 | name = "is-fullwidth-code-point-1.0.0.tgz"; | ||
5715 | url = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"; | ||
5716 | sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb"; | ||
5717 | }; | ||
5718 | } | ||
5719 | |||
5720 | { | ||
5721 | name = "is-fullwidth-code-point-2.0.0.tgz"; | ||
5722 | path = fetchurl { | ||
5723 | name = "is-fullwidth-code-point-2.0.0.tgz"; | ||
5724 | url = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"; | ||
5725 | sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f"; | ||
5726 | }; | ||
5727 | } | ||
5728 | |||
5729 | { | ||
5730 | name = "is-generator-fn-1.0.0.tgz"; | ||
5731 | path = fetchurl { | ||
5732 | name = "is-generator-fn-1.0.0.tgz"; | ||
5733 | url = "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz"; | ||
5734 | sha1 = "969d49e1bb3329f6bb7f09089be26578b2ddd46a"; | ||
5735 | }; | ||
5736 | } | ||
5737 | |||
5738 | { | ||
5739 | name = "is-glob-2.0.1.tgz"; | ||
5740 | path = fetchurl { | ||
5741 | name = "is-glob-2.0.1.tgz"; | ||
5742 | url = "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz"; | ||
5743 | sha1 = "d096f926a3ded5600f3fdfd91198cb0888c2d863"; | ||
5744 | }; | ||
5745 | } | ||
5746 | |||
5747 | { | ||
5748 | name = "is-glob-3.1.0.tgz"; | ||
5749 | path = fetchurl { | ||
5750 | name = "is-glob-3.1.0.tgz"; | ||
5751 | url = "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz"; | ||
5752 | sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a"; | ||
5753 | }; | ||
5754 | } | ||
5755 | |||
5756 | { | ||
5757 | name = "is-glob-4.0.0.tgz"; | ||
5758 | path = fetchurl { | ||
5759 | name = "is-glob-4.0.0.tgz"; | ||
5760 | url = "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz"; | ||
5761 | sha1 = "9521c76845cc2610a85203ddf080a958c2ffabc0"; | ||
5762 | }; | ||
5763 | } | ||
5764 | |||
5765 | { | ||
5766 | name = "is-nan-1.2.1.tgz"; | ||
5767 | path = fetchurl { | ||
5768 | name = "is-nan-1.2.1.tgz"; | ||
5769 | url = "https://registry.yarnpkg.com/is-nan/-/is-nan-1.2.1.tgz"; | ||
5770 | sha1 = "9faf65b6fb6db24b7f5c0628475ea71f988401e2"; | ||
5771 | }; | ||
5772 | } | ||
5773 | |||
5774 | { | ||
5775 | name = "is-number-object-1.0.3.tgz"; | ||
5776 | path = fetchurl { | ||
5777 | name = "is-number-object-1.0.3.tgz"; | ||
5778 | url = "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz"; | ||
5779 | sha1 = "f265ab89a9f445034ef6aff15a8f00b00f551799"; | ||
5780 | }; | ||
5781 | } | ||
5782 | |||
5783 | { | ||
5784 | name = "is-number-2.1.0.tgz"; | ||
5785 | path = fetchurl { | ||
5786 | name = "is-number-2.1.0.tgz"; | ||
5787 | url = "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz"; | ||
5788 | sha1 = "01fcbbb393463a548f2f466cce16dece49db908f"; | ||
5789 | }; | ||
5790 | } | ||
5791 | |||
5792 | { | ||
5793 | name = "is-number-3.0.0.tgz"; | ||
5794 | path = fetchurl { | ||
5795 | name = "is-number-3.0.0.tgz"; | ||
5796 | url = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz"; | ||
5797 | sha1 = "24fd6201a4782cf50561c810276afc7d12d71195"; | ||
5798 | }; | ||
5799 | } | ||
5800 | |||
5801 | { | ||
5802 | name = "is-number-4.0.0.tgz"; | ||
5803 | path = fetchurl { | ||
5804 | name = "is-number-4.0.0.tgz"; | ||
5805 | url = "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz"; | ||
5806 | sha1 = "0026e37f5454d73e356dfe6564699867c6a7f0ff"; | ||
5807 | }; | ||
5808 | } | ||
5809 | |||
5810 | { | ||
5811 | name = "is-obj-1.0.1.tgz"; | ||
5812 | path = fetchurl { | ||
5813 | name = "is-obj-1.0.1.tgz"; | ||
5814 | url = "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz"; | ||
5815 | sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"; | ||
5816 | }; | ||
5817 | } | ||
5818 | |||
5819 | { | ||
5820 | name = "is-path-cwd-1.0.0.tgz"; | ||
5821 | path = fetchurl { | ||
5822 | name = "is-path-cwd-1.0.0.tgz"; | ||
5823 | url = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz"; | ||
5824 | sha1 = "d225ec23132e89edd38fda767472e62e65f1106d"; | ||
5825 | }; | ||
5826 | } | ||
5827 | |||
5828 | { | ||
5829 | name = "is-path-in-cwd-1.0.1.tgz"; | ||
5830 | path = fetchurl { | ||
5831 | name = "is-path-in-cwd-1.0.1.tgz"; | ||
5832 | url = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz"; | ||
5833 | sha1 = "5ac48b345ef675339bd6c7a48a912110b241cf52"; | ||
5834 | }; | ||
5835 | } | ||
5836 | |||
5837 | { | ||
5838 | name = "is-path-inside-1.0.1.tgz"; | ||
5839 | path = fetchurl { | ||
5840 | name = "is-path-inside-1.0.1.tgz"; | ||
5841 | url = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz"; | ||
5842 | sha1 = "8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"; | ||
5843 | }; | ||
5844 | } | ||
5845 | |||
5846 | { | ||
5847 | name = "is-plain-object-2.0.4.tgz"; | ||
5848 | path = fetchurl { | ||
5849 | name = "is-plain-object-2.0.4.tgz"; | ||
5850 | url = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz"; | ||
5851 | sha1 = "2c163b3fafb1b606d9d17928f05c2a1c38e07677"; | ||
5852 | }; | ||
5853 | } | ||
5854 | |||
5855 | { | ||
5856 | name = "is-posix-bracket-0.1.1.tgz"; | ||
5857 | path = fetchurl { | ||
5858 | name = "is-posix-bracket-0.1.1.tgz"; | ||
5859 | url = "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"; | ||
5860 | sha1 = "3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"; | ||
5861 | }; | ||
5862 | } | ||
5863 | |||
5864 | { | ||
5865 | name = "is-primitive-2.0.0.tgz"; | ||
5866 | path = fetchurl { | ||
5867 | name = "is-primitive-2.0.0.tgz"; | ||
5868 | url = "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz"; | ||
5869 | sha1 = "207bab91638499c07b2adf240a41a87210034575"; | ||
5870 | }; | ||
5871 | } | ||
5872 | |||
5873 | { | ||
5874 | name = "is-promise-2.1.0.tgz"; | ||
5875 | path = fetchurl { | ||
5876 | name = "is-promise-2.1.0.tgz"; | ||
5877 | url = "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz"; | ||
5878 | sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"; | ||
5879 | }; | ||
5880 | } | ||
5881 | |||
5882 | { | ||
5883 | name = "is-regex-1.0.4.tgz"; | ||
5884 | path = fetchurl { | ||
5885 | name = "is-regex-1.0.4.tgz"; | ||
5886 | url = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz"; | ||
5887 | sha1 = "5517489b547091b0930e095654ced25ee97e9491"; | ||
5888 | }; | ||
5889 | } | ||
5890 | |||
5891 | { | ||
5892 | name = "is-resolvable-1.1.0.tgz"; | ||
5893 | path = fetchurl { | ||
5894 | name = "is-resolvable-1.1.0.tgz"; | ||
5895 | url = "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz"; | ||
5896 | sha1 = "fb18f87ce1feb925169c9a407c19318a3206ed88"; | ||
5897 | }; | ||
5898 | } | ||
5899 | |||
5900 | { | ||
5901 | name = "is-stream-1.1.0.tgz"; | ||
5902 | path = fetchurl { | ||
5903 | name = "is-stream-1.1.0.tgz"; | ||
5904 | url = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz"; | ||
5905 | sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"; | ||
5906 | }; | ||
5907 | } | ||
5908 | |||
5909 | { | ||
5910 | name = "is-string-1.0.4.tgz"; | ||
5911 | path = fetchurl { | ||
5912 | name = "is-string-1.0.4.tgz"; | ||
5913 | url = "https://registry.yarnpkg.com/is-string/-/is-string-1.0.4.tgz"; | ||
5914 | sha1 = "cc3a9b69857d621e963725a24caeec873b826e64"; | ||
5915 | }; | ||
5916 | } | ||
5917 | |||
5918 | { | ||
5919 | name = "is-subset-0.1.1.tgz"; | ||
5920 | path = fetchurl { | ||
5921 | name = "is-subset-0.1.1.tgz"; | ||
5922 | url = "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz"; | ||
5923 | sha1 = "8a59117d932de1de00f245fcdd39ce43f1e939a6"; | ||
5924 | }; | ||
5925 | } | ||
5926 | |||
5927 | { | ||
5928 | name = "is-symbol-1.0.1.tgz"; | ||
5929 | path = fetchurl { | ||
5930 | name = "is-symbol-1.0.1.tgz"; | ||
5931 | url = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz"; | ||
5932 | sha1 = "3cc59f00025194b6ab2e38dbae6689256b660572"; | ||
5933 | }; | ||
5934 | } | ||
5935 | |||
5936 | { | ||
5937 | name = "is-typedarray-1.0.0.tgz"; | ||
5938 | path = fetchurl { | ||
5939 | name = "is-typedarray-1.0.0.tgz"; | ||
5940 | url = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz"; | ||
5941 | sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a"; | ||
5942 | }; | ||
5943 | } | ||
5944 | |||
5945 | { | ||
5946 | name = "is-utf8-0.2.1.tgz"; | ||
5947 | path = fetchurl { | ||
5948 | name = "is-utf8-0.2.1.tgz"; | ||
5949 | url = "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz"; | ||
5950 | sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72"; | ||
5951 | }; | ||
5952 | } | ||
5953 | |||
5954 | { | ||
5955 | name = "is-windows-1.0.2.tgz"; | ||
5956 | path = fetchurl { | ||
5957 | name = "is-windows-1.0.2.tgz"; | ||
5958 | url = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz"; | ||
5959 | sha1 = "d1850eb9791ecd18e6182ce12a30f396634bb19d"; | ||
5960 | }; | ||
5961 | } | ||
5962 | |||
5963 | { | ||
5964 | name = "is-wsl-1.1.0.tgz"; | ||
5965 | path = fetchurl { | ||
5966 | name = "is-wsl-1.1.0.tgz"; | ||
5967 | url = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz"; | ||
5968 | sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d"; | ||
5969 | }; | ||
5970 | } | ||
5971 | |||
5972 | { | ||
5973 | name = "isarray-0.0.1.tgz"; | ||
5974 | path = fetchurl { | ||
5975 | name = "isarray-0.0.1.tgz"; | ||
5976 | url = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz"; | ||
5977 | sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf"; | ||
5978 | }; | ||
5979 | } | ||
5980 | |||
5981 | { | ||
5982 | name = "isarray-1.0.0.tgz"; | ||
5983 | path = fetchurl { | ||
5984 | name = "isarray-1.0.0.tgz"; | ||
5985 | url = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz"; | ||
5986 | sha1 = "bb935d48582cba168c06834957a54a3e07124f11"; | ||
5987 | }; | ||
5988 | } | ||
5989 | |||
5990 | { | ||
5991 | name = "isexe-2.0.0.tgz"; | ||
5992 | path = fetchurl { | ||
5993 | name = "isexe-2.0.0.tgz"; | ||
5994 | url = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz"; | ||
5995 | sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10"; | ||
5996 | }; | ||
5997 | } | ||
5998 | |||
5999 | { | ||
6000 | name = "isobject-2.1.0.tgz"; | ||
6001 | path = fetchurl { | ||
6002 | name = "isobject-2.1.0.tgz"; | ||
6003 | url = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz"; | ||
6004 | sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89"; | ||
6005 | }; | ||
6006 | } | ||
6007 | |||
6008 | { | ||
6009 | name = "isobject-3.0.1.tgz"; | ||
6010 | path = fetchurl { | ||
6011 | name = "isobject-3.0.1.tgz"; | ||
6012 | url = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz"; | ||
6013 | sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"; | ||
6014 | }; | ||
6015 | } | ||
6016 | |||
6017 | { | ||
6018 | name = "isomorphic-fetch-2.2.1.tgz"; | ||
6019 | path = fetchurl { | ||
6020 | name = "isomorphic-fetch-2.2.1.tgz"; | ||
6021 | url = "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz"; | ||
6022 | sha1 = "611ae1acf14f5e81f729507472819fe9733558a9"; | ||
6023 | }; | ||
6024 | } | ||
6025 | |||
6026 | { | ||
6027 | name = "isstream-0.1.2.tgz"; | ||
6028 | path = fetchurl { | ||
6029 | name = "isstream-0.1.2.tgz"; | ||
6030 | url = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz"; | ||
6031 | sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a"; | ||
6032 | }; | ||
6033 | } | ||
6034 | |||
6035 | { | ||
6036 | name = "istanbul-api-1.3.7.tgz"; | ||
6037 | path = fetchurl { | ||
6038 | name = "istanbul-api-1.3.7.tgz"; | ||
6039 | url = "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.7.tgz"; | ||
6040 | sha1 = "a86c770d2b03e11e3f778cd7aedd82d2722092aa"; | ||
6041 | }; | ||
6042 | } | ||
6043 | |||
6044 | { | ||
6045 | name = "istanbul-lib-coverage-1.2.1.tgz"; | ||
6046 | path = fetchurl { | ||
6047 | name = "istanbul-lib-coverage-1.2.1.tgz"; | ||
6048 | url = "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz"; | ||
6049 | sha1 = "ccf7edcd0a0bb9b8f729feeb0930470f9af664f0"; | ||
6050 | }; | ||
6051 | } | ||
6052 | |||
6053 | { | ||
6054 | name = "istanbul-lib-hook-1.2.2.tgz"; | ||
6055 | path = fetchurl { | ||
6056 | name = "istanbul-lib-hook-1.2.2.tgz"; | ||
6057 | url = "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz"; | ||
6058 | sha1 = "bc6bf07f12a641fbf1c85391d0daa8f0aea6bf86"; | ||
6059 | }; | ||
6060 | } | ||
6061 | |||
6062 | { | ||
6063 | name = "istanbul-lib-instrument-1.10.2.tgz"; | ||
6064 | path = fetchurl { | ||
6065 | name = "istanbul-lib-instrument-1.10.2.tgz"; | ||
6066 | url = "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz"; | ||
6067 | sha1 = "1f55ed10ac3c47f2bdddd5307935126754d0a9ca"; | ||
6068 | }; | ||
6069 | } | ||
6070 | |||
6071 | { | ||
6072 | name = "istanbul-lib-report-1.1.5.tgz"; | ||
6073 | path = fetchurl { | ||
6074 | name = "istanbul-lib-report-1.1.5.tgz"; | ||
6075 | url = "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz"; | ||
6076 | sha1 = "f2a657fc6282f96170aaf281eb30a458f7f4170c"; | ||
6077 | }; | ||
6078 | } | ||
6079 | |||
6080 | { | ||
6081 | name = "istanbul-lib-source-maps-1.2.6.tgz"; | ||
6082 | path = fetchurl { | ||
6083 | name = "istanbul-lib-source-maps-1.2.6.tgz"; | ||
6084 | url = "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz"; | ||
6085 | sha1 = "37b9ff661580f8fca11232752ee42e08c6675d8f"; | ||
6086 | }; | ||
6087 | } | ||
6088 | |||
6089 | { | ||
6090 | name = "istanbul-reports-1.5.1.tgz"; | ||
6091 | path = fetchurl { | ||
6092 | name = "istanbul-reports-1.5.1.tgz"; | ||
6093 | url = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.5.1.tgz"; | ||
6094 | sha1 = "97e4dbf3b515e8c484caea15d6524eebd3ff4e1a"; | ||
6095 | }; | ||
6096 | } | ||
6097 | |||
6098 | { | ||
6099 | name = "jest-changed-files-23.4.2.tgz"; | ||
6100 | path = fetchurl { | ||
6101 | name = "jest-changed-files-23.4.2.tgz"; | ||
6102 | url = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-23.4.2.tgz"; | ||
6103 | sha1 = "1eed688370cd5eebafe4ae93d34bb3b64968fe83"; | ||
6104 | }; | ||
6105 | } | ||
6106 | |||
6107 | { | ||
6108 | name = "jest-cli-23.6.0.tgz"; | ||
6109 | path = fetchurl { | ||
6110 | name = "jest-cli-23.6.0.tgz"; | ||
6111 | url = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.6.0.tgz"; | ||
6112 | sha1 = "61ab917744338f443ef2baa282ddffdd658a5da4"; | ||
6113 | }; | ||
6114 | } | ||
6115 | |||
6116 | { | ||
6117 | name = "jest-config-23.6.0.tgz"; | ||
6118 | path = fetchurl { | ||
6119 | name = "jest-config-23.6.0.tgz"; | ||
6120 | url = "https://registry.yarnpkg.com/jest-config/-/jest-config-23.6.0.tgz"; | ||
6121 | sha1 = "f82546a90ade2d8c7026fbf6ac5207fc22f8eb1d"; | ||
6122 | }; | ||
6123 | } | ||
6124 | |||
6125 | { | ||
6126 | name = "jest-diff-23.6.0.tgz"; | ||
6127 | path = fetchurl { | ||
6128 | name = "jest-diff-23.6.0.tgz"; | ||
6129 | url = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.6.0.tgz"; | ||
6130 | sha1 = "1500f3f16e850bb3d71233408089be099f610c7d"; | ||
6131 | }; | ||
6132 | } | ||
6133 | |||
6134 | { | ||
6135 | name = "jest-docblock-23.2.0.tgz"; | ||
6136 | path = fetchurl { | ||
6137 | name = "jest-docblock-23.2.0.tgz"; | ||
6138 | url = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz"; | ||
6139 | sha1 = "f085e1f18548d99fdd69b20207e6fd55d91383a7"; | ||
6140 | }; | ||
6141 | } | ||
6142 | |||
6143 | { | ||
6144 | name = "jest-each-23.6.0.tgz"; | ||
6145 | path = fetchurl { | ||
6146 | name = "jest-each-23.6.0.tgz"; | ||
6147 | url = "https://registry.yarnpkg.com/jest-each/-/jest-each-23.6.0.tgz"; | ||
6148 | sha1 = "ba0c3a82a8054387016139c733a05242d3d71575"; | ||
6149 | }; | ||
6150 | } | ||
6151 | |||
6152 | { | ||
6153 | name = "jest-environment-jsdom-23.4.0.tgz"; | ||
6154 | path = fetchurl { | ||
6155 | name = "jest-environment-jsdom-23.4.0.tgz"; | ||
6156 | url = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz"; | ||
6157 | sha1 = "056a7952b3fea513ac62a140a2c368c79d9e6023"; | ||
6158 | }; | ||
6159 | } | ||
6160 | |||
6161 | { | ||
6162 | name = "jest-environment-node-23.4.0.tgz"; | ||
6163 | path = fetchurl { | ||
6164 | name = "jest-environment-node-23.4.0.tgz"; | ||
6165 | url = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-23.4.0.tgz"; | ||
6166 | sha1 = "57e80ed0841dea303167cce8cd79521debafde10"; | ||
6167 | }; | ||
6168 | } | ||
6169 | |||
6170 | { | ||
6171 | name = "jest-get-type-22.4.3.tgz"; | ||
6172 | path = fetchurl { | ||
6173 | name = "jest-get-type-22.4.3.tgz"; | ||
6174 | url = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz"; | ||
6175 | sha1 = "e3a8504d8479342dd4420236b322869f18900ce4"; | ||
6176 | }; | ||
6177 | } | ||
6178 | |||
6179 | { | ||
6180 | name = "jest-haste-map-23.6.0.tgz"; | ||
6181 | path = fetchurl { | ||
6182 | name = "jest-haste-map-23.6.0.tgz"; | ||
6183 | url = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.6.0.tgz"; | ||
6184 | sha1 = "2e3eb997814ca696d62afdb3f2529f5bbc935e16"; | ||
6185 | }; | ||
6186 | } | ||
6187 | |||
6188 | { | ||
6189 | name = "jest-jasmine2-23.6.0.tgz"; | ||
6190 | path = fetchurl { | ||
6191 | name = "jest-jasmine2-23.6.0.tgz"; | ||
6192 | url = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz"; | ||
6193 | sha1 = "840e937f848a6c8638df24360ab869cc718592e0"; | ||
6194 | }; | ||
6195 | } | ||
6196 | |||
6197 | { | ||
6198 | name = "jest-leak-detector-23.6.0.tgz"; | ||
6199 | path = fetchurl { | ||
6200 | name = "jest-leak-detector-23.6.0.tgz"; | ||
6201 | url = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz"; | ||
6202 | sha1 = "e4230fd42cf381a1a1971237ad56897de7e171de"; | ||
6203 | }; | ||
6204 | } | ||
6205 | |||
6206 | { | ||
6207 | name = "jest-matcher-utils-23.6.0.tgz"; | ||
6208 | path = fetchurl { | ||
6209 | name = "jest-matcher-utils-23.6.0.tgz"; | ||
6210 | url = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz"; | ||
6211 | sha1 = "726bcea0c5294261a7417afb6da3186b4b8cac80"; | ||
6212 | }; | ||
6213 | } | ||
6214 | |||
6215 | { | ||
6216 | name = "jest-message-util-23.4.0.tgz"; | ||
6217 | path = fetchurl { | ||
6218 | name = "jest-message-util-23.4.0.tgz"; | ||
6219 | url = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-23.4.0.tgz"; | ||
6220 | sha1 = "17610c50942349508d01a3d1e0bda2c079086a9f"; | ||
6221 | }; | ||
6222 | } | ||
6223 | |||
6224 | { | ||
6225 | name = "jest-mock-23.2.0.tgz"; | ||
6226 | path = fetchurl { | ||
6227 | name = "jest-mock-23.2.0.tgz"; | ||
6228 | url = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.2.0.tgz"; | ||
6229 | sha1 = "ad1c60f29e8719d47c26e1138098b6d18b261134"; | ||
6230 | }; | ||
6231 | } | ||
6232 | |||
6233 | { | ||
6234 | name = "jest-regex-util-23.3.0.tgz"; | ||
6235 | path = fetchurl { | ||
6236 | name = "jest-regex-util-23.3.0.tgz"; | ||
6237 | url = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-23.3.0.tgz"; | ||
6238 | sha1 = "5f86729547c2785c4002ceaa8f849fe8ca471bc5"; | ||
6239 | }; | ||
6240 | } | ||
6241 | |||
6242 | { | ||
6243 | name = "jest-resolve-dependencies-23.6.0.tgz"; | ||
6244 | path = fetchurl { | ||
6245 | name = "jest-resolve-dependencies-23.6.0.tgz"; | ||
6246 | url = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz"; | ||
6247 | sha1 = "b4526af24c8540d9a3fab102c15081cf509b723d"; | ||
6248 | }; | ||
6249 | } | ||
6250 | |||
6251 | { | ||
6252 | name = "jest-resolve-23.6.0.tgz"; | ||
6253 | path = fetchurl { | ||
6254 | name = "jest-resolve-23.6.0.tgz"; | ||
6255 | url = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.6.0.tgz"; | ||
6256 | sha1 = "cf1d1a24ce7ee7b23d661c33ba2150f3aebfa0ae"; | ||
6257 | }; | ||
6258 | } | ||
6259 | |||
6260 | { | ||
6261 | name = "jest-runner-23.6.0.tgz"; | ||
6262 | path = fetchurl { | ||
6263 | name = "jest-runner-23.6.0.tgz"; | ||
6264 | url = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.6.0.tgz"; | ||
6265 | sha1 = "3894bd219ffc3f3cb94dc48a4170a2e6f23a5a38"; | ||
6266 | }; | ||
6267 | } | ||
6268 | |||
6269 | { | ||
6270 | name = "jest-runtime-23.6.0.tgz"; | ||
6271 | path = fetchurl { | ||
6272 | name = "jest-runtime-23.6.0.tgz"; | ||
6273 | url = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.6.0.tgz"; | ||
6274 | sha1 = "059e58c8ab445917cd0e0d84ac2ba68de8f23082"; | ||
6275 | }; | ||
6276 | } | ||
6277 | |||
6278 | { | ||
6279 | name = "jest-serializer-23.0.1.tgz"; | ||
6280 | path = fetchurl { | ||
6281 | name = "jest-serializer-23.0.1.tgz"; | ||
6282 | url = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz"; | ||
6283 | sha1 = "a3776aeb311e90fe83fab9e533e85102bd164165"; | ||
6284 | }; | ||
6285 | } | ||
6286 | |||
6287 | { | ||
6288 | name = "jest-snapshot-23.6.0.tgz"; | ||
6289 | path = fetchurl { | ||
6290 | name = "jest-snapshot-23.6.0.tgz"; | ||
6291 | url = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.6.0.tgz"; | ||
6292 | sha1 = "f9c2625d1b18acda01ec2d2b826c0ce58a5aa17a"; | ||
6293 | }; | ||
6294 | } | ||
6295 | |||
6296 | { | ||
6297 | name = "jest-util-23.4.0.tgz"; | ||
6298 | path = fetchurl { | ||
6299 | name = "jest-util-23.4.0.tgz"; | ||
6300 | url = "https://registry.yarnpkg.com/jest-util/-/jest-util-23.4.0.tgz"; | ||
6301 | sha1 = "4d063cb927baf0a23831ff61bec2cbbf49793561"; | ||
6302 | }; | ||
6303 | } | ||
6304 | |||
6305 | { | ||
6306 | name = "jest-validate-23.6.0.tgz"; | ||
6307 | path = fetchurl { | ||
6308 | name = "jest-validate-23.6.0.tgz"; | ||
6309 | url = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.6.0.tgz"; | ||
6310 | sha1 = "36761f99d1ed33fcd425b4e4c5595d62b6597474"; | ||
6311 | }; | ||
6312 | } | ||
6313 | |||
6314 | { | ||
6315 | name = "jest-watcher-23.4.0.tgz"; | ||
6316 | path = fetchurl { | ||
6317 | name = "jest-watcher-23.4.0.tgz"; | ||
6318 | url = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-23.4.0.tgz"; | ||
6319 | sha1 = "d2e28ce74f8dad6c6afc922b92cabef6ed05c91c"; | ||
6320 | }; | ||
6321 | } | ||
6322 | |||
6323 | { | ||
6324 | name = "jest-worker-23.2.0.tgz"; | ||
6325 | path = fetchurl { | ||
6326 | name = "jest-worker-23.2.0.tgz"; | ||
6327 | url = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.2.0.tgz"; | ||
6328 | sha1 = "faf706a8da36fae60eb26957257fa7b5d8ea02b9"; | ||
6329 | }; | ||
6330 | } | ||
6331 | |||
6332 | { | ||
6333 | name = "jest-23.6.0.tgz"; | ||
6334 | path = fetchurl { | ||
6335 | name = "jest-23.6.0.tgz"; | ||
6336 | url = "https://registry.yarnpkg.com/jest/-/jest-23.6.0.tgz"; | ||
6337 | sha1 = "ad5835e923ebf6e19e7a1d7529a432edfee7813d"; | ||
6338 | }; | ||
6339 | } | ||
6340 | |||
6341 | { | ||
6342 | name = "js-base64-2.4.9.tgz"; | ||
6343 | path = fetchurl { | ||
6344 | name = "js-base64-2.4.9.tgz"; | ||
6345 | url = "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.9.tgz"; | ||
6346 | sha1 = "748911fb04f48a60c4771b375cac45a80df11c03"; | ||
6347 | }; | ||
6348 | } | ||
6349 | |||
6350 | { | ||
6351 | name = "js-levenshtein-1.1.3.tgz"; | ||
6352 | path = fetchurl { | ||
6353 | name = "js-levenshtein-1.1.3.tgz"; | ||
6354 | url = "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.3.tgz"; | ||
6355 | sha1 = "3ef627df48ec8cf24bacf05c0f184ff30ef413c5"; | ||
6356 | }; | ||
6357 | } | ||
6358 | |||
6359 | { | ||
6360 | name = "js-string-escape-1.0.1.tgz"; | ||
6361 | path = fetchurl { | ||
6362 | name = "js-string-escape-1.0.1.tgz"; | ||
6363 | url = "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz"; | ||
6364 | sha1 = "e2625badbc0d67c7533e9edc1068c587ae4137ef"; | ||
6365 | }; | ||
6366 | } | ||
6367 | |||
6368 | { | ||
6369 | name = "js-tokens-4.0.0.tgz"; | ||
6370 | path = fetchurl { | ||
6371 | name = "js-tokens-4.0.0.tgz"; | ||
6372 | url = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz"; | ||
6373 | sha1 = "19203fb59991df98e3a287050d4647cdeaf32499"; | ||
6374 | }; | ||
6375 | } | ||
6376 | |||
6377 | { | ||
6378 | name = "js-tokens-3.0.2.tgz"; | ||
6379 | path = fetchurl { | ||
6380 | name = "js-tokens-3.0.2.tgz"; | ||
6381 | url = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz"; | ||
6382 | sha1 = "9866df395102130e38f7f996bceb65443209c25b"; | ||
6383 | }; | ||
6384 | } | ||
6385 | |||
6386 | { | ||
6387 | name = "js-yaml-3.12.0.tgz"; | ||
6388 | path = fetchurl { | ||
6389 | name = "js-yaml-3.12.0.tgz"; | ||
6390 | url = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz"; | ||
6391 | sha1 = "eaed656ec8344f10f527c6bfa1b6e2244de167d1"; | ||
6392 | }; | ||
6393 | } | ||
6394 | |||
6395 | { | ||
6396 | name = "jsbn-0.1.1.tgz"; | ||
6397 | path = fetchurl { | ||
6398 | name = "jsbn-0.1.1.tgz"; | ||
6399 | url = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz"; | ||
6400 | sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"; | ||
6401 | }; | ||
6402 | } | ||
6403 | |||
6404 | { | ||
6405 | name = "jsdom-11.12.0.tgz"; | ||
6406 | path = fetchurl { | ||
6407 | name = "jsdom-11.12.0.tgz"; | ||
6408 | url = "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz"; | ||
6409 | sha1 = "1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8"; | ||
6410 | }; | ||
6411 | } | ||
6412 | |||
6413 | { | ||
6414 | name = "jsesc-1.3.0.tgz"; | ||
6415 | path = fetchurl { | ||
6416 | name = "jsesc-1.3.0.tgz"; | ||
6417 | url = "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz"; | ||
6418 | sha1 = "46c3fec8c1892b12b0833db9bc7622176dbab34b"; | ||
6419 | }; | ||
6420 | } | ||
6421 | |||
6422 | { | ||
6423 | name = "jsesc-2.5.1.tgz"; | ||
6424 | path = fetchurl { | ||
6425 | name = "jsesc-2.5.1.tgz"; | ||
6426 | url = "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz"; | ||
6427 | sha1 = "e421a2a8e20d6b0819df28908f782526b96dd1fe"; | ||
6428 | }; | ||
6429 | } | ||
6430 | |||
6431 | { | ||
6432 | name = "jsesc-0.5.0.tgz"; | ||
6433 | path = fetchurl { | ||
6434 | name = "jsesc-0.5.0.tgz"; | ||
6435 | url = "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz"; | ||
6436 | sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d"; | ||
6437 | }; | ||
6438 | } | ||
6439 | |||
6440 | { | ||
6441 | name = "json-parse-better-errors-1.0.2.tgz"; | ||
6442 | path = fetchurl { | ||
6443 | name = "json-parse-better-errors-1.0.2.tgz"; | ||
6444 | url = "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz"; | ||
6445 | sha1 = "bb867cfb3450e69107c131d1c514bab3dc8bcaa9"; | ||
6446 | }; | ||
6447 | } | ||
6448 | |||
6449 | { | ||
6450 | name = "json-schema-traverse-0.3.1.tgz"; | ||
6451 | path = fetchurl { | ||
6452 | name = "json-schema-traverse-0.3.1.tgz"; | ||
6453 | url = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz"; | ||
6454 | sha1 = "349a6d44c53a51de89b40805c5d5e59b417d3340"; | ||
6455 | }; | ||
6456 | } | ||
6457 | |||
6458 | { | ||
6459 | name = "json-schema-traverse-0.4.1.tgz"; | ||
6460 | path = fetchurl { | ||
6461 | name = "json-schema-traverse-0.4.1.tgz"; | ||
6462 | url = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"; | ||
6463 | sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660"; | ||
6464 | }; | ||
6465 | } | ||
6466 | |||
6467 | { | ||
6468 | name = "json-schema-0.2.3.tgz"; | ||
6469 | path = fetchurl { | ||
6470 | name = "json-schema-0.2.3.tgz"; | ||
6471 | url = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz"; | ||
6472 | sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13"; | ||
6473 | }; | ||
6474 | } | ||
6475 | |||
6476 | { | ||
6477 | name = "json-stable-stringify-without-jsonify-1.0.1.tgz"; | ||
6478 | path = fetchurl { | ||
6479 | name = "json-stable-stringify-without-jsonify-1.0.1.tgz"; | ||
6480 | url = "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"; | ||
6481 | sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651"; | ||
6482 | }; | ||
6483 | } | ||
6484 | |||
6485 | { | ||
6486 | name = "json-stable-stringify-1.0.1.tgz"; | ||
6487 | path = fetchurl { | ||
6488 | name = "json-stable-stringify-1.0.1.tgz"; | ||
6489 | url = "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz"; | ||
6490 | sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af"; | ||
6491 | }; | ||
6492 | } | ||
6493 | |||
6494 | { | ||
6495 | name = "json-stringify-safe-5.0.1.tgz"; | ||
6496 | path = fetchurl { | ||
6497 | name = "json-stringify-safe-5.0.1.tgz"; | ||
6498 | url = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"; | ||
6499 | sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"; | ||
6500 | }; | ||
6501 | } | ||
6502 | |||
6503 | { | ||
6504 | name = "json3-3.3.2.tgz"; | ||
6505 | path = fetchurl { | ||
6506 | name = "json3-3.3.2.tgz"; | ||
6507 | url = "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz"; | ||
6508 | sha1 = "3c0434743df93e2f5c42aee7b19bcb483575f4e1"; | ||
6509 | }; | ||
6510 | } | ||
6511 | |||
6512 | { | ||
6513 | name = "json5-0.5.1.tgz"; | ||
6514 | path = fetchurl { | ||
6515 | name = "json5-0.5.1.tgz"; | ||
6516 | url = "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz"; | ||
6517 | sha1 = "1eade7acc012034ad84e2396767ead9fa5495821"; | ||
6518 | }; | ||
6519 | } | ||
6520 | |||
6521 | { | ||
6522 | name = "jsonfile-4.0.0.tgz"; | ||
6523 | path = fetchurl { | ||
6524 | name = "jsonfile-4.0.0.tgz"; | ||
6525 | url = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz"; | ||
6526 | sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb"; | ||
6527 | }; | ||
6528 | } | ||
6529 | |||
6530 | { | ||
6531 | name = "jsonify-0.0.0.tgz"; | ||
6532 | path = fetchurl { | ||
6533 | name = "jsonify-0.0.0.tgz"; | ||
6534 | url = "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz"; | ||
6535 | sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73"; | ||
6536 | }; | ||
6537 | } | ||
6538 | |||
6539 | { | ||
6540 | name = "jsprim-1.4.1.tgz"; | ||
6541 | path = fetchurl { | ||
6542 | name = "jsprim-1.4.1.tgz"; | ||
6543 | url = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz"; | ||
6544 | sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"; | ||
6545 | }; | ||
6546 | } | ||
6547 | |||
6548 | { | ||
6549 | name = "jsx-ast-utils-2.0.1.tgz"; | ||
6550 | path = fetchurl { | ||
6551 | name = "jsx-ast-utils-2.0.1.tgz"; | ||
6552 | url = "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz"; | ||
6553 | sha1 = "e801b1b39985e20fffc87b40e3748080e2dcac7f"; | ||
6554 | }; | ||
6555 | } | ||
6556 | |||
6557 | { | ||
6558 | name = "keycode-2.2.0.tgz"; | ||
6559 | path = fetchurl { | ||
6560 | name = "keycode-2.2.0.tgz"; | ||
6561 | url = "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz"; | ||
6562 | sha1 = "3d0af56dc7b8b8e5cba8d0a97f107204eec22b04"; | ||
6563 | }; | ||
6564 | } | ||
6565 | |||
6566 | { | ||
6567 | name = "killable-1.0.1.tgz"; | ||
6568 | path = fetchurl { | ||
6569 | name = "killable-1.0.1.tgz"; | ||
6570 | url = "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz"; | ||
6571 | sha1 = "4c8ce441187a061c7474fb87ca08e2a638194892"; | ||
6572 | }; | ||
6573 | } | ||
6574 | |||
6575 | { | ||
6576 | name = "kind-of-3.2.2.tgz"; | ||
6577 | path = fetchurl { | ||
6578 | name = "kind-of-3.2.2.tgz"; | ||
6579 | url = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz"; | ||
6580 | sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64"; | ||
6581 | }; | ||
6582 | } | ||
6583 | |||
6584 | { | ||
6585 | name = "kind-of-4.0.0.tgz"; | ||
6586 | path = fetchurl { | ||
6587 | name = "kind-of-4.0.0.tgz"; | ||
6588 | url = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz"; | ||
6589 | sha1 = "20813df3d712928b207378691a45066fae72dd57"; | ||
6590 | }; | ||
6591 | } | ||
6592 | |||
6593 | { | ||
6594 | name = "kind-of-5.1.0.tgz"; | ||
6595 | path = fetchurl { | ||
6596 | name = "kind-of-5.1.0.tgz"; | ||
6597 | url = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz"; | ||
6598 | sha1 = "729c91e2d857b7a419a1f9aa65685c4c33f5845d"; | ||
6599 | }; | ||
6600 | } | ||
6601 | |||
6602 | { | ||
6603 | name = "kind-of-6.0.2.tgz"; | ||
6604 | path = fetchurl { | ||
6605 | name = "kind-of-6.0.2.tgz"; | ||
6606 | url = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz"; | ||
6607 | sha1 = "01146b36a6218e64e58f3a8d66de5d7fc6f6d051"; | ||
6608 | }; | ||
6609 | } | ||
6610 | |||
6611 | { | ||
6612 | name = "kleur-2.0.2.tgz"; | ||
6613 | path = fetchurl { | ||
6614 | name = "kleur-2.0.2.tgz"; | ||
6615 | url = "https://registry.yarnpkg.com/kleur/-/kleur-2.0.2.tgz"; | ||
6616 | sha1 = "b704f4944d95e255d038f0cb05fb8a602c55a300"; | ||
6617 | }; | ||
6618 | } | ||
6619 | |||
6620 | { | ||
6621 | name = "lcid-1.0.0.tgz"; | ||
6622 | path = fetchurl { | ||
6623 | name = "lcid-1.0.0.tgz"; | ||
6624 | url = "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz"; | ||
6625 | sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835"; | ||
6626 | }; | ||
6627 | } | ||
6628 | |||
6629 | { | ||
6630 | name = "lcid-2.0.0.tgz"; | ||
6631 | path = fetchurl { | ||
6632 | name = "lcid-2.0.0.tgz"; | ||
6633 | url = "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz"; | ||
6634 | sha1 = "6ef5d2df60e52f82eb228a4c373e8d1f397253cf"; | ||
6635 | }; | ||
6636 | } | ||
6637 | |||
6638 | { | ||
6639 | name = "left-pad-1.3.0.tgz"; | ||
6640 | path = fetchurl { | ||
6641 | name = "left-pad-1.3.0.tgz"; | ||
6642 | url = "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz"; | ||
6643 | sha1 = "5b8a3a7765dfe001261dde915589e782f8c94d1e"; | ||
6644 | }; | ||
6645 | } | ||
6646 | |||
6647 | { | ||
6648 | name = "leven-2.1.0.tgz"; | ||
6649 | path = fetchurl { | ||
6650 | name = "leven-2.1.0.tgz"; | ||
6651 | url = "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz"; | ||
6652 | sha1 = "c2e7a9f772094dee9d34202ae8acce4687875580"; | ||
6653 | }; | ||
6654 | } | ||
6655 | |||
6656 | { | ||
6657 | name = "levn-0.3.0.tgz"; | ||
6658 | path = fetchurl { | ||
6659 | name = "levn-0.3.0.tgz"; | ||
6660 | url = "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz"; | ||
6661 | sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee"; | ||
6662 | }; | ||
6663 | } | ||
6664 | |||
6665 | { | ||
6666 | name = "load-json-file-1.1.0.tgz"; | ||
6667 | path = fetchurl { | ||
6668 | name = "load-json-file-1.1.0.tgz"; | ||
6669 | url = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz"; | ||
6670 | sha1 = "956905708d58b4bab4c2261b04f59f31c99374c0"; | ||
6671 | }; | ||
6672 | } | ||
6673 | |||
6674 | { | ||
6675 | name = "load-json-file-2.0.0.tgz"; | ||
6676 | path = fetchurl { | ||
6677 | name = "load-json-file-2.0.0.tgz"; | ||
6678 | url = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz"; | ||
6679 | sha1 = "7947e42149af80d696cbf797bcaabcfe1fe29ca8"; | ||
6680 | }; | ||
6681 | } | ||
6682 | |||
6683 | { | ||
6684 | name = "loader-runner-2.3.0.tgz"; | ||
6685 | path = fetchurl { | ||
6686 | name = "loader-runner-2.3.0.tgz"; | ||
6687 | url = "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz"; | ||
6688 | sha1 = "f482aea82d543e07921700d5a46ef26fdac6b8a2"; | ||
6689 | }; | ||
6690 | } | ||
6691 | |||
6692 | { | ||
6693 | name = "loader-utils-0.2.17.tgz"; | ||
6694 | path = fetchurl { | ||
6695 | name = "loader-utils-0.2.17.tgz"; | ||
6696 | url = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz"; | ||
6697 | sha1 = "f86e6374d43205a6e6c60e9196f17c0299bfb348"; | ||
6698 | }; | ||
6699 | } | ||
6700 | |||
6701 | { | ||
6702 | name = "loader-utils-1.1.0.tgz"; | ||
6703 | path = fetchurl { | ||
6704 | name = "loader-utils-1.1.0.tgz"; | ||
6705 | url = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz"; | ||
6706 | sha1 = "c98aef488bcceda2ffb5e2de646d6a754429f5cd"; | ||
6707 | }; | ||
6708 | } | ||
6709 | |||
6710 | { | ||
6711 | name = "locate-path-2.0.0.tgz"; | ||
6712 | path = fetchurl { | ||
6713 | name = "locate-path-2.0.0.tgz"; | ||
6714 | url = "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz"; | ||
6715 | sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"; | ||
6716 | }; | ||
6717 | } | ||
6718 | |||
6719 | { | ||
6720 | name = "locate-path-3.0.0.tgz"; | ||
6721 | path = fetchurl { | ||
6722 | name = "locate-path-3.0.0.tgz"; | ||
6723 | url = "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz"; | ||
6724 | sha1 = "dbec3b3ab759758071b58fe59fc41871af21400e"; | ||
6725 | }; | ||
6726 | } | ||
6727 | |||
6728 | { | ||
6729 | name = "lodash-es-4.17.10.tgz"; | ||
6730 | path = fetchurl { | ||
6731 | name = "lodash-es-4.17.10.tgz"; | ||
6732 | url = "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.10.tgz"; | ||
6733 | sha1 = "62cd7104cdf5dd87f235a837f0ede0e8e5117e05"; | ||
6734 | }; | ||
6735 | } | ||
6736 | |||
6737 | { | ||
6738 | name = "lodash._reinterpolate-3.0.0.tgz"; | ||
6739 | path = fetchurl { | ||
6740 | name = "lodash._reinterpolate-3.0.0.tgz"; | ||
6741 | url = "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz"; | ||
6742 | sha1 = "0ccf2d89166af03b3663c796538b75ac6e114d9d"; | ||
6743 | }; | ||
6744 | } | ||
6745 | |||
6746 | { | ||
6747 | name = "lodash.assign-4.2.0.tgz"; | ||
6748 | path = fetchurl { | ||
6749 | name = "lodash.assign-4.2.0.tgz"; | ||
6750 | url = "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz"; | ||
6751 | sha1 = "0d99f3ccd7a6d261d19bdaeb9245005d285808e7"; | ||
6752 | }; | ||
6753 | } | ||
6754 | |||
6755 | { | ||
6756 | name = "lodash.camelcase-4.3.0.tgz"; | ||
6757 | path = fetchurl { | ||
6758 | name = "lodash.camelcase-4.3.0.tgz"; | ||
6759 | url = "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz"; | ||
6760 | sha1 = "b28aa6288a2b9fc651035c7711f65ab6190331a6"; | ||
6761 | }; | ||
6762 | } | ||
6763 | |||
6764 | { | ||
6765 | name = "lodash.clonedeep-4.5.0.tgz"; | ||
6766 | path = fetchurl { | ||
6767 | name = "lodash.clonedeep-4.5.0.tgz"; | ||
6768 | url = "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz"; | ||
6769 | sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef"; | ||
6770 | }; | ||
6771 | } | ||
6772 | |||
6773 | { | ||
6774 | name = "lodash.debounce-4.0.8.tgz"; | ||
6775 | path = fetchurl { | ||
6776 | name = "lodash.debounce-4.0.8.tgz"; | ||
6777 | url = "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz"; | ||
6778 | sha1 = "82d79bff30a67c4005ffd5e2515300ad9ca4d7af"; | ||
6779 | }; | ||
6780 | } | ||
6781 | |||
6782 | { | ||
6783 | name = "lodash.defaults-4.2.0.tgz"; | ||
6784 | path = fetchurl { | ||
6785 | name = "lodash.defaults-4.2.0.tgz"; | ||
6786 | url = "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz"; | ||
6787 | sha1 = "d09178716ffea4dde9e5fb7b37f6f0802274580c"; | ||
6788 | }; | ||
6789 | } | ||
6790 | |||
6791 | { | ||
6792 | name = "lodash.escape-4.0.1.tgz"; | ||
6793 | path = fetchurl { | ||
6794 | name = "lodash.escape-4.0.1.tgz"; | ||
6795 | url = "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz"; | ||
6796 | sha1 = "c9044690c21e04294beaa517712fded1fa88de98"; | ||
6797 | }; | ||
6798 | } | ||
6799 | |||
6800 | { | ||
6801 | name = "lodash.flattendeep-4.4.0.tgz"; | ||
6802 | path = fetchurl { | ||
6803 | name = "lodash.flattendeep-4.4.0.tgz"; | ||
6804 | url = "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz"; | ||
6805 | sha1 = "fb030917f86a3134e5bc9bec0d69e0013ddfedb2"; | ||
6806 | }; | ||
6807 | } | ||
6808 | |||
6809 | { | ||
6810 | name = "lodash.isequal-4.5.0.tgz"; | ||
6811 | path = fetchurl { | ||
6812 | name = "lodash.isequal-4.5.0.tgz"; | ||
6813 | url = "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz"; | ||
6814 | sha1 = "415c4478f2bcc30120c22ce10ed3226f7d3e18e0"; | ||
6815 | }; | ||
6816 | } | ||
6817 | |||
6818 | { | ||
6819 | name = "lodash.mergewith-4.6.1.tgz"; | ||
6820 | path = fetchurl { | ||
6821 | name = "lodash.mergewith-4.6.1.tgz"; | ||
6822 | url = "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz"; | ||
6823 | sha1 = "639057e726c3afbdb3e7d42741caa8d6e4335927"; | ||
6824 | }; | ||
6825 | } | ||
6826 | |||
6827 | { | ||
6828 | name = "lodash.sortby-4.7.0.tgz"; | ||
6829 | path = fetchurl { | ||
6830 | name = "lodash.sortby-4.7.0.tgz"; | ||
6831 | url = "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz"; | ||
6832 | sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438"; | ||
6833 | }; | ||
6834 | } | ||
6835 | |||
6836 | { | ||
6837 | name = "lodash.tail-4.1.1.tgz"; | ||
6838 | path = fetchurl { | ||
6839 | name = "lodash.tail-4.1.1.tgz"; | ||
6840 | url = "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz"; | ||
6841 | sha1 = "d2333a36d9e7717c8ad2f7cacafec7c32b444664"; | ||
6842 | }; | ||
6843 | } | ||
6844 | |||
6845 | { | ||
6846 | name = "lodash.template-4.4.0.tgz"; | ||
6847 | path = fetchurl { | ||
6848 | name = "lodash.template-4.4.0.tgz"; | ||
6849 | url = "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz"; | ||
6850 | sha1 = "e73a0385c8355591746e020b99679c690e68fba0"; | ||
6851 | }; | ||
6852 | } | ||
6853 | |||
6854 | { | ||
6855 | name = "lodash.templatesettings-4.1.0.tgz"; | ||
6856 | path = fetchurl { | ||
6857 | name = "lodash.templatesettings-4.1.0.tgz"; | ||
6858 | url = "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz"; | ||
6859 | sha1 = "2b4d4e95ba440d915ff08bc899e4553666713316"; | ||
6860 | }; | ||
6861 | } | ||
6862 | |||
6863 | { | ||
6864 | name = "lodash-4.17.10.tgz"; | ||
6865 | path = fetchurl { | ||
6866 | name = "lodash-4.17.10.tgz"; | ||
6867 | url = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz"; | ||
6868 | sha1 = "1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"; | ||
6869 | }; | ||
6870 | } | ||
6871 | |||
6872 | { | ||
6873 | name = "loglevel-1.6.1.tgz"; | ||
6874 | path = fetchurl { | ||
6875 | name = "loglevel-1.6.1.tgz"; | ||
6876 | url = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz"; | ||
6877 | sha1 = "e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa"; | ||
6878 | }; | ||
6879 | } | ||
6880 | |||
6881 | { | ||
6882 | name = "loose-envify-1.4.0.tgz"; | ||
6883 | path = fetchurl { | ||
6884 | name = "loose-envify-1.4.0.tgz"; | ||
6885 | url = "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz"; | ||
6886 | sha1 = "71ee51fa7be4caec1a63839f7e682d8132d30caf"; | ||
6887 | }; | ||
6888 | } | ||
6889 | |||
6890 | { | ||
6891 | name = "loud-rejection-1.6.0.tgz"; | ||
6892 | path = fetchurl { | ||
6893 | name = "loud-rejection-1.6.0.tgz"; | ||
6894 | url = "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz"; | ||
6895 | sha1 = "5b46f80147edee578870f086d04821cf998e551f"; | ||
6896 | }; | ||
6897 | } | ||
6898 | |||
6899 | { | ||
6900 | name = "lru-cache-4.1.3.tgz"; | ||
6901 | path = fetchurl { | ||
6902 | name = "lru-cache-4.1.3.tgz"; | ||
6903 | url = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz"; | ||
6904 | sha1 = "a1175cf3496dfc8436c156c334b4955992bce69c"; | ||
6905 | }; | ||
6906 | } | ||
6907 | |||
6908 | { | ||
6909 | name = "make-dir-1.3.0.tgz"; | ||
6910 | path = fetchurl { | ||
6911 | name = "make-dir-1.3.0.tgz"; | ||
6912 | url = "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz"; | ||
6913 | sha1 = "79c1033b80515bd6d24ec9933e860ca75ee27f0c"; | ||
6914 | }; | ||
6915 | } | ||
6916 | |||
6917 | { | ||
6918 | name = "makeerror-1.0.11.tgz"; | ||
6919 | path = fetchurl { | ||
6920 | name = "makeerror-1.0.11.tgz"; | ||
6921 | url = "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz"; | ||
6922 | sha1 = "e01a5c9109f2af79660e4e8b9587790184f5a96c"; | ||
6923 | }; | ||
6924 | } | ||
6925 | |||
6926 | { | ||
6927 | name = "mamacro-0.0.3.tgz"; | ||
6928 | path = fetchurl { | ||
6929 | name = "mamacro-0.0.3.tgz"; | ||
6930 | url = "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz"; | ||
6931 | sha1 = "ad2c9576197c9f1abf308d0787865bd975a3f3e4"; | ||
6932 | }; | ||
6933 | } | ||
6934 | |||
6935 | { | ||
6936 | name = "map-age-cleaner-0.1.2.tgz"; | ||
6937 | path = fetchurl { | ||
6938 | name = "map-age-cleaner-0.1.2.tgz"; | ||
6939 | url = "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz"; | ||
6940 | sha1 = "098fb15538fd3dbe461f12745b0ca8568d4e3f74"; | ||
6941 | }; | ||
6942 | } | ||
6943 | |||
6944 | { | ||
6945 | name = "map-cache-0.2.2.tgz"; | ||
6946 | path = fetchurl { | ||
6947 | name = "map-cache-0.2.2.tgz"; | ||
6948 | url = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz"; | ||
6949 | sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"; | ||
6950 | }; | ||
6951 | } | ||
6952 | |||
6953 | { | ||
6954 | name = "map-obj-1.0.1.tgz"; | ||
6955 | path = fetchurl { | ||
6956 | name = "map-obj-1.0.1.tgz"; | ||
6957 | url = "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz"; | ||
6958 | sha1 = "d933ceb9205d82bdcf4886f6742bdc2b4dea146d"; | ||
6959 | }; | ||
6960 | } | ||
6961 | |||
6962 | { | ||
6963 | name = "map-visit-1.0.0.tgz"; | ||
6964 | path = fetchurl { | ||
6965 | name = "map-visit-1.0.0.tgz"; | ||
6966 | url = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz"; | ||
6967 | sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"; | ||
6968 | }; | ||
6969 | } | ||
6970 | |||
6971 | { | ||
6972 | name = "mark-loader-0.1.6.tgz"; | ||
6973 | path = fetchurl { | ||
6974 | name = "mark-loader-0.1.6.tgz"; | ||
6975 | url = "https://registry.yarnpkg.com/mark-loader/-/mark-loader-0.1.6.tgz"; | ||
6976 | sha1 = "0abb477dca7421d70e20128ff6489f5cae8676d5"; | ||
6977 | }; | ||
6978 | } | ||
6979 | |||
6980 | { | ||
6981 | name = "marky-1.2.0.tgz"; | ||
6982 | path = fetchurl { | ||
6983 | name = "marky-1.2.0.tgz"; | ||
6984 | url = "https://registry.yarnpkg.com/marky/-/marky-1.2.0.tgz"; | ||
6985 | sha1 = "9617ed647bbbea8f45d19526da33dec70606df42"; | ||
6986 | }; | ||
6987 | } | ||
6988 | |||
6989 | { | ||
6990 | name = "math-random-1.0.1.tgz"; | ||
6991 | path = fetchurl { | ||
6992 | name = "math-random-1.0.1.tgz"; | ||
6993 | url = "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz"; | ||
6994 | sha1 = "8b3aac588b8a66e4975e3cdea67f7bb329601fac"; | ||
6995 | }; | ||
6996 | } | ||
6997 | |||
6998 | { | ||
6999 | name = "md5.js-1.3.4.tgz"; | ||
7000 | path = fetchurl { | ||
7001 | name = "md5.js-1.3.4.tgz"; | ||
7002 | url = "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz"; | ||
7003 | sha1 = "e9bdbde94a20a5ac18b04340fc5764d5b09d901d"; | ||
7004 | }; | ||
7005 | } | ||
7006 | |||
7007 | { | ||
7008 | name = "media-typer-0.3.0.tgz"; | ||
7009 | path = fetchurl { | ||
7010 | name = "media-typer-0.3.0.tgz"; | ||
7011 | url = "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz"; | ||
7012 | sha1 = "8710d7af0aa626f8fffa1ce00168545263255748"; | ||
7013 | }; | ||
7014 | } | ||
7015 | |||
7016 | { | ||
7017 | name = "mem-1.1.0.tgz"; | ||
7018 | path = fetchurl { | ||
7019 | name = "mem-1.1.0.tgz"; | ||
7020 | url = "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz"; | ||
7021 | sha1 = "5edd52b485ca1d900fe64895505399a0dfa45f76"; | ||
7022 | }; | ||
7023 | } | ||
7024 | |||
7025 | { | ||
7026 | name = "mem-4.0.0.tgz"; | ||
7027 | path = fetchurl { | ||
7028 | name = "mem-4.0.0.tgz"; | ||
7029 | url = "https://registry.yarnpkg.com/mem/-/mem-4.0.0.tgz"; | ||
7030 | sha1 = "6437690d9471678f6cc83659c00cbafcd6b0cdaf"; | ||
7031 | }; | ||
7032 | } | ||
7033 | |||
7034 | { | ||
7035 | name = "memory-fs-0.4.1.tgz"; | ||
7036 | path = fetchurl { | ||
7037 | name = "memory-fs-0.4.1.tgz"; | ||
7038 | url = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz"; | ||
7039 | sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552"; | ||
7040 | }; | ||
7041 | } | ||
7042 | |||
7043 | { | ||
7044 | name = "meow-3.7.0.tgz"; | ||
7045 | path = fetchurl { | ||
7046 | name = "meow-3.7.0.tgz"; | ||
7047 | url = "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz"; | ||
7048 | sha1 = "72cb668b425228290abbfa856892587308a801fb"; | ||
7049 | }; | ||
7050 | } | ||
7051 | |||
7052 | { | ||
7053 | name = "merge-descriptors-1.0.1.tgz"; | ||
7054 | path = fetchurl { | ||
7055 | name = "merge-descriptors-1.0.1.tgz"; | ||
7056 | url = "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz"; | ||
7057 | sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61"; | ||
7058 | }; | ||
7059 | } | ||
7060 | |||
7061 | { | ||
7062 | name = "merge-stream-1.0.1.tgz"; | ||
7063 | path = fetchurl { | ||
7064 | name = "merge-stream-1.0.1.tgz"; | ||
7065 | url = "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz"; | ||
7066 | sha1 = "4041202d508a342ba00174008df0c251b8c135e1"; | ||
7067 | }; | ||
7068 | } | ||
7069 | |||
7070 | { | ||
7071 | name = "merge-1.2.0.tgz"; | ||
7072 | path = fetchurl { | ||
7073 | name = "merge-1.2.0.tgz"; | ||
7074 | url = "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz"; | ||
7075 | sha1 = "7531e39d4949c281a66b8c5a6e0265e8b05894da"; | ||
7076 | }; | ||
7077 | } | ||
7078 | |||
7079 | { | ||
7080 | name = "methods-1.1.2.tgz"; | ||
7081 | path = fetchurl { | ||
7082 | name = "methods-1.1.2.tgz"; | ||
7083 | url = "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz"; | ||
7084 | sha1 = "5529a4d67654134edcc5266656835b0f851afcee"; | ||
7085 | }; | ||
7086 | } | ||
7087 | |||
7088 | { | ||
7089 | name = "micromatch-2.3.11.tgz"; | ||
7090 | path = fetchurl { | ||
7091 | name = "micromatch-2.3.11.tgz"; | ||
7092 | url = "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz"; | ||
7093 | sha1 = "86677c97d1720b363431d04d0d15293bd38c1565"; | ||
7094 | }; | ||
7095 | } | ||
7096 | |||
7097 | { | ||
7098 | name = "micromatch-3.1.10.tgz"; | ||
7099 | path = fetchurl { | ||
7100 | name = "micromatch-3.1.10.tgz"; | ||
7101 | url = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz"; | ||
7102 | sha1 = "70859bc95c9840952f359a068a3fc49f9ecfac23"; | ||
7103 | }; | ||
7104 | } | ||
7105 | |||
7106 | { | ||
7107 | name = "miller-rabin-4.0.1.tgz"; | ||
7108 | path = fetchurl { | ||
7109 | name = "miller-rabin-4.0.1.tgz"; | ||
7110 | url = "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz"; | ||
7111 | sha1 = "f080351c865b0dc562a8462966daa53543c78a4d"; | ||
7112 | }; | ||
7113 | } | ||
7114 | |||
7115 | { | ||
7116 | name = "mime-db-1.36.0.tgz"; | ||
7117 | path = fetchurl { | ||
7118 | name = "mime-db-1.36.0.tgz"; | ||
7119 | url = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.36.0.tgz"; | ||
7120 | sha1 = "5020478db3c7fe93aad7bbcc4dcf869c43363397"; | ||
7121 | }; | ||
7122 | } | ||
7123 | |||
7124 | { | ||
7125 | name = "mime-types-2.1.20.tgz"; | ||
7126 | path = fetchurl { | ||
7127 | name = "mime-types-2.1.20.tgz"; | ||
7128 | url = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.20.tgz"; | ||
7129 | sha1 = "930cb719d571e903738520f8470911548ca2cc19"; | ||
7130 | }; | ||
7131 | } | ||
7132 | |||
7133 | { | ||
7134 | name = "mime-1.4.1.tgz"; | ||
7135 | path = fetchurl { | ||
7136 | name = "mime-1.4.1.tgz"; | ||
7137 | url = "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz"; | ||
7138 | sha1 = "121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"; | ||
7139 | }; | ||
7140 | } | ||
7141 | |||
7142 | { | ||
7143 | name = "mime-2.3.1.tgz"; | ||
7144 | path = fetchurl { | ||
7145 | name = "mime-2.3.1.tgz"; | ||
7146 | url = "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz"; | ||
7147 | sha1 = "b1621c54d63b97c47d3cfe7f7215f7d64517c369"; | ||
7148 | }; | ||
7149 | } | ||
7150 | |||
7151 | { | ||
7152 | name = "mimic-fn-1.2.0.tgz"; | ||
7153 | path = fetchurl { | ||
7154 | name = "mimic-fn-1.2.0.tgz"; | ||
7155 | url = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz"; | ||
7156 | sha1 = "820c86a39334640e99516928bd03fca88057d022"; | ||
7157 | }; | ||
7158 | } | ||
7159 | |||
7160 | { | ||
7161 | name = "mini-css-extract-plugin-0.4.2.tgz"; | ||
7162 | path = fetchurl { | ||
7163 | name = "mini-css-extract-plugin-0.4.2.tgz"; | ||
7164 | url = "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.2.tgz"; | ||
7165 | sha1 = "b3ecc0d6b1bbe5ff14add42b946a7b200cf78651"; | ||
7166 | }; | ||
7167 | } | ||
7168 | |||
7169 | { | ||
7170 | name = "minimalistic-assert-1.0.1.tgz"; | ||
7171 | path = fetchurl { | ||
7172 | name = "minimalistic-assert-1.0.1.tgz"; | ||
7173 | url = "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz"; | ||
7174 | sha1 = "2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"; | ||
7175 | }; | ||
7176 | } | ||
7177 | |||
7178 | { | ||
7179 | name = "minimalistic-crypto-utils-1.0.1.tgz"; | ||
7180 | path = fetchurl { | ||
7181 | name = "minimalistic-crypto-utils-1.0.1.tgz"; | ||
7182 | url = "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz"; | ||
7183 | sha1 = "f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"; | ||
7184 | }; | ||
7185 | } | ||
7186 | |||
7187 | { | ||
7188 | name = "minimatch-3.0.4.tgz"; | ||
7189 | path = fetchurl { | ||
7190 | name = "minimatch-3.0.4.tgz"; | ||
7191 | url = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz"; | ||
7192 | sha1 = "5166e286457f03306064be5497e8dbb0c3d32083"; | ||
7193 | }; | ||
7194 | } | ||
7195 | |||
7196 | { | ||
7197 | name = "minimist-0.0.8.tgz"; | ||
7198 | path = fetchurl { | ||
7199 | name = "minimist-0.0.8.tgz"; | ||
7200 | url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"; | ||
7201 | sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d"; | ||
7202 | }; | ||
7203 | } | ||
7204 | |||
7205 | { | ||
7206 | name = "minimist-1.1.3.tgz"; | ||
7207 | path = fetchurl { | ||
7208 | name = "minimist-1.1.3.tgz"; | ||
7209 | url = "http://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz"; | ||
7210 | sha1 = "3bedfd91a92d39016fcfaa1c681e8faa1a1efda8"; | ||
7211 | }; | ||
7212 | } | ||
7213 | |||
7214 | { | ||
7215 | name = "minimist-1.2.0.tgz"; | ||
7216 | path = fetchurl { | ||
7217 | name = "minimist-1.2.0.tgz"; | ||
7218 | url = "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"; | ||
7219 | sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284"; | ||
7220 | }; | ||
7221 | } | ||
7222 | |||
7223 | { | ||
7224 | name = "minimist-0.0.10.tgz"; | ||
7225 | path = fetchurl { | ||
7226 | name = "minimist-0.0.10.tgz"; | ||
7227 | url = "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz"; | ||
7228 | sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf"; | ||
7229 | }; | ||
7230 | } | ||
7231 | |||
7232 | { | ||
7233 | name = "minipass-2.3.4.tgz"; | ||
7234 | path = fetchurl { | ||
7235 | name = "minipass-2.3.4.tgz"; | ||
7236 | url = "https://registry.yarnpkg.com/minipass/-/minipass-2.3.4.tgz"; | ||
7237 | sha1 = "4768d7605ed6194d6d576169b9e12ef71e9d9957"; | ||
7238 | }; | ||
7239 | } | ||
7240 | |||
7241 | { | ||
7242 | name = "minizlib-1.1.0.tgz"; | ||
7243 | path = fetchurl { | ||
7244 | name = "minizlib-1.1.0.tgz"; | ||
7245 | url = "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz"; | ||
7246 | sha1 = "11e13658ce46bc3a70a267aac58359d1e0c29ceb"; | ||
7247 | }; | ||
7248 | } | ||
7249 | |||
7250 | { | ||
7251 | name = "mississippi-2.0.0.tgz"; | ||
7252 | path = fetchurl { | ||
7253 | name = "mississippi-2.0.0.tgz"; | ||
7254 | url = "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz"; | ||
7255 | sha1 = "3442a508fafc28500486feea99409676e4ee5a6f"; | ||
7256 | }; | ||
7257 | } | ||
7258 | |||
7259 | { | ||
7260 | name = "mississippi-3.0.0.tgz"; | ||
7261 | path = fetchurl { | ||
7262 | name = "mississippi-3.0.0.tgz"; | ||
7263 | url = "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz"; | ||
7264 | sha1 = "ea0a3291f97e0b5e8776b363d5f0a12d94c67022"; | ||
7265 | }; | ||
7266 | } | ||
7267 | |||
7268 | { | ||
7269 | name = "mixin-deep-1.3.1.tgz"; | ||
7270 | path = fetchurl { | ||
7271 | name = "mixin-deep-1.3.1.tgz"; | ||
7272 | url = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz"; | ||
7273 | sha1 = "a49e7268dce1a0d9698e45326c5626df3543d0fe"; | ||
7274 | }; | ||
7275 | } | ||
7276 | |||
7277 | { | ||
7278 | name = "mixin-object-2.0.1.tgz"; | ||
7279 | path = fetchurl { | ||
7280 | name = "mixin-object-2.0.1.tgz"; | ||
7281 | url = "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz"; | ||
7282 | sha1 = "4fb949441dab182540f1fe035ba60e1947a5e57e"; | ||
7283 | }; | ||
7284 | } | ||
7285 | |||
7286 | { | ||
7287 | name = "mkdirp-0.5.1.tgz"; | ||
7288 | path = fetchurl { | ||
7289 | name = "mkdirp-0.5.1.tgz"; | ||
7290 | url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"; | ||
7291 | sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903"; | ||
7292 | }; | ||
7293 | } | ||
7294 | |||
7295 | { | ||
7296 | name = "moo-0.4.3.tgz"; | ||
7297 | path = fetchurl { | ||
7298 | name = "moo-0.4.3.tgz"; | ||
7299 | url = "https://registry.yarnpkg.com/moo/-/moo-0.4.3.tgz"; | ||
7300 | sha1 = "3f847a26f31cf625a956a87f2b10fbc013bfd10e"; | ||
7301 | }; | ||
7302 | } | ||
7303 | |||
7304 | { | ||
7305 | name = "mousetrap-1.6.2.tgz"; | ||
7306 | path = fetchurl { | ||
7307 | name = "mousetrap-1.6.2.tgz"; | ||
7308 | url = "https://registry.yarnpkg.com/mousetrap/-/mousetrap-1.6.2.tgz"; | ||
7309 | sha1 = "caadd9cf886db0986fb2fee59a82f6bd37527587"; | ||
7310 | }; | ||
7311 | } | ||
7312 | |||
7313 | { | ||
7314 | name = "move-concurrently-1.0.1.tgz"; | ||
7315 | path = fetchurl { | ||
7316 | name = "move-concurrently-1.0.1.tgz"; | ||
7317 | url = "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz"; | ||
7318 | sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92"; | ||
7319 | }; | ||
7320 | } | ||
7321 | |||
7322 | { | ||
7323 | name = "ms-2.0.0.tgz"; | ||
7324 | path = fetchurl { | ||
7325 | name = "ms-2.0.0.tgz"; | ||
7326 | url = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz"; | ||
7327 | sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8"; | ||
7328 | }; | ||
7329 | } | ||
7330 | |||
7331 | { | ||
7332 | name = "ms-2.1.1.tgz"; | ||
7333 | path = fetchurl { | ||
7334 | name = "ms-2.1.1.tgz"; | ||
7335 | url = "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz"; | ||
7336 | sha1 = "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"; | ||
7337 | }; | ||
7338 | } | ||
7339 | |||
7340 | { | ||
7341 | name = "multicast-dns-service-types-1.1.0.tgz"; | ||
7342 | path = fetchurl { | ||
7343 | name = "multicast-dns-service-types-1.1.0.tgz"; | ||
7344 | url = "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz"; | ||
7345 | sha1 = "899f11d9686e5e05cb91b35d5f0e63b773cfc901"; | ||
7346 | }; | ||
7347 | } | ||
7348 | |||
7349 | { | ||
7350 | name = "multicast-dns-6.2.3.tgz"; | ||
7351 | path = fetchurl { | ||
7352 | name = "multicast-dns-6.2.3.tgz"; | ||
7353 | url = "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz"; | ||
7354 | sha1 = "a0ec7bd9055c4282f790c3c82f4e28db3b31b229"; | ||
7355 | }; | ||
7356 | } | ||
7357 | |||
7358 | { | ||
7359 | name = "mute-stream-0.0.7.tgz"; | ||
7360 | path = fetchurl { | ||
7361 | name = "mute-stream-0.0.7.tgz"; | ||
7362 | url = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz"; | ||
7363 | sha1 = "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"; | ||
7364 | }; | ||
7365 | } | ||
7366 | |||
7367 | { | ||
7368 | name = "nan-2.11.0.tgz"; | ||
7369 | path = fetchurl { | ||
7370 | name = "nan-2.11.0.tgz"; | ||
7371 | url = "https://registry.yarnpkg.com/nan/-/nan-2.11.0.tgz"; | ||
7372 | sha1 = "574e360e4d954ab16966ec102c0c049fd961a099"; | ||
7373 | }; | ||
7374 | } | ||
7375 | |||
7376 | { | ||
7377 | name = "nanomatch-1.2.13.tgz"; | ||
7378 | path = fetchurl { | ||
7379 | name = "nanomatch-1.2.13.tgz"; | ||
7380 | url = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz"; | ||
7381 | sha1 = "b87a8aa4fc0de8fe6be88895b38983ff265bd119"; | ||
7382 | }; | ||
7383 | } | ||
7384 | |||
7385 | { | ||
7386 | name = "natural-compare-1.4.0.tgz"; | ||
7387 | path = fetchurl { | ||
7388 | name = "natural-compare-1.4.0.tgz"; | ||
7389 | url = "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz"; | ||
7390 | sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"; | ||
7391 | }; | ||
7392 | } | ||
7393 | |||
7394 | { | ||
7395 | name = "nearley-2.15.1.tgz"; | ||
7396 | path = fetchurl { | ||
7397 | name = "nearley-2.15.1.tgz"; | ||
7398 | url = "https://registry.yarnpkg.com/nearley/-/nearley-2.15.1.tgz"; | ||
7399 | sha1 = "965e4e6ec9ed6b80fc81453e161efbcebb36d247"; | ||
7400 | }; | ||
7401 | } | ||
7402 | |||
7403 | { | ||
7404 | name = "needle-2.2.3.tgz"; | ||
7405 | path = fetchurl { | ||
7406 | name = "needle-2.2.3.tgz"; | ||
7407 | url = "https://registry.yarnpkg.com/needle/-/needle-2.2.3.tgz"; | ||
7408 | sha1 = "c1b04da378cd634d8befe2de965dc2cfb0fd65ca"; | ||
7409 | }; | ||
7410 | } | ||
7411 | |||
7412 | { | ||
7413 | name = "negotiator-0.6.1.tgz"; | ||
7414 | path = fetchurl { | ||
7415 | name = "negotiator-0.6.1.tgz"; | ||
7416 | url = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz"; | ||
7417 | sha1 = "2b327184e8992101177b28563fb5e7102acd0ca9"; | ||
7418 | }; | ||
7419 | } | ||
7420 | |||
7421 | { | ||
7422 | name = "neo-async-2.5.2.tgz"; | ||
7423 | path = fetchurl { | ||
7424 | name = "neo-async-2.5.2.tgz"; | ||
7425 | url = "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.2.tgz"; | ||
7426 | sha1 = "489105ce7bc54e709d736b195f82135048c50fcc"; | ||
7427 | }; | ||
7428 | } | ||
7429 | |||
7430 | { | ||
7431 | name = "next-tick-1.0.0.tgz"; | ||
7432 | path = fetchurl { | ||
7433 | name = "next-tick-1.0.0.tgz"; | ||
7434 | url = "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz"; | ||
7435 | sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c"; | ||
7436 | }; | ||
7437 | } | ||
7438 | |||
7439 | { | ||
7440 | name = "nice-try-1.0.5.tgz"; | ||
7441 | path = fetchurl { | ||
7442 | name = "nice-try-1.0.5.tgz"; | ||
7443 | url = "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz"; | ||
7444 | sha1 = "a3378a7696ce7d223e88fc9b764bd7ef1089e366"; | ||
7445 | }; | ||
7446 | } | ||
7447 | |||
7448 | { | ||
7449 | name = "node-fetch-1.7.3.tgz"; | ||
7450 | path = fetchurl { | ||
7451 | name = "node-fetch-1.7.3.tgz"; | ||
7452 | url = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz"; | ||
7453 | sha1 = "980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"; | ||
7454 | }; | ||
7455 | } | ||
7456 | |||
7457 | { | ||
7458 | name = "node-forge-0.7.5.tgz"; | ||
7459 | path = fetchurl { | ||
7460 | name = "node-forge-0.7.5.tgz"; | ||
7461 | url = "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz"; | ||
7462 | sha1 = "6c152c345ce11c52f465c2abd957e8639cd674df"; | ||
7463 | }; | ||
7464 | } | ||
7465 | |||
7466 | { | ||
7467 | name = "node-gyp-3.8.0.tgz"; | ||
7468 | path = fetchurl { | ||
7469 | name = "node-gyp-3.8.0.tgz"; | ||
7470 | url = "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz"; | ||
7471 | sha1 = "540304261c330e80d0d5edce253a68cb3964218c"; | ||
7472 | }; | ||
7473 | } | ||
7474 | |||
7475 | { | ||
7476 | name = "node-int64-0.4.0.tgz"; | ||
7477 | path = fetchurl { | ||
7478 | name = "node-int64-0.4.0.tgz"; | ||
7479 | url = "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz"; | ||
7480 | sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b"; | ||
7481 | }; | ||
7482 | } | ||
7483 | |||
7484 | { | ||
7485 | name = "node-libs-browser-2.1.0.tgz"; | ||
7486 | path = fetchurl { | ||
7487 | name = "node-libs-browser-2.1.0.tgz"; | ||
7488 | url = "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz"; | ||
7489 | sha1 = "5f94263d404f6e44767d726901fff05478d600df"; | ||
7490 | }; | ||
7491 | } | ||
7492 | |||
7493 | { | ||
7494 | name = "node-notifier-5.2.1.tgz"; | ||
7495 | path = fetchurl { | ||
7496 | name = "node-notifier-5.2.1.tgz"; | ||
7497 | url = "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.2.1.tgz"; | ||
7498 | sha1 = "fa313dd08f5517db0e2502e5758d664ac69f9dea"; | ||
7499 | }; | ||
7500 | } | ||
7501 | |||
7502 | { | ||
7503 | name = "node-pre-gyp-0.10.3.tgz"; | ||
7504 | path = fetchurl { | ||
7505 | name = "node-pre-gyp-0.10.3.tgz"; | ||
7506 | url = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz"; | ||
7507 | sha1 = "3070040716afdc778747b61b6887bf78880b80fc"; | ||
7508 | }; | ||
7509 | } | ||
7510 | |||
7511 | { | ||
7512 | name = "node-pre-gyp-0.6.39.tgz"; | ||
7513 | path = fetchurl { | ||
7514 | name = "node-pre-gyp-0.6.39.tgz"; | ||
7515 | url = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz"; | ||
7516 | sha1 = "c00e96860b23c0e1420ac7befc5044e1d78d8649"; | ||
7517 | }; | ||
7518 | } | ||
7519 | |||
7520 | { | ||
7521 | name = "node-releases-1.0.0-alpha.11.tgz"; | ||
7522 | path = fetchurl { | ||
7523 | name = "node-releases-1.0.0-alpha.11.tgz"; | ||
7524 | url = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.0-alpha.11.tgz"; | ||
7525 | sha1 = "73c810acc2e5b741a17ddfbb39dfca9ab9359d8a"; | ||
7526 | }; | ||
7527 | } | ||
7528 | |||
7529 | { | ||
7530 | name = "node-sass-4.9.3.tgz"; | ||
7531 | path = fetchurl { | ||
7532 | name = "node-sass-4.9.3.tgz"; | ||
7533 | url = "https://registry.yarnpkg.com/node-sass/-/node-sass-4.9.3.tgz"; | ||
7534 | sha1 = "f407cf3d66f78308bb1e346b24fa428703196224"; | ||
7535 | }; | ||
7536 | } | ||
7537 | |||
7538 | { | ||
7539 | name = "node-zopfli-2.0.2.tgz"; | ||
7540 | path = fetchurl { | ||
7541 | name = "node-zopfli-2.0.2.tgz"; | ||
7542 | url = "https://registry.yarnpkg.com/node-zopfli/-/node-zopfli-2.0.2.tgz"; | ||
7543 | sha1 = "a7a473ae92aaea85d4c68d45bbf2c944c46116b8"; | ||
7544 | }; | ||
7545 | } | ||
7546 | |||
7547 | { | ||
7548 | name = "nomnom-1.6.2.tgz"; | ||
7549 | path = fetchurl { | ||
7550 | name = "nomnom-1.6.2.tgz"; | ||
7551 | url = "https://registry.yarnpkg.com/nomnom/-/nomnom-1.6.2.tgz"; | ||
7552 | sha1 = "84a66a260174408fc5b77a18f888eccc44fb6971"; | ||
7553 | }; | ||
7554 | } | ||
7555 | |||
7556 | { | ||
7557 | name = "nopt-3.0.6.tgz"; | ||
7558 | path = fetchurl { | ||
7559 | name = "nopt-3.0.6.tgz"; | ||
7560 | url = "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz"; | ||
7561 | sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9"; | ||
7562 | }; | ||
7563 | } | ||
7564 | |||
7565 | { | ||
7566 | name = "nopt-4.0.1.tgz"; | ||
7567 | path = fetchurl { | ||
7568 | name = "nopt-4.0.1.tgz"; | ||
7569 | url = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz"; | ||
7570 | sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d"; | ||
7571 | }; | ||
7572 | } | ||
7573 | |||
7574 | { | ||
7575 | name = "normalize-package-data-2.4.0.tgz"; | ||
7576 | path = fetchurl { | ||
7577 | name = "normalize-package-data-2.4.0.tgz"; | ||
7578 | url = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz"; | ||
7579 | sha1 = "12f95a307d58352075a04907b84ac8be98ac012f"; | ||
7580 | }; | ||
7581 | } | ||
7582 | |||
7583 | { | ||
7584 | name = "normalize-path-2.1.1.tgz"; | ||
7585 | path = fetchurl { | ||
7586 | name = "normalize-path-2.1.1.tgz"; | ||
7587 | url = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz"; | ||
7588 | sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"; | ||
7589 | }; | ||
7590 | } | ||
7591 | |||
7592 | { | ||
7593 | name = "normalize-range-0.1.2.tgz"; | ||
7594 | path = fetchurl { | ||
7595 | name = "normalize-range-0.1.2.tgz"; | ||
7596 | url = "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz"; | ||
7597 | sha1 = "2d10c06bdfd312ea9777695a4d28439456b75942"; | ||
7598 | }; | ||
7599 | } | ||
7600 | |||
7601 | { | ||
7602 | name = "npm-bundled-1.0.5.tgz"; | ||
7603 | path = fetchurl { | ||
7604 | name = "npm-bundled-1.0.5.tgz"; | ||
7605 | url = "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz"; | ||
7606 | sha1 = "3c1732b7ba936b3a10325aef616467c0ccbcc979"; | ||
7607 | }; | ||
7608 | } | ||
7609 | |||
7610 | { | ||
7611 | name = "npm-packlist-1.1.11.tgz"; | ||
7612 | path = fetchurl { | ||
7613 | name = "npm-packlist-1.1.11.tgz"; | ||
7614 | url = "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.11.tgz"; | ||
7615 | sha1 = "84e8c683cbe7867d34b1d357d893ce29e28a02de"; | ||
7616 | }; | ||
7617 | } | ||
7618 | |||
7619 | { | ||
7620 | name = "npm-run-path-2.0.2.tgz"; | ||
7621 | path = fetchurl { | ||
7622 | name = "npm-run-path-2.0.2.tgz"; | ||
7623 | url = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz"; | ||
7624 | sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f"; | ||
7625 | }; | ||
7626 | } | ||
7627 | |||
7628 | { | ||
7629 | name = "npmlog-4.1.2.tgz"; | ||
7630 | path = fetchurl { | ||
7631 | name = "npmlog-4.1.2.tgz"; | ||
7632 | url = "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz"; | ||
7633 | sha1 = "08a7f2a8bf734604779a9efa4ad5cc717abb954b"; | ||
7634 | }; | ||
7635 | } | ||
7636 | |||
7637 | { | ||
7638 | name = "nth-check-1.0.1.tgz"; | ||
7639 | path = fetchurl { | ||
7640 | name = "nth-check-1.0.1.tgz"; | ||
7641 | url = "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz"; | ||
7642 | sha1 = "9929acdf628fc2c41098deab82ac580cf149aae4"; | ||
7643 | }; | ||
7644 | } | ||
7645 | |||
7646 | { | ||
7647 | name = "num2fraction-1.2.2.tgz"; | ||
7648 | path = fetchurl { | ||
7649 | name = "num2fraction-1.2.2.tgz"; | ||
7650 | url = "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz"; | ||
7651 | sha1 = "6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"; | ||
7652 | }; | ||
7653 | } | ||
7654 | |||
7655 | { | ||
7656 | name = "number-is-nan-1.0.1.tgz"; | ||
7657 | path = fetchurl { | ||
7658 | name = "number-is-nan-1.0.1.tgz"; | ||
7659 | url = "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz"; | ||
7660 | sha1 = "097b602b53422a522c1afb8790318336941a011d"; | ||
7661 | }; | ||
7662 | } | ||
7663 | |||
7664 | { | ||
7665 | name = "nwsapi-2.0.9.tgz"; | ||
7666 | path = fetchurl { | ||
7667 | name = "nwsapi-2.0.9.tgz"; | ||
7668 | url = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.9.tgz"; | ||
7669 | sha1 = "77ac0cdfdcad52b6a1151a84e73254edc33ed016"; | ||
7670 | }; | ||
7671 | } | ||
7672 | |||
7673 | { | ||
7674 | name = "oauth-sign-0.8.2.tgz"; | ||
7675 | path = fetchurl { | ||
7676 | name = "oauth-sign-0.8.2.tgz"; | ||
7677 | url = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz"; | ||
7678 | sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"; | ||
7679 | }; | ||
7680 | } | ||
7681 | |||
7682 | { | ||
7683 | name = "oauth-sign-0.9.0.tgz"; | ||
7684 | path = fetchurl { | ||
7685 | name = "oauth-sign-0.9.0.tgz"; | ||
7686 | url = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz"; | ||
7687 | sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455"; | ||
7688 | }; | ||
7689 | } | ||
7690 | |||
7691 | { | ||
7692 | name = "object-assign-4.1.0.tgz"; | ||
7693 | path = fetchurl { | ||
7694 | name = "object-assign-4.1.0.tgz"; | ||
7695 | url = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz"; | ||
7696 | sha1 = "7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"; | ||
7697 | }; | ||
7698 | } | ||
7699 | |||
7700 | { | ||
7701 | name = "object-assign-4.1.1.tgz"; | ||
7702 | path = fetchurl { | ||
7703 | name = "object-assign-4.1.1.tgz"; | ||
7704 | url = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz"; | ||
7705 | sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863"; | ||
7706 | }; | ||
7707 | } | ||
7708 | |||
7709 | { | ||
7710 | name = "object-copy-0.1.0.tgz"; | ||
7711 | path = fetchurl { | ||
7712 | name = "object-copy-0.1.0.tgz"; | ||
7713 | url = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz"; | ||
7714 | sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c"; | ||
7715 | }; | ||
7716 | } | ||
7717 | |||
7718 | { | ||
7719 | name = "object-fit-images-3.2.4.tgz"; | ||
7720 | path = fetchurl { | ||
7721 | name = "object-fit-images-3.2.4.tgz"; | ||
7722 | url = "https://registry.yarnpkg.com/object-fit-images/-/object-fit-images-3.2.4.tgz"; | ||
7723 | sha1 = "6c299d38fdf207746e5d2d46c2877f6f25d15b52"; | ||
7724 | }; | ||
7725 | } | ||
7726 | |||
7727 | { | ||
7728 | name = "object-inspect-1.6.0.tgz"; | ||
7729 | path = fetchurl { | ||
7730 | name = "object-inspect-1.6.0.tgz"; | ||
7731 | url = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz"; | ||
7732 | sha1 = "c70b6cbf72f274aab4c34c0c82f5167bf82cf15b"; | ||
7733 | }; | ||
7734 | } | ||
7735 | |||
7736 | { | ||
7737 | name = "object-is-1.0.1.tgz"; | ||
7738 | path = fetchurl { | ||
7739 | name = "object-is-1.0.1.tgz"; | ||
7740 | url = "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz"; | ||
7741 | sha1 = "0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6"; | ||
7742 | }; | ||
7743 | } | ||
7744 | |||
7745 | { | ||
7746 | name = "object-keys-1.0.12.tgz"; | ||
7747 | path = fetchurl { | ||
7748 | name = "object-keys-1.0.12.tgz"; | ||
7749 | url = "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz"; | ||
7750 | sha1 = "09c53855377575310cca62f55bb334abff7b3ed2"; | ||
7751 | }; | ||
7752 | } | ||
7753 | |||
7754 | { | ||
7755 | name = "object-visit-1.0.1.tgz"; | ||
7756 | path = fetchurl { | ||
7757 | name = "object-visit-1.0.1.tgz"; | ||
7758 | url = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz"; | ||
7759 | sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb"; | ||
7760 | }; | ||
7761 | } | ||
7762 | |||
7763 | { | ||
7764 | name = "object.assign-4.1.0.tgz"; | ||
7765 | path = fetchurl { | ||
7766 | name = "object.assign-4.1.0.tgz"; | ||
7767 | url = "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz"; | ||
7768 | sha1 = "968bf1100d7956bb3ca086f006f846b3bc4008da"; | ||
7769 | }; | ||
7770 | } | ||
7771 | |||
7772 | { | ||
7773 | name = "object.entries-1.0.4.tgz"; | ||
7774 | path = fetchurl { | ||
7775 | name = "object.entries-1.0.4.tgz"; | ||
7776 | url = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz"; | ||
7777 | sha1 = "1bf9a4dd2288f5b33f3a993d257661f05d161a5f"; | ||
7778 | }; | ||
7779 | } | ||
7780 | |||
7781 | { | ||
7782 | name = "object.getownpropertydescriptors-2.0.3.tgz"; | ||
7783 | path = fetchurl { | ||
7784 | name = "object.getownpropertydescriptors-2.0.3.tgz"; | ||
7785 | url = "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz"; | ||
7786 | sha1 = "8758c846f5b407adab0f236e0986f14b051caa16"; | ||
7787 | }; | ||
7788 | } | ||
7789 | |||
7790 | { | ||
7791 | name = "object.omit-2.0.1.tgz"; | ||
7792 | path = fetchurl { | ||
7793 | name = "object.omit-2.0.1.tgz"; | ||
7794 | url = "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz"; | ||
7795 | sha1 = "1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"; | ||
7796 | }; | ||
7797 | } | ||
7798 | |||
7799 | { | ||
7800 | name = "object.pick-1.3.0.tgz"; | ||
7801 | path = fetchurl { | ||
7802 | name = "object.pick-1.3.0.tgz"; | ||
7803 | url = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz"; | ||
7804 | sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747"; | ||
7805 | }; | ||
7806 | } | ||
7807 | |||
7808 | { | ||
7809 | name = "object.values-1.0.4.tgz"; | ||
7810 | path = fetchurl { | ||
7811 | name = "object.values-1.0.4.tgz"; | ||
7812 | url = "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz"; | ||
7813 | sha1 = "e524da09b4f66ff05df457546ec72ac99f13069a"; | ||
7814 | }; | ||
7815 | } | ||
7816 | |||
7817 | { | ||
7818 | name = "obuf-1.1.2.tgz"; | ||
7819 | path = fetchurl { | ||
7820 | name = "obuf-1.1.2.tgz"; | ||
7821 | url = "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz"; | ||
7822 | sha1 = "09bea3343d41859ebd446292d11c9d4db619084e"; | ||
7823 | }; | ||
7824 | } | ||
7825 | |||
7826 | { | ||
7827 | name = "offline-plugin-5.0.5.tgz"; | ||
7828 | path = fetchurl { | ||
7829 | name = "offline-plugin-5.0.5.tgz"; | ||
7830 | url = "https://registry.yarnpkg.com/offline-plugin/-/offline-plugin-5.0.5.tgz"; | ||
7831 | sha1 = "e9b16c569d19899af9c923f5bc260705578ffeba"; | ||
7832 | }; | ||
7833 | } | ||
7834 | |||
7835 | { | ||
7836 | name = "on-finished-2.3.0.tgz"; | ||
7837 | path = fetchurl { | ||
7838 | name = "on-finished-2.3.0.tgz"; | ||
7839 | url = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz"; | ||
7840 | sha1 = "20f1336481b083cd75337992a16971aa2d906947"; | ||
7841 | }; | ||
7842 | } | ||
7843 | |||
7844 | { | ||
7845 | name = "on-headers-1.0.1.tgz"; | ||
7846 | path = fetchurl { | ||
7847 | name = "on-headers-1.0.1.tgz"; | ||
7848 | url = "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz"; | ||
7849 | sha1 = "928f5d0f470d49342651ea6794b0857c100693f7"; | ||
7850 | }; | ||
7851 | } | ||
7852 | |||
7853 | { | ||
7854 | name = "once-1.4.0.tgz"; | ||
7855 | path = fetchurl { | ||
7856 | name = "once-1.4.0.tgz"; | ||
7857 | url = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz"; | ||
7858 | sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1"; | ||
7859 | }; | ||
7860 | } | ||
7861 | |||
7862 | { | ||
7863 | name = "onetime-2.0.1.tgz"; | ||
7864 | path = fetchurl { | ||
7865 | name = "onetime-2.0.1.tgz"; | ||
7866 | url = "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz"; | ||
7867 | sha1 = "067428230fd67443b2794b22bba528b6867962d4"; | ||
7868 | }; | ||
7869 | } | ||
7870 | |||
7871 | { | ||
7872 | name = "opener-1.5.1.tgz"; | ||
7873 | path = fetchurl { | ||
7874 | name = "opener-1.5.1.tgz"; | ||
7875 | url = "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz"; | ||
7876 | sha1 = "6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed"; | ||
7877 | }; | ||
7878 | } | ||
7879 | |||
7880 | { | ||
7881 | name = "opn-5.3.0.tgz"; | ||
7882 | path = fetchurl { | ||
7883 | name = "opn-5.3.0.tgz"; | ||
7884 | url = "https://registry.yarnpkg.com/opn/-/opn-5.3.0.tgz"; | ||
7885 | sha1 = "64871565c863875f052cfdf53d3e3cb5adb53b1c"; | ||
7886 | }; | ||
7887 | } | ||
7888 | |||
7889 | { | ||
7890 | name = "optimist-0.6.1.tgz"; | ||
7891 | path = fetchurl { | ||
7892 | name = "optimist-0.6.1.tgz"; | ||
7893 | url = "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz"; | ||
7894 | sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686"; | ||
7895 | }; | ||
7896 | } | ||
7897 | |||
7898 | { | ||
7899 | name = "optionator-0.8.2.tgz"; | ||
7900 | path = fetchurl { | ||
7901 | name = "optionator-0.8.2.tgz"; | ||
7902 | url = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz"; | ||
7903 | sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64"; | ||
7904 | }; | ||
7905 | } | ||
7906 | |||
7907 | { | ||
7908 | name = "original-1.0.2.tgz"; | ||
7909 | path = fetchurl { | ||
7910 | name = "original-1.0.2.tgz"; | ||
7911 | url = "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz"; | ||
7912 | sha1 = "e442a61cffe1c5fd20a65f3261c26663b303f25f"; | ||
7913 | }; | ||
7914 | } | ||
7915 | |||
7916 | { | ||
7917 | name = "os-browserify-0.3.0.tgz"; | ||
7918 | path = fetchurl { | ||
7919 | name = "os-browserify-0.3.0.tgz"; | ||
7920 | url = "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz"; | ||
7921 | sha1 = "854373c7f5c2315914fc9bfc6bd8238fdda1ec27"; | ||
7922 | }; | ||
7923 | } | ||
7924 | |||
7925 | { | ||
7926 | name = "os-homedir-1.0.2.tgz"; | ||
7927 | path = fetchurl { | ||
7928 | name = "os-homedir-1.0.2.tgz"; | ||
7929 | url = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz"; | ||
7930 | sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3"; | ||
7931 | }; | ||
7932 | } | ||
7933 | |||
7934 | { | ||
7935 | name = "os-locale-1.4.0.tgz"; | ||
7936 | path = fetchurl { | ||
7937 | name = "os-locale-1.4.0.tgz"; | ||
7938 | url = "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz"; | ||
7939 | sha1 = "20f9f17ae29ed345e8bde583b13d2009803c14d9"; | ||
7940 | }; | ||
7941 | } | ||
7942 | |||
7943 | { | ||
7944 | name = "os-locale-2.1.0.tgz"; | ||
7945 | path = fetchurl { | ||
7946 | name = "os-locale-2.1.0.tgz"; | ||
7947 | url = "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz"; | ||
7948 | sha1 = "42bc2900a6b5b8bd17376c8e882b65afccf24bf2"; | ||
7949 | }; | ||
7950 | } | ||
7951 | |||
7952 | { | ||
7953 | name = "os-locale-3.0.1.tgz"; | ||
7954 | path = fetchurl { | ||
7955 | name = "os-locale-3.0.1.tgz"; | ||
7956 | url = "https://registry.yarnpkg.com/os-locale/-/os-locale-3.0.1.tgz"; | ||
7957 | sha1 = "3b014fbf01d87f60a1e5348d80fe870dc82c4620"; | ||
7958 | }; | ||
7959 | } | ||
7960 | |||
7961 | { | ||
7962 | name = "os-tmpdir-1.0.2.tgz"; | ||
7963 | path = fetchurl { | ||
7964 | name = "os-tmpdir-1.0.2.tgz"; | ||
7965 | url = "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz"; | ||
7966 | sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274"; | ||
7967 | }; | ||
7968 | } | ||
7969 | |||
7970 | { | ||
7971 | name = "osenv-0.1.5.tgz"; | ||
7972 | path = fetchurl { | ||
7973 | name = "osenv-0.1.5.tgz"; | ||
7974 | url = "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz"; | ||
7975 | sha1 = "85cdfafaeb28e8677f416e287592b5f3f49ea410"; | ||
7976 | }; | ||
7977 | } | ||
7978 | |||
7979 | { | ||
7980 | name = "p-defer-1.0.0.tgz"; | ||
7981 | path = fetchurl { | ||
7982 | name = "p-defer-1.0.0.tgz"; | ||
7983 | url = "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz"; | ||
7984 | sha1 = "9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"; | ||
7985 | }; | ||
7986 | } | ||
7987 | |||
7988 | { | ||
7989 | name = "p-finally-1.0.0.tgz"; | ||
7990 | path = fetchurl { | ||
7991 | name = "p-finally-1.0.0.tgz"; | ||
7992 | url = "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz"; | ||
7993 | sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae"; | ||
7994 | }; | ||
7995 | } | ||
7996 | |||
7997 | { | ||
7998 | name = "p-is-promise-1.1.0.tgz"; | ||
7999 | path = fetchurl { | ||
8000 | name = "p-is-promise-1.1.0.tgz"; | ||
8001 | url = "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz"; | ||
8002 | sha1 = "9c9456989e9f6588017b0434d56097675c3da05e"; | ||
8003 | }; | ||
8004 | } | ||
8005 | |||
8006 | { | ||
8007 | name = "p-limit-1.3.0.tgz"; | ||
8008 | path = fetchurl { | ||
8009 | name = "p-limit-1.3.0.tgz"; | ||
8010 | url = "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz"; | ||
8011 | sha1 = "b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"; | ||
8012 | }; | ||
8013 | } | ||
8014 | |||
8015 | { | ||
8016 | name = "p-limit-2.0.0.tgz"; | ||
8017 | path = fetchurl { | ||
8018 | name = "p-limit-2.0.0.tgz"; | ||
8019 | url = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.0.0.tgz"; | ||
8020 | sha1 = "e624ed54ee8c460a778b3c9f3670496ff8a57aec"; | ||
8021 | }; | ||
8022 | } | ||
8023 | |||
8024 | { | ||
8025 | name = "p-locate-2.0.0.tgz"; | ||
8026 | path = fetchurl { | ||
8027 | name = "p-locate-2.0.0.tgz"; | ||
8028 | url = "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz"; | ||
8029 | sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43"; | ||
8030 | }; | ||
8031 | } | ||
8032 | |||
8033 | { | ||
8034 | name = "p-locate-3.0.0.tgz"; | ||
8035 | path = fetchurl { | ||
8036 | name = "p-locate-3.0.0.tgz"; | ||
8037 | url = "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz"; | ||
8038 | sha1 = "322d69a05c0264b25997d9f40cd8a891ab0064a4"; | ||
8039 | }; | ||
8040 | } | ||
8041 | |||
8042 | { | ||
8043 | name = "p-map-1.2.0.tgz"; | ||
8044 | path = fetchurl { | ||
8045 | name = "p-map-1.2.0.tgz"; | ||
8046 | url = "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz"; | ||
8047 | sha1 = "e4e94f311eabbc8633a1e79908165fca26241b6b"; | ||
8048 | }; | ||
8049 | } | ||
8050 | |||
8051 | { | ||
8052 | name = "p-try-1.0.0.tgz"; | ||
8053 | path = fetchurl { | ||
8054 | name = "p-try-1.0.0.tgz"; | ||
8055 | url = "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz"; | ||
8056 | sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"; | ||
8057 | }; | ||
8058 | } | ||
8059 | |||
8060 | { | ||
8061 | name = "p-try-2.0.0.tgz"; | ||
8062 | path = fetchurl { | ||
8063 | name = "p-try-2.0.0.tgz"; | ||
8064 | url = "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz"; | ||
8065 | sha1 = "85080bb87c64688fa47996fe8f7dfbe8211760b1"; | ||
8066 | }; | ||
8067 | } | ||
8068 | |||
8069 | { | ||
8070 | name = "packet-reader-0.3.1.tgz"; | ||
8071 | path = fetchurl { | ||
8072 | name = "packet-reader-0.3.1.tgz"; | ||
8073 | url = "https://registry.yarnpkg.com/packet-reader/-/packet-reader-0.3.1.tgz"; | ||
8074 | sha1 = "cd62e60af8d7fea8a705ec4ff990871c46871f27"; | ||
8075 | }; | ||
8076 | } | ||
8077 | |||
8078 | { | ||
8079 | name = "pako-1.0.6.tgz"; | ||
8080 | path = fetchurl { | ||
8081 | name = "pako-1.0.6.tgz"; | ||
8082 | url = "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz"; | ||
8083 | sha1 = "0101211baa70c4bca4a0f63f2206e97b7dfaf258"; | ||
8084 | }; | ||
8085 | } | ||
8086 | |||
8087 | { | ||
8088 | name = "parallel-transform-1.1.0.tgz"; | ||
8089 | path = fetchurl { | ||
8090 | name = "parallel-transform-1.1.0.tgz"; | ||
8091 | url = "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz"; | ||
8092 | sha1 = "d410f065b05da23081fcd10f28854c29bda33b06"; | ||
8093 | }; | ||
8094 | } | ||
8095 | |||
8096 | { | ||
8097 | name = "parse-asn1-5.1.1.tgz"; | ||
8098 | path = fetchurl { | ||
8099 | name = "parse-asn1-5.1.1.tgz"; | ||
8100 | url = "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz"; | ||
8101 | sha1 = "f6bf293818332bd0dab54efb16087724745e6ca8"; | ||
8102 | }; | ||
8103 | } | ||
8104 | |||
8105 | { | ||
8106 | name = "parse-css-font-2.0.2.tgz"; | ||
8107 | path = fetchurl { | ||
8108 | name = "parse-css-font-2.0.2.tgz"; | ||
8109 | url = "https://registry.yarnpkg.com/parse-css-font/-/parse-css-font-2.0.2.tgz"; | ||
8110 | sha1 = "7b60b060705a25a9b90b7f0ed493e5823248a652"; | ||
8111 | }; | ||
8112 | } | ||
8113 | |||
8114 | { | ||
8115 | name = "parse-glob-3.0.4.tgz"; | ||
8116 | path = fetchurl { | ||
8117 | name = "parse-glob-3.0.4.tgz"; | ||
8118 | url = "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz"; | ||
8119 | sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c"; | ||
8120 | }; | ||
8121 | } | ||
8122 | |||
8123 | { | ||
8124 | name = "parse-json-2.2.0.tgz"; | ||
8125 | path = fetchurl { | ||
8126 | name = "parse-json-2.2.0.tgz"; | ||
8127 | url = "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz"; | ||
8128 | sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9"; | ||
8129 | }; | ||
8130 | } | ||
8131 | |||
8132 | { | ||
8133 | name = "parse-json-4.0.0.tgz"; | ||
8134 | path = fetchurl { | ||
8135 | name = "parse-json-4.0.0.tgz"; | ||
8136 | url = "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz"; | ||
8137 | sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0"; | ||
8138 | }; | ||
8139 | } | ||
8140 | |||
8141 | { | ||
8142 | name = "parse5-4.0.0.tgz"; | ||
8143 | path = fetchurl { | ||
8144 | name = "parse5-4.0.0.tgz"; | ||
8145 | url = "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz"; | ||
8146 | sha1 = "6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"; | ||
8147 | }; | ||
8148 | } | ||
8149 | |||
8150 | { | ||
8151 | name = "parse5-3.0.3.tgz"; | ||
8152 | path = fetchurl { | ||
8153 | name = "parse5-3.0.3.tgz"; | ||
8154 | url = "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz"; | ||
8155 | sha1 = "042f792ffdd36851551cf4e9e066b3874ab45b5c"; | ||
8156 | }; | ||
8157 | } | ||
8158 | |||
8159 | { | ||
8160 | name = "parseurl-1.3.2.tgz"; | ||
8161 | path = fetchurl { | ||
8162 | name = "parseurl-1.3.2.tgz"; | ||
8163 | url = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz"; | ||
8164 | sha1 = "fc289d4ed8993119460c156253262cdc8de65bf3"; | ||
8165 | }; | ||
8166 | } | ||
8167 | |||
8168 | { | ||
8169 | name = "pascalcase-0.1.1.tgz"; | ||
8170 | path = fetchurl { | ||
8171 | name = "pascalcase-0.1.1.tgz"; | ||
8172 | url = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz"; | ||
8173 | sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14"; | ||
8174 | }; | ||
8175 | } | ||
8176 | |||
8177 | { | ||
8178 | name = "path-browserify-0.0.0.tgz"; | ||
8179 | path = fetchurl { | ||
8180 | name = "path-browserify-0.0.0.tgz"; | ||
8181 | url = "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz"; | ||
8182 | sha1 = "a0b870729aae214005b7d5032ec2cbbb0fb4451a"; | ||
8183 | }; | ||
8184 | } | ||
8185 | |||
8186 | { | ||
8187 | name = "path-complete-extname-1.0.0.tgz"; | ||
8188 | path = fetchurl { | ||
8189 | name = "path-complete-extname-1.0.0.tgz"; | ||
8190 | url = "https://registry.yarnpkg.com/path-complete-extname/-/path-complete-extname-1.0.0.tgz"; | ||
8191 | sha1 = "f889985dc91000c815515c0bfed06c5acda0752b"; | ||
8192 | }; | ||
8193 | } | ||
8194 | |||
8195 | { | ||
8196 | name = "path-dirname-1.0.2.tgz"; | ||
8197 | path = fetchurl { | ||
8198 | name = "path-dirname-1.0.2.tgz"; | ||
8199 | url = "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz"; | ||
8200 | sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0"; | ||
8201 | }; | ||
8202 | } | ||
8203 | |||
8204 | { | ||
8205 | name = "path-exists-2.1.0.tgz"; | ||
8206 | path = fetchurl { | ||
8207 | name = "path-exists-2.1.0.tgz"; | ||
8208 | url = "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz"; | ||
8209 | sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b"; | ||
8210 | }; | ||
8211 | } | ||
8212 | |||
8213 | { | ||
8214 | name = "path-exists-3.0.0.tgz"; | ||
8215 | path = fetchurl { | ||
8216 | name = "path-exists-3.0.0.tgz"; | ||
8217 | url = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz"; | ||
8218 | sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"; | ||
8219 | }; | ||
8220 | } | ||
8221 | |||
8222 | { | ||
8223 | name = "path-is-absolute-1.0.1.tgz"; | ||
8224 | path = fetchurl { | ||
8225 | name = "path-is-absolute-1.0.1.tgz"; | ||
8226 | url = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz"; | ||
8227 | sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"; | ||
8228 | }; | ||
8229 | } | ||
8230 | |||
8231 | { | ||
8232 | name = "path-is-inside-1.0.2.tgz"; | ||
8233 | path = fetchurl { | ||
8234 | name = "path-is-inside-1.0.2.tgz"; | ||
8235 | url = "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz"; | ||
8236 | sha1 = "365417dede44430d1c11af61027facf074bdfc53"; | ||
8237 | }; | ||
8238 | } | ||
8239 | |||
8240 | { | ||
8241 | name = "path-key-2.0.1.tgz"; | ||
8242 | path = fetchurl { | ||
8243 | name = "path-key-2.0.1.tgz"; | ||
8244 | url = "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz"; | ||
8245 | sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40"; | ||
8246 | }; | ||
8247 | } | ||
8248 | |||
8249 | { | ||
8250 | name = "path-parse-1.0.6.tgz"; | ||
8251 | path = fetchurl { | ||
8252 | name = "path-parse-1.0.6.tgz"; | ||
8253 | url = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz"; | ||
8254 | sha1 = "d62dbb5679405d72c4737ec58600e9ddcf06d24c"; | ||
8255 | }; | ||
8256 | } | ||
8257 | |||
8258 | { | ||
8259 | name = "path-to-regexp-0.1.7.tgz"; | ||
8260 | path = fetchurl { | ||
8261 | name = "path-to-regexp-0.1.7.tgz"; | ||
8262 | url = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz"; | ||
8263 | sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c"; | ||
8264 | }; | ||
8265 | } | ||
8266 | |||
8267 | { | ||
8268 | name = "path-to-regexp-1.7.0.tgz"; | ||
8269 | path = fetchurl { | ||
8270 | name = "path-to-regexp-1.7.0.tgz"; | ||
8271 | url = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz"; | ||
8272 | sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d"; | ||
8273 | }; | ||
8274 | } | ||
8275 | |||
8276 | { | ||
8277 | name = "path-type-1.1.0.tgz"; | ||
8278 | path = fetchurl { | ||
8279 | name = "path-type-1.1.0.tgz"; | ||
8280 | url = "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz"; | ||
8281 | sha1 = "59c44f7ee491da704da415da5a4070ba4f8fe441"; | ||
8282 | }; | ||
8283 | } | ||
8284 | |||
8285 | { | ||
8286 | name = "path-type-2.0.0.tgz"; | ||
8287 | path = fetchurl { | ||
8288 | name = "path-type-2.0.0.tgz"; | ||
8289 | url = "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz"; | ||
8290 | sha1 = "f012ccb8415b7096fc2daa1054c3d72389594c73"; | ||
8291 | }; | ||
8292 | } | ||
8293 | |||
8294 | { | ||
8295 | name = "pbkdf2-3.0.16.tgz"; | ||
8296 | path = fetchurl { | ||
8297 | name = "pbkdf2-3.0.16.tgz"; | ||
8298 | url = "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz"; | ||
8299 | sha1 = "7404208ec6b01b62d85bf83853a8064f8d9c2a5c"; | ||
8300 | }; | ||
8301 | } | ||
8302 | |||
8303 | { | ||
8304 | name = "performance-now-0.2.0.tgz"; | ||
8305 | path = fetchurl { | ||
8306 | name = "performance-now-0.2.0.tgz"; | ||
8307 | url = "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz"; | ||
8308 | sha1 = "33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"; | ||
8309 | }; | ||
8310 | } | ||
8311 | |||
8312 | { | ||
8313 | name = "performance-now-2.1.0.tgz"; | ||
8314 | path = fetchurl { | ||
8315 | name = "performance-now-2.1.0.tgz"; | ||
8316 | url = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz"; | ||
8317 | sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"; | ||
8318 | }; | ||
8319 | } | ||
8320 | |||
8321 | { | ||
8322 | name = "pg-connection-string-0.1.3.tgz"; | ||
8323 | path = fetchurl { | ||
8324 | name = "pg-connection-string-0.1.3.tgz"; | ||
8325 | url = "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz"; | ||
8326 | sha1 = "da1847b20940e42ee1492beaf65d49d91b245df7"; | ||
8327 | }; | ||
8328 | } | ||
8329 | |||
8330 | { | ||
8331 | name = "pg-int8-1.0.1.tgz"; | ||
8332 | path = fetchurl { | ||
8333 | name = "pg-int8-1.0.1.tgz"; | ||
8334 | url = "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz"; | ||
8335 | sha1 = "943bd463bf5b71b4170115f80f8efc9a0c0eb78c"; | ||
8336 | }; | ||
8337 | } | ||
8338 | |||
8339 | { | ||
8340 | name = "pg-pool-1.8.0.tgz"; | ||
8341 | path = fetchurl { | ||
8342 | name = "pg-pool-1.8.0.tgz"; | ||
8343 | url = "https://registry.yarnpkg.com/pg-pool/-/pg-pool-1.8.0.tgz"; | ||
8344 | sha1 = "f7ec73824c37a03f076f51bfdf70e340147c4f37"; | ||
8345 | }; | ||
8346 | } | ||
8347 | |||
8348 | { | ||
8349 | name = "pg-types-1.13.0.tgz"; | ||
8350 | path = fetchurl { | ||
8351 | name = "pg-types-1.13.0.tgz"; | ||
8352 | url = "https://registry.yarnpkg.com/pg-types/-/pg-types-1.13.0.tgz"; | ||
8353 | sha1 = "75f490b8a8abf75f1386ef5ec4455ecf6b345c63"; | ||
8354 | }; | ||
8355 | } | ||
8356 | |||
8357 | { | ||
8358 | name = "pg-6.4.2.tgz"; | ||
8359 | path = fetchurl { | ||
8360 | name = "pg-6.4.2.tgz"; | ||
8361 | url = "https://registry.yarnpkg.com/pg/-/pg-6.4.2.tgz"; | ||
8362 | sha1 = "c364011060eac7a507a2ae063eb857ece910e27f"; | ||
8363 | }; | ||
8364 | } | ||
8365 | |||
8366 | { | ||
8367 | name = "pgpass-1.0.2.tgz"; | ||
8368 | path = fetchurl { | ||
8369 | name = "pgpass-1.0.2.tgz"; | ||
8370 | url = "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.2.tgz"; | ||
8371 | sha1 = "2a7bb41b6065b67907e91da1b07c1847c877b306"; | ||
8372 | }; | ||
8373 | } | ||
8374 | |||
8375 | { | ||
8376 | name = "pify-2.3.0.tgz"; | ||
8377 | path = fetchurl { | ||
8378 | name = "pify-2.3.0.tgz"; | ||
8379 | url = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz"; | ||
8380 | sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c"; | ||
8381 | }; | ||
8382 | } | ||
8383 | |||
8384 | { | ||
8385 | name = "pify-3.0.0.tgz"; | ||
8386 | path = fetchurl { | ||
8387 | name = "pify-3.0.0.tgz"; | ||
8388 | url = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz"; | ||
8389 | sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"; | ||
8390 | }; | ||
8391 | } | ||
8392 | |||
8393 | { | ||
8394 | name = "pinkie-promise-2.0.1.tgz"; | ||
8395 | path = fetchurl { | ||
8396 | name = "pinkie-promise-2.0.1.tgz"; | ||
8397 | url = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz"; | ||
8398 | sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa"; | ||
8399 | }; | ||
8400 | } | ||
8401 | |||
8402 | { | ||
8403 | name = "pinkie-2.0.4.tgz"; | ||
8404 | path = fetchurl { | ||
8405 | name = "pinkie-2.0.4.tgz"; | ||
8406 | url = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz"; | ||
8407 | sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870"; | ||
8408 | }; | ||
8409 | } | ||
8410 | |||
8411 | { | ||
8412 | name = "pkg-dir-1.0.0.tgz"; | ||
8413 | path = fetchurl { | ||
8414 | name = "pkg-dir-1.0.0.tgz"; | ||
8415 | url = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz"; | ||
8416 | sha1 = "7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"; | ||
8417 | }; | ||
8418 | } | ||
8419 | |||
8420 | { | ||
8421 | name = "pkg-dir-2.0.0.tgz"; | ||
8422 | path = fetchurl { | ||
8423 | name = "pkg-dir-2.0.0.tgz"; | ||
8424 | url = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz"; | ||
8425 | sha1 = "f6d5d1109e19d63edf428e0bd57e12777615334b"; | ||
8426 | }; | ||
8427 | } | ||
8428 | |||
8429 | { | ||
8430 | name = "pkg-dir-3.0.0.tgz"; | ||
8431 | path = fetchurl { | ||
8432 | name = "pkg-dir-3.0.0.tgz"; | ||
8433 | url = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz"; | ||
8434 | sha1 = "2749020f239ed990881b1f71210d51eb6523bea3"; | ||
8435 | }; | ||
8436 | } | ||
8437 | |||
8438 | { | ||
8439 | name = "pluralize-7.0.0.tgz"; | ||
8440 | path = fetchurl { | ||
8441 | name = "pluralize-7.0.0.tgz"; | ||
8442 | url = "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz"; | ||
8443 | sha1 = "298b89df8b93b0221dbf421ad2b1b1ea23fc6777"; | ||
8444 | }; | ||
8445 | } | ||
8446 | |||
8447 | { | ||
8448 | name = "pn-1.1.0.tgz"; | ||
8449 | path = fetchurl { | ||
8450 | name = "pn-1.1.0.tgz"; | ||
8451 | url = "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz"; | ||
8452 | sha1 = "e2f4cef0e219f463c179ab37463e4e1ecdccbafb"; | ||
8453 | }; | ||
8454 | } | ||
8455 | |||
8456 | { | ||
8457 | name = "portfinder-1.0.17.tgz"; | ||
8458 | path = fetchurl { | ||
8459 | name = "portfinder-1.0.17.tgz"; | ||
8460 | url = "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.17.tgz"; | ||
8461 | sha1 = "a8a1691143e46c4735edefcf4fbcccedad26456a"; | ||
8462 | }; | ||
8463 | } | ||
8464 | |||
8465 | { | ||
8466 | name = "posix-character-classes-0.1.1.tgz"; | ||
8467 | path = fetchurl { | ||
8468 | name = "posix-character-classes-0.1.1.tgz"; | ||
8469 | url = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz"; | ||
8470 | sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"; | ||
8471 | }; | ||
8472 | } | ||
8473 | |||
8474 | { | ||
8475 | name = "postcss-advanced-variables-2.3.3.tgz"; | ||
8476 | path = fetchurl { | ||
8477 | name = "postcss-advanced-variables-2.3.3.tgz"; | ||
8478 | url = "https://registry.yarnpkg.com/postcss-advanced-variables/-/postcss-advanced-variables-2.3.3.tgz"; | ||
8479 | sha1 = "80ac5b05988d02f63352974491e319910f33337e"; | ||
8480 | }; | ||
8481 | } | ||
8482 | |||
8483 | { | ||
8484 | name = "postcss-apply-0.9.0.tgz"; | ||
8485 | path = fetchurl { | ||
8486 | name = "postcss-apply-0.9.0.tgz"; | ||
8487 | url = "https://registry.yarnpkg.com/postcss-apply/-/postcss-apply-0.9.0.tgz"; | ||
8488 | sha1 = "a152e6e34a6c55d0895751929319c262c5d8c289"; | ||
8489 | }; | ||
8490 | } | ||
8491 | |||
8492 | { | ||
8493 | name = "postcss-atroot-0.1.3.tgz"; | ||
8494 | path = fetchurl { | ||
8495 | name = "postcss-atroot-0.1.3.tgz"; | ||
8496 | url = "https://registry.yarnpkg.com/postcss-atroot/-/postcss-atroot-0.1.3.tgz"; | ||
8497 | sha1 = "6752c0230c745140549345b2b0e30ebeda01a405"; | ||
8498 | }; | ||
8499 | } | ||
8500 | |||
8501 | { | ||
8502 | name = "postcss-attribute-case-insensitive-2.0.0.tgz"; | ||
8503 | path = fetchurl { | ||
8504 | name = "postcss-attribute-case-insensitive-2.0.0.tgz"; | ||
8505 | url = "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-2.0.0.tgz"; | ||
8506 | sha1 = "94dc422c8f90997f16bd33a3654bbbec084963b4"; | ||
8507 | }; | ||
8508 | } | ||
8509 | |||
8510 | { | ||
8511 | name = "postcss-color-hex-alpha-3.0.0.tgz"; | ||
8512 | path = fetchurl { | ||
8513 | name = "postcss-color-hex-alpha-3.0.0.tgz"; | ||
8514 | url = "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-3.0.0.tgz"; | ||
8515 | sha1 = "1e53e6c8acb237955e8fd08b7ecdb1b8b8309f95"; | ||
8516 | }; | ||
8517 | } | ||
8518 | |||
8519 | { | ||
8520 | name = "postcss-color-mod-function-2.4.3.tgz"; | ||
8521 | path = fetchurl { | ||
8522 | name = "postcss-color-mod-function-2.4.3.tgz"; | ||
8523 | url = "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-2.4.3.tgz"; | ||
8524 | sha1 = "14a97f5b17a5f19396e9dea7ffcb5be732592baf"; | ||
8525 | }; | ||
8526 | } | ||
8527 | |||
8528 | { | ||
8529 | name = "postcss-color-rebeccapurple-3.1.0.tgz"; | ||
8530 | path = fetchurl { | ||
8531 | name = "postcss-color-rebeccapurple-3.1.0.tgz"; | ||
8532 | url = "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-3.1.0.tgz"; | ||
8533 | sha1 = "ce1269ecc2d0d8bf92aab44bd884e633124c33ec"; | ||
8534 | }; | ||
8535 | } | ||
8536 | |||
8537 | { | ||
8538 | name = "postcss-color-rgb-2.0.0.tgz"; | ||
8539 | path = fetchurl { | ||
8540 | name = "postcss-color-rgb-2.0.0.tgz"; | ||
8541 | url = "https://registry.yarnpkg.com/postcss-color-rgb/-/postcss-color-rgb-2.0.0.tgz"; | ||
8542 | sha1 = "14539c8a7131494b482e0dd1cc265ff6514b5263"; | ||
8543 | }; | ||
8544 | } | ||
8545 | |||
8546 | { | ||
8547 | name = "postcss-custom-media-6.0.0.tgz"; | ||
8548 | path = fetchurl { | ||
8549 | name = "postcss-custom-media-6.0.0.tgz"; | ||
8550 | url = "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-6.0.0.tgz"; | ||
8551 | sha1 = "be532784110ecb295044fb5395a18006eb21a737"; | ||
8552 | }; | ||
8553 | } | ||
8554 | |||
8555 | { | ||
8556 | name = "postcss-custom-properties-7.0.0.tgz"; | ||
8557 | path = fetchurl { | ||
8558 | name = "postcss-custom-properties-7.0.0.tgz"; | ||
8559 | url = "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-7.0.0.tgz"; | ||
8560 | sha1 = "24dc4fbe6d6ed550ea4fd3b11204660e9ffa3b33"; | ||
8561 | }; | ||
8562 | } | ||
8563 | |||
8564 | { | ||
8565 | name = "postcss-custom-selectors-4.0.1.tgz"; | ||
8566 | path = fetchurl { | ||
8567 | name = "postcss-custom-selectors-4.0.1.tgz"; | ||
8568 | url = "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-4.0.1.tgz"; | ||
8569 | sha1 = "781382f94c52e727ef5ca4776ea2adf49a611382"; | ||
8570 | }; | ||
8571 | } | ||
8572 | |||
8573 | { | ||
8574 | name = "postcss-dir-pseudo-class-3.0.0.tgz"; | ||
8575 | path = fetchurl { | ||
8576 | name = "postcss-dir-pseudo-class-3.0.0.tgz"; | ||
8577 | url = "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-3.0.0.tgz"; | ||
8578 | sha1 = "31a18af3b9b1b33be635599b998a9829896c3fed"; | ||
8579 | }; | ||
8580 | } | ||
8581 | |||
8582 | { | ||
8583 | name = "postcss-extend-rule-1.1.0.tgz"; | ||
8584 | path = fetchurl { | ||
8585 | name = "postcss-extend-rule-1.1.0.tgz"; | ||
8586 | url = "https://registry.yarnpkg.com/postcss-extend-rule/-/postcss-extend-rule-1.1.0.tgz"; | ||
8587 | sha1 = "11e4d590ffe4253b853ef1fc03be7167da607d38"; | ||
8588 | }; | ||
8589 | } | ||
8590 | |||
8591 | { | ||
8592 | name = "postcss-focus-visible-2.0.0.tgz"; | ||
8593 | path = fetchurl { | ||
8594 | name = "postcss-focus-visible-2.0.0.tgz"; | ||
8595 | url = "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-2.0.0.tgz"; | ||
8596 | sha1 = "a6b9881f6710f6251790e2f151c94b161e23eeb6"; | ||
8597 | }; | ||
8598 | } | ||
8599 | |||
8600 | { | ||
8601 | name = "postcss-font-family-system-ui-3.0.0.tgz"; | ||
8602 | path = fetchurl { | ||
8603 | name = "postcss-font-family-system-ui-3.0.0.tgz"; | ||
8604 | url = "https://registry.yarnpkg.com/postcss-font-family-system-ui/-/postcss-font-family-system-ui-3.0.0.tgz"; | ||
8605 | sha1 = "675fe7a9e029669f05f8dba2e44c2225ede80623"; | ||
8606 | }; | ||
8607 | } | ||
8608 | |||
8609 | { | ||
8610 | name = "postcss-font-variant-3.0.0.tgz"; | ||
8611 | path = fetchurl { | ||
8612 | name = "postcss-font-variant-3.0.0.tgz"; | ||
8613 | url = "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-3.0.0.tgz"; | ||
8614 | sha1 = "08ccc88f6050ba82ed8ef2cc76c0c6a6b41f183e"; | ||
8615 | }; | ||
8616 | } | ||
8617 | |||
8618 | { | ||
8619 | name = "postcss-initial-2.0.0.tgz"; | ||
8620 | path = fetchurl { | ||
8621 | name = "postcss-initial-2.0.0.tgz"; | ||
8622 | url = "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-2.0.0.tgz"; | ||
8623 | sha1 = "72715f7336e0bb79351d99ee65c4a253a8441ba4"; | ||
8624 | }; | ||
8625 | } | ||
8626 | |||
8627 | { | ||
8628 | name = "postcss-load-config-2.0.0.tgz"; | ||
8629 | path = fetchurl { | ||
8630 | name = "postcss-load-config-2.0.0.tgz"; | ||
8631 | url = "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.0.0.tgz"; | ||
8632 | sha1 = "f1312ddbf5912cd747177083c5ef7a19d62ee484"; | ||
8633 | }; | ||
8634 | } | ||
8635 | |||
8636 | { | ||
8637 | name = "postcss-loader-3.0.0.tgz"; | ||
8638 | path = fetchurl { | ||
8639 | name = "postcss-loader-3.0.0.tgz"; | ||
8640 | url = "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz"; | ||
8641 | sha1 = "6b97943e47c72d845fa9e03f273773d4e8dd6c2d"; | ||
8642 | }; | ||
8643 | } | ||
8644 | |||
8645 | { | ||
8646 | name = "postcss-logical-1.1.1.tgz"; | ||
8647 | path = fetchurl { | ||
8648 | name = "postcss-logical-1.1.1.tgz"; | ||
8649 | url = "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-1.1.1.tgz"; | ||
8650 | sha1 = "bcabf0638d8aa747743b32bc52f9d90d4a3313d2"; | ||
8651 | }; | ||
8652 | } | ||
8653 | |||
8654 | { | ||
8655 | name = "postcss-media-minmax-3.0.0.tgz"; | ||
8656 | path = fetchurl { | ||
8657 | name = "postcss-media-minmax-3.0.0.tgz"; | ||
8658 | url = "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-3.0.0.tgz"; | ||
8659 | sha1 = "675256037a43ef40bc4f0760bfd06d4dc69d48d2"; | ||
8660 | }; | ||
8661 | } | ||
8662 | |||
8663 | { | ||
8664 | name = "postcss-message-helpers-2.0.0.tgz"; | ||
8665 | path = fetchurl { | ||
8666 | name = "postcss-message-helpers-2.0.0.tgz"; | ||
8667 | url = "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz"; | ||
8668 | sha1 = "a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e"; | ||
8669 | }; | ||
8670 | } | ||
8671 | |||
8672 | { | ||
8673 | name = "postcss-modules-extract-imports-1.2.0.tgz"; | ||
8674 | path = fetchurl { | ||
8675 | name = "postcss-modules-extract-imports-1.2.0.tgz"; | ||
8676 | url = "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz"; | ||
8677 | sha1 = "66140ecece38ef06bf0d3e355d69bf59d141ea85"; | ||
8678 | }; | ||
8679 | } | ||
8680 | |||
8681 | { | ||
8682 | name = "postcss-modules-local-by-default-1.2.0.tgz"; | ||
8683 | path = fetchurl { | ||
8684 | name = "postcss-modules-local-by-default-1.2.0.tgz"; | ||
8685 | url = "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz"; | ||
8686 | sha1 = "f7d80c398c5a393fa7964466bd19500a7d61c069"; | ||
8687 | }; | ||
8688 | } | ||
8689 | |||
8690 | { | ||
8691 | name = "postcss-modules-scope-1.1.0.tgz"; | ||
8692 | path = fetchurl { | ||
8693 | name = "postcss-modules-scope-1.1.0.tgz"; | ||
8694 | url = "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz"; | ||
8695 | sha1 = "d6ea64994c79f97b62a72b426fbe6056a194bb90"; | ||
8696 | }; | ||
8697 | } | ||
8698 | |||
8699 | { | ||
8700 | name = "postcss-modules-values-1.3.0.tgz"; | ||
8701 | path = fetchurl { | ||
8702 | name = "postcss-modules-values-1.3.0.tgz"; | ||
8703 | url = "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz"; | ||
8704 | sha1 = "ecffa9d7e192518389f42ad0e83f72aec456ea20"; | ||
8705 | }; | ||
8706 | } | ||
8707 | |||
8708 | { | ||
8709 | name = "postcss-nested-3.0.0.tgz"; | ||
8710 | path = fetchurl { | ||
8711 | name = "postcss-nested-3.0.0.tgz"; | ||
8712 | url = "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-3.0.0.tgz"; | ||
8713 | sha1 = "cde40bd07a078565f3df72e2dc2665871c724852"; | ||
8714 | }; | ||
8715 | } | ||
8716 | |||
8717 | { | ||
8718 | name = "postcss-nesting-4.2.1.tgz"; | ||
8719 | path = fetchurl { | ||
8720 | name = "postcss-nesting-4.2.1.tgz"; | ||
8721 | url = "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-4.2.1.tgz"; | ||
8722 | sha1 = "0483bce338b3f0828ced90ff530b29b98b00300d"; | ||
8723 | }; | ||
8724 | } | ||
8725 | |||
8726 | { | ||
8727 | name = "postcss-object-fit-images-1.1.2.tgz"; | ||
8728 | path = fetchurl { | ||
8729 | name = "postcss-object-fit-images-1.1.2.tgz"; | ||
8730 | url = "https://registry.yarnpkg.com/postcss-object-fit-images/-/postcss-object-fit-images-1.1.2.tgz"; | ||
8731 | sha1 = "8b773043db14672ef6cd6f2cb1f0d8b26a9f573b"; | ||
8732 | }; | ||
8733 | } | ||
8734 | |||
8735 | { | ||
8736 | name = "postcss-page-break-1.0.0.tgz"; | ||
8737 | path = fetchurl { | ||
8738 | name = "postcss-page-break-1.0.0.tgz"; | ||
8739 | url = "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-1.0.0.tgz"; | ||
8740 | sha1 = "09a63b6e03db092d38569b33dcba42a343ace60b"; | ||
8741 | }; | ||
8742 | } | ||
8743 | |||
8744 | { | ||
8745 | name = "postcss-preset-env-3.5.0.tgz"; | ||
8746 | path = fetchurl { | ||
8747 | name = "postcss-preset-env-3.5.0.tgz"; | ||
8748 | url = "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-3.5.0.tgz"; | ||
8749 | sha1 = "b3aae2c65e5b3fa61d735b70392fa758a665b785"; | ||
8750 | }; | ||
8751 | } | ||
8752 | |||
8753 | { | ||
8754 | name = "postcss-property-lookup-2.0.0.tgz"; | ||
8755 | path = fetchurl { | ||
8756 | name = "postcss-property-lookup-2.0.0.tgz"; | ||
8757 | url = "https://registry.yarnpkg.com/postcss-property-lookup/-/postcss-property-lookup-2.0.0.tgz"; | ||
8758 | sha1 = "c995d1df42a75420f2aea834c2cbe296b2c15922"; | ||
8759 | }; | ||
8760 | } | ||
8761 | |||
8762 | { | ||
8763 | name = "postcss-pseudo-class-any-link-4.0.0.tgz"; | ||
8764 | path = fetchurl { | ||
8765 | name = "postcss-pseudo-class-any-link-4.0.0.tgz"; | ||
8766 | url = "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-4.0.0.tgz"; | ||
8767 | sha1 = "9152a0613d3450720513e8892854bae42d0ee68e"; | ||
8768 | }; | ||
8769 | } | ||
8770 | |||
8771 | { | ||
8772 | name = "postcss-replace-overflow-wrap-2.0.0.tgz"; | ||
8773 | path = fetchurl { | ||
8774 | name = "postcss-replace-overflow-wrap-2.0.0.tgz"; | ||
8775 | url = "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-2.0.0.tgz"; | ||
8776 | sha1 = "794db6faa54f8db100854392a93af45768b4e25b"; | ||
8777 | }; | ||
8778 | } | ||
8779 | |||
8780 | { | ||
8781 | name = "postcss-sass-0.2.0.tgz"; | ||
8782 | path = fetchurl { | ||
8783 | name = "postcss-sass-0.2.0.tgz"; | ||
8784 | url = "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.2.0.tgz"; | ||
8785 | sha1 = "e55516441e9526ba4b380a730d3a02e9eaa78c7a"; | ||
8786 | }; | ||
8787 | } | ||
8788 | |||
8789 | { | ||
8790 | name = "postcss-scss-1.0.6.tgz"; | ||
8791 | path = fetchurl { | ||
8792 | name = "postcss-scss-1.0.6.tgz"; | ||
8793 | url = "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-1.0.6.tgz"; | ||
8794 | sha1 = "ab903f3bb20161bc177896462293a53d4bff5f7a"; | ||
8795 | }; | ||
8796 | } | ||
8797 | |||
8798 | { | ||
8799 | name = "postcss-selector-matches-3.0.1.tgz"; | ||
8800 | path = fetchurl { | ||
8801 | name = "postcss-selector-matches-3.0.1.tgz"; | ||
8802 | url = "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-3.0.1.tgz"; | ||
8803 | sha1 = "e5634011e13950881861bbdd58c2d0111ffc96ab"; | ||
8804 | }; | ||
8805 | } | ||
8806 | |||
8807 | { | ||
8808 | name = "postcss-selector-not-3.0.1.tgz"; | ||
8809 | path = fetchurl { | ||
8810 | name = "postcss-selector-not-3.0.1.tgz"; | ||
8811 | url = "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-3.0.1.tgz"; | ||
8812 | sha1 = "2e4db2f0965336c01e7cec7db6c60dff767335d9"; | ||
8813 | }; | ||
8814 | } | ||
8815 | |||
8816 | { | ||
8817 | name = "postcss-selector-parser-2.2.3.tgz"; | ||
8818 | path = fetchurl { | ||
8819 | name = "postcss-selector-parser-2.2.3.tgz"; | ||
8820 | url = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz"; | ||
8821 | sha1 = "f9437788606c3c9acee16ffe8d8b16297f27bb90"; | ||
8822 | }; | ||
8823 | } | ||
8824 | |||
8825 | { | ||
8826 | name = "postcss-selector-parser-3.1.1.tgz"; | ||
8827 | path = fetchurl { | ||
8828 | name = "postcss-selector-parser-3.1.1.tgz"; | ||
8829 | url = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz"; | ||
8830 | sha1 = "4f875f4afb0c96573d5cf4d74011aee250a7e865"; | ||
8831 | }; | ||
8832 | } | ||
8833 | |||
8834 | { | ||
8835 | name = "postcss-smart-import-0.7.6.tgz"; | ||
8836 | path = fetchurl { | ||
8837 | name = "postcss-smart-import-0.7.6.tgz"; | ||
8838 | url = "https://registry.yarnpkg.com/postcss-smart-import/-/postcss-smart-import-0.7.6.tgz"; | ||
8839 | sha1 = "259deb84aa28f138458218ecc0e9a84c61ada6a4"; | ||
8840 | }; | ||
8841 | } | ||
8842 | |||
8843 | { | ||
8844 | name = "postcss-value-parser-3.3.0.tgz"; | ||
8845 | path = fetchurl { | ||
8846 | name = "postcss-value-parser-3.3.0.tgz"; | ||
8847 | url = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz"; | ||
8848 | sha1 = "87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"; | ||
8849 | }; | ||
8850 | } | ||
8851 | |||
8852 | { | ||
8853 | name = "postcss-values-parser-1.5.0.tgz"; | ||
8854 | path = fetchurl { | ||
8855 | name = "postcss-values-parser-1.5.0.tgz"; | ||
8856 | url = "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-1.5.0.tgz"; | ||
8857 | sha1 = "5d9fa63e2bcb0179ce48f3235303765eb89f3047"; | ||
8858 | }; | ||
8859 | } | ||
8860 | |||
8861 | { | ||
8862 | name = "postcss-5.2.18.tgz"; | ||
8863 | path = fetchurl { | ||
8864 | name = "postcss-5.2.18.tgz"; | ||
8865 | url = "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz"; | ||
8866 | sha1 = "badfa1497d46244f6390f58b319830d9107853c5"; | ||
8867 | }; | ||
8868 | } | ||
8869 | |||
8870 | { | ||
8871 | name = "postcss-6.0.23.tgz"; | ||
8872 | path = fetchurl { | ||
8873 | name = "postcss-6.0.23.tgz"; | ||
8874 | url = "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz"; | ||
8875 | sha1 = "61c82cc328ac60e677645f979054eb98bc0e3324"; | ||
8876 | }; | ||
8877 | } | ||
8878 | |||
8879 | { | ||
8880 | name = "postcss-7.0.2.tgz"; | ||
8881 | path = fetchurl { | ||
8882 | name = "postcss-7.0.2.tgz"; | ||
8883 | url = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.2.tgz"; | ||
8884 | sha1 = "7b5a109de356804e27f95a960bef0e4d5bc9bb18"; | ||
8885 | }; | ||
8886 | } | ||
8887 | |||
8888 | { | ||
8889 | name = "postgres-array-1.0.2.tgz"; | ||
8890 | path = fetchurl { | ||
8891 | name = "postgres-array-1.0.2.tgz"; | ||
8892 | url = "https://registry.yarnpkg.com/postgres-array/-/postgres-array-1.0.2.tgz"; | ||
8893 | sha1 = "8e0b32eb03bf77a5c0a7851e0441c169a256a238"; | ||
8894 | }; | ||
8895 | } | ||
8896 | |||
8897 | { | ||
8898 | name = "postgres-bytea-1.0.0.tgz"; | ||
8899 | path = fetchurl { | ||
8900 | name = "postgres-bytea-1.0.0.tgz"; | ||
8901 | url = "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz"; | ||
8902 | sha1 = "027b533c0aa890e26d172d47cf9ccecc521acd35"; | ||
8903 | }; | ||
8904 | } | ||
8905 | |||
8906 | { | ||
8907 | name = "postgres-date-1.0.3.tgz"; | ||
8908 | path = fetchurl { | ||
8909 | name = "postgres-date-1.0.3.tgz"; | ||
8910 | url = "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.3.tgz"; | ||
8911 | sha1 = "e2d89702efdb258ff9d9cee0fe91bd06975257a8"; | ||
8912 | }; | ||
8913 | } | ||
8914 | |||
8915 | { | ||
8916 | name = "postgres-interval-1.1.2.tgz"; | ||
8917 | path = fetchurl { | ||
8918 | name = "postgres-interval-1.1.2.tgz"; | ||
8919 | url = "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.1.2.tgz"; | ||
8920 | sha1 = "bf71ff902635f21cb241a013fc421d81d1db15a9"; | ||
8921 | }; | ||
8922 | } | ||
8923 | |||
8924 | { | ||
8925 | name = "precond-0.2.3.tgz"; | ||
8926 | path = fetchurl { | ||
8927 | name = "precond-0.2.3.tgz"; | ||
8928 | url = "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz"; | ||
8929 | sha1 = "aa9591bcaa24923f1e0f4849d240f47efc1075ac"; | ||
8930 | }; | ||
8931 | } | ||
8932 | |||
8933 | { | ||
8934 | name = "precss-3.1.2.tgz"; | ||
8935 | path = fetchurl { | ||
8936 | name = "precss-3.1.2.tgz"; | ||
8937 | url = "https://registry.yarnpkg.com/precss/-/precss-3.1.2.tgz"; | ||
8938 | sha1 = "c82c0aa4ca5fe1e879799d697db0fac6d15d23bc"; | ||
8939 | }; | ||
8940 | } | ||
8941 | |||
8942 | { | ||
8943 | name = "prelude-ls-1.1.2.tgz"; | ||
8944 | path = fetchurl { | ||
8945 | name = "prelude-ls-1.1.2.tgz"; | ||
8946 | url = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz"; | ||
8947 | sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54"; | ||
8948 | }; | ||
8949 | } | ||
8950 | |||
8951 | { | ||
8952 | name = "preserve-0.2.0.tgz"; | ||
8953 | path = fetchurl { | ||
8954 | name = "preserve-0.2.0.tgz"; | ||
8955 | url = "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz"; | ||
8956 | sha1 = "815ed1f6ebc65926f865b310c0713bcb3315ce4b"; | ||
8957 | }; | ||
8958 | } | ||
8959 | |||
8960 | { | ||
8961 | name = "pretty-format-23.6.0.tgz"; | ||
8962 | path = fetchurl { | ||
8963 | name = "pretty-format-23.6.0.tgz"; | ||
8964 | url = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.6.0.tgz"; | ||
8965 | sha1 = "5eaac8eeb6b33b987b7fe6097ea6a8a146ab5760"; | ||
8966 | }; | ||
8967 | } | ||
8968 | |||
8969 | { | ||
8970 | name = "private-0.1.8.tgz"; | ||
8971 | path = fetchurl { | ||
8972 | name = "private-0.1.8.tgz"; | ||
8973 | url = "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz"; | ||
8974 | sha1 = "2381edb3689f7a53d653190060fcf822d2f368ff"; | ||
8975 | }; | ||
8976 | } | ||
8977 | |||
8978 | { | ||
8979 | name = "process-nextick-args-2.0.0.tgz"; | ||
8980 | path = fetchurl { | ||
8981 | name = "process-nextick-args-2.0.0.tgz"; | ||
8982 | url = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz"; | ||
8983 | sha1 = "a37d732f4271b4ab1ad070d35508e8290788ffaa"; | ||
8984 | }; | ||
8985 | } | ||
8986 | |||
8987 | { | ||
8988 | name = "process-0.11.10.tgz"; | ||
8989 | path = fetchurl { | ||
8990 | name = "process-0.11.10.tgz"; | ||
8991 | url = "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz"; | ||
8992 | sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182"; | ||
8993 | }; | ||
8994 | } | ||
8995 | |||
8996 | { | ||
8997 | name = "progress-2.0.0.tgz"; | ||
8998 | path = fetchurl { | ||
8999 | name = "progress-2.0.0.tgz"; | ||
9000 | url = "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz"; | ||
9001 | sha1 = "8a1be366bf8fc23db2bd23f10c6fe920b4389d1f"; | ||
9002 | }; | ||
9003 | } | ||
9004 | |||
9005 | { | ||
9006 | name = "promise-each-2.2.0.tgz"; | ||
9007 | path = fetchurl { | ||
9008 | name = "promise-each-2.2.0.tgz"; | ||
9009 | url = "https://registry.yarnpkg.com/promise-each/-/promise-each-2.2.0.tgz"; | ||
9010 | sha1 = "3353174eff2694481037e04e01f77aa0fb6d1b60"; | ||
9011 | }; | ||
9012 | } | ||
9013 | |||
9014 | { | ||
9015 | name = "promise-inflight-1.0.1.tgz"; | ||
9016 | path = fetchurl { | ||
9017 | name = "promise-inflight-1.0.1.tgz"; | ||
9018 | url = "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz"; | ||
9019 | sha1 = "98472870bf228132fcbdd868129bad12c3c029e3"; | ||
9020 | }; | ||
9021 | } | ||
9022 | |||
9023 | { | ||
9024 | name = "promise-7.3.1.tgz"; | ||
9025 | path = fetchurl { | ||
9026 | name = "promise-7.3.1.tgz"; | ||
9027 | url = "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz"; | ||
9028 | sha1 = "064b72602b18f90f29192b8b1bc418ffd1ebd3bf"; | ||
9029 | }; | ||
9030 | } | ||
9031 | |||
9032 | { | ||
9033 | name = "prompts-0.1.14.tgz"; | ||
9034 | path = fetchurl { | ||
9035 | name = "prompts-0.1.14.tgz"; | ||
9036 | url = "https://registry.yarnpkg.com/prompts/-/prompts-0.1.14.tgz"; | ||
9037 | sha1 = "a8e15c612c5c9ec8f8111847df3337c9cbd443b2"; | ||
9038 | }; | ||
9039 | } | ||
9040 | |||
9041 | { | ||
9042 | name = "prop-types-extra-1.1.0.tgz"; | ||
9043 | path = fetchurl { | ||
9044 | name = "prop-types-extra-1.1.0.tgz"; | ||
9045 | url = "https://registry.yarnpkg.com/prop-types-extra/-/prop-types-extra-1.1.0.tgz"; | ||
9046 | sha1 = "32609910ea2dcf190366bacd3490d5a6412a605f"; | ||
9047 | }; | ||
9048 | } | ||
9049 | |||
9050 | { | ||
9051 | name = "prop-types-15.6.2.tgz"; | ||
9052 | path = fetchurl { | ||
9053 | name = "prop-types-15.6.2.tgz"; | ||
9054 | url = "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz"; | ||
9055 | sha1 = "05d5ca77b4453e985d60fc7ff8c859094a497102"; | ||
9056 | }; | ||
9057 | } | ||
9058 | |||
9059 | { | ||
9060 | name = "proxy-addr-2.0.4.tgz"; | ||
9061 | path = fetchurl { | ||
9062 | name = "proxy-addr-2.0.4.tgz"; | ||
9063 | url = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz"; | ||
9064 | sha1 = "ecfc733bf22ff8c6f407fa275327b9ab67e48b93"; | ||
9065 | }; | ||
9066 | } | ||
9067 | |||
9068 | { | ||
9069 | name = "prr-1.0.1.tgz"; | ||
9070 | path = fetchurl { | ||
9071 | name = "prr-1.0.1.tgz"; | ||
9072 | url = "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz"; | ||
9073 | sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476"; | ||
9074 | }; | ||
9075 | } | ||
9076 | |||
9077 | { | ||
9078 | name = "pseudomap-1.0.2.tgz"; | ||
9079 | path = fetchurl { | ||
9080 | name = "pseudomap-1.0.2.tgz"; | ||
9081 | url = "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz"; | ||
9082 | sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3"; | ||
9083 | }; | ||
9084 | } | ||
9085 | |||
9086 | { | ||
9087 | name = "psl-1.1.29.tgz"; | ||
9088 | path = fetchurl { | ||
9089 | name = "psl-1.1.29.tgz"; | ||
9090 | url = "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz"; | ||
9091 | sha1 = "60f580d360170bb722a797cc704411e6da850c67"; | ||
9092 | }; | ||
9093 | } | ||
9094 | |||
9095 | { | ||
9096 | name = "public-encrypt-4.0.2.tgz"; | ||
9097 | path = fetchurl { | ||
9098 | name = "public-encrypt-4.0.2.tgz"; | ||
9099 | url = "http://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz"; | ||
9100 | sha1 = "46eb9107206bf73489f8b85b69d91334c6610994"; | ||
9101 | }; | ||
9102 | } | ||
9103 | |||
9104 | { | ||
9105 | name = "pump-2.0.1.tgz"; | ||
9106 | path = fetchurl { | ||
9107 | name = "pump-2.0.1.tgz"; | ||
9108 | url = "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz"; | ||
9109 | sha1 = "12399add6e4cf7526d973cbc8b5ce2e2908b3909"; | ||
9110 | }; | ||
9111 | } | ||
9112 | |||
9113 | { | ||
9114 | name = "pump-3.0.0.tgz"; | ||
9115 | path = fetchurl { | ||
9116 | name = "pump-3.0.0.tgz"; | ||
9117 | url = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz"; | ||
9118 | sha1 = "b4a2116815bde2f4e1ea602354e8c75565107a64"; | ||
9119 | }; | ||
9120 | } | ||
9121 | |||
9122 | { | ||
9123 | name = "pumpify-1.5.1.tgz"; | ||
9124 | path = fetchurl { | ||
9125 | name = "pumpify-1.5.1.tgz"; | ||
9126 | url = "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz"; | ||
9127 | sha1 = "36513be246ab27570b1a374a5ce278bfd74370ce"; | ||
9128 | }; | ||
9129 | } | ||
9130 | |||
9131 | { | ||
9132 | name = "punycode-1.3.2.tgz"; | ||
9133 | path = fetchurl { | ||
9134 | name = "punycode-1.3.2.tgz"; | ||
9135 | url = "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz"; | ||
9136 | sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d"; | ||
9137 | }; | ||
9138 | } | ||
9139 | |||
9140 | { | ||
9141 | name = "punycode-1.4.1.tgz"; | ||
9142 | path = fetchurl { | ||
9143 | name = "punycode-1.4.1.tgz"; | ||
9144 | url = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz"; | ||
9145 | sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"; | ||
9146 | }; | ||
9147 | } | ||
9148 | |||
9149 | { | ||
9150 | name = "punycode-2.1.1.tgz"; | ||
9151 | path = fetchurl { | ||
9152 | name = "punycode-2.1.1.tgz"; | ||
9153 | url = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz"; | ||
9154 | sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec"; | ||
9155 | }; | ||
9156 | } | ||
9157 | |||
9158 | { | ||
9159 | name = "qs-6.5.1.tgz"; | ||
9160 | path = fetchurl { | ||
9161 | name = "qs-6.5.1.tgz"; | ||
9162 | url = "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz"; | ||
9163 | sha1 = "349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8"; | ||
9164 | }; | ||
9165 | } | ||
9166 | |||
9167 | { | ||
9168 | name = "qs-6.4.0.tgz"; | ||
9169 | path = fetchurl { | ||
9170 | name = "qs-6.4.0.tgz"; | ||
9171 | url = "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz"; | ||
9172 | sha1 = "13e26d28ad6b0ffaa91312cd3bf708ed351e7233"; | ||
9173 | }; | ||
9174 | } | ||
9175 | |||
9176 | { | ||
9177 | name = "qs-6.5.2.tgz"; | ||
9178 | path = fetchurl { | ||
9179 | name = "qs-6.5.2.tgz"; | ||
9180 | url = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz"; | ||
9181 | sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36"; | ||
9182 | }; | ||
9183 | } | ||
9184 | |||
9185 | { | ||
9186 | name = "querystring-es3-0.2.1.tgz"; | ||
9187 | path = fetchurl { | ||
9188 | name = "querystring-es3-0.2.1.tgz"; | ||
9189 | url = "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz"; | ||
9190 | sha1 = "9ec61f79049875707d69414596fd907a4d711e73"; | ||
9191 | }; | ||
9192 | } | ||
9193 | |||
9194 | { | ||
9195 | name = "querystring-0.2.0.tgz"; | ||
9196 | path = fetchurl { | ||
9197 | name = "querystring-0.2.0.tgz"; | ||
9198 | url = "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz"; | ||
9199 | sha1 = "b209849203bb25df820da756e747005878521620"; | ||
9200 | }; | ||
9201 | } | ||
9202 | |||
9203 | { | ||
9204 | name = "querystringify-2.0.0.tgz"; | ||
9205 | path = fetchurl { | ||
9206 | name = "querystringify-2.0.0.tgz"; | ||
9207 | url = "https://registry.yarnpkg.com/querystringify/-/querystringify-2.0.0.tgz"; | ||
9208 | sha1 = "fa3ed6e68eb15159457c89b37bc6472833195755"; | ||
9209 | }; | ||
9210 | } | ||
9211 | |||
9212 | { | ||
9213 | name = "quote-0.4.0.tgz"; | ||
9214 | path = fetchurl { | ||
9215 | name = "quote-0.4.0.tgz"; | ||
9216 | url = "https://registry.yarnpkg.com/quote/-/quote-0.4.0.tgz"; | ||
9217 | sha1 = "10839217f6c1362b89194044d29b233fd7f32f01"; | ||
9218 | }; | ||
9219 | } | ||
9220 | |||
9221 | { | ||
9222 | name = "raf-3.4.0.tgz"; | ||
9223 | path = fetchurl { | ||
9224 | name = "raf-3.4.0.tgz"; | ||
9225 | url = "https://registry.yarnpkg.com/raf/-/raf-3.4.0.tgz"; | ||
9226 | sha1 = "a28876881b4bc2ca9117d4138163ddb80f781575"; | ||
9227 | }; | ||
9228 | } | ||
9229 | |||
9230 | { | ||
9231 | name = "railroad-diagrams-1.0.0.tgz"; | ||
9232 | path = fetchurl { | ||
9233 | name = "railroad-diagrams-1.0.0.tgz"; | ||
9234 | url = "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz"; | ||
9235 | sha1 = "eb7e6267548ddedfb899c1b90e57374559cddb7e"; | ||
9236 | }; | ||
9237 | } | ||
9238 | |||
9239 | { | ||
9240 | name = "rails-ujs-5.2.1.tgz"; | ||
9241 | path = fetchurl { | ||
9242 | name = "rails-ujs-5.2.1.tgz"; | ||
9243 | url = "https://registry.yarnpkg.com/rails-ujs/-/rails-ujs-5.2.1.tgz"; | ||
9244 | sha1 = "2869c6d54fdfefac3aaa257f4efe211d8f5a7169"; | ||
9245 | }; | ||
9246 | } | ||
9247 | |||
9248 | { | ||
9249 | name = "randexp-0.4.6.tgz"; | ||
9250 | path = fetchurl { | ||
9251 | name = "randexp-0.4.6.tgz"; | ||
9252 | url = "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz"; | ||
9253 | sha1 = "e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3"; | ||
9254 | }; | ||
9255 | } | ||
9256 | |||
9257 | { | ||
9258 | name = "randomatic-3.1.0.tgz"; | ||
9259 | path = fetchurl { | ||
9260 | name = "randomatic-3.1.0.tgz"; | ||
9261 | url = "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.0.tgz"; | ||
9262 | sha1 = "36f2ca708e9e567f5ed2ec01949026d50aa10116"; | ||
9263 | }; | ||
9264 | } | ||
9265 | |||
9266 | { | ||
9267 | name = "randombytes-2.0.6.tgz"; | ||
9268 | path = fetchurl { | ||
9269 | name = "randombytes-2.0.6.tgz"; | ||
9270 | url = "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz"; | ||
9271 | sha1 = "d302c522948588848a8d300c932b44c24231da80"; | ||
9272 | }; | ||
9273 | } | ||
9274 | |||
9275 | { | ||
9276 | name = "randomfill-1.0.4.tgz"; | ||
9277 | path = fetchurl { | ||
9278 | name = "randomfill-1.0.4.tgz"; | ||
9279 | url = "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz"; | ||
9280 | sha1 = "c92196fc86ab42be983f1bf31778224931d61458"; | ||
9281 | }; | ||
9282 | } | ||
9283 | |||
9284 | { | ||
9285 | name = "range-parser-1.2.0.tgz"; | ||
9286 | path = fetchurl { | ||
9287 | name = "range-parser-1.2.0.tgz"; | ||
9288 | url = "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz"; | ||
9289 | sha1 = "f49be6b487894ddc40dcc94a322f611092e00d5e"; | ||
9290 | }; | ||
9291 | } | ||
9292 | |||
9293 | { | ||
9294 | name = "raw-body-2.3.2.tgz"; | ||
9295 | path = fetchurl { | ||
9296 | name = "raw-body-2.3.2.tgz"; | ||
9297 | url = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz"; | ||
9298 | sha1 = "bcd60c77d3eb93cde0050295c3f379389bc88f89"; | ||
9299 | }; | ||
9300 | } | ||
9301 | |||
9302 | { | ||
9303 | name = "rc-1.2.8.tgz"; | ||
9304 | path = fetchurl { | ||
9305 | name = "rc-1.2.8.tgz"; | ||
9306 | url = "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz"; | ||
9307 | sha1 = "cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"; | ||
9308 | }; | ||
9309 | } | ||
9310 | |||
9311 | { | ||
9312 | name = "react-dom-16.5.0.tgz"; | ||
9313 | path = fetchurl { | ||
9314 | name = "react-dom-16.5.0.tgz"; | ||
9315 | url = "https://registry.yarnpkg.com/react-dom/-/react-dom-16.5.0.tgz"; | ||
9316 | sha1 = "57704e5718669374b182a17ea79a6d24922cb27d"; | ||
9317 | }; | ||
9318 | } | ||
9319 | |||
9320 | { | ||
9321 | name = "react-event-listener-0.6.3.tgz"; | ||
9322 | path = fetchurl { | ||
9323 | name = "react-event-listener-0.6.3.tgz"; | ||
9324 | url = "https://registry.yarnpkg.com/react-event-listener/-/react-event-listener-0.6.3.tgz"; | ||
9325 | sha1 = "8eab88129a76e095ed8aa684c29679eded1e843d"; | ||
9326 | }; | ||
9327 | } | ||
9328 | |||
9329 | { | ||
9330 | name = "react-hotkeys-0.10.0.tgz"; | ||
9331 | path = fetchurl { | ||
9332 | name = "react-hotkeys-0.10.0.tgz"; | ||
9333 | url = "https://registry.yarnpkg.com/react-hotkeys/-/react-hotkeys-0.10.0.tgz"; | ||
9334 | sha1 = "d1e78bd63f16d6db58d550d33c8eb071f35d94fb"; | ||
9335 | }; | ||
9336 | } | ||
9337 | |||
9338 | { | ||
9339 | name = "react-immutable-proptypes-2.1.0.tgz"; | ||
9340 | path = fetchurl { | ||
9341 | name = "react-immutable-proptypes-2.1.0.tgz"; | ||
9342 | url = "https://registry.yarnpkg.com/react-immutable-proptypes/-/react-immutable-proptypes-2.1.0.tgz"; | ||
9343 | sha1 = "023d6f39bb15c97c071e9e60d00d136eac5fa0b4"; | ||
9344 | }; | ||
9345 | } | ||
9346 | |||
9347 | { | ||
9348 | name = "react-immutable-pure-component-1.2.3.tgz"; | ||
9349 | path = fetchurl { | ||
9350 | name = "react-immutable-pure-component-1.2.3.tgz"; | ||
9351 | url = "https://registry.yarnpkg.com/react-immutable-pure-component/-/react-immutable-pure-component-1.2.3.tgz"; | ||
9352 | sha1 = "fa33638df68cfe9f73ccbee1d5861c17f3053f86"; | ||
9353 | }; | ||
9354 | } | ||
9355 | |||
9356 | { | ||
9357 | name = "react-intl-translations-manager-5.0.3.tgz"; | ||
9358 | path = fetchurl { | ||
9359 | name = "react-intl-translations-manager-5.0.3.tgz"; | ||
9360 | url = "https://registry.yarnpkg.com/react-intl-translations-manager/-/react-intl-translations-manager-5.0.3.tgz"; | ||
9361 | sha1 = "aee010ecf35975673e033ca5d7d3f4147894324d"; | ||
9362 | }; | ||
9363 | } | ||
9364 | |||
9365 | { | ||
9366 | name = "react-intl-2.4.0.tgz"; | ||
9367 | path = fetchurl { | ||
9368 | name = "react-intl-2.4.0.tgz"; | ||
9369 | url = "https://registry.yarnpkg.com/react-intl/-/react-intl-2.4.0.tgz"; | ||
9370 | sha1 = "66c14dc9df9a73b2fbbfbd6021726e80a613eb15"; | ||
9371 | }; | ||
9372 | } | ||
9373 | |||
9374 | { | ||
9375 | name = "react-is-16.5.0.tgz"; | ||
9376 | path = fetchurl { | ||
9377 | name = "react-is-16.5.0.tgz"; | ||
9378 | url = "https://registry.yarnpkg.com/react-is/-/react-is-16.5.0.tgz"; | ||
9379 | sha1 = "2ec7c192709698591efe13722fab3ef56144ba55"; | ||
9380 | }; | ||
9381 | } | ||
9382 | |||
9383 | { | ||
9384 | name = "react-lifecycles-compat-3.0.4.tgz"; | ||
9385 | path = fetchurl { | ||
9386 | name = "react-lifecycles-compat-3.0.4.tgz"; | ||
9387 | url = "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz"; | ||
9388 | sha1 = "4f1a273afdfc8f3488a8c516bfda78f872352362"; | ||
9389 | }; | ||
9390 | } | ||
9391 | |||
9392 | { | ||
9393 | name = "react-motion-0.5.2.tgz"; | ||
9394 | path = fetchurl { | ||
9395 | name = "react-motion-0.5.2.tgz"; | ||
9396 | url = "https://registry.yarnpkg.com/react-motion/-/react-motion-0.5.2.tgz"; | ||
9397 | sha1 = "0dd3a69e411316567927917c6626551ba0607316"; | ||
9398 | }; | ||
9399 | } | ||
9400 | |||
9401 | { | ||
9402 | name = "react-notification-6.8.4.tgz"; | ||
9403 | path = fetchurl { | ||
9404 | name = "react-notification-6.8.4.tgz"; | ||
9405 | url = "https://registry.yarnpkg.com/react-notification/-/react-notification-6.8.4.tgz"; | ||
9406 | sha1 = "c189d23f47b0e1b240932f4cfab2f4082cd420bf"; | ||
9407 | }; | ||
9408 | } | ||
9409 | |||
9410 | { | ||
9411 | name = "react-overlays-0.8.3.tgz"; | ||
9412 | path = fetchurl { | ||
9413 | name = "react-overlays-0.8.3.tgz"; | ||
9414 | url = "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.8.3.tgz"; | ||
9415 | sha1 = "fad65eea5b24301cca192a169f5dddb0b20d3ac5"; | ||
9416 | }; | ||
9417 | } | ||
9418 | |||
9419 | { | ||
9420 | name = "react-redux-loading-bar-2.9.3.tgz"; | ||
9421 | path = fetchurl { | ||
9422 | name = "react-redux-loading-bar-2.9.3.tgz"; | ||
9423 | url = "https://registry.yarnpkg.com/react-redux-loading-bar/-/react-redux-loading-bar-2.9.3.tgz"; | ||
9424 | sha1 = "65865dddcbf597169e787edec15eec7ebfb84149"; | ||
9425 | }; | ||
9426 | } | ||
9427 | |||
9428 | { | ||
9429 | name = "react-redux-5.0.7.tgz"; | ||
9430 | path = fetchurl { | ||
9431 | name = "react-redux-5.0.7.tgz"; | ||
9432 | url = "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.7.tgz"; | ||
9433 | sha1 = "0dc1076d9afb4670f993ffaef44b8f8c1155a4c8"; | ||
9434 | }; | ||
9435 | } | ||
9436 | |||
9437 | { | ||
9438 | name = "react-router-dom-4.3.1.tgz"; | ||
9439 | path = fetchurl { | ||
9440 | name = "react-router-dom-4.3.1.tgz"; | ||
9441 | url = "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz"; | ||
9442 | sha1 = "4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6"; | ||
9443 | }; | ||
9444 | } | ||
9445 | |||
9446 | { | ||
9447 | name = "react-router-scroll-4-1.0.0-beta.2.tgz"; | ||
9448 | path = fetchurl { | ||
9449 | name = "react-router-scroll-4-1.0.0-beta.2.tgz"; | ||
9450 | url = "https://registry.yarnpkg.com/react-router-scroll-4/-/react-router-scroll-4-1.0.0-beta.2.tgz"; | ||
9451 | sha1 = "d887063ec0f66124aaf450158dd158ff7d3dc279"; | ||
9452 | }; | ||
9453 | } | ||
9454 | |||
9455 | { | ||
9456 | name = "react-router-4.3.1.tgz"; | ||
9457 | path = fetchurl { | ||
9458 | name = "react-router-4.3.1.tgz"; | ||
9459 | url = "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz"; | ||
9460 | sha1 = "aada4aef14c809cb2e686b05cee4742234506c4e"; | ||
9461 | }; | ||
9462 | } | ||
9463 | |||
9464 | { | ||
9465 | name = "react-sparklines-1.7.0.tgz"; | ||
9466 | path = fetchurl { | ||
9467 | name = "react-sparklines-1.7.0.tgz"; | ||
9468 | url = "https://registry.yarnpkg.com/react-sparklines/-/react-sparklines-1.7.0.tgz"; | ||
9469 | sha1 = "9b1d97e8c8610095eeb2ad658d2e1fcf91f91a60"; | ||
9470 | }; | ||
9471 | } | ||
9472 | |||
9473 | { | ||
9474 | name = "react-swipeable-views-core-0.12.17.tgz"; | ||
9475 | path = fetchurl { | ||
9476 | name = "react-swipeable-views-core-0.12.17.tgz"; | ||
9477 | url = "https://registry.yarnpkg.com/react-swipeable-views-core/-/react-swipeable-views-core-0.12.17.tgz"; | ||
9478 | sha1 = "0998f55fd2f8595bcd01bead1c19516dc561c1cf"; | ||
9479 | }; | ||
9480 | } | ||
9481 | |||
9482 | { | ||
9483 | name = "react-swipeable-views-utils-0.12.17.tgz"; | ||
9484 | path = fetchurl { | ||
9485 | name = "react-swipeable-views-utils-0.12.17.tgz"; | ||
9486 | url = "https://registry.yarnpkg.com/react-swipeable-views-utils/-/react-swipeable-views-utils-0.12.17.tgz"; | ||
9487 | sha1 = "5219faa766b683d907288cdd7b86c0a14b577b7f"; | ||
9488 | }; | ||
9489 | } | ||
9490 | |||
9491 | { | ||
9492 | name = "react-swipeable-views-0.12.17.tgz"; | ||
9493 | path = fetchurl { | ||
9494 | name = "react-swipeable-views-0.12.17.tgz"; | ||
9495 | url = "https://registry.yarnpkg.com/react-swipeable-views/-/react-swipeable-views-0.12.17.tgz"; | ||
9496 | sha1 = "4d6a9bf4b667ce7b7aac3112d696598b94a1cf30"; | ||
9497 | }; | ||
9498 | } | ||
9499 | |||
9500 | { | ||
9501 | name = "react-test-renderer-16.5.0.tgz"; | ||
9502 | path = fetchurl { | ||
9503 | name = "react-test-renderer-16.5.0.tgz"; | ||
9504 | url = "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.5.0.tgz"; | ||
9505 | sha1 = "1aeca0edc4f27f63265dcaed80ba82e11e762f56"; | ||
9506 | }; | ||
9507 | } | ||
9508 | |||
9509 | { | ||
9510 | name = "react-textarea-autosize-5.2.1.tgz"; | ||
9511 | path = fetchurl { | ||
9512 | name = "react-textarea-autosize-5.2.1.tgz"; | ||
9513 | url = "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-5.2.1.tgz"; | ||
9514 | sha1 = "2b78f9067180f41b08ac59f78f1581abadd61e54"; | ||
9515 | }; | ||
9516 | } | ||
9517 | |||
9518 | { | ||
9519 | name = "react-toggle-4.0.2.tgz"; | ||
9520 | path = fetchurl { | ||
9521 | name = "react-toggle-4.0.2.tgz"; | ||
9522 | url = "https://registry.yarnpkg.com/react-toggle/-/react-toggle-4.0.2.tgz"; | ||
9523 | sha1 = "77f487860efb87fafd197672a2db8c885be1440f"; | ||
9524 | }; | ||
9525 | } | ||
9526 | |||
9527 | { | ||
9528 | name = "react-transition-group-2.4.0.tgz"; | ||
9529 | path = fetchurl { | ||
9530 | name = "react-transition-group-2.4.0.tgz"; | ||
9531 | url = "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.4.0.tgz"; | ||
9532 | sha1 = "1d9391fabfd82e016f26fabd1eec329dbd922b5a"; | ||
9533 | }; | ||
9534 | } | ||
9535 | |||
9536 | { | ||
9537 | name = "react-16.5.0.tgz"; | ||
9538 | path = fetchurl { | ||
9539 | name = "react-16.5.0.tgz"; | ||
9540 | url = "https://registry.yarnpkg.com/react/-/react-16.5.0.tgz"; | ||
9541 | sha1 = "f2c1e754bf9751a549d9c6d9aca41905beb56575"; | ||
9542 | }; | ||
9543 | } | ||
9544 | |||
9545 | { | ||
9546 | name = "read-cache-1.0.0.tgz"; | ||
9547 | path = fetchurl { | ||
9548 | name = "read-cache-1.0.0.tgz"; | ||
9549 | url = "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz"; | ||
9550 | sha1 = "e664ef31161166c9751cdbe8dbcf86b5fb58f774"; | ||
9551 | }; | ||
9552 | } | ||
9553 | |||
9554 | { | ||
9555 | name = "read-pkg-up-1.0.1.tgz"; | ||
9556 | path = fetchurl { | ||
9557 | name = "read-pkg-up-1.0.1.tgz"; | ||
9558 | url = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz"; | ||
9559 | sha1 = "9d63c13276c065918d57f002a57f40a1b643fb02"; | ||
9560 | }; | ||
9561 | } | ||
9562 | |||
9563 | { | ||
9564 | name = "read-pkg-up-2.0.0.tgz"; | ||
9565 | path = fetchurl { | ||
9566 | name = "read-pkg-up-2.0.0.tgz"; | ||
9567 | url = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz"; | ||
9568 | sha1 = "6b72a8048984e0c41e79510fd5e9fa99b3b549be"; | ||
9569 | }; | ||
9570 | } | ||
9571 | |||
9572 | { | ||
9573 | name = "read-pkg-1.1.0.tgz"; | ||
9574 | path = fetchurl { | ||
9575 | name = "read-pkg-1.1.0.tgz"; | ||
9576 | url = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz"; | ||
9577 | sha1 = "f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"; | ||
9578 | }; | ||
9579 | } | ||
9580 | |||
9581 | { | ||
9582 | name = "read-pkg-2.0.0.tgz"; | ||
9583 | path = fetchurl { | ||
9584 | name = "read-pkg-2.0.0.tgz"; | ||
9585 | url = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz"; | ||
9586 | sha1 = "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"; | ||
9587 | }; | ||
9588 | } | ||
9589 | |||
9590 | { | ||
9591 | name = "readable-stream-2.3.6.tgz"; | ||
9592 | path = fetchurl { | ||
9593 | name = "readable-stream-2.3.6.tgz"; | ||
9594 | url = "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz"; | ||
9595 | sha1 = "b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"; | ||
9596 | }; | ||
9597 | } | ||
9598 | |||
9599 | { | ||
9600 | name = "readdirp-2.1.0.tgz"; | ||
9601 | path = fetchurl { | ||
9602 | name = "readdirp-2.1.0.tgz"; | ||
9603 | url = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz"; | ||
9604 | sha1 = "4ed0ad060df3073300c48440373f72d1cc642d78"; | ||
9605 | }; | ||
9606 | } | ||
9607 | |||
9608 | { | ||
9609 | name = "realpath-native-1.0.2.tgz"; | ||
9610 | path = fetchurl { | ||
9611 | name = "realpath-native-1.0.2.tgz"; | ||
9612 | url = "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.2.tgz"; | ||
9613 | sha1 = "cd51ce089b513b45cf9b1516c82989b51ccc6560"; | ||
9614 | }; | ||
9615 | } | ||
9616 | |||
9617 | { | ||
9618 | name = "redent-1.0.0.tgz"; | ||
9619 | path = fetchurl { | ||
9620 | name = "redent-1.0.0.tgz"; | ||
9621 | url = "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz"; | ||
9622 | sha1 = "cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"; | ||
9623 | }; | ||
9624 | } | ||
9625 | |||
9626 | { | ||
9627 | name = "redis-commands-1.3.5.tgz"; | ||
9628 | path = fetchurl { | ||
9629 | name = "redis-commands-1.3.5.tgz"; | ||
9630 | url = "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.3.5.tgz"; | ||
9631 | sha1 = "4495889414f1e886261180b1442e7295602d83a2"; | ||
9632 | }; | ||
9633 | } | ||
9634 | |||
9635 | { | ||
9636 | name = "redis-parser-2.6.0.tgz"; | ||
9637 | path = fetchurl { | ||
9638 | name = "redis-parser-2.6.0.tgz"; | ||
9639 | url = "https://registry.yarnpkg.com/redis-parser/-/redis-parser-2.6.0.tgz"; | ||
9640 | sha1 = "52ed09dacac108f1a631c07e9b69941e7a19504b"; | ||
9641 | }; | ||
9642 | } | ||
9643 | |||
9644 | { | ||
9645 | name = "redis-2.8.0.tgz"; | ||
9646 | path = fetchurl { | ||
9647 | name = "redis-2.8.0.tgz"; | ||
9648 | url = "https://registry.yarnpkg.com/redis/-/redis-2.8.0.tgz"; | ||
9649 | sha1 = "202288e3f58c49f6079d97af7a10e1303ae14b02"; | ||
9650 | }; | ||
9651 | } | ||
9652 | |||
9653 | { | ||
9654 | name = "redux-immutable-4.0.0.tgz"; | ||
9655 | path = fetchurl { | ||
9656 | name = "redux-immutable-4.0.0.tgz"; | ||
9657 | url = "https://registry.yarnpkg.com/redux-immutable/-/redux-immutable-4.0.0.tgz"; | ||
9658 | sha1 = "3a1a32df66366462b63691f0e1dc35e472bbc9f3"; | ||
9659 | }; | ||
9660 | } | ||
9661 | |||
9662 | { | ||
9663 | name = "redux-thunk-2.3.0.tgz"; | ||
9664 | path = fetchurl { | ||
9665 | name = "redux-thunk-2.3.0.tgz"; | ||
9666 | url = "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz"; | ||
9667 | sha1 = "51c2c19a185ed5187aaa9a2d08b666d0d6467622"; | ||
9668 | }; | ||
9669 | } | ||
9670 | |||
9671 | { | ||
9672 | name = "redux-3.7.2.tgz"; | ||
9673 | path = fetchurl { | ||
9674 | name = "redux-3.7.2.tgz"; | ||
9675 | url = "https://registry.yarnpkg.com/redux/-/redux-3.7.2.tgz"; | ||
9676 | sha1 = "06b73123215901d25d065be342eb026bc1c8537b"; | ||
9677 | }; | ||
9678 | } | ||
9679 | |||
9680 | { | ||
9681 | name = "regenerate-unicode-properties-7.0.0.tgz"; | ||
9682 | path = fetchurl { | ||
9683 | name = "regenerate-unicode-properties-7.0.0.tgz"; | ||
9684 | url = "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz"; | ||
9685 | sha1 = "107405afcc4a190ec5ed450ecaa00ed0cafa7a4c"; | ||
9686 | }; | ||
9687 | } | ||
9688 | |||
9689 | { | ||
9690 | name = "regenerate-1.4.0.tgz"; | ||
9691 | path = fetchurl { | ||
9692 | name = "regenerate-1.4.0.tgz"; | ||
9693 | url = "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz"; | ||
9694 | sha1 = "4a856ec4b56e4077c557589cae85e7a4c8869a11"; | ||
9695 | }; | ||
9696 | } | ||
9697 | |||
9698 | { | ||
9699 | name = "regenerator-runtime-0.11.1.tgz"; | ||
9700 | path = fetchurl { | ||
9701 | name = "regenerator-runtime-0.11.1.tgz"; | ||
9702 | url = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz"; | ||
9703 | sha1 = "be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"; | ||
9704 | }; | ||
9705 | } | ||
9706 | |||
9707 | { | ||
9708 | name = "regenerator-runtime-0.12.1.tgz"; | ||
9709 | path = fetchurl { | ||
9710 | name = "regenerator-runtime-0.12.1.tgz"; | ||
9711 | url = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz"; | ||
9712 | sha1 = "fa1a71544764c036f8c49b13a08b2594c9f8a0de"; | ||
9713 | }; | ||
9714 | } | ||
9715 | |||
9716 | { | ||
9717 | name = "regenerator-transform-0.13.3.tgz"; | ||
9718 | path = fetchurl { | ||
9719 | name = "regenerator-transform-0.13.3.tgz"; | ||
9720 | url = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz"; | ||
9721 | sha1 = "264bd9ff38a8ce24b06e0636496b2c856b57bcbb"; | ||
9722 | }; | ||
9723 | } | ||
9724 | |||
9725 | { | ||
9726 | name = "regex-cache-0.4.4.tgz"; | ||
9727 | path = fetchurl { | ||
9728 | name = "regex-cache-0.4.4.tgz"; | ||
9729 | url = "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz"; | ||
9730 | sha1 = "75bdc58a2a1496cec48a12835bc54c8d562336dd"; | ||
9731 | }; | ||
9732 | } | ||
9733 | |||
9734 | { | ||
9735 | name = "regex-not-1.0.2.tgz"; | ||
9736 | path = fetchurl { | ||
9737 | name = "regex-not-1.0.2.tgz"; | ||
9738 | url = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz"; | ||
9739 | sha1 = "1f4ece27e00b0b65e0247a6810e6a85d83a5752c"; | ||
9740 | }; | ||
9741 | } | ||
9742 | |||
9743 | { | ||
9744 | name = "regexpp-1.1.0.tgz"; | ||
9745 | path = fetchurl { | ||
9746 | name = "regexpp-1.1.0.tgz"; | ||
9747 | url = "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz"; | ||
9748 | sha1 = "0e3516dd0b7904f413d2d4193dce4618c3a689ab"; | ||
9749 | }; | ||
9750 | } | ||
9751 | |||
9752 | { | ||
9753 | name = "regexpu-core-1.0.0.tgz"; | ||
9754 | path = fetchurl { | ||
9755 | name = "regexpu-core-1.0.0.tgz"; | ||
9756 | url = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz"; | ||
9757 | sha1 = "86a763f58ee4d7c2f6b102e4764050de7ed90c6b"; | ||
9758 | }; | ||
9759 | } | ||
9760 | |||
9761 | { | ||
9762 | name = "regexpu-core-4.2.0.tgz"; | ||
9763 | path = fetchurl { | ||
9764 | name = "regexpu-core-4.2.0.tgz"; | ||
9765 | url = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.2.0.tgz"; | ||
9766 | sha1 = "a3744fa03806cffe146dea4421a3e73bdcc47b1d"; | ||
9767 | }; | ||
9768 | } | ||
9769 | |||
9770 | { | ||
9771 | name = "regjsgen-0.2.0.tgz"; | ||
9772 | path = fetchurl { | ||
9773 | name = "regjsgen-0.2.0.tgz"; | ||
9774 | url = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz"; | ||
9775 | sha1 = "6c016adeac554f75823fe37ac05b92d5a4edb1f7"; | ||
9776 | }; | ||
9777 | } | ||
9778 | |||
9779 | { | ||
9780 | name = "regjsgen-0.4.0.tgz"; | ||
9781 | path = fetchurl { | ||
9782 | name = "regjsgen-0.4.0.tgz"; | ||
9783 | url = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.4.0.tgz"; | ||
9784 | sha1 = "c1eb4c89a209263f8717c782591523913ede2561"; | ||
9785 | }; | ||
9786 | } | ||
9787 | |||
9788 | { | ||
9789 | name = "regjsparser-0.1.5.tgz"; | ||
9790 | path = fetchurl { | ||
9791 | name = "regjsparser-0.1.5.tgz"; | ||
9792 | url = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz"; | ||
9793 | sha1 = "7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"; | ||
9794 | }; | ||
9795 | } | ||
9796 | |||
9797 | { | ||
9798 | name = "regjsparser-0.3.0.tgz"; | ||
9799 | path = fetchurl { | ||
9800 | name = "regjsparser-0.3.0.tgz"; | ||
9801 | url = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.3.0.tgz"; | ||
9802 | sha1 = "3c326da7fcfd69fa0d332575a41c8c0cdf588c96"; | ||
9803 | }; | ||
9804 | } | ||
9805 | |||
9806 | { | ||
9807 | name = "rellax-1.6.2.tgz"; | ||
9808 | path = fetchurl { | ||
9809 | name = "rellax-1.6.2.tgz"; | ||
9810 | url = "https://registry.yarnpkg.com/rellax/-/rellax-1.6.2.tgz"; | ||
9811 | sha1 = "b22c8715f56324fa8b396465d3dca9953b711f30"; | ||
9812 | }; | ||
9813 | } | ||
9814 | |||
9815 | { | ||
9816 | name = "remove-trailing-separator-1.1.0.tgz"; | ||
9817 | path = fetchurl { | ||
9818 | name = "remove-trailing-separator-1.1.0.tgz"; | ||
9819 | url = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz"; | ||
9820 | sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef"; | ||
9821 | }; | ||
9822 | } | ||
9823 | |||
9824 | { | ||
9825 | name = "repeat-element-1.1.3.tgz"; | ||
9826 | path = fetchurl { | ||
9827 | name = "repeat-element-1.1.3.tgz"; | ||
9828 | url = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz"; | ||
9829 | sha1 = "782e0d825c0c5a3bb39731f84efee6b742e6b1ce"; | ||
9830 | }; | ||
9831 | } | ||
9832 | |||
9833 | { | ||
9834 | name = "repeat-string-1.6.1.tgz"; | ||
9835 | path = fetchurl { | ||
9836 | name = "repeat-string-1.6.1.tgz"; | ||
9837 | url = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz"; | ||
9838 | sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637"; | ||
9839 | }; | ||
9840 | } | ||
9841 | |||
9842 | { | ||
9843 | name = "repeating-2.0.1.tgz"; | ||
9844 | path = fetchurl { | ||
9845 | name = "repeating-2.0.1.tgz"; | ||
9846 | url = "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz"; | ||
9847 | sha1 = "5214c53a926d3552707527fbab415dbc08d06dda"; | ||
9848 | }; | ||
9849 | } | ||
9850 | |||
9851 | { | ||
9852 | name = "request-promise-core-1.1.1.tgz"; | ||
9853 | path = fetchurl { | ||
9854 | name = "request-promise-core-1.1.1.tgz"; | ||
9855 | url = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz"; | ||
9856 | sha1 = "3eee00b2c5aa83239cfb04c5700da36f81cd08b6"; | ||
9857 | }; | ||
9858 | } | ||
9859 | |||
9860 | { | ||
9861 | name = "request-promise-native-1.0.5.tgz"; | ||
9862 | path = fetchurl { | ||
9863 | name = "request-promise-native-1.0.5.tgz"; | ||
9864 | url = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz"; | ||
9865 | sha1 = "5281770f68e0c9719e5163fd3fab482215f4fda5"; | ||
9866 | }; | ||
9867 | } | ||
9868 | |||
9869 | { | ||
9870 | name = "request-2.81.0.tgz"; | ||
9871 | path = fetchurl { | ||
9872 | name = "request-2.81.0.tgz"; | ||
9873 | url = "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz"; | ||
9874 | sha1 = "c6928946a0e06c5f8d6f8a9333469ffda46298a0"; | ||
9875 | }; | ||
9876 | } | ||
9877 | |||
9878 | { | ||
9879 | name = "request-2.87.0.tgz"; | ||
9880 | path = fetchurl { | ||
9881 | name = "request-2.87.0.tgz"; | ||
9882 | url = "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz"; | ||
9883 | sha1 = "32f00235cd08d482b4d0d68db93a829c0ed5756e"; | ||
9884 | }; | ||
9885 | } | ||
9886 | |||
9887 | { | ||
9888 | name = "request-2.88.0.tgz"; | ||
9889 | path = fetchurl { | ||
9890 | name = "request-2.88.0.tgz"; | ||
9891 | url = "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz"; | ||
9892 | sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef"; | ||
9893 | }; | ||
9894 | } | ||
9895 | |||
9896 | { | ||
9897 | name = "requestidlecallback-0.3.0.tgz"; | ||
9898 | path = fetchurl { | ||
9899 | name = "requestidlecallback-0.3.0.tgz"; | ||
9900 | url = "http://registry.npmjs.org/requestidlecallback/-/requestidlecallback-0.3.0.tgz"; | ||
9901 | sha1 = "6fb74e0733f90df3faa4838f9f6a2a5f9b742ac5"; | ||
9902 | }; | ||
9903 | } | ||
9904 | |||
9905 | { | ||
9906 | name = "require-directory-2.1.1.tgz"; | ||
9907 | path = fetchurl { | ||
9908 | name = "require-directory-2.1.1.tgz"; | ||
9909 | url = "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz"; | ||
9910 | sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"; | ||
9911 | }; | ||
9912 | } | ||
9913 | |||
9914 | { | ||
9915 | name = "require-from-string-2.0.2.tgz"; | ||
9916 | path = fetchurl { | ||
9917 | name = "require-from-string-2.0.2.tgz"; | ||
9918 | url = "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz"; | ||
9919 | sha1 = "89a7fdd938261267318eafe14f9c32e598c36909"; | ||
9920 | }; | ||
9921 | } | ||
9922 | |||
9923 | { | ||
9924 | name = "require-main-filename-1.0.1.tgz"; | ||
9925 | path = fetchurl { | ||
9926 | name = "require-main-filename-1.0.1.tgz"; | ||
9927 | url = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz"; | ||
9928 | sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1"; | ||
9929 | }; | ||
9930 | } | ||
9931 | |||
9932 | { | ||
9933 | name = "require-package-name-2.0.1.tgz"; | ||
9934 | path = fetchurl { | ||
9935 | name = "require-package-name-2.0.1.tgz"; | ||
9936 | url = "https://registry.yarnpkg.com/require-package-name/-/require-package-name-2.0.1.tgz"; | ||
9937 | sha1 = "c11e97276b65b8e2923f75dabf5fb2ef0c3841b9"; | ||
9938 | }; | ||
9939 | } | ||
9940 | |||
9941 | { | ||
9942 | name = "require-uncached-1.0.3.tgz"; | ||
9943 | path = fetchurl { | ||
9944 | name = "require-uncached-1.0.3.tgz"; | ||
9945 | url = "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz"; | ||
9946 | sha1 = "4e0d56d6c9662fd31e43011c4b95aa49955421d3"; | ||
9947 | }; | ||
9948 | } | ||
9949 | |||
9950 | { | ||
9951 | name = "requires-port-1.0.0.tgz"; | ||
9952 | path = fetchurl { | ||
9953 | name = "requires-port-1.0.0.tgz"; | ||
9954 | url = "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz"; | ||
9955 | sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff"; | ||
9956 | }; | ||
9957 | } | ||
9958 | |||
9959 | { | ||
9960 | name = "reselect-3.0.1.tgz"; | ||
9961 | path = fetchurl { | ||
9962 | name = "reselect-3.0.1.tgz"; | ||
9963 | url = "https://registry.yarnpkg.com/reselect/-/reselect-3.0.1.tgz"; | ||
9964 | sha1 = "efdaa98ea7451324d092b2b2163a6a1d7a9a2147"; | ||
9965 | }; | ||
9966 | } | ||
9967 | |||
9968 | { | ||
9969 | name = "resolve-cwd-2.0.0.tgz"; | ||
9970 | path = fetchurl { | ||
9971 | name = "resolve-cwd-2.0.0.tgz"; | ||
9972 | url = "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz"; | ||
9973 | sha1 = "00a9f7387556e27038eae232caa372a6a59b665a"; | ||
9974 | }; | ||
9975 | } | ||
9976 | |||
9977 | { | ||
9978 | name = "resolve-from-1.0.1.tgz"; | ||
9979 | path = fetchurl { | ||
9980 | name = "resolve-from-1.0.1.tgz"; | ||
9981 | url = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz"; | ||
9982 | sha1 = "26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"; | ||
9983 | }; | ||
9984 | } | ||
9985 | |||
9986 | { | ||
9987 | name = "resolve-from-3.0.0.tgz"; | ||
9988 | path = fetchurl { | ||
9989 | name = "resolve-from-3.0.0.tgz"; | ||
9990 | url = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz"; | ||
9991 | sha1 = "b22c7af7d9d6881bc8b6e653335eebcb0a188748"; | ||
9992 | }; | ||
9993 | } | ||
9994 | |||
9995 | { | ||
9996 | name = "resolve-pathname-2.2.0.tgz"; | ||
9997 | path = fetchurl { | ||
9998 | name = "resolve-pathname-2.2.0.tgz"; | ||
9999 | url = "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz"; | ||
10000 | sha1 = "7e9ae21ed815fd63ab189adeee64dc831eefa879"; | ||
10001 | }; | ||
10002 | } | ||
10003 | |||
10004 | { | ||
10005 | name = "resolve-url-0.2.1.tgz"; | ||
10006 | path = fetchurl { | ||
10007 | name = "resolve-url-0.2.1.tgz"; | ||
10008 | url = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz"; | ||
10009 | sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a"; | ||
10010 | }; | ||
10011 | } | ||
10012 | |||
10013 | { | ||
10014 | name = "resolve-1.1.7.tgz"; | ||
10015 | path = fetchurl { | ||
10016 | name = "resolve-1.1.7.tgz"; | ||
10017 | url = "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz"; | ||
10018 | sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b"; | ||
10019 | }; | ||
10020 | } | ||
10021 | |||
10022 | { | ||
10023 | name = "resolve-1.8.1.tgz"; | ||
10024 | path = fetchurl { | ||
10025 | name = "resolve-1.8.1.tgz"; | ||
10026 | url = "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz"; | ||
10027 | sha1 = "82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"; | ||
10028 | }; | ||
10029 | } | ||
10030 | |||
10031 | { | ||
10032 | name = "restore-cursor-2.0.0.tgz"; | ||
10033 | path = fetchurl { | ||
10034 | name = "restore-cursor-2.0.0.tgz"; | ||
10035 | url = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz"; | ||
10036 | sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf"; | ||
10037 | }; | ||
10038 | } | ||
10039 | |||
10040 | { | ||
10041 | name = "ret-0.1.15.tgz"; | ||
10042 | path = fetchurl { | ||
10043 | name = "ret-0.1.15.tgz"; | ||
10044 | url = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz"; | ||
10045 | sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"; | ||
10046 | }; | ||
10047 | } | ||
10048 | |||
10049 | { | ||
10050 | name = "rimraf-2.6.2.tgz"; | ||
10051 | path = fetchurl { | ||
10052 | name = "rimraf-2.6.2.tgz"; | ||
10053 | url = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz"; | ||
10054 | sha1 = "2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"; | ||
10055 | }; | ||
10056 | } | ||
10057 | |||
10058 | { | ||
10059 | name = "ripemd160-2.0.2.tgz"; | ||
10060 | path = fetchurl { | ||
10061 | name = "ripemd160-2.0.2.tgz"; | ||
10062 | url = "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz"; | ||
10063 | sha1 = "a1c1a6f624751577ba5d07914cbc92850585890c"; | ||
10064 | }; | ||
10065 | } | ||
10066 | |||
10067 | { | ||
10068 | name = "rst-selector-parser-2.2.3.tgz"; | ||
10069 | path = fetchurl { | ||
10070 | name = "rst-selector-parser-2.2.3.tgz"; | ||
10071 | url = "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz"; | ||
10072 | sha1 = "81b230ea2fcc6066c89e3472de794285d9b03d91"; | ||
10073 | }; | ||
10074 | } | ||
10075 | |||
10076 | { | ||
10077 | name = "rsvp-3.6.2.tgz"; | ||
10078 | path = fetchurl { | ||
10079 | name = "rsvp-3.6.2.tgz"; | ||
10080 | url = "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz"; | ||
10081 | sha1 = "2e96491599a96cde1b515d5674a8f7a91452926a"; | ||
10082 | }; | ||
10083 | } | ||
10084 | |||
10085 | { | ||
10086 | name = "run-async-2.3.0.tgz"; | ||
10087 | path = fetchurl { | ||
10088 | name = "run-async-2.3.0.tgz"; | ||
10089 | url = "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz"; | ||
10090 | sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"; | ||
10091 | }; | ||
10092 | } | ||
10093 | |||
10094 | { | ||
10095 | name = "run-queue-1.0.3.tgz"; | ||
10096 | path = fetchurl { | ||
10097 | name = "run-queue-1.0.3.tgz"; | ||
10098 | url = "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz"; | ||
10099 | sha1 = "e848396f057d223f24386924618e25694161ec47"; | ||
10100 | }; | ||
10101 | } | ||
10102 | |||
10103 | { | ||
10104 | name = "rx-lite-aggregates-4.0.8.tgz"; | ||
10105 | path = fetchurl { | ||
10106 | name = "rx-lite-aggregates-4.0.8.tgz"; | ||
10107 | url = "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz"; | ||
10108 | sha1 = "753b87a89a11c95467c4ac1626c4efc4e05c67be"; | ||
10109 | }; | ||
10110 | } | ||
10111 | |||
10112 | { | ||
10113 | name = "rx-lite-4.0.8.tgz"; | ||
10114 | path = fetchurl { | ||
10115 | name = "rx-lite-4.0.8.tgz"; | ||
10116 | url = "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz"; | ||
10117 | sha1 = "0b1e11af8bc44836f04a6407e92da42467b79444"; | ||
10118 | }; | ||
10119 | } | ||
10120 | |||
10121 | { | ||
10122 | name = "rxjs-6.3.2.tgz"; | ||
10123 | path = fetchurl { | ||
10124 | name = "rxjs-6.3.2.tgz"; | ||
10125 | url = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.2.tgz"; | ||
10126 | sha1 = "6a688b16c4e6e980e62ea805ec30648e1c60907f"; | ||
10127 | }; | ||
10128 | } | ||
10129 | |||
10130 | { | ||
10131 | name = "safe-buffer-5.1.1.tgz"; | ||
10132 | path = fetchurl { | ||
10133 | name = "safe-buffer-5.1.1.tgz"; | ||
10134 | url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz"; | ||
10135 | sha1 = "893312af69b2123def71f57889001671eeb2c853"; | ||
10136 | }; | ||
10137 | } | ||
10138 | |||
10139 | { | ||
10140 | name = "safe-buffer-5.1.2.tgz"; | ||
10141 | path = fetchurl { | ||
10142 | name = "safe-buffer-5.1.2.tgz"; | ||
10143 | url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz"; | ||
10144 | sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d"; | ||
10145 | }; | ||
10146 | } | ||
10147 | |||
10148 | { | ||
10149 | name = "safe-regex-1.1.0.tgz"; | ||
10150 | path = fetchurl { | ||
10151 | name = "safe-regex-1.1.0.tgz"; | ||
10152 | url = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz"; | ||
10153 | sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e"; | ||
10154 | }; | ||
10155 | } | ||
10156 | |||
10157 | { | ||
10158 | name = "safer-buffer-2.1.2.tgz"; | ||
10159 | path = fetchurl { | ||
10160 | name = "safer-buffer-2.1.2.tgz"; | ||
10161 | url = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz"; | ||
10162 | sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a"; | ||
10163 | }; | ||
10164 | } | ||
10165 | |||
10166 | { | ||
10167 | name = "sane-2.5.2.tgz"; | ||
10168 | path = fetchurl { | ||
10169 | name = "sane-2.5.2.tgz"; | ||
10170 | url = "https://registry.yarnpkg.com/sane/-/sane-2.5.2.tgz"; | ||
10171 | sha1 = "b4dc1861c21b427e929507a3e751e2a2cb8ab3fa"; | ||
10172 | }; | ||
10173 | } | ||
10174 | |||
10175 | { | ||
10176 | name = "sass-graph-2.2.4.tgz"; | ||
10177 | path = fetchurl { | ||
10178 | name = "sass-graph-2.2.4.tgz"; | ||
10179 | url = "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz"; | ||
10180 | sha1 = "13fbd63cd1caf0908b9fd93476ad43a51d1e0b49"; | ||
10181 | }; | ||
10182 | } | ||
10183 | |||
10184 | { | ||
10185 | name = "sass-loader-7.1.0.tgz"; | ||
10186 | path = fetchurl { | ||
10187 | name = "sass-loader-7.1.0.tgz"; | ||
10188 | url = "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.1.0.tgz"; | ||
10189 | sha1 = "16fd5138cb8b424bf8a759528a1972d72aad069d"; | ||
10190 | }; | ||
10191 | } | ||
10192 | |||
10193 | { | ||
10194 | name = "sax-1.2.4.tgz"; | ||
10195 | path = fetchurl { | ||
10196 | name = "sax-1.2.4.tgz"; | ||
10197 | url = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz"; | ||
10198 | sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9"; | ||
10199 | }; | ||
10200 | } | ||
10201 | |||
10202 | { | ||
10203 | name = "schedule-0.3.0.tgz"; | ||
10204 | path = fetchurl { | ||
10205 | name = "schedule-0.3.0.tgz"; | ||
10206 | url = "https://registry.yarnpkg.com/schedule/-/schedule-0.3.0.tgz"; | ||
10207 | sha1 = "1be2ab2fc2e768536269ce7326efb478d6c045e8"; | ||
10208 | }; | ||
10209 | } | ||
10210 | |||
10211 | { | ||
10212 | name = "schema-utils-0.4.7.tgz"; | ||
10213 | path = fetchurl { | ||
10214 | name = "schema-utils-0.4.7.tgz"; | ||
10215 | url = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz"; | ||
10216 | sha1 = "ba74f597d2be2ea880131746ee17d0a093c68187"; | ||
10217 | }; | ||
10218 | } | ||
10219 | |||
10220 | { | ||
10221 | name = "schema-utils-1.0.0.tgz"; | ||
10222 | path = fetchurl { | ||
10223 | name = "schema-utils-1.0.0.tgz"; | ||
10224 | url = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz"; | ||
10225 | sha1 = "0b79a93204d7b600d4b2850d1f66c2a34951c770"; | ||
10226 | }; | ||
10227 | } | ||
10228 | |||
10229 | { | ||
10230 | name = "scroll-behavior-0.9.9.tgz"; | ||
10231 | path = fetchurl { | ||
10232 | name = "scroll-behavior-0.9.9.tgz"; | ||
10233 | url = "https://registry.yarnpkg.com/scroll-behavior/-/scroll-behavior-0.9.9.tgz"; | ||
10234 | sha1 = "ebfe0658455b82ad885b66195215416674dacce2"; | ||
10235 | }; | ||
10236 | } | ||
10237 | |||
10238 | { | ||
10239 | name = "scss-tokenizer-0.2.3.tgz"; | ||
10240 | path = fetchurl { | ||
10241 | name = "scss-tokenizer-0.2.3.tgz"; | ||
10242 | url = "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz"; | ||
10243 | sha1 = "8eb06db9a9723333824d3f5530641149847ce5d1"; | ||
10244 | }; | ||
10245 | } | ||
10246 | |||
10247 | { | ||
10248 | name = "select-hose-2.0.0.tgz"; | ||
10249 | path = fetchurl { | ||
10250 | name = "select-hose-2.0.0.tgz"; | ||
10251 | url = "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz"; | ||
10252 | sha1 = "625d8658f865af43ec962bfc376a37359a4994ca"; | ||
10253 | }; | ||
10254 | } | ||
10255 | |||
10256 | { | ||
10257 | name = "selfsigned-1.10.3.tgz"; | ||
10258 | path = fetchurl { | ||
10259 | name = "selfsigned-1.10.3.tgz"; | ||
10260 | url = "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.3.tgz"; | ||
10261 | sha1 = "d628ecf9e3735f84e8bafba936b3cf85bea43823"; | ||
10262 | }; | ||
10263 | } | ||
10264 | |||
10265 | { | ||
10266 | name = "semver-5.5.1.tgz"; | ||
10267 | path = fetchurl { | ||
10268 | name = "semver-5.5.1.tgz"; | ||
10269 | url = "https://registry.yarnpkg.com/semver/-/semver-5.5.1.tgz"; | ||
10270 | sha1 = "7dfdd8814bdb7cabc7be0fb1d734cfb66c940477"; | ||
10271 | }; | ||
10272 | } | ||
10273 | |||
10274 | { | ||
10275 | name = "semver-4.3.2.tgz"; | ||
10276 | path = fetchurl { | ||
10277 | name = "semver-4.3.2.tgz"; | ||
10278 | url = "https://registry.yarnpkg.com/semver/-/semver-4.3.2.tgz"; | ||
10279 | sha1 = "c7a07158a80bedd052355b770d82d6640f803be7"; | ||
10280 | }; | ||
10281 | } | ||
10282 | |||
10283 | { | ||
10284 | name = "semver-5.3.0.tgz"; | ||
10285 | path = fetchurl { | ||
10286 | name = "semver-5.3.0.tgz"; | ||
10287 | url = "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz"; | ||
10288 | sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"; | ||
10289 | }; | ||
10290 | } | ||
10291 | |||
10292 | { | ||
10293 | name = "send-0.16.2.tgz"; | ||
10294 | path = fetchurl { | ||
10295 | name = "send-0.16.2.tgz"; | ||
10296 | url = "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz"; | ||
10297 | sha1 = "6ecca1e0f8c156d141597559848df64730a6bbc1"; | ||
10298 | }; | ||
10299 | } | ||
10300 | |||
10301 | { | ||
10302 | name = "serialize-javascript-1.5.0.tgz"; | ||
10303 | path = fetchurl { | ||
10304 | name = "serialize-javascript-1.5.0.tgz"; | ||
10305 | url = "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.5.0.tgz"; | ||
10306 | sha1 = "1aa336162c88a890ddad5384baebc93a655161fe"; | ||
10307 | }; | ||
10308 | } | ||
10309 | |||
10310 | { | ||
10311 | name = "serve-index-1.9.1.tgz"; | ||
10312 | path = fetchurl { | ||
10313 | name = "serve-index-1.9.1.tgz"; | ||
10314 | url = "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz"; | ||
10315 | sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239"; | ||
10316 | }; | ||
10317 | } | ||
10318 | |||
10319 | { | ||
10320 | name = "serve-static-1.13.2.tgz"; | ||
10321 | path = fetchurl { | ||
10322 | name = "serve-static-1.13.2.tgz"; | ||
10323 | url = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz"; | ||
10324 | sha1 = "095e8472fd5b46237db50ce486a43f4b86c6cec1"; | ||
10325 | }; | ||
10326 | } | ||
10327 | |||
10328 | { | ||
10329 | name = "set-blocking-2.0.0.tgz"; | ||
10330 | path = fetchurl { | ||
10331 | name = "set-blocking-2.0.0.tgz"; | ||
10332 | url = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz"; | ||
10333 | sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7"; | ||
10334 | }; | ||
10335 | } | ||
10336 | |||
10337 | { | ||
10338 | name = "set-immediate-shim-1.0.1.tgz"; | ||
10339 | path = fetchurl { | ||
10340 | name = "set-immediate-shim-1.0.1.tgz"; | ||
10341 | url = "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz"; | ||
10342 | sha1 = "4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"; | ||
10343 | }; | ||
10344 | } | ||
10345 | |||
10346 | { | ||
10347 | name = "set-value-0.4.3.tgz"; | ||
10348 | path = fetchurl { | ||
10349 | name = "set-value-0.4.3.tgz"; | ||
10350 | url = "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz"; | ||
10351 | sha1 = "7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"; | ||
10352 | }; | ||
10353 | } | ||
10354 | |||
10355 | { | ||
10356 | name = "set-value-2.0.0.tgz"; | ||
10357 | path = fetchurl { | ||
10358 | name = "set-value-2.0.0.tgz"; | ||
10359 | url = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz"; | ||
10360 | sha1 = "71ae4a88f0feefbbf52d1ea604f3fb315ebb6274"; | ||
10361 | }; | ||
10362 | } | ||
10363 | |||
10364 | { | ||
10365 | name = "setimmediate-1.0.5.tgz"; | ||
10366 | path = fetchurl { | ||
10367 | name = "setimmediate-1.0.5.tgz"; | ||
10368 | url = "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz"; | ||
10369 | sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285"; | ||
10370 | }; | ||
10371 | } | ||
10372 | |||
10373 | { | ||
10374 | name = "setprototypeof-1.0.3.tgz"; | ||
10375 | path = fetchurl { | ||
10376 | name = "setprototypeof-1.0.3.tgz"; | ||
10377 | url = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz"; | ||
10378 | sha1 = "66567e37043eeb4f04d91bd658c0cbefb55b8e04"; | ||
10379 | }; | ||
10380 | } | ||
10381 | |||
10382 | { | ||
10383 | name = "setprototypeof-1.1.0.tgz"; | ||
10384 | path = fetchurl { | ||
10385 | name = "setprototypeof-1.1.0.tgz"; | ||
10386 | url = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz"; | ||
10387 | sha1 = "d0bd85536887b6fe7c0d818cb962d9d91c54e656"; | ||
10388 | }; | ||
10389 | } | ||
10390 | |||
10391 | { | ||
10392 | name = "sha.js-2.4.11.tgz"; | ||
10393 | path = fetchurl { | ||
10394 | name = "sha.js-2.4.11.tgz"; | ||
10395 | url = "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz"; | ||
10396 | sha1 = "37a5cf0b81ecbc6943de109ba2960d1b26584ae7"; | ||
10397 | }; | ||
10398 | } | ||
10399 | |||
10400 | { | ||
10401 | name = "shallow-clone-1.0.0.tgz"; | ||
10402 | path = fetchurl { | ||
10403 | name = "shallow-clone-1.0.0.tgz"; | ||
10404 | url = "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-1.0.0.tgz"; | ||
10405 | sha1 = "4480cd06e882ef68b2ad88a3ea54832e2c48b571"; | ||
10406 | }; | ||
10407 | } | ||
10408 | |||
10409 | { | ||
10410 | name = "shebang-command-1.2.0.tgz"; | ||
10411 | path = fetchurl { | ||
10412 | name = "shebang-command-1.2.0.tgz"; | ||
10413 | url = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz"; | ||
10414 | sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea"; | ||
10415 | }; | ||
10416 | } | ||
10417 | |||
10418 | { | ||
10419 | name = "shebang-regex-1.0.0.tgz"; | ||
10420 | path = fetchurl { | ||
10421 | name = "shebang-regex-1.0.0.tgz"; | ||
10422 | url = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz"; | ||
10423 | sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3"; | ||
10424 | }; | ||
10425 | } | ||
10426 | |||
10427 | { | ||
10428 | name = "shellwords-0.1.1.tgz"; | ||
10429 | path = fetchurl { | ||
10430 | name = "shellwords-0.1.1.tgz"; | ||
10431 | url = "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz"; | ||
10432 | sha1 = "d6b9181c1a48d397324c84871efbcfc73fc0654b"; | ||
10433 | }; | ||
10434 | } | ||
10435 | |||
10436 | { | ||
10437 | name = "signal-exit-3.0.2.tgz"; | ||
10438 | path = fetchurl { | ||
10439 | name = "signal-exit-3.0.2.tgz"; | ||
10440 | url = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz"; | ||
10441 | sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d"; | ||
10442 | }; | ||
10443 | } | ||
10444 | |||
10445 | { | ||
10446 | name = "simple-swizzle-0.2.2.tgz"; | ||
10447 | path = fetchurl { | ||
10448 | name = "simple-swizzle-0.2.2.tgz"; | ||
10449 | url = "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz"; | ||
10450 | sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a"; | ||
10451 | }; | ||
10452 | } | ||
10453 | |||
10454 | { | ||
10455 | name = "sisteransi-0.1.1.tgz"; | ||
10456 | path = fetchurl { | ||
10457 | name = "sisteransi-0.1.1.tgz"; | ||
10458 | url = "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz"; | ||
10459 | sha1 = "5431447d5f7d1675aac667ccd0b865a4994cb3ce"; | ||
10460 | }; | ||
10461 | } | ||
10462 | |||
10463 | { | ||
10464 | name = "slash-1.0.0.tgz"; | ||
10465 | path = fetchurl { | ||
10466 | name = "slash-1.0.0.tgz"; | ||
10467 | url = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz"; | ||
10468 | sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"; | ||
10469 | }; | ||
10470 | } | ||
10471 | |||
10472 | { | ||
10473 | name = "slice-ansi-1.0.0.tgz"; | ||
10474 | path = fetchurl { | ||
10475 | name = "slice-ansi-1.0.0.tgz"; | ||
10476 | url = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz"; | ||
10477 | sha1 = "044f1a49d8842ff307aad6b505ed178bd950134d"; | ||
10478 | }; | ||
10479 | } | ||
10480 | |||
10481 | { | ||
10482 | name = "snapdragon-node-2.1.1.tgz"; | ||
10483 | path = fetchurl { | ||
10484 | name = "snapdragon-node-2.1.1.tgz"; | ||
10485 | url = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz"; | ||
10486 | sha1 = "6c175f86ff14bdb0724563e8f3c1b021a286853b"; | ||
10487 | }; | ||
10488 | } | ||
10489 | |||
10490 | { | ||
10491 | name = "snapdragon-util-3.0.1.tgz"; | ||
10492 | path = fetchurl { | ||
10493 | name = "snapdragon-util-3.0.1.tgz"; | ||
10494 | url = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz"; | ||
10495 | sha1 = "f956479486f2acd79700693f6f7b805e45ab56e2"; | ||
10496 | }; | ||
10497 | } | ||
10498 | |||
10499 | { | ||
10500 | name = "snapdragon-0.8.2.tgz"; | ||
10501 | path = fetchurl { | ||
10502 | name = "snapdragon-0.8.2.tgz"; | ||
10503 | url = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz"; | ||
10504 | sha1 = "64922e7c565b0e14204ba1aa7d6964278d25182d"; | ||
10505 | }; | ||
10506 | } | ||
10507 | |||
10508 | { | ||
10509 | name = "sntp-1.0.9.tgz"; | ||
10510 | path = fetchurl { | ||
10511 | name = "sntp-1.0.9.tgz"; | ||
10512 | url = "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz"; | ||
10513 | sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198"; | ||
10514 | }; | ||
10515 | } | ||
10516 | |||
10517 | { | ||
10518 | name = "sockjs-client-1.1.5.tgz"; | ||
10519 | path = fetchurl { | ||
10520 | name = "sockjs-client-1.1.5.tgz"; | ||
10521 | url = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.5.tgz"; | ||
10522 | sha1 = "1bb7c0f7222c40f42adf14f4442cbd1269771a83"; | ||
10523 | }; | ||
10524 | } | ||
10525 | |||
10526 | { | ||
10527 | name = "sockjs-0.3.19.tgz"; | ||
10528 | path = fetchurl { | ||
10529 | name = "sockjs-0.3.19.tgz"; | ||
10530 | url = "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz"; | ||
10531 | sha1 = "d976bbe800af7bd20ae08598d582393508993c0d"; | ||
10532 | }; | ||
10533 | } | ||
10534 | |||
10535 | { | ||
10536 | name = "source-list-map-2.0.0.tgz"; | ||
10537 | path = fetchurl { | ||
10538 | name = "source-list-map-2.0.0.tgz"; | ||
10539 | url = "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz"; | ||
10540 | sha1 = "aaa47403f7b245a92fbc97ea08f250d6087ed085"; | ||
10541 | }; | ||
10542 | } | ||
10543 | |||
10544 | { | ||
10545 | name = "source-map-resolve-0.5.2.tgz"; | ||
10546 | path = fetchurl { | ||
10547 | name = "source-map-resolve-0.5.2.tgz"; | ||
10548 | url = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz"; | ||
10549 | sha1 = "72e2cc34095543e43b2c62b2c4c10d4a9054f259"; | ||
10550 | }; | ||
10551 | } | ||
10552 | |||
10553 | { | ||
10554 | name = "source-map-support-0.4.18.tgz"; | ||
10555 | path = fetchurl { | ||
10556 | name = "source-map-support-0.4.18.tgz"; | ||
10557 | url = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz"; | ||
10558 | sha1 = "0286a6de8be42641338594e97ccea75f0a2c585f"; | ||
10559 | }; | ||
10560 | } | ||
10561 | |||
10562 | { | ||
10563 | name = "source-map-support-0.5.9.tgz"; | ||
10564 | path = fetchurl { | ||
10565 | name = "source-map-support-0.5.9.tgz"; | ||
10566 | url = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz"; | ||
10567 | sha1 = "41bc953b2534267ea2d605bccfa7bfa3111ced5f"; | ||
10568 | }; | ||
10569 | } | ||
10570 | |||
10571 | { | ||
10572 | name = "source-map-url-0.4.0.tgz"; | ||
10573 | path = fetchurl { | ||
10574 | name = "source-map-url-0.4.0.tgz"; | ||
10575 | url = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz"; | ||
10576 | sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3"; | ||
10577 | }; | ||
10578 | } | ||
10579 | |||
10580 | { | ||
10581 | name = "source-map-0.4.4.tgz"; | ||
10582 | path = fetchurl { | ||
10583 | name = "source-map-0.4.4.tgz"; | ||
10584 | url = "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz"; | ||
10585 | sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b"; | ||
10586 | }; | ||
10587 | } | ||
10588 | |||
10589 | { | ||
10590 | name = "source-map-0.5.7.tgz"; | ||
10591 | path = fetchurl { | ||
10592 | name = "source-map-0.5.7.tgz"; | ||
10593 | url = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz"; | ||
10594 | sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"; | ||
10595 | }; | ||
10596 | } | ||
10597 | |||
10598 | { | ||
10599 | name = "source-map-0.6.1.tgz"; | ||
10600 | path = fetchurl { | ||
10601 | name = "source-map-0.6.1.tgz"; | ||
10602 | url = "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz"; | ||
10603 | sha1 = "74722af32e9614e9c287a8d0bbde48b5e2f1a263"; | ||
10604 | }; | ||
10605 | } | ||
10606 | |||
10607 | { | ||
10608 | name = "spdx-correct-3.0.0.tgz"; | ||
10609 | path = fetchurl { | ||
10610 | name = "spdx-correct-3.0.0.tgz"; | ||
10611 | url = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz"; | ||
10612 | sha1 = "05a5b4d7153a195bc92c3c425b69f3b2a9524c82"; | ||
10613 | }; | ||
10614 | } | ||
10615 | |||
10616 | { | ||
10617 | name = "spdx-exceptions-2.1.0.tgz"; | ||
10618 | path = fetchurl { | ||
10619 | name = "spdx-exceptions-2.1.0.tgz"; | ||
10620 | url = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz"; | ||
10621 | sha1 = "2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9"; | ||
10622 | }; | ||
10623 | } | ||
10624 | |||
10625 | { | ||
10626 | name = "spdx-expression-parse-3.0.0.tgz"; | ||
10627 | path = fetchurl { | ||
10628 | name = "spdx-expression-parse-3.0.0.tgz"; | ||
10629 | url = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz"; | ||
10630 | sha1 = "99e119b7a5da00e05491c9fa338b7904823b41d0"; | ||
10631 | }; | ||
10632 | } | ||
10633 | |||
10634 | { | ||
10635 | name = "spdx-license-ids-3.0.1.tgz"; | ||
10636 | path = fetchurl { | ||
10637 | name = "spdx-license-ids-3.0.1.tgz"; | ||
10638 | url = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz"; | ||
10639 | sha1 = "e2a303236cac54b04031fa7a5a79c7e701df852f"; | ||
10640 | }; | ||
10641 | } | ||
10642 | |||
10643 | { | ||
10644 | name = "spdy-transport-2.1.0.tgz"; | ||
10645 | path = fetchurl { | ||
10646 | name = "spdy-transport-2.1.0.tgz"; | ||
10647 | url = "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.1.0.tgz"; | ||
10648 | sha1 = "4bbb15aaffed0beefdd56ad61dbdc8ba3e2cb7a1"; | ||
10649 | }; | ||
10650 | } | ||
10651 | |||
10652 | { | ||
10653 | name = "spdy-3.4.7.tgz"; | ||
10654 | path = fetchurl { | ||
10655 | name = "spdy-3.4.7.tgz"; | ||
10656 | url = "https://registry.yarnpkg.com/spdy/-/spdy-3.4.7.tgz"; | ||
10657 | sha1 = "42ff41ece5cc0f99a3a6c28aabb73f5c3b03acbc"; | ||
10658 | }; | ||
10659 | } | ||
10660 | |||
10661 | { | ||
10662 | name = "split-string-3.1.0.tgz"; | ||
10663 | path = fetchurl { | ||
10664 | name = "split-string-3.1.0.tgz"; | ||
10665 | url = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz"; | ||
10666 | sha1 = "7cb09dda3a86585705c64b39a6466038682e8fe2"; | ||
10667 | }; | ||
10668 | } | ||
10669 | |||
10670 | { | ||
10671 | name = "split-1.0.1.tgz"; | ||
10672 | path = fetchurl { | ||
10673 | name = "split-1.0.1.tgz"; | ||
10674 | url = "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz"; | ||
10675 | sha1 = "605bd9be303aa59fb35f9229fbea0ddec9ea07d9"; | ||
10676 | }; | ||
10677 | } | ||
10678 | |||
10679 | { | ||
10680 | name = "sprintf-js-1.0.3.tgz"; | ||
10681 | path = fetchurl { | ||
10682 | name = "sprintf-js-1.0.3.tgz"; | ||
10683 | url = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz"; | ||
10684 | sha1 = "04e6926f662895354f3dd015203633b857297e2c"; | ||
10685 | }; | ||
10686 | } | ||
10687 | |||
10688 | { | ||
10689 | name = "sshpk-1.14.2.tgz"; | ||
10690 | path = fetchurl { | ||
10691 | name = "sshpk-1.14.2.tgz"; | ||
10692 | url = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz"; | ||
10693 | sha1 = "c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98"; | ||
10694 | }; | ||
10695 | } | ||
10696 | |||
10697 | { | ||
10698 | name = "ssri-5.3.0.tgz"; | ||
10699 | path = fetchurl { | ||
10700 | name = "ssri-5.3.0.tgz"; | ||
10701 | url = "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz"; | ||
10702 | sha1 = "ba3872c9c6d33a0704a7d71ff045e5ec48999d06"; | ||
10703 | }; | ||
10704 | } | ||
10705 | |||
10706 | { | ||
10707 | name = "ssri-6.0.1.tgz"; | ||
10708 | path = fetchurl { | ||
10709 | name = "ssri-6.0.1.tgz"; | ||
10710 | url = "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz"; | ||
10711 | sha1 = "2a3c41b28dd45b62b63676ecb74001265ae9edd8"; | ||
10712 | }; | ||
10713 | } | ||
10714 | |||
10715 | { | ||
10716 | name = "stack-utils-1.0.1.tgz"; | ||
10717 | path = fetchurl { | ||
10718 | name = "stack-utils-1.0.1.tgz"; | ||
10719 | url = "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.1.tgz"; | ||
10720 | sha1 = "d4f33ab54e8e38778b0ca5cfd3b3afb12db68620"; | ||
10721 | }; | ||
10722 | } | ||
10723 | |||
10724 | { | ||
10725 | name = "static-extend-0.1.2.tgz"; | ||
10726 | path = fetchurl { | ||
10727 | name = "static-extend-0.1.2.tgz"; | ||
10728 | url = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz"; | ||
10729 | sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6"; | ||
10730 | }; | ||
10731 | } | ||
10732 | |||
10733 | { | ||
10734 | name = "statuses-1.5.0.tgz"; | ||
10735 | path = fetchurl { | ||
10736 | name = "statuses-1.5.0.tgz"; | ||
10737 | url = "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz"; | ||
10738 | sha1 = "161c7dac177659fd9811f43771fa99381478628c"; | ||
10739 | }; | ||
10740 | } | ||
10741 | |||
10742 | { | ||
10743 | name = "statuses-1.4.0.tgz"; | ||
10744 | path = fetchurl { | ||
10745 | name = "statuses-1.4.0.tgz"; | ||
10746 | url = "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz"; | ||
10747 | sha1 = "bb73d446da2796106efcc1b601a253d6c46bd087"; | ||
10748 | }; | ||
10749 | } | ||
10750 | |||
10751 | { | ||
10752 | name = "stdout-stream-1.4.1.tgz"; | ||
10753 | path = fetchurl { | ||
10754 | name = "stdout-stream-1.4.1.tgz"; | ||
10755 | url = "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz"; | ||
10756 | sha1 = "5ac174cdd5cd726104aa0c0b2bd83815d8d535de"; | ||
10757 | }; | ||
10758 | } | ||
10759 | |||
10760 | { | ||
10761 | name = "stealthy-require-1.1.1.tgz"; | ||
10762 | path = fetchurl { | ||
10763 | name = "stealthy-require-1.1.1.tgz"; | ||
10764 | url = "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz"; | ||
10765 | sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b"; | ||
10766 | }; | ||
10767 | } | ||
10768 | |||
10769 | { | ||
10770 | name = "stream-browserify-2.0.1.tgz"; | ||
10771 | path = fetchurl { | ||
10772 | name = "stream-browserify-2.0.1.tgz"; | ||
10773 | url = "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz"; | ||
10774 | sha1 = "66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"; | ||
10775 | }; | ||
10776 | } | ||
10777 | |||
10778 | { | ||
10779 | name = "stream-each-1.2.3.tgz"; | ||
10780 | path = fetchurl { | ||
10781 | name = "stream-each-1.2.3.tgz"; | ||
10782 | url = "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz"; | ||
10783 | sha1 = "ebe27a0c389b04fbcc233642952e10731afa9bae"; | ||
10784 | }; | ||
10785 | } | ||
10786 | |||
10787 | { | ||
10788 | name = "stream-http-2.8.3.tgz"; | ||
10789 | path = fetchurl { | ||
10790 | name = "stream-http-2.8.3.tgz"; | ||
10791 | url = "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz"; | ||
10792 | sha1 = "b2d242469288a5a27ec4fe8933acf623de6514fc"; | ||
10793 | }; | ||
10794 | } | ||
10795 | |||
10796 | { | ||
10797 | name = "stream-shift-1.0.0.tgz"; | ||
10798 | path = fetchurl { | ||
10799 | name = "stream-shift-1.0.0.tgz"; | ||
10800 | url = "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz"; | ||
10801 | sha1 = "d5c752825e5367e786f78e18e445ea223a155952"; | ||
10802 | }; | ||
10803 | } | ||
10804 | |||
10805 | { | ||
10806 | name = "string-length-2.0.0.tgz"; | ||
10807 | path = fetchurl { | ||
10808 | name = "string-length-2.0.0.tgz"; | ||
10809 | url = "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz"; | ||
10810 | sha1 = "d40dbb686a3ace960c1cffca562bf2c45f8363ed"; | ||
10811 | }; | ||
10812 | } | ||
10813 | |||
10814 | { | ||
10815 | name = "string-width-1.0.2.tgz"; | ||
10816 | path = fetchurl { | ||
10817 | name = "string-width-1.0.2.tgz"; | ||
10818 | url = "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz"; | ||
10819 | sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"; | ||
10820 | }; | ||
10821 | } | ||
10822 | |||
10823 | { | ||
10824 | name = "string-width-2.1.1.tgz"; | ||
10825 | path = fetchurl { | ||
10826 | name = "string-width-2.1.1.tgz"; | ||
10827 | url = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz"; | ||
10828 | sha1 = "ab93f27a8dc13d28cac815c462143a6d9012ae9e"; | ||
10829 | }; | ||
10830 | } | ||
10831 | |||
10832 | { | ||
10833 | name = "string.prototype.trim-1.1.2.tgz"; | ||
10834 | path = fetchurl { | ||
10835 | name = "string.prototype.trim-1.1.2.tgz"; | ||
10836 | url = "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz"; | ||
10837 | sha1 = "d04de2c89e137f4d7d206f086b5ed2fae6be8cea"; | ||
10838 | }; | ||
10839 | } | ||
10840 | |||
10841 | { | ||
10842 | name = "string_decoder-1.1.1.tgz"; | ||
10843 | path = fetchurl { | ||
10844 | name = "string_decoder-1.1.1.tgz"; | ||
10845 | url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz"; | ||
10846 | sha1 = "9cf1611ba62685d7030ae9e4ba34149c3af03fc8"; | ||
10847 | }; | ||
10848 | } | ||
10849 | |||
10850 | { | ||
10851 | name = "stringstream-0.0.6.tgz"; | ||
10852 | path = fetchurl { | ||
10853 | name = "stringstream-0.0.6.tgz"; | ||
10854 | url = "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz"; | ||
10855 | sha1 = "7880225b0d4ad10e30927d167a1d6f2fd3b33a72"; | ||
10856 | }; | ||
10857 | } | ||
10858 | |||
10859 | { | ||
10860 | name = "stringz-0.3.0.tgz"; | ||
10861 | path = fetchurl { | ||
10862 | name = "stringz-0.3.0.tgz"; | ||
10863 | url = "https://registry.yarnpkg.com/stringz/-/stringz-0.3.0.tgz"; | ||
10864 | sha1 = "58a311a8c791eee1a68f5f188b3db5e66ff49360"; | ||
10865 | }; | ||
10866 | } | ||
10867 | |||
10868 | { | ||
10869 | name = "strip-ansi-3.0.1.tgz"; | ||
10870 | path = fetchurl { | ||
10871 | name = "strip-ansi-3.0.1.tgz"; | ||
10872 | url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz"; | ||
10873 | sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"; | ||
10874 | }; | ||
10875 | } | ||
10876 | |||
10877 | { | ||
10878 | name = "strip-ansi-4.0.0.tgz"; | ||
10879 | path = fetchurl { | ||
10880 | name = "strip-ansi-4.0.0.tgz"; | ||
10881 | url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz"; | ||
10882 | sha1 = "a8479022eb1ac368a871389b635262c505ee368f"; | ||
10883 | }; | ||
10884 | } | ||
10885 | |||
10886 | { | ||
10887 | name = "strip-bom-3.0.0.tgz"; | ||
10888 | path = fetchurl { | ||
10889 | name = "strip-bom-3.0.0.tgz"; | ||
10890 | url = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz"; | ||
10891 | sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"; | ||
10892 | }; | ||
10893 | } | ||
10894 | |||
10895 | { | ||
10896 | name = "strip-bom-2.0.0.tgz"; | ||
10897 | path = fetchurl { | ||
10898 | name = "strip-bom-2.0.0.tgz"; | ||
10899 | url = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz"; | ||
10900 | sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e"; | ||
10901 | }; | ||
10902 | } | ||
10903 | |||
10904 | { | ||
10905 | name = "strip-eof-1.0.0.tgz"; | ||
10906 | path = fetchurl { | ||
10907 | name = "strip-eof-1.0.0.tgz"; | ||
10908 | url = "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz"; | ||
10909 | sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf"; | ||
10910 | }; | ||
10911 | } | ||
10912 | |||
10913 | { | ||
10914 | name = "strip-indent-1.0.1.tgz"; | ||
10915 | path = fetchurl { | ||
10916 | name = "strip-indent-1.0.1.tgz"; | ||
10917 | url = "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz"; | ||
10918 | sha1 = "0c7962a6adefa7bbd4ac366460a638552ae1a0a2"; | ||
10919 | }; | ||
10920 | } | ||
10921 | |||
10922 | { | ||
10923 | name = "strip-json-comments-2.0.1.tgz"; | ||
10924 | path = fetchurl { | ||
10925 | name = "strip-json-comments-2.0.1.tgz"; | ||
10926 | url = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz"; | ||
10927 | sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a"; | ||
10928 | }; | ||
10929 | } | ||
10930 | |||
10931 | { | ||
10932 | name = "style-loader-0.23.0.tgz"; | ||
10933 | path = fetchurl { | ||
10934 | name = "style-loader-0.23.0.tgz"; | ||
10935 | url = "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.0.tgz"; | ||
10936 | sha1 = "8377fefab68416a2e05f1cabd8c3a3acfcce74f1"; | ||
10937 | }; | ||
10938 | } | ||
10939 | |||
10940 | { | ||
10941 | name = "substring-trie-1.0.2.tgz"; | ||
10942 | path = fetchurl { | ||
10943 | name = "substring-trie-1.0.2.tgz"; | ||
10944 | url = "https://registry.yarnpkg.com/substring-trie/-/substring-trie-1.0.2.tgz"; | ||
10945 | sha1 = "7b42592391628b4f2cb17365c6cce4257c7b7af5"; | ||
10946 | }; | ||
10947 | } | ||
10948 | |||
10949 | { | ||
10950 | name = "sugarss-1.0.1.tgz"; | ||
10951 | path = fetchurl { | ||
10952 | name = "sugarss-1.0.1.tgz"; | ||
10953 | url = "https://registry.yarnpkg.com/sugarss/-/sugarss-1.0.1.tgz"; | ||
10954 | sha1 = "be826d9003e0f247735f92365dc3fd7f1bae9e44"; | ||
10955 | }; | ||
10956 | } | ||
10957 | |||
10958 | { | ||
10959 | name = "supports-color-2.0.0.tgz"; | ||
10960 | path = fetchurl { | ||
10961 | name = "supports-color-2.0.0.tgz"; | ||
10962 | url = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz"; | ||
10963 | sha1 = "535d045ce6b6363fa40117084629995e9df324c7"; | ||
10964 | }; | ||
10965 | } | ||
10966 | |||
10967 | { | ||
10968 | name = "supports-color-3.2.3.tgz"; | ||
10969 | path = fetchurl { | ||
10970 | name = "supports-color-3.2.3.tgz"; | ||
10971 | url = "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz"; | ||
10972 | sha1 = "65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"; | ||
10973 | }; | ||
10974 | } | ||
10975 | |||
10976 | { | ||
10977 | name = "supports-color-5.5.0.tgz"; | ||
10978 | path = fetchurl { | ||
10979 | name = "supports-color-5.5.0.tgz"; | ||
10980 | url = "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz"; | ||
10981 | sha1 = "e2e69a44ac8772f78a1ec0b35b689df6530efc8f"; | ||
10982 | }; | ||
10983 | } | ||
10984 | |||
10985 | { | ||
10986 | name = "symbol-observable-1.2.0.tgz"; | ||
10987 | path = fetchurl { | ||
10988 | name = "symbol-observable-1.2.0.tgz"; | ||
10989 | url = "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz"; | ||
10990 | sha1 = "c22688aed4eab3cdc2dfeacbb561660560a00804"; | ||
10991 | }; | ||
10992 | } | ||
10993 | |||
10994 | { | ||
10995 | name = "symbol-tree-3.2.2.tgz"; | ||
10996 | path = fetchurl { | ||
10997 | name = "symbol-tree-3.2.2.tgz"; | ||
10998 | url = "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz"; | ||
10999 | sha1 = "ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"; | ||
11000 | }; | ||
11001 | } | ||
11002 | |||
11003 | { | ||
11004 | name = "table-4.0.2.tgz"; | ||
11005 | path = fetchurl { | ||
11006 | name = "table-4.0.2.tgz"; | ||
11007 | url = "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz"; | ||
11008 | sha1 = "a33447375391e766ad34d3486e6e2aedc84d2e36"; | ||
11009 | }; | ||
11010 | } | ||
11011 | |||
11012 | { | ||
11013 | name = "tapable-1.1.0.tgz"; | ||
11014 | path = fetchurl { | ||
11015 | name = "tapable-1.1.0.tgz"; | ||
11016 | url = "https://registry.yarnpkg.com/tapable/-/tapable-1.1.0.tgz"; | ||
11017 | sha1 = "0d076a172e3d9ba088fd2272b2668fb8d194b78c"; | ||
11018 | }; | ||
11019 | } | ||
11020 | |||
11021 | { | ||
11022 | name = "tar-pack-3.4.1.tgz"; | ||
11023 | path = fetchurl { | ||
11024 | name = "tar-pack-3.4.1.tgz"; | ||
11025 | url = "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz"; | ||
11026 | sha1 = "e1dbc03a9b9d3ba07e896ad027317eb679a10a1f"; | ||
11027 | }; | ||
11028 | } | ||
11029 | |||
11030 | { | ||
11031 | name = "tar-2.2.1.tgz"; | ||
11032 | path = fetchurl { | ||
11033 | name = "tar-2.2.1.tgz"; | ||
11034 | url = "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz"; | ||
11035 | sha1 = "8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"; | ||
11036 | }; | ||
11037 | } | ||
11038 | |||
11039 | { | ||
11040 | name = "tar-4.4.6.tgz"; | ||
11041 | path = fetchurl { | ||
11042 | name = "tar-4.4.6.tgz"; | ||
11043 | url = "https://registry.yarnpkg.com/tar/-/tar-4.4.6.tgz"; | ||
11044 | sha1 = "63110f09c00b4e60ac8bcfe1bf3c8660235fbc9b"; | ||
11045 | }; | ||
11046 | } | ||
11047 | |||
11048 | { | ||
11049 | name = "tcomb-2.7.0.tgz"; | ||
11050 | path = fetchurl { | ||
11051 | name = "tcomb-2.7.0.tgz"; | ||
11052 | url = "https://registry.yarnpkg.com/tcomb/-/tcomb-2.7.0.tgz"; | ||
11053 | sha1 = "10d62958041669a5d53567b9a4ee8cde22b1c2b0"; | ||
11054 | }; | ||
11055 | } | ||
11056 | |||
11057 | { | ||
11058 | name = "tcomb-3.2.27.tgz"; | ||
11059 | path = fetchurl { | ||
11060 | name = "tcomb-3.2.27.tgz"; | ||
11061 | url = "https://registry.yarnpkg.com/tcomb/-/tcomb-3.2.27.tgz"; | ||
11062 | sha1 = "f4928bfc536b959d21a47e5f5f1ca2b2e4b7188a"; | ||
11063 | }; | ||
11064 | } | ||
11065 | |||
11066 | { | ||
11067 | name = "test-exclude-4.2.3.tgz"; | ||
11068 | path = fetchurl { | ||
11069 | name = "test-exclude-4.2.3.tgz"; | ||
11070 | url = "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.3.tgz"; | ||
11071 | sha1 = "a9a5e64474e4398339245a0a769ad7c2f4a97c20"; | ||
11072 | }; | ||
11073 | } | ||
11074 | |||
11075 | { | ||
11076 | name = "text-table-0.2.0.tgz"; | ||
11077 | path = fetchurl { | ||
11078 | name = "text-table-0.2.0.tgz"; | ||
11079 | url = "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz"; | ||
11080 | sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4"; | ||
11081 | }; | ||
11082 | } | ||
11083 | |||
11084 | { | ||
11085 | name = "throat-4.1.0.tgz"; | ||
11086 | path = fetchurl { | ||
11087 | name = "throat-4.1.0.tgz"; | ||
11088 | url = "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz"; | ||
11089 | sha1 = "89037cbc92c56ab18926e6ba4cbb200e15672a6a"; | ||
11090 | }; | ||
11091 | } | ||
11092 | |||
11093 | { | ||
11094 | name = "throng-4.0.0.tgz"; | ||
11095 | path = fetchurl { | ||
11096 | name = "throng-4.0.0.tgz"; | ||
11097 | url = "https://registry.yarnpkg.com/throng/-/throng-4.0.0.tgz"; | ||
11098 | sha1 = "983c6ba1993b58eae859998aa687ffe88df84c17"; | ||
11099 | }; | ||
11100 | } | ||
11101 | |||
11102 | { | ||
11103 | name = "through2-2.0.3.tgz"; | ||
11104 | path = fetchurl { | ||
11105 | name = "through2-2.0.3.tgz"; | ||
11106 | url = "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz"; | ||
11107 | sha1 = "0004569b37c7c74ba39c43f3ced78d1ad94140be"; | ||
11108 | }; | ||
11109 | } | ||
11110 | |||
11111 | { | ||
11112 | name = "through-2.3.8.tgz"; | ||
11113 | path = fetchurl { | ||
11114 | name = "through-2.3.8.tgz"; | ||
11115 | url = "http://registry.npmjs.org/through/-/through-2.3.8.tgz"; | ||
11116 | sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"; | ||
11117 | }; | ||
11118 | } | ||
11119 | |||
11120 | { | ||
11121 | name = "thunky-1.0.2.tgz"; | ||
11122 | path = fetchurl { | ||
11123 | name = "thunky-1.0.2.tgz"; | ||
11124 | url = "https://registry.yarnpkg.com/thunky/-/thunky-1.0.2.tgz"; | ||
11125 | sha1 = "a862e018e3fb1ea2ec3fce5d55605cf57f247371"; | ||
11126 | }; | ||
11127 | } | ||
11128 | |||
11129 | { | ||
11130 | name = "timers-browserify-2.0.10.tgz"; | ||
11131 | path = fetchurl { | ||
11132 | name = "timers-browserify-2.0.10.tgz"; | ||
11133 | url = "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz"; | ||
11134 | sha1 = "1d28e3d2aadf1d5a5996c4e9f95601cd053480ae"; | ||
11135 | }; | ||
11136 | } | ||
11137 | |||
11138 | { | ||
11139 | name = "tiny-queue-0.2.1.tgz"; | ||
11140 | path = fetchurl { | ||
11141 | name = "tiny-queue-0.2.1.tgz"; | ||
11142 | url = "https://registry.yarnpkg.com/tiny-queue/-/tiny-queue-0.2.1.tgz"; | ||
11143 | sha1 = "25a67f2c6e253b2ca941977b5ef7442ef97a6046"; | ||
11144 | }; | ||
11145 | } | ||
11146 | |||
11147 | { | ||
11148 | name = "tmp-0.0.33.tgz"; | ||
11149 | path = fetchurl { | ||
11150 | name = "tmp-0.0.33.tgz"; | ||
11151 | url = "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz"; | ||
11152 | sha1 = "6d34335889768d21b2bcda0aa277ced3b1bfadf9"; | ||
11153 | }; | ||
11154 | } | ||
11155 | |||
11156 | { | ||
11157 | name = "tmpl-1.0.4.tgz"; | ||
11158 | path = fetchurl { | ||
11159 | name = "tmpl-1.0.4.tgz"; | ||
11160 | url = "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz"; | ||
11161 | sha1 = "23640dd7b42d00433911140820e5cf440e521dd1"; | ||
11162 | }; | ||
11163 | } | ||
11164 | |||
11165 | { | ||
11166 | name = "to-arraybuffer-1.0.1.tgz"; | ||
11167 | path = fetchurl { | ||
11168 | name = "to-arraybuffer-1.0.1.tgz"; | ||
11169 | url = "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz"; | ||
11170 | sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43"; | ||
11171 | }; | ||
11172 | } | ||
11173 | |||
11174 | { | ||
11175 | name = "to-fast-properties-1.0.3.tgz"; | ||
11176 | path = fetchurl { | ||
11177 | name = "to-fast-properties-1.0.3.tgz"; | ||
11178 | url = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz"; | ||
11179 | sha1 = "b83571fa4d8c25b82e231b06e3a3055de4ca1a47"; | ||
11180 | }; | ||
11181 | } | ||
11182 | |||
11183 | { | ||
11184 | name = "to-fast-properties-2.0.0.tgz"; | ||
11185 | path = fetchurl { | ||
11186 | name = "to-fast-properties-2.0.0.tgz"; | ||
11187 | url = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz"; | ||
11188 | sha1 = "dc5e698cbd079265bc73e0377681a4e4e83f616e"; | ||
11189 | }; | ||
11190 | } | ||
11191 | |||
11192 | { | ||
11193 | name = "to-object-path-0.3.0.tgz"; | ||
11194 | path = fetchurl { | ||
11195 | name = "to-object-path-0.3.0.tgz"; | ||
11196 | url = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz"; | ||
11197 | sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af"; | ||
11198 | }; | ||
11199 | } | ||
11200 | |||
11201 | { | ||
11202 | name = "to-regex-range-2.1.1.tgz"; | ||
11203 | path = fetchurl { | ||
11204 | name = "to-regex-range-2.1.1.tgz"; | ||
11205 | url = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz"; | ||
11206 | sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38"; | ||
11207 | }; | ||
11208 | } | ||
11209 | |||
11210 | { | ||
11211 | name = "to-regex-3.0.2.tgz"; | ||
11212 | path = fetchurl { | ||
11213 | name = "to-regex-3.0.2.tgz"; | ||
11214 | url = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz"; | ||
11215 | sha1 = "13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"; | ||
11216 | }; | ||
11217 | } | ||
11218 | |||
11219 | { | ||
11220 | name = "tough-cookie-2.4.3.tgz"; | ||
11221 | path = fetchurl { | ||
11222 | name = "tough-cookie-2.4.3.tgz"; | ||
11223 | url = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz"; | ||
11224 | sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781"; | ||
11225 | }; | ||
11226 | } | ||
11227 | |||
11228 | { | ||
11229 | name = "tough-cookie-2.3.4.tgz"; | ||
11230 | path = fetchurl { | ||
11231 | name = "tough-cookie-2.3.4.tgz"; | ||
11232 | url = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz"; | ||
11233 | sha1 = "ec60cee38ac675063ffc97a5c18970578ee83655"; | ||
11234 | }; | ||
11235 | } | ||
11236 | |||
11237 | { | ||
11238 | name = "tr46-1.0.1.tgz"; | ||
11239 | path = fetchurl { | ||
11240 | name = "tr46-1.0.1.tgz"; | ||
11241 | url = "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz"; | ||
11242 | sha1 = "a8b13fd6bfd2489519674ccde55ba3693b706d09"; | ||
11243 | }; | ||
11244 | } | ||
11245 | |||
11246 | { | ||
11247 | name = "trim-newlines-1.0.0.tgz"; | ||
11248 | path = fetchurl { | ||
11249 | name = "trim-newlines-1.0.0.tgz"; | ||
11250 | url = "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz"; | ||
11251 | sha1 = "5887966bb582a4503a41eb524f7d35011815a613"; | ||
11252 | }; | ||
11253 | } | ||
11254 | |||
11255 | { | ||
11256 | name = "trim-right-1.0.1.tgz"; | ||
11257 | path = fetchurl { | ||
11258 | name = "trim-right-1.0.1.tgz"; | ||
11259 | url = "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz"; | ||
11260 | sha1 = "cb2e1203067e0c8de1f614094b9fe45704ea6003"; | ||
11261 | }; | ||
11262 | } | ||
11263 | |||
11264 | { | ||
11265 | name = "true-case-path-1.0.3.tgz"; | ||
11266 | path = fetchurl { | ||
11267 | name = "true-case-path-1.0.3.tgz"; | ||
11268 | url = "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz"; | ||
11269 | sha1 = "f813b5a8c86b40da59606722b144e3225799f47d"; | ||
11270 | }; | ||
11271 | } | ||
11272 | |||
11273 | { | ||
11274 | name = "tryer-1.0.1.tgz"; | ||
11275 | path = fetchurl { | ||
11276 | name = "tryer-1.0.1.tgz"; | ||
11277 | url = "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz"; | ||
11278 | sha1 = "f2c85406800b9b0f74c9f7465b81eaad241252f8"; | ||
11279 | }; | ||
11280 | } | ||
11281 | |||
11282 | { | ||
11283 | name = "tslib-1.9.3.tgz"; | ||
11284 | path = fetchurl { | ||
11285 | name = "tslib-1.9.3.tgz"; | ||
11286 | url = "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz"; | ||
11287 | sha1 = "d7e4dd79245d85428c4d7e4822a79917954ca286"; | ||
11288 | }; | ||
11289 | } | ||
11290 | |||
11291 | { | ||
11292 | name = "tty-browserify-0.0.0.tgz"; | ||
11293 | path = fetchurl { | ||
11294 | name = "tty-browserify-0.0.0.tgz"; | ||
11295 | url = "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz"; | ||
11296 | sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6"; | ||
11297 | }; | ||
11298 | } | ||
11299 | |||
11300 | { | ||
11301 | name = "tunnel-agent-0.6.0.tgz"; | ||
11302 | path = fetchurl { | ||
11303 | name = "tunnel-agent-0.6.0.tgz"; | ||
11304 | url = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz"; | ||
11305 | sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd"; | ||
11306 | }; | ||
11307 | } | ||
11308 | |||
11309 | { | ||
11310 | name = "tweetnacl-0.14.5.tgz"; | ||
11311 | path = fetchurl { | ||
11312 | name = "tweetnacl-0.14.5.tgz"; | ||
11313 | url = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz"; | ||
11314 | sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64"; | ||
11315 | }; | ||
11316 | } | ||
11317 | |||
11318 | { | ||
11319 | name = "type-check-0.3.2.tgz"; | ||
11320 | path = fetchurl { | ||
11321 | name = "type-check-0.3.2.tgz"; | ||
11322 | url = "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz"; | ||
11323 | sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72"; | ||
11324 | }; | ||
11325 | } | ||
11326 | |||
11327 | { | ||
11328 | name = "type-is-1.6.16.tgz"; | ||
11329 | path = fetchurl { | ||
11330 | name = "type-is-1.6.16.tgz"; | ||
11331 | url = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz"; | ||
11332 | sha1 = "f89ce341541c672b25ee7ae3c73dee3b2be50194"; | ||
11333 | }; | ||
11334 | } | ||
11335 | |||
11336 | { | ||
11337 | name = "typedarray-0.0.6.tgz"; | ||
11338 | path = fetchurl { | ||
11339 | name = "typedarray-0.0.6.tgz"; | ||
11340 | url = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz"; | ||
11341 | sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777"; | ||
11342 | }; | ||
11343 | } | ||
11344 | |||
11345 | { | ||
11346 | name = "ua-parser-js-0.7.18.tgz"; | ||
11347 | path = fetchurl { | ||
11348 | name = "ua-parser-js-0.7.18.tgz"; | ||
11349 | url = "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.18.tgz"; | ||
11350 | sha1 = "a7bfd92f56edfb117083b69e31d2aa8882d4b1ed"; | ||
11351 | }; | ||
11352 | } | ||
11353 | |||
11354 | { | ||
11355 | name = "uglify-es-3.3.9.tgz"; | ||
11356 | path = fetchurl { | ||
11357 | name = "uglify-es-3.3.9.tgz"; | ||
11358 | url = "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz"; | ||
11359 | sha1 = "0c1c4f0700bed8dbc124cdb304d2592ca203e677"; | ||
11360 | }; | ||
11361 | } | ||
11362 | |||
11363 | { | ||
11364 | name = "uglify-js-3.4.9.tgz"; | ||
11365 | path = fetchurl { | ||
11366 | name = "uglify-js-3.4.9.tgz"; | ||
11367 | url = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.9.tgz"; | ||
11368 | sha1 = "af02f180c1207d76432e473ed24a28f4a782bae3"; | ||
11369 | }; | ||
11370 | } | ||
11371 | |||
11372 | { | ||
11373 | name = "uglifyjs-webpack-plugin-1.3.0.tgz"; | ||
11374 | path = fetchurl { | ||
11375 | name = "uglifyjs-webpack-plugin-1.3.0.tgz"; | ||
11376 | url = "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz"; | ||
11377 | sha1 = "75f548160858163a08643e086d5fefe18a5d67de"; | ||
11378 | }; | ||
11379 | } | ||
11380 | |||
11381 | { | ||
11382 | name = "uid-number-0.0.6.tgz"; | ||
11383 | path = fetchurl { | ||
11384 | name = "uid-number-0.0.6.tgz"; | ||
11385 | url = "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz"; | ||
11386 | sha1 = "0ea10e8035e8eb5b8e4449f06da1c730663baa81"; | ||
11387 | }; | ||
11388 | } | ||
11389 | |||
11390 | { | ||
11391 | name = "underscore-1.4.4.tgz"; | ||
11392 | path = fetchurl { | ||
11393 | name = "underscore-1.4.4.tgz"; | ||
11394 | url = "https://registry.yarnpkg.com/underscore/-/underscore-1.4.4.tgz"; | ||
11395 | sha1 = "61a6a32010622afa07963bf325203cf12239d604"; | ||
11396 | }; | ||
11397 | } | ||
11398 | |||
11399 | { | ||
11400 | name = "unicode-canonical-property-names-ecmascript-1.0.4.tgz"; | ||
11401 | path = fetchurl { | ||
11402 | name = "unicode-canonical-property-names-ecmascript-1.0.4.tgz"; | ||
11403 | url = "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz"; | ||
11404 | sha1 = "2619800c4c825800efdd8343af7dd9933cbe2818"; | ||
11405 | }; | ||
11406 | } | ||
11407 | |||
11408 | { | ||
11409 | name = "unicode-match-property-ecmascript-1.0.4.tgz"; | ||
11410 | path = fetchurl { | ||
11411 | name = "unicode-match-property-ecmascript-1.0.4.tgz"; | ||
11412 | url = "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz"; | ||
11413 | sha1 = "8ed2a32569961bce9227d09cd3ffbb8fed5f020c"; | ||
11414 | }; | ||
11415 | } | ||
11416 | |||
11417 | { | ||
11418 | name = "unicode-match-property-value-ecmascript-1.0.2.tgz"; | ||
11419 | path = fetchurl { | ||
11420 | name = "unicode-match-property-value-ecmascript-1.0.2.tgz"; | ||
11421 | url = "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz"; | ||
11422 | sha1 = "9f1dc76926d6ccf452310564fd834ace059663d4"; | ||
11423 | }; | ||
11424 | } | ||
11425 | |||
11426 | { | ||
11427 | name = "unicode-property-aliases-ecmascript-1.0.4.tgz"; | ||
11428 | path = fetchurl { | ||
11429 | name = "unicode-property-aliases-ecmascript-1.0.4.tgz"; | ||
11430 | url = "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz"; | ||
11431 | sha1 = "5a533f31b4317ea76f17d807fa0d116546111dd0"; | ||
11432 | }; | ||
11433 | } | ||
11434 | |||
11435 | { | ||
11436 | name = "union-value-1.0.0.tgz"; | ||
11437 | path = fetchurl { | ||
11438 | name = "union-value-1.0.0.tgz"; | ||
11439 | url = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz"; | ||
11440 | sha1 = "5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"; | ||
11441 | }; | ||
11442 | } | ||
11443 | |||
11444 | { | ||
11445 | name = "uniq-1.0.1.tgz"; | ||
11446 | path = fetchurl { | ||
11447 | name = "uniq-1.0.1.tgz"; | ||
11448 | url = "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz"; | ||
11449 | sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff"; | ||
11450 | }; | ||
11451 | } | ||
11452 | |||
11453 | { | ||
11454 | name = "unique-filename-1.1.0.tgz"; | ||
11455 | path = fetchurl { | ||
11456 | name = "unique-filename-1.1.0.tgz"; | ||
11457 | url = "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.0.tgz"; | ||
11458 | sha1 = "d05f2fe4032560871f30e93cbe735eea201514f3"; | ||
11459 | }; | ||
11460 | } | ||
11461 | |||
11462 | { | ||
11463 | name = "unique-slug-2.0.0.tgz"; | ||
11464 | path = fetchurl { | ||
11465 | name = "unique-slug-2.0.0.tgz"; | ||
11466 | url = "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.0.tgz"; | ||
11467 | sha1 = "db6676e7c7cc0629878ff196097c78855ae9f4ab"; | ||
11468 | }; | ||
11469 | } | ||
11470 | |||
11471 | { | ||
11472 | name = "universalify-0.1.2.tgz"; | ||
11473 | path = fetchurl { | ||
11474 | name = "universalify-0.1.2.tgz"; | ||
11475 | url = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz"; | ||
11476 | sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66"; | ||
11477 | }; | ||
11478 | } | ||
11479 | |||
11480 | { | ||
11481 | name = "unpipe-1.0.0.tgz"; | ||
11482 | path = fetchurl { | ||
11483 | name = "unpipe-1.0.0.tgz"; | ||
11484 | url = "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz"; | ||
11485 | sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec"; | ||
11486 | }; | ||
11487 | } | ||
11488 | |||
11489 | { | ||
11490 | name = "unquote-1.1.1.tgz"; | ||
11491 | path = fetchurl { | ||
11492 | name = "unquote-1.1.1.tgz"; | ||
11493 | url = "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz"; | ||
11494 | sha1 = "8fded7324ec6e88a0ff8b905e7c098cdc086d544"; | ||
11495 | }; | ||
11496 | } | ||
11497 | |||
11498 | { | ||
11499 | name = "unset-value-1.0.0.tgz"; | ||
11500 | path = fetchurl { | ||
11501 | name = "unset-value-1.0.0.tgz"; | ||
11502 | url = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz"; | ||
11503 | sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"; | ||
11504 | }; | ||
11505 | } | ||
11506 | |||
11507 | { | ||
11508 | name = "upath-1.1.0.tgz"; | ||
11509 | path = fetchurl { | ||
11510 | name = "upath-1.1.0.tgz"; | ||
11511 | url = "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz"; | ||
11512 | sha1 = "35256597e46a581db4793d0ce47fa9aebfc9fabd"; | ||
11513 | }; | ||
11514 | } | ||
11515 | |||
11516 | { | ||
11517 | name = "uri-js-4.2.2.tgz"; | ||
11518 | path = fetchurl { | ||
11519 | name = "uri-js-4.2.2.tgz"; | ||
11520 | url = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz"; | ||
11521 | sha1 = "94c540e1ff772956e2299507c010aea6c8838eb0"; | ||
11522 | }; | ||
11523 | } | ||
11524 | |||
11525 | { | ||
11526 | name = "urix-0.1.0.tgz"; | ||
11527 | path = fetchurl { | ||
11528 | name = "urix-0.1.0.tgz"; | ||
11529 | url = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz"; | ||
11530 | sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72"; | ||
11531 | }; | ||
11532 | } | ||
11533 | |||
11534 | { | ||
11535 | name = "url-join-4.0.0.tgz"; | ||
11536 | path = fetchurl { | ||
11537 | name = "url-join-4.0.0.tgz"; | ||
11538 | url = "https://registry.yarnpkg.com/url-join/-/url-join-4.0.0.tgz"; | ||
11539 | sha1 = "4d3340e807d3773bda9991f8305acdcc2a665d2a"; | ||
11540 | }; | ||
11541 | } | ||
11542 | |||
11543 | { | ||
11544 | name = "url-parse-1.4.3.tgz"; | ||
11545 | path = fetchurl { | ||
11546 | name = "url-parse-1.4.3.tgz"; | ||
11547 | url = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.3.tgz"; | ||
11548 | sha1 = "bfaee455c889023219d757e045fa6a684ec36c15"; | ||
11549 | }; | ||
11550 | } | ||
11551 | |||
11552 | { | ||
11553 | name = "url-0.11.0.tgz"; | ||
11554 | path = fetchurl { | ||
11555 | name = "url-0.11.0.tgz"; | ||
11556 | url = "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz"; | ||
11557 | sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"; | ||
11558 | }; | ||
11559 | } | ||
11560 | |||
11561 | { | ||
11562 | name = "use-3.1.1.tgz"; | ||
11563 | path = fetchurl { | ||
11564 | name = "use-3.1.1.tgz"; | ||
11565 | url = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz"; | ||
11566 | sha1 = "d50c8cac79a19fbc20f2911f56eb973f4e10070f"; | ||
11567 | }; | ||
11568 | } | ||
11569 | |||
11570 | { | ||
11571 | name = "util-deprecate-1.0.2.tgz"; | ||
11572 | path = fetchurl { | ||
11573 | name = "util-deprecate-1.0.2.tgz"; | ||
11574 | url = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz"; | ||
11575 | sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; | ||
11576 | }; | ||
11577 | } | ||
11578 | |||
11579 | { | ||
11580 | name = "util.promisify-1.0.0.tgz"; | ||
11581 | path = fetchurl { | ||
11582 | name = "util.promisify-1.0.0.tgz"; | ||
11583 | url = "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz"; | ||
11584 | sha1 = "440f7165a459c9a16dc145eb8e72f35687097030"; | ||
11585 | }; | ||
11586 | } | ||
11587 | |||
11588 | { | ||
11589 | name = "util-0.10.3.tgz"; | ||
11590 | path = fetchurl { | ||
11591 | name = "util-0.10.3.tgz"; | ||
11592 | url = "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz"; | ||
11593 | sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9"; | ||
11594 | }; | ||
11595 | } | ||
11596 | |||
11597 | { | ||
11598 | name = "util-0.10.4.tgz"; | ||
11599 | path = fetchurl { | ||
11600 | name = "util-0.10.4.tgz"; | ||
11601 | url = "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz"; | ||
11602 | sha1 = "3aa0125bfe668a4672de58857d3ace27ecb76901"; | ||
11603 | }; | ||
11604 | } | ||
11605 | |||
11606 | { | ||
11607 | name = "utils-merge-1.0.1.tgz"; | ||
11608 | path = fetchurl { | ||
11609 | name = "utils-merge-1.0.1.tgz"; | ||
11610 | url = "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz"; | ||
11611 | sha1 = "9f95710f50a267947b2ccc124741c1028427e713"; | ||
11612 | }; | ||
11613 | } | ||
11614 | |||
11615 | { | ||
11616 | name = "uuid-3.3.2.tgz"; | ||
11617 | path = fetchurl { | ||
11618 | name = "uuid-3.3.2.tgz"; | ||
11619 | url = "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz"; | ||
11620 | sha1 = "1b4af4955eb3077c501c23872fc6513811587131"; | ||
11621 | }; | ||
11622 | } | ||
11623 | |||
11624 | { | ||
11625 | name = "uws-10.148.0.tgz"; | ||
11626 | path = fetchurl { | ||
11627 | name = "uws-10.148.0.tgz"; | ||
11628 | url = "https://registry.yarnpkg.com/uws/-/uws-10.148.0.tgz"; | ||
11629 | sha1 = "3fcd35f083ca515e091cd33b2d78f0f51a666215"; | ||
11630 | }; | ||
11631 | } | ||
11632 | |||
11633 | { | ||
11634 | name = "v8-compile-cache-2.0.2.tgz"; | ||
11635 | path = fetchurl { | ||
11636 | name = "v8-compile-cache-2.0.2.tgz"; | ||
11637 | url = "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz"; | ||
11638 | sha1 = "a428b28bb26790734c4fc8bc9fa106fccebf6a6c"; | ||
11639 | }; | ||
11640 | } | ||
11641 | |||
11642 | { | ||
11643 | name = "validate-npm-package-license-3.0.4.tgz"; | ||
11644 | path = fetchurl { | ||
11645 | name = "validate-npm-package-license-3.0.4.tgz"; | ||
11646 | url = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz"; | ||
11647 | sha1 = "fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"; | ||
11648 | }; | ||
11649 | } | ||
11650 | |||
11651 | { | ||
11652 | name = "value-equal-0.4.0.tgz"; | ||
11653 | path = fetchurl { | ||
11654 | name = "value-equal-0.4.0.tgz"; | ||
11655 | url = "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz"; | ||
11656 | sha1 = "c5bdd2f54ee093c04839d71ce2e4758a6890abc7"; | ||
11657 | }; | ||
11658 | } | ||
11659 | |||
11660 | { | ||
11661 | name = "vary-1.1.2.tgz"; | ||
11662 | path = fetchurl { | ||
11663 | name = "vary-1.1.2.tgz"; | ||
11664 | url = "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz"; | ||
11665 | sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc"; | ||
11666 | }; | ||
11667 | } | ||
11668 | |||
11669 | { | ||
11670 | name = "verror-1.10.0.tgz"; | ||
11671 | path = fetchurl { | ||
11672 | name = "verror-1.10.0.tgz"; | ||
11673 | url = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz"; | ||
11674 | sha1 = "3a105ca17053af55d6e270c1f8288682e18da400"; | ||
11675 | }; | ||
11676 | } | ||
11677 | |||
11678 | { | ||
11679 | name = "vm-browserify-0.0.4.tgz"; | ||
11680 | path = fetchurl { | ||
11681 | name = "vm-browserify-0.0.4.tgz"; | ||
11682 | url = "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz"; | ||
11683 | sha1 = "5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"; | ||
11684 | }; | ||
11685 | } | ||
11686 | |||
11687 | { | ||
11688 | name = "w3c-hr-time-1.0.1.tgz"; | ||
11689 | path = fetchurl { | ||
11690 | name = "w3c-hr-time-1.0.1.tgz"; | ||
11691 | url = "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz"; | ||
11692 | sha1 = "82ac2bff63d950ea9e3189a58a65625fedf19045"; | ||
11693 | }; | ||
11694 | } | ||
11695 | |||
11696 | { | ||
11697 | name = "walker-1.0.7.tgz"; | ||
11698 | path = fetchurl { | ||
11699 | name = "walker-1.0.7.tgz"; | ||
11700 | url = "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz"; | ||
11701 | sha1 = "2f7f9b8fd10d677262b18a884e28d19618e028fb"; | ||
11702 | }; | ||
11703 | } | ||
11704 | |||
11705 | { | ||
11706 | name = "warning-3.0.0.tgz"; | ||
11707 | path = fetchurl { | ||
11708 | name = "warning-3.0.0.tgz"; | ||
11709 | url = "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz"; | ||
11710 | sha1 = "32e5377cb572de4ab04753bdf8821c01ed605b7c"; | ||
11711 | }; | ||
11712 | } | ||
11713 | |||
11714 | { | ||
11715 | name = "warning-4.0.2.tgz"; | ||
11716 | path = fetchurl { | ||
11717 | name = "warning-4.0.2.tgz"; | ||
11718 | url = "https://registry.yarnpkg.com/warning/-/warning-4.0.2.tgz"; | ||
11719 | sha1 = "aa6876480872116fa3e11d434b0d0d8d91e44607"; | ||
11720 | }; | ||
11721 | } | ||
11722 | |||
11723 | { | ||
11724 | name = "watch-0.18.0.tgz"; | ||
11725 | path = fetchurl { | ||
11726 | name = "watch-0.18.0.tgz"; | ||
11727 | url = "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz"; | ||
11728 | sha1 = "28095476c6df7c90c963138990c0a5423eb4b986"; | ||
11729 | }; | ||
11730 | } | ||
11731 | |||
11732 | { | ||
11733 | name = "watchpack-1.6.0.tgz"; | ||
11734 | path = fetchurl { | ||
11735 | name = "watchpack-1.6.0.tgz"; | ||
11736 | url = "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz"; | ||
11737 | sha1 = "4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"; | ||
11738 | }; | ||
11739 | } | ||
11740 | |||
11741 | { | ||
11742 | name = "wbuf-1.7.3.tgz"; | ||
11743 | path = fetchurl { | ||
11744 | name = "wbuf-1.7.3.tgz"; | ||
11745 | url = "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz"; | ||
11746 | sha1 = "c1d8d149316d3ea852848895cb6a0bfe887b87df"; | ||
11747 | }; | ||
11748 | } | ||
11749 | |||
11750 | { | ||
11751 | name = "webidl-conversions-4.0.2.tgz"; | ||
11752 | path = fetchurl { | ||
11753 | name = "webidl-conversions-4.0.2.tgz"; | ||
11754 | url = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz"; | ||
11755 | sha1 = "a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"; | ||
11756 | }; | ||
11757 | } | ||
11758 | |||
11759 | { | ||
11760 | name = "webpack-bundle-analyzer-2.13.1.tgz"; | ||
11761 | path = fetchurl { | ||
11762 | name = "webpack-bundle-analyzer-2.13.1.tgz"; | ||
11763 | url = "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz"; | ||
11764 | sha1 = "07d2176c6e86c3cdce4c23e56fae2a7b6b4ad526"; | ||
11765 | }; | ||
11766 | } | ||
11767 | |||
11768 | { | ||
11769 | name = "webpack-cli-3.1.0.tgz"; | ||
11770 | path = fetchurl { | ||
11771 | name = "webpack-cli-3.1.0.tgz"; | ||
11772 | url = "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.1.0.tgz"; | ||
11773 | sha1 = "d71a83687dcfeb758fdceeb0fe042f96bcf62994"; | ||
11774 | }; | ||
11775 | } | ||
11776 | |||
11777 | { | ||
11778 | name = "webpack-dev-middleware-3.2.0.tgz"; | ||
11779 | path = fetchurl { | ||
11780 | name = "webpack-dev-middleware-3.2.0.tgz"; | ||
11781 | url = "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.2.0.tgz"; | ||
11782 | sha1 = "a20ceef194873710052da678f3c6ee0aeed92552"; | ||
11783 | }; | ||
11784 | } | ||
11785 | |||
11786 | { | ||
11787 | name = "webpack-dev-server-3.1.8.tgz"; | ||
11788 | path = fetchurl { | ||
11789 | name = "webpack-dev-server-3.1.8.tgz"; | ||
11790 | url = "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.8.tgz"; | ||
11791 | sha1 = "eb7a95945d1108170f902604fb3b939533d9daeb"; | ||
11792 | }; | ||
11793 | } | ||
11794 | |||
11795 | { | ||
11796 | name = "webpack-log-2.0.0.tgz"; | ||
11797 | path = fetchurl { | ||
11798 | name = "webpack-log-2.0.0.tgz"; | ||
11799 | url = "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz"; | ||
11800 | sha1 = "5b7928e0637593f119d32f6227c1e0ac31e1b47f"; | ||
11801 | }; | ||
11802 | } | ||
11803 | |||
11804 | { | ||
11805 | name = "webpack-manifest-plugin-2.0.4.tgz"; | ||
11806 | path = fetchurl { | ||
11807 | name = "webpack-manifest-plugin-2.0.4.tgz"; | ||
11808 | url = "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.0.4.tgz"; | ||
11809 | sha1 = "e4ca2999b09557716b8ba4475fb79fab5986f0cd"; | ||
11810 | }; | ||
11811 | } | ||
11812 | |||
11813 | { | ||
11814 | name = "webpack-merge-4.1.4.tgz"; | ||
11815 | path = fetchurl { | ||
11816 | name = "webpack-merge-4.1.4.tgz"; | ||
11817 | url = "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.4.tgz"; | ||
11818 | sha1 = "0fde38eabf2d5fd85251c24a5a8c48f8a3f4eb7b"; | ||
11819 | }; | ||
11820 | } | ||
11821 | |||
11822 | { | ||
11823 | name = "webpack-sources-1.2.0.tgz"; | ||
11824 | path = fetchurl { | ||
11825 | name = "webpack-sources-1.2.0.tgz"; | ||
11826 | url = "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.2.0.tgz"; | ||
11827 | sha1 = "18181e0d013fce096faf6f8e6d41eeffffdceac2"; | ||
11828 | }; | ||
11829 | } | ||
11830 | |||
11831 | { | ||
11832 | name = "webpack-4.18.0.tgz"; | ||
11833 | path = fetchurl { | ||
11834 | name = "webpack-4.18.0.tgz"; | ||
11835 | url = "https://registry.yarnpkg.com/webpack/-/webpack-4.18.0.tgz"; | ||
11836 | sha1 = "7dafaaf309c12e63080d3960fba7ed94afdcbe84"; | ||
11837 | }; | ||
11838 | } | ||
11839 | |||
11840 | { | ||
11841 | name = "websocket-driver-0.7.0.tgz"; | ||
11842 | path = fetchurl { | ||
11843 | name = "websocket-driver-0.7.0.tgz"; | ||
11844 | url = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz"; | ||
11845 | sha1 = "0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb"; | ||
11846 | }; | ||
11847 | } | ||
11848 | |||
11849 | { | ||
11850 | name = "websocket-extensions-0.1.3.tgz"; | ||
11851 | path = fetchurl { | ||
11852 | name = "websocket-extensions-0.1.3.tgz"; | ||
11853 | url = "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz"; | ||
11854 | sha1 = "5d2ff22977003ec687a4b87073dfbbac146ccf29"; | ||
11855 | }; | ||
11856 | } | ||
11857 | |||
11858 | { | ||
11859 | name = "websocket.js-0.1.12.tgz"; | ||
11860 | path = fetchurl { | ||
11861 | name = "websocket.js-0.1.12.tgz"; | ||
11862 | url = "https://registry.yarnpkg.com/websocket.js/-/websocket.js-0.1.12.tgz"; | ||
11863 | sha1 = "46c980787c57ebc8edcf44a0263e5d639367b85b"; | ||
11864 | }; | ||
11865 | } | ||
11866 | |||
11867 | { | ||
11868 | name = "whatwg-encoding-1.0.4.tgz"; | ||
11869 | path = fetchurl { | ||
11870 | name = "whatwg-encoding-1.0.4.tgz"; | ||
11871 | url = "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.4.tgz"; | ||
11872 | sha1 = "63fb016b7435b795d9025632c086a5209dbd2621"; | ||
11873 | }; | ||
11874 | } | ||
11875 | |||
11876 | { | ||
11877 | name = "whatwg-fetch-3.0.0.tgz"; | ||
11878 | path = fetchurl { | ||
11879 | name = "whatwg-fetch-3.0.0.tgz"; | ||
11880 | url = "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz"; | ||
11881 | sha1 = "fc804e458cc460009b1a2b966bc8817d2578aefb"; | ||
11882 | }; | ||
11883 | } | ||
11884 | |||
11885 | { | ||
11886 | name = "whatwg-mimetype-2.1.0.tgz"; | ||
11887 | path = fetchurl { | ||
11888 | name = "whatwg-mimetype-2.1.0.tgz"; | ||
11889 | url = "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.1.0.tgz"; | ||
11890 | sha1 = "f0f21d76cbba72362eb609dbed2a30cd17fcc7d4"; | ||
11891 | }; | ||
11892 | } | ||
11893 | |||
11894 | { | ||
11895 | name = "whatwg-url-6.5.0.tgz"; | ||
11896 | path = fetchurl { | ||
11897 | name = "whatwg-url-6.5.0.tgz"; | ||
11898 | url = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz"; | ||
11899 | sha1 = "f2df02bff176fd65070df74ad5ccbb5a199965a8"; | ||
11900 | }; | ||
11901 | } | ||
11902 | |||
11903 | { | ||
11904 | name = "whatwg-url-7.0.0.tgz"; | ||
11905 | path = fetchurl { | ||
11906 | name = "whatwg-url-7.0.0.tgz"; | ||
11907 | url = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz"; | ||
11908 | sha1 = "fde926fa54a599f3adf82dff25a9f7be02dc6edd"; | ||
11909 | }; | ||
11910 | } | ||
11911 | |||
11912 | { | ||
11913 | name = "which-module-1.0.0.tgz"; | ||
11914 | path = fetchurl { | ||
11915 | name = "which-module-1.0.0.tgz"; | ||
11916 | url = "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz"; | ||
11917 | sha1 = "bba63ca861948994ff307736089e3b96026c2a4f"; | ||
11918 | }; | ||
11919 | } | ||
11920 | |||
11921 | { | ||
11922 | name = "which-module-2.0.0.tgz"; | ||
11923 | path = fetchurl { | ||
11924 | name = "which-module-2.0.0.tgz"; | ||
11925 | url = "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz"; | ||
11926 | sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"; | ||
11927 | }; | ||
11928 | } | ||
11929 | |||
11930 | { | ||
11931 | name = "which-1.3.1.tgz"; | ||
11932 | path = fetchurl { | ||
11933 | name = "which-1.3.1.tgz"; | ||
11934 | url = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz"; | ||
11935 | sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a"; | ||
11936 | }; | ||
11937 | } | ||
11938 | |||
11939 | { | ||
11940 | name = "wide-align-1.1.3.tgz"; | ||
11941 | path = fetchurl { | ||
11942 | name = "wide-align-1.1.3.tgz"; | ||
11943 | url = "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz"; | ||
11944 | sha1 = "ae074e6bdc0c14a431e804e624549c633b000457"; | ||
11945 | }; | ||
11946 | } | ||
11947 | |||
11948 | { | ||
11949 | name = "wordwrap-0.0.3.tgz"; | ||
11950 | path = fetchurl { | ||
11951 | name = "wordwrap-0.0.3.tgz"; | ||
11952 | url = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz"; | ||
11953 | sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107"; | ||
11954 | }; | ||
11955 | } | ||
11956 | |||
11957 | { | ||
11958 | name = "wordwrap-1.0.0.tgz"; | ||
11959 | path = fetchurl { | ||
11960 | name = "wordwrap-1.0.0.tgz"; | ||
11961 | url = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz"; | ||
11962 | sha1 = "27584810891456a4171c8d0226441ade90cbcaeb"; | ||
11963 | }; | ||
11964 | } | ||
11965 | |||
11966 | { | ||
11967 | name = "worker-farm-1.6.0.tgz"; | ||
11968 | path = fetchurl { | ||
11969 | name = "worker-farm-1.6.0.tgz"; | ||
11970 | url = "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz"; | ||
11971 | sha1 = "aecc405976fab5a95526180846f0dba288f3a4a0"; | ||
11972 | }; | ||
11973 | } | ||
11974 | |||
11975 | { | ||
11976 | name = "wrap-ansi-2.1.0.tgz"; | ||
11977 | path = fetchurl { | ||
11978 | name = "wrap-ansi-2.1.0.tgz"; | ||
11979 | url = "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz"; | ||
11980 | sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85"; | ||
11981 | }; | ||
11982 | } | ||
11983 | |||
11984 | { | ||
11985 | name = "wrappy-1.0.2.tgz"; | ||
11986 | path = fetchurl { | ||
11987 | name = "wrappy-1.0.2.tgz"; | ||
11988 | url = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz"; | ||
11989 | sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"; | ||
11990 | }; | ||
11991 | } | ||
11992 | |||
11993 | { | ||
11994 | name = "write-file-atomic-2.3.0.tgz"; | ||
11995 | path = fetchurl { | ||
11996 | name = "write-file-atomic-2.3.0.tgz"; | ||
11997 | url = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz"; | ||
11998 | sha1 = "1ff61575c2e2a4e8e510d6fa4e243cce183999ab"; | ||
11999 | }; | ||
12000 | } | ||
12001 | |||
12002 | { | ||
12003 | name = "write-0.2.1.tgz"; | ||
12004 | path = fetchurl { | ||
12005 | name = "write-0.2.1.tgz"; | ||
12006 | url = "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz"; | ||
12007 | sha1 = "5fc03828e264cea3fe91455476f7a3c566cb0757"; | ||
12008 | }; | ||
12009 | } | ||
12010 | |||
12011 | { | ||
12012 | name = "ws-4.1.0.tgz"; | ||
12013 | path = fetchurl { | ||
12014 | name = "ws-4.1.0.tgz"; | ||
12015 | url = "https://registry.yarnpkg.com/ws/-/ws-4.1.0.tgz"; | ||
12016 | sha1 = "a979b5d7d4da68bf54efe0408967c324869a7289"; | ||
12017 | }; | ||
12018 | } | ||
12019 | |||
12020 | { | ||
12021 | name = "ws-5.2.2.tgz"; | ||
12022 | path = fetchurl { | ||
12023 | name = "ws-5.2.2.tgz"; | ||
12024 | url = "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz"; | ||
12025 | sha1 = "dffef14866b8e8dc9133582514d1befaf96e980f"; | ||
12026 | }; | ||
12027 | } | ||
12028 | |||
12029 | { | ||
12030 | name = "xml-name-validator-3.0.0.tgz"; | ||
12031 | path = fetchurl { | ||
12032 | name = "xml-name-validator-3.0.0.tgz"; | ||
12033 | url = "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz"; | ||
12034 | sha1 = "6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"; | ||
12035 | }; | ||
12036 | } | ||
12037 | |||
12038 | { | ||
12039 | name = "xregexp-4.0.0.tgz"; | ||
12040 | path = fetchurl { | ||
12041 | name = "xregexp-4.0.0.tgz"; | ||
12042 | url = "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz"; | ||
12043 | sha1 = "e698189de49dd2a18cc5687b05e17c8e43943020"; | ||
12044 | }; | ||
12045 | } | ||
12046 | |||
12047 | { | ||
12048 | name = "xtend-4.0.1.tgz"; | ||
12049 | path = fetchurl { | ||
12050 | name = "xtend-4.0.1.tgz"; | ||
12051 | url = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz"; | ||
12052 | sha1 = "a5c6d532be656e23db820efb943a1f04998d63af"; | ||
12053 | }; | ||
12054 | } | ||
12055 | |||
12056 | { | ||
12057 | name = "y18n-3.2.1.tgz"; | ||
12058 | path = fetchurl { | ||
12059 | name = "y18n-3.2.1.tgz"; | ||
12060 | url = "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz"; | ||
12061 | sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41"; | ||
12062 | }; | ||
12063 | } | ||
12064 | |||
12065 | { | ||
12066 | name = "y18n-4.0.0.tgz"; | ||
12067 | path = fetchurl { | ||
12068 | name = "y18n-4.0.0.tgz"; | ||
12069 | url = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz"; | ||
12070 | sha1 = "95ef94f85ecc81d007c264e190a120f0a3c8566b"; | ||
12071 | }; | ||
12072 | } | ||
12073 | |||
12074 | { | ||
12075 | name = "yallist-2.1.2.tgz"; | ||
12076 | path = fetchurl { | ||
12077 | name = "yallist-2.1.2.tgz"; | ||
12078 | url = "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz"; | ||
12079 | sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52"; | ||
12080 | }; | ||
12081 | } | ||
12082 | |||
12083 | { | ||
12084 | name = "yallist-3.0.2.tgz"; | ||
12085 | path = fetchurl { | ||
12086 | name = "yallist-3.0.2.tgz"; | ||
12087 | url = "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz"; | ||
12088 | sha1 = "8452b4bb7e83c7c188d8041c1a837c773d6d8bb9"; | ||
12089 | }; | ||
12090 | } | ||
12091 | |||
12092 | { | ||
12093 | name = "yargs-parser-10.1.0.tgz"; | ||
12094 | path = fetchurl { | ||
12095 | name = "yargs-parser-10.1.0.tgz"; | ||
12096 | url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz"; | ||
12097 | sha1 = "7202265b89f7e9e9f2e5765e0fe735a905edbaa8"; | ||
12098 | }; | ||
12099 | } | ||
12100 | |||
12101 | { | ||
12102 | name = "yargs-parser-5.0.0.tgz"; | ||
12103 | path = fetchurl { | ||
12104 | name = "yargs-parser-5.0.0.tgz"; | ||
12105 | url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz"; | ||
12106 | sha1 = "275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"; | ||
12107 | }; | ||
12108 | } | ||
12109 | |||
12110 | { | ||
12111 | name = "yargs-parser-7.0.0.tgz"; | ||
12112 | path = fetchurl { | ||
12113 | name = "yargs-parser-7.0.0.tgz"; | ||
12114 | url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz"; | ||
12115 | sha1 = "8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9"; | ||
12116 | }; | ||
12117 | } | ||
12118 | |||
12119 | { | ||
12120 | name = "yargs-parser-9.0.2.tgz"; | ||
12121 | path = fetchurl { | ||
12122 | name = "yargs-parser-9.0.2.tgz"; | ||
12123 | url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz"; | ||
12124 | sha1 = "9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077"; | ||
12125 | }; | ||
12126 | } | ||
12127 | |||
12128 | { | ||
12129 | name = "yargs-12.0.2.tgz"; | ||
12130 | path = fetchurl { | ||
12131 | name = "yargs-12.0.2.tgz"; | ||
12132 | url = "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz"; | ||
12133 | sha1 = "fe58234369392af33ecbef53819171eff0f5aadc"; | ||
12134 | }; | ||
12135 | } | ||
12136 | |||
12137 | { | ||
12138 | name = "yargs-11.1.0.tgz"; | ||
12139 | path = fetchurl { | ||
12140 | name = "yargs-11.1.0.tgz"; | ||
12141 | url = "http://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz"; | ||
12142 | sha1 = "90b869934ed6e871115ea2ff58b03f4724ed2d77"; | ||
12143 | }; | ||
12144 | } | ||
12145 | |||
12146 | { | ||
12147 | name = "yargs-7.1.0.tgz"; | ||
12148 | path = fetchurl { | ||
12149 | name = "yargs-7.1.0.tgz"; | ||
12150 | url = "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz"; | ||
12151 | sha1 = "6ba318eb16961727f5d284f8ea003e8d6154d0c8"; | ||
12152 | }; | ||
12153 | } | ||
12154 | |||
12155 | { | ||
12156 | name = "yargs-8.0.2.tgz"; | ||
12157 | path = fetchurl { | ||
12158 | name = "yargs-8.0.2.tgz"; | ||
12159 | url = "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz"; | ||
12160 | sha1 = "6299a9055b1cefc969ff7e79c1d918dceb22c360"; | ||
12161 | }; | ||
12162 | } | ||
12163 | ]; | ||
12164 | } | ||
diff --git a/virtual/modules/websites/tools/mediagoblin/bower-packages.nix b/virtual/modules/websites/tools/mediagoblin/bower-packages.nix deleted file mode 100644 index 03af849..0000000 --- a/virtual/modules/websites/tools/mediagoblin/bower-packages.nix +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | # Generated by bower2nix v3.2.0 (https://github.com/rvl/bower2nix) | ||
2 | { fetchbower, buildEnv }: | ||
3 | buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [ | ||
4 | (fetchbower "jquery" "2.1.4" "~2.1.3" "1ywrpk2xsr6ghkm3j9gfnl9r3jn6xarfamp99b0bcm57kq9fm2k0") | ||
5 | (fetchbower "video.js" "4.11.4" "~4.11.4" "05prdvyk0rxbkh7sdd0d9ns5l5crwvc68wzkyqmrdjw367pcv8sn") | ||
6 | (fetchbower "leaflet" "0.7.7" "~0.7.3" "0jim285bljmxxngpm3yx6bnnd10n2whwkgmmhzpcd1rdksnr5nca") | ||
7 | (fetchbower "tinymce" "4.1.10" "~4.1.7" "16jyvdb9bq8gjwhs69q8p88vdixalajrz81nsmbrzzxhkih57dyx") | ||
8 | ]; } | ||
diff --git a/virtual/modules/websites/tools/mediagoblin/default.nix b/virtual/modules/websites/tools/mediagoblin/default.nix deleted file mode 100644 index 5f60503..0000000 --- a/virtual/modules/websites/tools/mediagoblin/default.nix +++ /dev/null | |||
@@ -1,147 +0,0 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | ||
2 | let | ||
3 | mediagoblin = pkgs.callPackage ./mediagoblin.nix { | ||
4 | inherit (mylibs) fetchedGit fetchedGithub; | ||
5 | env = myconfig.env.tools.mediagoblin; | ||
6 | }; | ||
7 | |||
8 | cfg = config.services.myWebsites.tools.mediagoblin; | ||
9 | in { | ||
10 | options.services.myWebsites.tools.mediagoblin = { | ||
11 | enable = lib.mkEnableOption "enable mediagoblin's website"; | ||
12 | }; | ||
13 | |||
14 | config = lib.mkIf cfg.enable { | ||
15 | ids.uids.mediagoblin = 397; | ||
16 | ids.gids.mediagoblin = 397; | ||
17 | |||
18 | users.users.mediagoblin = { | ||
19 | name = "mediagoblin"; | ||
20 | uid = config.ids.uids.mediagoblin; | ||
21 | group = "mediagoblin"; | ||
22 | description = "Mediagoblin user"; | ||
23 | home = mediagoblin.varDir; | ||
24 | useDefaultShell = true; | ||
25 | }; | ||
26 | |||
27 | users.groups.mediagoblin.gid = config.ids.gids.mediagoblin; | ||
28 | |||
29 | systemd.services.mediagoblin-web = { | ||
30 | description = "Mediagoblin service"; | ||
31 | wantedBy = [ "multi-user.target" ]; | ||
32 | after = [ "network.target" ]; | ||
33 | |||
34 | environment.SCRIPT_NAME = "/mediagoblin/"; | ||
35 | |||
36 | script = '' | ||
37 | exec ./bin/paster serve \ | ||
38 | ${mediagoblin.pythonRoot}/paste_local.ini \ | ||
39 | --pid-file=${mediagoblin.socketsDir}/mediagoblin.pid | ||
40 | ''; | ||
41 | |||
42 | preStop = '' | ||
43 | exec ./bin/paster serve \ | ||
44 | --pid-file=${mediagoblin.socketsDir}/mediagoblin.pid \ | ||
45 | ${mediagoblin.pythonRoot}/paste_local.ini stop | ||
46 | ''; | ||
47 | preStart = '' | ||
48 | ./bin/gmg dbupdate | ||
49 | ''; | ||
50 | |||
51 | serviceConfig = { | ||
52 | User = "mediagoblin"; | ||
53 | PrivateTmp = true; | ||
54 | Restart = "always"; | ||
55 | TimeoutSec = 15; | ||
56 | Type = "simple"; | ||
57 | WorkingDirectory = mediagoblin.pythonRoot; | ||
58 | PIDFile = "${mediagoblin.socketsDir}/mediagoblin.pid"; | ||
59 | }; | ||
60 | |||
61 | unitConfig.RequiresMountsFor = mediagoblin.varDir; | ||
62 | }; | ||
63 | |||
64 | systemd.services.mediagoblin-celeryd = { | ||
65 | description = "Mediagoblin service"; | ||
66 | wantedBy = [ "multi-user.target" ]; | ||
67 | after = [ "network.target" "mediagoblin-web.service" ]; | ||
68 | |||
69 | environment.MEDIAGOBLIN_CONFIG = "${mediagoblin.pythonRoot}/mediagoblin_local.ini"; | ||
70 | environment.CELERY_CONFIG_MODULE = "mediagoblin.init.celery.from_celery"; | ||
71 | |||
72 | script = '' | ||
73 | exec ./bin/celery worker \ | ||
74 | --logfile=${mediagoblin.varDir}/celery.log \ | ||
75 | --loglevel=INFO | ||
76 | ''; | ||
77 | |||
78 | serviceConfig = { | ||
79 | User = "mediagoblin"; | ||
80 | PrivateTmp = true; | ||
81 | Restart = "always"; | ||
82 | TimeoutSec = 60; | ||
83 | Type = "simple"; | ||
84 | WorkingDirectory = mediagoblin.pythonRoot; | ||
85 | PIDFile = "${mediagoblin.socketsDir}/mediagoblin-celeryd.pid"; | ||
86 | }; | ||
87 | |||
88 | unitConfig.RequiresMountsFor = mediagoblin.varDir; | ||
89 | }; | ||
90 | |||
91 | system.activationScripts.mediagoblin = { | ||
92 | deps = [ "users" ]; | ||
93 | text = '' | ||
94 | install -m 0755 -o mediagoblin -g mediagoblin -d ${mediagoblin.socketsDir} | ||
95 | install -m 0755 -o mediagoblin -g mediagoblin -d ${mediagoblin.varDir} | ||
96 | if [ -d ${mediagoblin.varDir}/plugin_static/ ]; then | ||
97 | rm ${mediagoblin.varDir}/plugin_static/coreplugin_basic_auth | ||
98 | ln -sf ${mediagoblin.pythonRoot}/mediagoblin/plugins/basic_auth/static ${mediagoblin.varDir}/plugin_static/coreplugin_basic_auth | ||
99 | fi | ||
100 | ''; | ||
101 | }; | ||
102 | |||
103 | services.myWebsites.tools.modules = [ | ||
104 | "proxy" "proxy_http" "proxy_balancer" | ||
105 | "lbmethod_byrequests" "lbmethod_bytraffic" "lbmethod_bybusyness" "lbmethod_heartbeat" | ||
106 | ]; | ||
107 | users.users.wwwrun.extraGroups = [ "mediagoblin" ]; | ||
108 | security.acme.certs."eldiron".extraDomains."mgoblin.immae.eu" = null; | ||
109 | services.myWebsites.tools.vhostConfs.mgoblin = { | ||
110 | certName = "eldiron"; | ||
111 | hosts = ["mgoblin.immae.eu" ]; | ||
112 | root = null; | ||
113 | extraConfig = [ '' | ||
114 | Alias /mgoblin_media ${mediagoblin.varDir}/media/public | ||
115 | <Directory ${mediagoblin.varDir}/media/public> | ||
116 | Options -Indexes +FollowSymLinks +MultiViews +Includes | ||
117 | Require all granted | ||
118 | </Directory> | ||
119 | |||
120 | Alias /theme_static ${mediagoblin.varDir}/theme_static | ||
121 | <Directory ${mediagoblin.varDir}/theme_static> | ||
122 | Options -Indexes +FollowSymLinks +MultiViews +Includes | ||
123 | Require all granted | ||
124 | </Directory> | ||
125 | |||
126 | Alias /plugin_static ${mediagoblin.varDir}/plugin_static | ||
127 | <Directory ${mediagoblin.varDir}/plugin_static> | ||
128 | Options -Indexes +FollowSymLinks +MultiViews +Includes | ||
129 | Require all granted | ||
130 | </Directory> | ||
131 | |||
132 | ProxyPreserveHost on | ||
133 | ProxyVia On | ||
134 | ProxyRequests Off | ||
135 | ProxyPass /mgoblin_media ! | ||
136 | ProxyPass /theme_static ! | ||
137 | ProxyPass /plugin_static ! | ||
138 | ProxyPassMatch ^/.well-known/acme-challenge ! | ||
139 | ProxyPass / balancer://paster_server/ | ||
140 | ProxyPassReverse / balancer://paster_server | ||
141 | <Proxy balancer://paster_server> | ||
142 | BalancerMember unix://${mediagoblin.socketsDir}/mediagoblin.sock|http:// | ||
143 | </Proxy> | ||
144 | '' ]; | ||
145 | }; | ||
146 | }; | ||
147 | } | ||
diff --git a/virtual/modules/websites/tools/mediagoblin/ldap_fix.py b/virtual/modules/websites/tools/mediagoblin/ldap_fix.py deleted file mode 100644 index 10cc375..0000000 --- a/virtual/modules/websites/tools/mediagoblin/ldap_fix.py +++ /dev/null | |||
@@ -1,93 +0,0 @@ | |||
1 | # GNU MediaGoblin -- federated, autonomous media hosting | ||
2 | # Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. | ||
3 | # | ||
4 | # This program is free software: you can redistribute it and/or modify | ||
5 | # it under the terms of the GNU Affero General Public License as published by | ||
6 | # the Free Software Foundation, either version 3 of the License, or | ||
7 | # (at your option) any later version. | ||
8 | # | ||
9 | # This program is distributed in the hope that it will be useful, | ||
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | # GNU Affero General Public License for more details. | ||
13 | # | ||
14 | # You should have received a copy of the GNU Affero General Public License | ||
15 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | from ldap3 import Server, Connection, SUBTREE | ||
17 | from ldap3.core.exceptions import LDAPException | ||
18 | import logging | ||
19 | |||
20 | import six | ||
21 | |||
22 | from mediagoblin.tools import pluginapi | ||
23 | |||
24 | _log = logging.getLogger(__name__) | ||
25 | |||
26 | |||
27 | class LDAP(object): | ||
28 | def __init__(self): | ||
29 | self.ldap_settings = pluginapi.get_config('mediagoblin.plugins.ldap') | ||
30 | |||
31 | def _connect(self, server): | ||
32 | _log.info('Connecting to {0}.'.format(server['LDAP_SERVER_URI'])) | ||
33 | self.server = Server(server['LDAP_SERVER_URI']) | ||
34 | |||
35 | if 'LDAP_START_TLS' in server and server['LDAP_START_TLS'] == 'true': | ||
36 | _log.info('Initiating TLS') | ||
37 | self.server.start_tls() | ||
38 | |||
39 | def _manager_auth(self, settings, username, password): | ||
40 | conn = Connection(self.server, | ||
41 | settings['LDAP_BIND_DN'], | ||
42 | settings['LDAP_BIND_PW'], | ||
43 | auto_bind=True) | ||
44 | found = conn.search( | ||
45 | search_base=settings['LDAP_SEARCH_BASE'], | ||
46 | search_filter=settings['LDAP_SEARCH_FILTER'].format(username=username), | ||
47 | search_scope=SUBTREE, | ||
48 | attributes=[settings['EMAIL_SEARCH_FIELD']]) | ||
49 | if (not found) or len(conn.entries) > 1: | ||
50 | return False, None | ||
51 | |||
52 | user = conn.entries[0] | ||
53 | user_dn = user.entry_dn | ||
54 | try: | ||
55 | email = user.entry_attributes_as_dict[settings['EMAIL_SEARCH_FIELD']][0] | ||
56 | except KeyError: | ||
57 | email = None | ||
58 | |||
59 | Connection(self.server, user_dn, password, auto_bind=True) | ||
60 | |||
61 | return username, email | ||
62 | |||
63 | def _direct_auth(self, settings, username, password): | ||
64 | user_dn = settings['LDAP_USER_DN_TEMPLATE'].format(username=username) | ||
65 | conn = Connection(self.server, user_dn, password, auto_bind=True) | ||
66 | email_found = conn.search( | ||
67 | search_base=settings['LDAP_SEARCH_BASE'], | ||
68 | search_filter='uid={0}'.format(username), | ||
69 | search_scope=SUBTREE, | ||
70 | attributes=[settings['EMAIL_SEARCH_FIELD']]) | ||
71 | |||
72 | if email_found: | ||
73 | try: | ||
74 | email = conn.entries[0].entry_attributes_as_dict[settings['EMAIL_SEARCH_FIELD']][0] | ||
75 | except KeyError: | ||
76 | email = None | ||
77 | |||
78 | return username, email | ||
79 | |||
80 | def login(self, username, password): | ||
81 | for k, v in six.iteritems(self.ldap_settings): | ||
82 | try: | ||
83 | self._connect(v) | ||
84 | |||
85 | if 'LDAP_BIND_DN' in v: | ||
86 | return self._manager_auth(v, username, password) | ||
87 | else: | ||
88 | return self._direct_auth(v, username, password) | ||
89 | |||
90 | except LDAPException as e: | ||
91 | _log.info(e) | ||
92 | |||
93 | return False, None | ||
diff --git a/virtual/modules/websites/tools/mediagoblin/mediagoblin-plugin-basicsearch.json b/virtual/modules/websites/tools/mediagoblin/mediagoblin-plugin-basicsearch.json deleted file mode 100644 index 9abd994..0000000 --- a/virtual/modules/websites/tools/mediagoblin/mediagoblin-plugin-basicsearch.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "ba0a154-master", | ||
3 | "meta": { | ||
4 | "name": "mediagoblin-plugin-basicsearch", | ||
5 | "url": "https://github.com/ayleph/mediagoblin-basicsearch", | ||
6 | "branch": "master" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "ayleph", | ||
10 | "repo": "mediagoblin-basicsearch", | ||
11 | "rev": "ba0a1547bd24ebaf363227fe17644d38c6ce8a6b", | ||
12 | "sha256": "0d4r7xkf4gxmgaxlb264l44xbanis77g49frwfhfzsflxmdwgncy", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/virtual/modules/websites/tools/mediagoblin/mediagoblin.json b/virtual/modules/websites/tools/mediagoblin/mediagoblin.json deleted file mode 100644 index 7ea72d1..0000000 --- a/virtual/modules/websites/tools/mediagoblin/mediagoblin.json +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | { | ||
2 | "tag": "cd465eb-stable", | ||
3 | "meta": { | ||
4 | "name": "mediagoblin", | ||
5 | "url": "git://git.savannah.gnu.org/mediagoblin.git", | ||
6 | "branch": "stable" | ||
7 | }, | ||
8 | "git": { | ||
9 | "url": "git://git.savannah.gnu.org/mediagoblin.git", | ||
10 | "rev": "cd465ebfec837a75a44c4ebd727dffe2fff6d850", | ||
11 | "sha256": "1yz4i4i97z3rxl534a6psaybyjbyp5nnc52v3nvbpzc4pd2s69mx", | ||
12 | "fetchSubmodules": true | ||
13 | } | ||
14 | } | ||
diff --git a/virtual/modules/websites/tools/mediagoblin/mediagoblin.nix b/virtual/modules/websites/tools/mediagoblin/mediagoblin.nix deleted file mode 100644 index cad6225..0000000 --- a/virtual/modules/websites/tools/mediagoblin/mediagoblin.nix +++ /dev/null | |||
@@ -1,288 +0,0 @@ | |||
1 | { env, makeWrapper, stdenv, writeText, fetchurl, buildBowerComponents, fetchedGit, fetchedGithub, which, python3, pkgs, automake, autoconf, nodejs, nodePackages, git, cacert }: | ||
2 | let | ||
3 | plugins = { | ||
4 | basicsearch = stdenv.mkDerivation (fetchedGithub ./mediagoblin-plugin-basicsearch.json // rec { | ||
5 | phases = "unpackPhase installPhase"; | ||
6 | installPhase = '' | ||
7 | cp -R . $out | ||
8 | ''; | ||
9 | }); | ||
10 | }; | ||
11 | overridePython = let | ||
12 | packageOverrides = self: super: { | ||
13 | celery = super.celery.overridePythonAttrs(old: rec { | ||
14 | version = "3.1.26.post2"; | ||
15 | src = self.fetchPypi { | ||
16 | inherit version; | ||
17 | inherit (old) pname; | ||
18 | sha256 = "5493e172ae817b81ba7d09443ada114886765a8ce02f16a56e6fac68d953a9b2"; | ||
19 | }; | ||
20 | patches = []; | ||
21 | doCheck = false; | ||
22 | }); | ||
23 | billiard = super.billiard.overridePythonAttrs(old: rec { | ||
24 | version = "3.3.0.23"; | ||
25 | src = self.fetchPypi { | ||
26 | inherit version; | ||
27 | inherit (old) pname; | ||
28 | sha256 = "02wxsc6bhqvzh8j6w758kvgqbnj14l796mvmrcms8fgfamd2lak9"; | ||
29 | }; | ||
30 | }); | ||
31 | amqp = super.amqp.overridePythonAttrs(old: rec { | ||
32 | version = "1.4.9"; | ||
33 | src = self.fetchPypi { | ||
34 | inherit version; | ||
35 | inherit (old) pname; | ||
36 | sha256 = "2dea4d16d073c902c3b89d9b96620fb6729ac0f7a923bbc777cb4ad827c0c61a"; | ||
37 | }; | ||
38 | }); | ||
39 | kombu = super.kombu.overridePythonAttrs(old: rec { | ||
40 | version = "3.0.37"; | ||
41 | src = self.fetchPypi { | ||
42 | inherit version; | ||
43 | inherit (old) pname; | ||
44 | sha256 = "e064a00c66b4d1058cd2b0523fb8d98c82c18450244177b6c0f7913016642650"; | ||
45 | }; | ||
46 | propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.anyjson ]; | ||
47 | doCheck = false; | ||
48 | }); | ||
49 | sqlalchemy = super.sqlalchemy.overridePythonAttrs(old: rec { | ||
50 | version = "1.1.18"; | ||
51 | src = self.fetchPypi { | ||
52 | inherit version; | ||
53 | inherit (old) pname; | ||
54 | sha256 = "8b0ec71af9291191ba83a91c03d157b19ab3e7119e27da97932a4773a3f664a9"; | ||
55 | }; | ||
56 | }); | ||
57 | tempita_5_3_dev = super.buildPythonPackage (fetchedGithub ./tempita.json // rec { | ||
58 | buildInputs = with self; [ nose ]; | ||
59 | disabled = false; | ||
60 | }); | ||
61 | sqlalchemy_migrate = super.sqlalchemy_migrate.overridePythonAttrs(old: rec { | ||
62 | propagatedBuildInputs = with self; [ pbr tempita_5_3_dev decorator sqlalchemy six sqlparse ]; | ||
63 | }); | ||
64 | pasteScript = super.pasteScript.overridePythonAttrs(old: rec { | ||
65 | version = "2.0.2"; | ||
66 | name = "PasteScript-${version}"; | ||
67 | src = fetchurl { | ||
68 | url = "mirror://pypi/P/PasteScript/${name}.tar.gz"; | ||
69 | sha256 = "1h3nnhn45kf4pbcv669ik4faw04j58k8vbj1hwrc532k0nc28gy0"; | ||
70 | }; | ||
71 | propagatedBuildInputs = with self; [ six paste PasteDeploy argparse ]; | ||
72 | }); | ||
73 | }; | ||
74 | in | ||
75 | python3.override { inherit packageOverrides; }; | ||
76 | pythonEnv = python-pkgs: with python-pkgs; [ | ||
77 | waitress alembic dateutil wtforms pybcrypt | ||
78 | pytest pytest_xdist werkzeug celery | ||
79 | kombu jinja2 Babel webtest configobj markdown | ||
80 | sqlalchemy itsdangerous pytz sphinx six | ||
81 | oauthlib unidecode jsonschema PasteDeploy | ||
82 | requests PyLD exifread | ||
83 | typing pasteScript | ||
84 | # For images plugin | ||
85 | pillow | ||
86 | # For video plugin | ||
87 | gst-python | ||
88 | # migrations | ||
89 | sqlalchemy_migrate | ||
90 | # authentication | ||
91 | ldap3 | ||
92 | redis | ||
93 | psycopg2 | ||
94 | ]; | ||
95 | python = overridePython.withPackages pythonEnv; | ||
96 | gmg = writeText "gmg" '' | ||
97 | #!${python}/bin/python | ||
98 | __requires__ = 'mediagoblin' | ||
99 | import sys | ||
100 | from pkg_resources import load_entry_point | ||
101 | |||
102 | if __name__ == '__main__': | ||
103 | sys.exit( | ||
104 | load_entry_point('mediagoblin', 'console_scripts', 'gmg')() | ||
105 | ) | ||
106 | ''; | ||
107 | in | ||
108 | rec { | ||
109 | socketsDir = "/run/mediagoblin"; | ||
110 | varDir = "/var/lib/mediagoblin"; | ||
111 | bowerComponents = buildBowerComponents { | ||
112 | name = "mediagoblin-bower-components"; | ||
113 | generated = ./bower-packages.nix; | ||
114 | src = (fetchedGit ./mediagoblin.json).src; | ||
115 | }; | ||
116 | mediagoblin = stdenv.mkDerivation (fetchedGit ./mediagoblin.json // rec { | ||
117 | preConfigure = '' | ||
118 | # ./bootstrap.sh | ||
119 | aclocal -I m4 --install | ||
120 | autoreconf -fvi | ||
121 | # end | ||
122 | export GIT_SSL_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt | ||
123 | export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt | ||
124 | export HOME=$PWD | ||
125 | ''; | ||
126 | configureFlags = [ "--with-python3" "--without-virtualenv" ]; | ||
127 | postBuild = '' | ||
128 | cp -a ${bowerComponents}/bower_components/* extlib | ||
129 | chmod -R u+w extlib | ||
130 | make extlib | ||
131 | ''; | ||
132 | installPhase = '' | ||
133 | sed -i "s/registry.has_key(current_theme_name)/current_theme_name in registry/" mediagoblin/tools/theme.py | ||
134 | sed -i -e "s@\[DEFAULT\]@[DEFAULT]\nhere = $out@" mediagoblin/config_spec.ini | ||
135 | cp ${./ldap_fix.py} mediagoblin/plugins/ldap/tools.py | ||
136 | ln -s ${plugins.basicsearch}/basicsearch mediagoblin/plugins/basicsearch | ||
137 | find . -name '*.pyc' -delete | ||
138 | find . -type f -exec sed -i "s|$PWD|$out|g" {} \; | ||
139 | python setup.py build | ||
140 | cp -a . $out | ||
141 | mkdir $out/bin | ||
142 | cp ${gmg} $out/bin/gmg | ||
143 | chmod a+x $out/bin/gmg | ||
144 | ''; | ||
145 | buildInputs = [ makeWrapper git cacert automake autoconf which nodePackages.bower nodejs python ]; | ||
146 | propagatedBuildInputs = [ python ]; | ||
147 | }); | ||
148 | paste_local = writeText "paste_local.ini" '' | ||
149 | [DEFAULT] | ||
150 | debug = false | ||
151 | |||
152 | [pipeline:main] | ||
153 | pipeline = mediagoblin | ||
154 | |||
155 | [app:mediagoblin] | ||
156 | use = egg:mediagoblin#app | ||
157 | config = %(here)s/mediagoblin_local.ini %(here)s/mediagoblin.ini | ||
158 | /mgoblin_static = %(here)s/mediagoblin/static | ||
159 | |||
160 | [loggers] | ||
161 | keys = root | ||
162 | |||
163 | [handlers] | ||
164 | keys = console | ||
165 | |||
166 | [formatters] | ||
167 | keys = generic | ||
168 | |||
169 | [logger_root] | ||
170 | level = INFO | ||
171 | handlers = console | ||
172 | |||
173 | [handler_console] | ||
174 | class = StreamHandler | ||
175 | args = (sys.stderr,) | ||
176 | level = NOTSET | ||
177 | formatter = generic | ||
178 | |||
179 | [formatter_generic] | ||
180 | format = %(levelname)-7.7s [%(name)s] %(message)s | ||
181 | |||
182 | [filter:errors] | ||
183 | use = egg:mediagoblin#errors | ||
184 | debug = false | ||
185 | |||
186 | [server:main] | ||
187 | use = egg:waitress#main | ||
188 | unix_socket = ${socketsDir}/mediagoblin.sock | ||
189 | unix_socket_perms = 777 | ||
190 | url_scheme = https | ||
191 | ''; | ||
192 | |||
193 | mediagoblin_local = writeText "mediagoblin_local.ini" '' | ||
194 | [DEFAULT] | ||
195 | data_basedir = "${varDir}" | ||
196 | |||
197 | [mediagoblin] | ||
198 | direct_remote_path = /mgoblin_static/ | ||
199 | email_sender_address = "mediagoblin@mail.immae.eu" | ||
200 | |||
201 | #sql_engine = sqlite:///%(data_basedir)s/mediagoblin.db | ||
202 | sql_engine = ${env.psql_url} | ||
203 | |||
204 | email_debug_mode = false | ||
205 | allow_registration = false | ||
206 | allow_reporting = true | ||
207 | |||
208 | theme = airymodified | ||
209 | |||
210 | user_privilege_scheme = "uploader,commenter,reporter" | ||
211 | |||
212 | # We need to redefine them here since we override data_basedir | ||
213 | # cf /usr/share/webapps/mediagoblin/mediagoblin/config_spec.ini | ||
214 | workbench_path = %(data_basedir)s/media/workbench | ||
215 | crypto_path = %(data_basedir)s/crypto | ||
216 | theme_install_dir = %(data_basedir)s/themes/ | ||
217 | theme_linked_assets_dir = %(data_basedir)s/theme_static/ | ||
218 | plugin_linked_assets_dir = %(data_basedir)s/plugin_static/ | ||
219 | |||
220 | [storage:queuestore] | ||
221 | base_dir = %(data_basedir)s/media/queue | ||
222 | |||
223 | [storage:publicstore] | ||
224 | base_dir = %(data_basedir)s/media/public | ||
225 | base_url = /mgoblin_media/ | ||
226 | |||
227 | [celery] | ||
228 | CELERY_RESULT_DBURI = ${env.redis_url} | ||
229 | BROKER_URL = ${env.redis_url} | ||
230 | CELERYD_CONCURRENCY = 1 | ||
231 | |||
232 | [plugins] | ||
233 | [[mediagoblin.plugins.geolocation]] | ||
234 | [[mediagoblin.plugins.ldap]] | ||
235 | [[[immae.eu]]] | ||
236 | LDAP_SERVER_URI = 'ldaps://ldap.immae.eu:636' | ||
237 | LDAP_SEARCH_BASE = 'dc=immae,dc=eu' | ||
238 | LDAP_BIND_DN = 'cn=mediagoblin,ou=services,dc=immae,dc=eu' | ||
239 | LDAP_BIND_PW = '${env.ldap.password}' | ||
240 | LDAP_SEARCH_FILTER = '(&(memberOf=cn=users,cn=mediagoblin,ou=services,dc=immae,dc=eu)(uid={username}))' | ||
241 | EMAIL_SEARCH_FIELD = 'mail' | ||
242 | [[mediagoblin.plugins.basicsearch]] | ||
243 | [[mediagoblin.plugins.piwigo]] | ||
244 | [[mediagoblin.plugins.processing_info]] | ||
245 | [[mediagoblin.media_types.image]] | ||
246 | [[mediagoblin.media_types.video]] | ||
247 | ''; | ||
248 | pythonRoot = | ||
249 | with pkgs.gst_all_1; | ||
250 | stdenv.mkDerivation { | ||
251 | name = "mediagoblin_immae"; | ||
252 | inherit mediagoblin; | ||
253 | buildInputs= [ makeWrapper ]; | ||
254 | propagatedBuildInputs = [ gst-libav gst-plugins-good gst-plugins-bad gst-plugins-ugly gstreamer ]; | ||
255 | builder = let | ||
256 | libpaths = [ | ||
257 | python | ||
258 | gstreamer | ||
259 | gst-plugins-base | ||
260 | gst-libav | ||
261 | gst-plugins-good | ||
262 | gst-plugins-bad | ||
263 | gst-plugins-ugly | ||
264 | ]; | ||
265 | plugin_paths = builtins.concatStringsSep ":" (map (x: "${x}/lib") libpaths); | ||
266 | typelib_paths = "${gstreamer}/lib/girepository-1.0:${gst-plugins-base}/lib/girepository-1.0"; | ||
267 | in writeText "build_mediagoblin_immae" '' | ||
268 | source $stdenv/setup | ||
269 | cp -a $mediagoblin $out | ||
270 | cd $out | ||
271 | chmod -R u+rwX . | ||
272 | sed -i -e "/from gi.repository import GstPbutils/s/^/gi.require_version('GstPbutils', '1.0')\n/" mediagoblin/media_types/video/transcoders.py | ||
273 | wrapProgram bin/gmg --prefix PYTHONPATH : "$out:$PYTHONPATH" \ | ||
274 | --prefix GST_PLUGIN_SYSTEM_PATH : ${plugin_paths} \ | ||
275 | --prefix GI_TYPELIB_PATH : ${typelib_paths} | ||
276 | makeWrapper ${python}/bin/paster bin/paster --prefix PYTHONPATH : "$out:$PYTHONPATH" \ | ||
277 | --prefix GST_PLUGIN_SYSTEM_PATH : ${plugin_paths} \ | ||
278 | --prefix GI_TYPELIB_PATH : ${typelib_paths} | ||
279 | makeWrapper ${python}/bin/celery bin/celery --prefix PYTHONPATH : "$out:$PYTHONPATH" \ | ||
280 | --prefix GST_PLUGIN_SYSTEM_PATH : ${plugin_paths} \ | ||
281 | --prefix GI_TYPELIB_PATH : ${typelib_paths} | ||
282 | find . -type f -exec sed -i "s|$mediagoblin|$out|g" {} \; | ||
283 | ln -s ${paste_local} ./paste_local.ini | ||
284 | ln -s ${mediagoblin_local} ./mediagoblin_local.ini | ||
285 | ln -sf ../../../../../${varDir} ./user_dev | ||
286 | ''; | ||
287 | }; | ||
288 | } | ||
diff --git a/virtual/modules/websites/tools/mediagoblin/tempita.json b/virtual/modules/websites/tools/mediagoblin/tempita.json deleted file mode 100644 index 5371e17..0000000 --- a/virtual/modules/websites/tools/mediagoblin/tempita.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "47414a7-master", | ||
3 | "meta": { | ||
4 | "name": "tempita", | ||
5 | "url": "https://github.com/gjhiggins/tempita", | ||
6 | "branch": "master" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "gjhiggins", | ||
10 | "repo": "tempita", | ||
11 | "rev": "47414a7c6e46a9a9afe78f0bce2ea299fa84d10d", | ||
12 | "sha256": "0f33jjjs5rvp7ar2j6ggyfykcrsrn04jaqcq71qfvycf6b7nw3rn", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/virtual/modules/websites/tools/tools/default.nix b/virtual/modules/websites/tools/tools/default.nix deleted file mode 100644 index 333ffb0..0000000 --- a/virtual/modules/websites/tools/tools/default.nix +++ /dev/null | |||
@@ -1,91 +0,0 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | ||
2 | let | ||
3 | adminer = pkgs.callPackage ../../commons/adminer.nix {}; | ||
4 | ympd = pkgs.callPackage ./ympd.nix { | ||
5 | env = myconfig.env.tools.ympd; | ||
6 | }; | ||
7 | ttrss = pkgs.callPackage ./ttrss.nix { | ||
8 | inherit (mylibs) fetchedGithub fetchedGit; | ||
9 | env = myconfig.env.tools.ttrss; | ||
10 | }; | ||
11 | roundcubemail = pkgs.callPackage ./roundcubemail.nix { env = myconfig.env.tools.roundcubemail; }; | ||
12 | wallabag = pkgs.callPackage ./wallabag.nix { env = myconfig.env.tools.wallabag; }; | ||
13 | yourls = pkgs.callPackage ./yourls.nix { | ||
14 | inherit (mylibs) fetchedGithub; | ||
15 | env = myconfig.env.tools.yourls; | ||
16 | }; | ||
17 | rompr = pkgs.callPackage ./rompr.nix { | ||
18 | inherit (mylibs) fetchedGithub; | ||
19 | env = myconfig.env.tools.rompr; | ||
20 | }; | ||
21 | |||
22 | cfg = config.services.myWebsites.tools.tools; | ||
23 | in { | ||
24 | options.services.myWebsites.tools.tools = { | ||
25 | enable = lib.mkEnableOption "enable tools website"; | ||
26 | }; | ||
27 | |||
28 | config = lib.mkIf cfg.enable { | ||
29 | security.acme.certs."eldiron".extraDomains."tools.immae.eu" = null; | ||
30 | |||
31 | services.myWebsites.tools.modules = | ||
32 | adminer.apache.modules | ||
33 | ++ ympd.apache.modules | ||
34 | ++ ttrss.apache.modules | ||
35 | ++ roundcubemail.apache.modules | ||
36 | ++ wallabag.apache.modules | ||
37 | ++ yourls.apache.modules | ||
38 | ++ rompr.apache.modules; | ||
39 | |||
40 | services.ympd = ympd.config // { enable = true; }; | ||
41 | |||
42 | services.myWebsites.tools.vhostConfs.tools = { | ||
43 | certName = "eldiron"; | ||
44 | hosts = ["tools.immae.eu" ]; | ||
45 | root = null; | ||
46 | extraConfig = [ | ||
47 | adminer.apache.vhostConf | ||
48 | ympd.apache.vhostConf | ||
49 | ttrss.apache.vhostConf | ||
50 | roundcubemail.apache.vhostConf | ||
51 | wallabag.apache.vhostConf | ||
52 | yourls.apache.vhostConf | ||
53 | rompr.apache.vhostConf | ||
54 | ]; | ||
55 | }; | ||
56 | |||
57 | services.myPhpfpm.poolConfigs = { | ||
58 | adminer = adminer.phpFpm.pool; | ||
59 | ttrss = ttrss.phpFpm.pool; | ||
60 | roundcubemail = roundcubemail.phpFpm.pool; | ||
61 | wallabag = wallabag.phpFpm.pool; | ||
62 | yourls = yourls.phpFpm.pool; | ||
63 | rompr = rompr.phpFpm.pool; | ||
64 | }; | ||
65 | |||
66 | system.activationScripts = { | ||
67 | ttrss = ttrss.activationScript; | ||
68 | roundcubemail = roundcubemail.activationScript; | ||
69 | wallabag = wallabag.activationScript; | ||
70 | yourls = yourls.activationScript; | ||
71 | rompr = rompr.activationScript; | ||
72 | }; | ||
73 | |||
74 | systemd.services.tt-rss = { | ||
75 | description = "Tiny Tiny RSS feeds update daemon"; | ||
76 | serviceConfig = { | ||
77 | User = "wwwrun"; | ||
78 | ExecStart = "${pkgs.php}/bin/php ${ttrss.webRoot}/update.php --daemon"; | ||
79 | StandardOutput = "syslog"; | ||
80 | StandardError = "syslog"; | ||
81 | PermissionsStartOnly = true; | ||
82 | }; | ||
83 | |||
84 | wantedBy = [ "multi-user.target" ]; | ||
85 | requires = ["postgresql.service"]; | ||
86 | after = ["network.target" "postgresql.service"]; | ||
87 | }; | ||
88 | |||
89 | }; | ||
90 | } | ||
91 | |||
diff --git a/virtual/modules/websites/tools/tools/rompr.json b/virtual/modules/websites/tools/tools/rompr.json deleted file mode 100644 index 778d915..0000000 --- a/virtual/modules/websites/tools/tools/rompr.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "1.24", | ||
3 | "meta": { | ||
4 | "name": "rompr", | ||
5 | "url": "https://github.com/fatg3erman/RompR", | ||
6 | "branch": "refs/tags/1.24" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "fatg3erman", | ||
10 | "repo": "RompR", | ||
11 | "rev": "0d8f597027ac71b320963fe3f33f461a136312ad", | ||
12 | "sha256": "13p3c4whhmvz1vvh9fva5gdx4xji288k108hjdi8b1yn506lzix2", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/virtual/modules/websites/tools/tools/rompr.nix b/virtual/modules/websites/tools/tools/rompr.nix deleted file mode 100644 index 055334e..0000000 --- a/virtual/modules/websites/tools/tools/rompr.nix +++ /dev/null | |||
@@ -1,86 +0,0 @@ | |||
1 | { lib, env, stdenv, fetchedGithub }: | ||
2 | let | ||
3 | rompr = let | ||
4 | in rec { | ||
5 | varDir = "/var/lib/rompr"; | ||
6 | activationScript = '' | ||
7 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} \ | ||
8 | ${varDir}/prefs ${varDir}/albumart ${varDir}/phpSessions | ||
9 | ''; | ||
10 | webRoot = stdenv.mkDerivation (fetchedGithub ./rompr.json // rec { | ||
11 | installPhase = '' | ||
12 | cp -a . $out | ||
13 | ln -sf ../../../../../../${varDir}/prefs $out/prefs | ||
14 | ln -sf ../../../../../../${varDir}/albumart $out/albumart | ||
15 | ''; | ||
16 | }); | ||
17 | apache = { | ||
18 | user = "wwwrun"; | ||
19 | group = "wwwrun"; | ||
20 | modules = [ "headers" "mime" "proxy_fcgi" ]; | ||
21 | vhostConf = '' | ||
22 | Alias /rompr ${webRoot} | ||
23 | |||
24 | <Directory ${webRoot}> | ||
25 | Options Indexes FollowSymLinks | ||
26 | DirectoryIndex index.php | ||
27 | AllowOverride all | ||
28 | Require all granted | ||
29 | Order allow,deny | ||
30 | Allow from all | ||
31 | ErrorDocument 404 /rompr/404.php | ||
32 | AddType image/x-icon .ico | ||
33 | |||
34 | <FilesMatch "\.php$"> | ||
35 | SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" | ||
36 | </FilesMatch> | ||
37 | </Directory> | ||
38 | |||
39 | <Directory ${webRoot}/albumart/small> | ||
40 | Header Set Cache-Control "max-age=0, no-store" | ||
41 | Header Set Cache-Control "no-cache, must-revalidate" | ||
42 | </Directory> | ||
43 | |||
44 | <Directory ${webRoot}/albumart/asdownloaded> | ||
45 | Header Set Cache-Control "max-age=0, no-store" | ||
46 | Header Set Cache-Control "no-cache, must-revalidate" | ||
47 | </Directory> | ||
48 | |||
49 | <LocationMatch "^/rompr"> | ||
50 | Use LDAPConnect | ||
51 | Require ldap-group cn=users,cn=mpd,ou=services,dc=immae,dc=eu | ||
52 | Require local | ||
53 | </LocationMatch> | ||
54 | ''; | ||
55 | }; | ||
56 | phpFpm = rec { | ||
57 | basedir = builtins.concatStringsSep ":" [ webRoot varDir ]; | ||
58 | socket = "/var/run/phpfpm/rompr.sock"; | ||
59 | pool = '' | ||
60 | listen = ${socket} | ||
61 | user = ${apache.user} | ||
62 | group = ${apache.group} | ||
63 | listen.owner = ${apache.user} | ||
64 | listen.group = ${apache.group} | ||
65 | pm = ondemand | ||
66 | pm.max_children = 60 | ||
67 | pm.process_idle_timeout = 60 | ||
68 | |||
69 | ; Needed to avoid clashes in browser cookies (same domain) | ||
70 | php_value[session.name] = RomprPHPSESSID | ||
71 | php_admin_value[open_basedir] = "${basedir}:/tmp" | ||
72 | php_admin_value[session.save_path] = "${varDir}/phpSessions" | ||
73 | php_flag[magic_quotes_gpc] = Off | ||
74 | php_flag[track_vars] = On | ||
75 | php_flag[register_globals] = Off | ||
76 | php_admin_flag[allow_url_fopen] = On | ||
77 | php_value[include_path] = ${webRoot} | ||
78 | php_admin_value[upload_tmp_dir] = "${varDir}/prefs" | ||
79 | php_admin_value[post_max_size] = 32M | ||
80 | php_admin_value[upload_max_filesize] = 32M | ||
81 | php_admin_value[memory_limit] = 256M | ||
82 | ''; | ||
83 | }; | ||
84 | }; | ||
85 | in | ||
86 | rompr | ||
diff --git a/virtual/modules/websites/tools/tools/roundcubemail.nix b/virtual/modules/websites/tools/tools/roundcubemail.nix deleted file mode 100644 index 877ea8b..0000000 --- a/virtual/modules/websites/tools/tools/roundcubemail.nix +++ /dev/null | |||
@@ -1,105 +0,0 @@ | |||
1 | { lib, env, writeText, stdenv, fetchurl }: | ||
2 | let | ||
3 | roundcubemail = let | ||
4 | plugins = {}; | ||
5 | in rec { | ||
6 | varDir = "/var/lib/roundcubemail"; | ||
7 | activationScript = { | ||
8 | deps = [ "wrappers" ]; | ||
9 | text = '' | ||
10 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} \ | ||
11 | ${varDir}/cache | ||
12 | install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions | ||
13 | ''; | ||
14 | }; | ||
15 | config = writeText "config.php" '' | ||
16 | <?php | ||
17 | $config['db_dsnw'] = '${env.psql_url}'; | ||
18 | $config['default_host'] = 'ssl://mail.immae.eu'; | ||
19 | $config['imap_conn_options'] = array("ssl" => array("verify_peer" => false)); | ||
20 | $config['smtp_server'] = 'tls://mail.immae.eu'; | ||
21 | |||
22 | $config['imap_cache'] = 'db'; | ||
23 | $config['messages_cache'] = 'db'; | ||
24 | |||
25 | $config['support_url'] = '''; | ||
26 | |||
27 | $config['des_key'] = '${env.secret}'; | ||
28 | |||
29 | $config['plugins'] = array(); | ||
30 | |||
31 | $config['language'] = 'fr_FR'; | ||
32 | |||
33 | $config['drafts_mbox'] = 'Mail/Drafts'; | ||
34 | $config['junk_mbox'] = 'Mail/Spam'; | ||
35 | $config['sent_mbox'] = 'Mail/sent'; | ||
36 | $config['trash_mbox'] = '''; | ||
37 | $config['default_folders'] = array('INBOX', 'Mail/Drafts', 'Mail/sent', 'Mail/Spam', '''); | ||
38 | $config['draft_autosave'] = 60; | ||
39 | $config['enable_installer'] = false; | ||
40 | $config['log_driver'] = 'stdout'; | ||
41 | $config['temp_dir'] = '${varDir}/cache'; | ||
42 | $config['debug_level'] = 1; | ||
43 | ''; | ||
44 | webRoot = stdenv.mkDerivation rec { | ||
45 | version = "1.3.8"; | ||
46 | name = "roundcubemail-${version}"; | ||
47 | src= fetchurl { | ||
48 | url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/${name}-complete.tar.gz"; | ||
49 | sha256 = "018djad7ygfl9c9f2l2j42qkg31ml3hs2f01f0dk361zckwk77n4"; | ||
50 | }; | ||
51 | buildPhase = '' | ||
52 | sed -i \ | ||
53 | -e "s|RCUBE_INSTALL_PATH . 'temp.*|'${varDir}/cache';|" \ | ||
54 | config/defaults.inc.php | ||
55 | ''; | ||
56 | installPhase = '' | ||
57 | cp -a . $out | ||
58 | ln -s ${config} $out/config/config.inc.php | ||
59 | ${builtins.concatStringsSep "\n" ( | ||
60 | lib.attrsets.mapAttrsToList (name: value: "ln -sf ${value} $out/plugins/${name}") plugins | ||
61 | )} | ||
62 | ''; | ||
63 | }; | ||
64 | apache = { | ||
65 | user = "wwwrun"; | ||
66 | group = "wwwrun"; | ||
67 | modules = [ "proxy_fcgi" ]; | ||
68 | vhostConf = '' | ||
69 | Alias /roundcube "${webRoot}" | ||
70 | <Directory "${webRoot}"> | ||
71 | DirectoryIndex index.php | ||
72 | AllowOverride All | ||
73 | Options FollowSymlinks | ||
74 | Require all granted | ||
75 | |||
76 | <FilesMatch "\.php$"> | ||
77 | SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" | ||
78 | </FilesMatch> | ||
79 | </Directory> | ||
80 | ''; | ||
81 | }; | ||
82 | phpFpm = rec { | ||
83 | basedir = builtins.concatStringsSep ":" ( | ||
84 | [ webRoot config varDir ] | ||
85 | ++ lib.attrsets.mapAttrsToList (name: value: value) plugins); | ||
86 | socket = "/var/run/phpfpm/roundcubemail.sock"; | ||
87 | pool = '' | ||
88 | listen = ${socket} | ||
89 | user = ${apache.user} | ||
90 | group = ${apache.group} | ||
91 | listen.owner = ${apache.user} | ||
92 | listen.group = ${apache.group} | ||
93 | pm = ondemand | ||
94 | pm.max_children = 60 | ||
95 | pm.process_idle_timeout = 60 | ||
96 | |||
97 | ; Needed to avoid clashes in browser cookies (same domain) | ||
98 | php_value[session.name] = RoundcubemailPHPSESSID | ||
99 | php_admin_value[open_basedir] = "${basedir}:/tmp" | ||
100 | php_admin_value[session.save_path] = "${varDir}/phpSessions" | ||
101 | ''; | ||
102 | }; | ||
103 | }; | ||
104 | in | ||
105 | roundcubemail | ||
diff --git a/virtual/modules/websites/tools/tools/tt-rss.json b/virtual/modules/websites/tools/tools/tt-rss.json deleted file mode 100644 index e2731b0..0000000 --- a/virtual/modules/websites/tools/tools/tt-rss.json +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | { | ||
2 | "tag": "986ca25-master", | ||
3 | "meta": { | ||
4 | "name": "tt-rss", | ||
5 | "url": "https://git.tt-rss.org/fox/tt-rss.git", | ||
6 | "branch": "master" | ||
7 | }, | ||
8 | "git": { | ||
9 | "url": "https://git.tt-rss.org/fox/tt-rss.git", | ||
10 | "rev": "986ca251f995f7754a0470d3e0c44538a545081f", | ||
11 | "sha256": "0xkafkh7l9zazm5d6snlq03kdfxfhkb4c8fdsb32wn8b9bhdzf5s", | ||
12 | "fetchSubmodules": true | ||
13 | } | ||
14 | } | ||
diff --git a/virtual/modules/websites/tools/tools/ttrss-af-feedmod_type_replace.patch b/virtual/modules/websites/tools/tools/ttrss-af-feedmod_type_replace.patch deleted file mode 100644 index d622577..0000000 --- a/virtual/modules/websites/tools/tools/ttrss-af-feedmod_type_replace.patch +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | --- a/init.php 2014-06-16 14:21:06.995480038 +0200 | ||
2 | +++ b/init.php 2014-06-16 14:22:00.151027654 +0200 | ||
3 | @@ -147,6 +147,9 @@ | ||
4 | } | ||
5 | } | ||
6 | break; | ||
7 | + case 'replace': | ||
8 | + $article['content'] = preg_replace("/".$config['pattern']."/",$config['replacement'],$article['content']); | ||
9 | + break; | ||
10 | |||
11 | default: | ||
12 | // unknown type or invalid config | ||
diff --git a/virtual/modules/websites/tools/tools/ttrss-af_feedmod.json b/virtual/modules/websites/tools/tools/ttrss-af_feedmod.json deleted file mode 100644 index e57fcce..0000000 --- a/virtual/modules/websites/tools/tools/ttrss-af_feedmod.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "0ea2092-master", | ||
3 | "meta": { | ||
4 | "name": "ttrss-af_feedmod", | ||
5 | "url": "https://github.com/mbirth/ttrss_plugin-af_feedmod", | ||
6 | "branch": "master" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "mbirth", | ||
10 | "repo": "ttrss_plugin-af_feedmod", | ||
11 | "rev": "0ea2092dd34067ecd898802cfca3570023d1ecfe", | ||
12 | "sha256": "02ibf47zcrsc2rr45wsix8gxyyf371davj8n8i0gj1zdq95klvnv", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/virtual/modules/websites/tools/tools/ttrss-auth-ldap.json b/virtual/modules/websites/tools/tools/ttrss-auth-ldap.json deleted file mode 100644 index c8aaab5..0000000 --- a/virtual/modules/websites/tools/tools/ttrss-auth-ldap.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "4d751b0-master", | ||
3 | "meta": { | ||
4 | "name": "ttrss-auth-ldap", | ||
5 | "url": "https://github.com/hydrian/TTRSS-Auth-LDAP", | ||
6 | "branch": "master" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "hydrian", | ||
10 | "repo": "TTRSS-Auth-LDAP", | ||
11 | "rev": "4d751b095c29a8dbe2dc7bb07777742956136e94", | ||
12 | "sha256": "0b9fl86acrzpcv41r7pj3bl8b3n72hpkdywzx9zjyfqv5pskxyim", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/virtual/modules/websites/tools/tools/ttrss-feediron.json b/virtual/modules/websites/tools/tools/ttrss-feediron.json deleted file mode 100644 index 5dbec92..0000000 --- a/virtual/modules/websites/tools/tools/ttrss-feediron.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "407168c-master", | ||
3 | "meta": { | ||
4 | "name": "ttrss-feediron", | ||
5 | "url": "https://github.com/m42e/ttrss_plugin-feediron", | ||
6 | "branch": "master" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "m42e", | ||
10 | "repo": "ttrss_plugin-feediron", | ||
11 | "rev": "407168c628880b5ced572cc549db6d50e866d3c8", | ||
12 | "sha256": "17b95ifpcph6m03hjd1mhi8gi1hw9yd3fnffmw66fqr5c9l3zd9r", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/virtual/modules/websites/tools/tools/ttrss-feediron_json_reformat.patch b/virtual/modules/websites/tools/tools/ttrss-feediron_json_reformat.patch deleted file mode 100644 index e1c44d9..0000000 --- a/virtual/modules/websites/tools/tools/ttrss-feediron_json_reformat.patch +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | diff --git a/init.php b/init.php | ||
2 | index 3c0f2f9..1aad146 100644 | ||
3 | --- a/init.php | ||
4 | +++ b/init.php | ||
5 | @@ -600,10 +600,11 @@ class Feediron extends Plugin implements IHandler | ||
6 | return false; | ||
7 | } | ||
8 | |||
9 | - $this->host->set($this, 'json_conf', Feediron_Json::format($json_conf)); | ||
10 | + $new_conf = json_encode(json_decode($json_conf), JSON_PRETTY_PRINT); | ||
11 | + $this->host->set($this, 'json_conf', $new_conf); | ||
12 | $json_reply['success'] = true; | ||
13 | $json_reply['message'] = __('Configuration saved.'); | ||
14 | - $json_reply['json_conf'] = Feediron_Json::format($json_conf); | ||
15 | + $json_reply['json_conf'] = $new_conf; | ||
16 | echo json_encode($json_reply); | ||
17 | } | ||
18 | |||
diff --git a/virtual/modules/websites/tools/tools/ttrss-ff_instagram.json b/virtual/modules/websites/tools/tools/ttrss-ff_instagram.json deleted file mode 100644 index 1f241b9..0000000 --- a/virtual/modules/websites/tools/tools/ttrss-ff_instagram.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "0366ffb-master", | ||
3 | "meta": { | ||
4 | "name": "ttrss-ff_instagram", | ||
5 | "url": "https://github.com/wltb/ff_instagram", | ||
6 | "branch": "master" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "wltb", | ||
10 | "repo": "ff_instagram", | ||
11 | "rev": "0366ffb18c4d490c8fbfba2f5f3367a5af23cfe8", | ||
12 | "sha256": "0vvzl6wi6jmrqknsfddvckjgsgfizz1d923d1nyrpzjfn6bda1vk", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/virtual/modules/websites/tools/tools/ttrss-tumblr_gdpr_ua.json b/virtual/modules/websites/tools/tools/ttrss-tumblr_gdpr_ua.json deleted file mode 100644 index eafbcfe..0000000 --- a/virtual/modules/websites/tools/tools/ttrss-tumblr_gdpr_ua.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "287c584-master", | ||
3 | "meta": { | ||
4 | "name": "ttrss-tumblr_gdpr_ua", | ||
5 | "url": "https://github.com/hkockerbeck/ttrss-tumblr-gdpr-ua", | ||
6 | "branch": "master" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "hkockerbeck", | ||
10 | "repo": "ttrss-tumblr-gdpr-ua", | ||
11 | "rev": "287c584e68845d524f920156bff0b2eaa6f65117", | ||
12 | "sha256": "1fviawgcclqky4k4xv1sqzvpb8i74w9f0pclm09m78s8l85wh9py", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/virtual/modules/websites/tools/tools/ttrss.nix b/virtual/modules/websites/tools/tools/ttrss.nix deleted file mode 100644 index 76105be..0000000 --- a/virtual/modules/websites/tools/tools/ttrss.nix +++ /dev/null | |||
@@ -1,177 +0,0 @@ | |||
1 | { lib, php, env, writeText, stdenv, fetchedGit, fetchedGithub }: | ||
2 | let | ||
3 | ttrss = let | ||
4 | plugins = { | ||
5 | auth_ldap = stdenv.mkDerivation (fetchedGithub ./ttrss-auth-ldap.json // rec { | ||
6 | installPhase = '' | ||
7 | mkdir $out | ||
8 | cp plugins/auth_ldap/init.php $out | ||
9 | ''; | ||
10 | }); | ||
11 | af_feedmod = stdenv.mkDerivation (fetchedGithub ./ttrss-af_feedmod.json // rec { | ||
12 | patches = [ ./ttrss-af-feedmod_type_replace.patch ]; | ||
13 | installPhase = '' | ||
14 | mkdir $out | ||
15 | cp init.php $out | ||
16 | ''; | ||
17 | }); | ||
18 | feediron = stdenv.mkDerivation (fetchedGithub ./ttrss-feediron.json // rec { | ||
19 | patches = [ ./ttrss-feediron_json_reformat.patch ]; | ||
20 | installPhase = '' | ||
21 | mkdir $out | ||
22 | cp -a . $out | ||
23 | ''; | ||
24 | }); | ||
25 | ff_instagram = stdenv.mkDerivation (fetchedGithub ./ttrss-ff_instagram.json // rec { | ||
26 | installPhase = '' | ||
27 | mkdir $out | ||
28 | cp -a . $out | ||
29 | ''; | ||
30 | }); | ||
31 | tumblr_gdpr_ua = stdenv.mkDerivation (fetchedGithub ./ttrss-tumblr_gdpr_ua.json // rec { | ||
32 | installPhase = '' | ||
33 | mkdir $out | ||
34 | cp -a . $out | ||
35 | ''; | ||
36 | }); | ||
37 | }; | ||
38 | in rec { | ||
39 | varDir = "/var/lib/ttrss"; | ||
40 | activationScript = { | ||
41 | deps = [ "wrappers" ]; | ||
42 | text = '' | ||
43 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} \ | ||
44 | ${varDir}/lock ${varDir}/cache ${varDir}/feed-icons | ||
45 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir}/cache/export/ \ | ||
46 | ${varDir}/cache/feeds/ \ | ||
47 | ${varDir}/cache/images/ \ | ||
48 | ${varDir}/cache/js/ \ | ||
49 | ${varDir}/cache/simplepie/ \ | ||
50 | ${varDir}/cache/upload/ | ||
51 | touch ${varDir}/feed-icons/index.html | ||
52 | install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions | ||
53 | ''; | ||
54 | }; | ||
55 | config = writeText "config.php" '' | ||
56 | <?php | ||
57 | |||
58 | define('PHP_EXECUTABLE', '${php}/bin/php'); | ||
59 | |||
60 | define('LOCK_DIRECTORY', 'lock'); | ||
61 | define('CACHE_DIR', 'cache'); | ||
62 | define('ICONS_DIR', 'feed-icons'); | ||
63 | define('ICONS_URL', 'feed-icons'); | ||
64 | define('SELF_URL_PATH', 'https://tools.immae.eu/ttrss/'); | ||
65 | |||
66 | define('MYSQL_CHARSET', 'UTF8'); | ||
67 | |||
68 | define('DB_TYPE', 'pgsql'); | ||
69 | define('DB_HOST', 'db-1.immae.eu'); | ||
70 | define('DB_USER', 'ttrss'); | ||
71 | define('DB_NAME', 'ttrss'); | ||
72 | define('DB_PASS', '${env.postgresql.password}'); | ||
73 | define('DB_PORT', '5432'); | ||
74 | |||
75 | define('AUTH_AUTO_CREATE', true); | ||
76 | define('AUTH_AUTO_LOGIN', true); | ||
77 | |||
78 | define('SINGLE_USER_MODE', false); | ||
79 | |||
80 | define('SIMPLE_UPDATE_MODE', false); | ||
81 | define('CHECK_FOR_UPDATES', true); | ||
82 | |||
83 | define('FORCE_ARTICLE_PURGE', 0); | ||
84 | define('SESSION_COOKIE_LIFETIME', 60*60*24*120); | ||
85 | define('ENABLE_GZIP_OUTPUT', false); | ||
86 | |||
87 | define('PLUGINS', 'auth_ldap, note, instances'); | ||
88 | |||
89 | define('LOG_DESTINATION', '''); | ||
90 | define('CONFIG_VERSION', 26); | ||
91 | |||
92 | |||
93 | define('SPHINX_SERVER', 'localhost:9312'); | ||
94 | define('SPHINX_INDEX', 'ttrss, delta'); | ||
95 | |||
96 | define('ENABLE_REGISTRATION', false); | ||
97 | define('REG_NOTIFY_ADDRESS', 'outils@immae.eu'); | ||
98 | define('REG_MAX_USERS', 10); | ||
99 | |||
100 | define('SMTP_SERVER', 'mail.immae.eu:25'); | ||
101 | define('SMTP_LOGIN', '''); | ||
102 | define('SMTP_PASSWORD', '''); | ||
103 | define('SMTP_SECURE', 'tls'); | ||
104 | |||
105 | define('SMTP_FROM_NAME', 'Tiny Tiny RSS'); | ||
106 | define('SMTP_FROM_ADDRESS', 'outils@immae.eu'); | ||
107 | define('DIGEST_SUBJECT', '[tt-rss] New headlines for last 24 hours'); | ||
108 | |||
109 | define('LDAP_AUTH_SERVER_URI', 'ldap://ldap.immae.eu:389/'); | ||
110 | define('LDAP_AUTH_USETLS', TRUE); | ||
111 | define('LDAP_AUTH_ALLOW_UNTRUSTED_CERT', TRUE); | ||
112 | define('LDAP_AUTH_BASEDN', 'dc=immae,dc=eu'); | ||
113 | define('LDAP_AUTH_ANONYMOUSBEFOREBIND', FALSE); | ||
114 | define('LDAP_AUTH_SEARCHFILTER', '(&(memberOf=cn=users,cn=ttrss,ou=services,dc=immae,dc=eu)(|(cn=???)(uid=???)(&(uid:dn:=???)(ou=ttrss))))'); | ||
115 | |||
116 | define('LDAP_AUTH_BINDDN', 'cn=ttrss,ou=services,dc=immae,dc=eu'); | ||
117 | define('LDAP_AUTH_BINDPW', '${env.ldap.password}'); | ||
118 | define('LDAP_AUTH_LOGIN_ATTRIB', 'immaeTtrssLogin'); | ||
119 | |||
120 | define('LDAP_AUTH_LOG_ATTEMPTS', FALSE); | ||
121 | define('LDAP_AUTH_DEBUG', FALSE); | ||
122 | ''; | ||
123 | webRoot = stdenv.mkDerivation (fetchedGit ./tt-rss.json // rec { | ||
124 | buildPhase = '' | ||
125 | rm -rf lock feed-icons cache | ||
126 | ln -sf ../../../../../${varDir}/{lock,feed-icons,cache} . | ||
127 | ''; | ||
128 | installPhase = '' | ||
129 | cp -a . $out | ||
130 | ln -s ${config} $out/config.php | ||
131 | ${builtins.concatStringsSep "\n" ( | ||
132 | lib.attrsets.mapAttrsToList (name: value: "ln -sf ${value} $out/plugins/${name}") plugins | ||
133 | )} | ||
134 | ''; | ||
135 | }); | ||
136 | apache = { | ||
137 | user = "wwwrun"; | ||
138 | group = "wwwrun"; | ||
139 | modules = [ "proxy_fcgi" ]; | ||
140 | vhostConf = '' | ||
141 | Alias /ttrss "${webRoot}" | ||
142 | <Directory "${webRoot}"> | ||
143 | DirectoryIndex index.php | ||
144 | <FilesMatch "\.php$"> | ||
145 | SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" | ||
146 | </FilesMatch> | ||
147 | |||
148 | AllowOverride All | ||
149 | Options FollowSymlinks | ||
150 | Require all granted | ||
151 | </Directory> | ||
152 | ''; | ||
153 | }; | ||
154 | phpFpm = rec { | ||
155 | basedir = builtins.concatStringsSep ":" ( | ||
156 | [ webRoot config varDir ] | ||
157 | ++ lib.attrsets.mapAttrsToList (name: value: value) plugins); | ||
158 | socket = "/var/run/phpfpm/ttrss.sock"; | ||
159 | pool = '' | ||
160 | listen = ${socket} | ||
161 | user = ${apache.user} | ||
162 | group = ${apache.group} | ||
163 | listen.owner = ${apache.user} | ||
164 | listen.group = ${apache.group} | ||
165 | pm = ondemand | ||
166 | pm.max_children = 60 | ||
167 | pm.process_idle_timeout = 60 | ||
168 | |||
169 | ; Needed to avoid clashes in browser cookies (same domain) | ||
170 | php_value[session.name] = TtrssPHPSESSID | ||
171 | php_admin_value[open_basedir] = "${basedir}:/tmp" | ||
172 | php_admin_value[session.save_path] = "${varDir}/phpSessions" | ||
173 | ''; | ||
174 | }; | ||
175 | }; | ||
176 | in | ||
177 | ttrss | ||
diff --git a/virtual/modules/websites/tools/tools/wallabag.nix b/virtual/modules/websites/tools/tools/wallabag.nix deleted file mode 100644 index 4bda808..0000000 --- a/virtual/modules/websites/tools/tools/wallabag.nix +++ /dev/null | |||
@@ -1,181 +0,0 @@ | |||
1 | { stdenv, fetchurl, writeText, env, composerEnv, phpPackages, php, which }: | ||
2 | let | ||
3 | wallabag = rec { | ||
4 | varDir = "/var/lib/wallabag"; | ||
5 | parameters = writeText "parameters.yml" '' | ||
6 | # This file is auto-generated during the composer install | ||
7 | parameters: | ||
8 | database_driver: pdo_pgsql | ||
9 | database_driver_class: Wallabag\CoreBundle\Doctrine\DBAL\Driver\CustomPostgreSQLDriver | ||
10 | database_host: ${env.postgresql.socket} | ||
11 | database_port: ${env.postgresql.port} | ||
12 | database_name: ${env.postgresql.database} | ||
13 | database_user: ${env.postgresql.user} | ||
14 | database_password: ${env.postgresql.password} | ||
15 | database_path: null | ||
16 | database_table_prefix: wallabag_ | ||
17 | database_socket: null | ||
18 | database_charset: utf8 | ||
19 | domain_name: https://tools.immae.eu/wallabag | ||
20 | mailer_transport: smtp | ||
21 | mailer_host: mail.immae.eu | ||
22 | mailer_user: null | ||
23 | mailer_password: null | ||
24 | locale: fr | ||
25 | secret: ${env.secret} | ||
26 | twofactor_auth: true | ||
27 | twofactor_sender: wallabag@immae.eu | ||
28 | fosuser_registration: false | ||
29 | fosuser_confirmation: true | ||
30 | from_email: wallabag@immae.eu | ||
31 | rss_limit: 50 | ||
32 | rabbitmq_host: localhost | ||
33 | rabbitmq_port: 5672 | ||
34 | rabbitmq_user: guest | ||
35 | rabbitmq_password: guest | ||
36 | rabbitmq_prefetch_count: 10 | ||
37 | redis_scheme: unix | ||
38 | redis_host: null | ||
39 | redis_port: null | ||
40 | redis_path: ${env.redis.socket} | ||
41 | redis_password: null | ||
42 | sites_credentials: { } | ||
43 | ldap_enabled: true | ||
44 | ldap_host: ldap.immae.eu | ||
45 | ldap_port: 636 | ||
46 | ldap_tls: false | ||
47 | ldap_ssl: true | ||
48 | ldap_bind_requires_dn: true | ||
49 | ldap_base: 'dc=immae,dc=eu' | ||
50 | ldap_manager_dn: 'cn=wallabag,ou=services,dc=immae,dc=eu' | ||
51 | ldap_manager_pw: ${env.ldap.password} | ||
52 | ldap_filter: '(&(memberOf=cn=users,cn=wallabag,ou=services,dc=immae,dc=eu))' | ||
53 | ldap_admin_filter: '(&(memberOf=cn=admins,cn=wallabag,ou=services,dc=immae,dc=eu)(uid=%s))' | ||
54 | ldap_username_attribute: uid | ||
55 | ldap_email_attribute: mail | ||
56 | ldap_name_attribute: cn | ||
57 | ldap_enabled_attribute: null | ||
58 | ''; | ||
59 | webappDir = composerEnv.buildPackage rec { | ||
60 | packages = { | ||
61 | "fr3d/ldap-bundle" = { | ||
62 | targetDir = ""; | ||
63 | src = composerEnv.buildZipPackage { | ||
64 | name = "fr3d-ldap-bundle-5a8927c11af45fa06331b97221c6da1a4a237475"; | ||
65 | src = fetchurl { | ||
66 | url = https://api.github.com/repos/Maks3w/FR3DLdapBundle/zipball/5a8927c11af45fa06331b97221c6da1a4a237475; | ||
67 | sha256 = "168zkd82j200wd6h0a3lq81g5s2pifg889rv27q2g429nppsbfxc"; | ||
68 | }; | ||
69 | }; | ||
70 | }; | ||
71 | "zendframework/zend-ldap" = { | ||
72 | targetDir = ""; | ||
73 | src = composerEnv.buildZipPackage { | ||
74 | name = "zendframework-zend-ldap-b63c7884a08d3a6bda60ebcf7d6238cf8ad89f49"; | ||
75 | src = fetchurl { | ||
76 | url = https://api.github.com/repos/zendframework/zend-ldap/zipball/b63c7884a08d3a6bda60ebcf7d6238cf8ad89f49; | ||
77 | sha256 = "0mn4yqnb5prqhrbbybmw1i2rx7xf4s4wagbdq9qi55fa0vk3jgw9"; | ||
78 | }; | ||
79 | }; | ||
80 | }; | ||
81 | }; | ||
82 | noDev = true; | ||
83 | doRemoveVendor = false; | ||
84 | # Beware when upgrading, I probably messed up with the migrations table | ||
85 | # (due to a psql bug in wallabag) | ||
86 | version = "2.3.6"; | ||
87 | name = "wallabag-${version}"; | ||
88 | src = fetchurl { | ||
89 | url = "https://static.wallabag.org/releases/wallabag-release-${version}.tar.gz"; | ||
90 | sha256 = "0m0dy3r94ks5pfxyb9vbgrsm0vrwdl3jd5wqwg4f5vd107lq90q1"; | ||
91 | }; | ||
92 | unpackPhase = '' | ||
93 | unpackFile "$src" | ||
94 | sourceRoot=${version} | ||
95 | src=$PWD/${version} | ||
96 | ''; | ||
97 | patches = [ ./wallabag_ldap.patch ]; | ||
98 | preInstall = '' | ||
99 | export SYMFONY_ENV="prod" | ||
100 | ''; | ||
101 | postInstall = '' | ||
102 | rm -rf web/assets var/{cache,logs,sessions} app/config/parameters.yml data | ||
103 | ln -sf ${parameters} app/config/parameters.yml | ||
104 | ln -sf ../../../../../../${varDir}/var/{cache,logs,sessions} var | ||
105 | ln -sf ../../../../../${varDir}/data data | ||
106 | ln -sf ../../../../../../${varDir}/assets web/assets | ||
107 | ''; | ||
108 | }; | ||
109 | activationScript = '' | ||
110 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} \ | ||
111 | ${varDir}/var ${varDir}/data/db ${varDir}/assets/images | ||
112 | if [ ! -f "${varDir}/currentWebappDir" -o \ | ||
113 | "${webappDir}" != "$(cat ${varDir}/currentWebappDir 2>/dev/null)" ]; then | ||
114 | pushd ${webappDir} > /dev/null | ||
115 | $wrapperDir/sudo -u wwwrun ./bin/console --env=prod cache:clear | ||
116 | $wrapperDir/sudo -u wwwrun ./bin/console --env=prod doctrine:migrations:migrate --no-interaction | ||
117 | popd > /dev/null | ||
118 | echo -n "${webappDir}" > ${varDir}/currentWebappDir | ||
119 | fi | ||
120 | ''; | ||
121 | webRoot = "${webappDir}/web"; | ||
122 | # Domain migration: Table wallabag_entry contains whole | ||
123 | # https://tools.immae.eu/wallabag domain name in preview_picture | ||
124 | apache = { | ||
125 | user = "wwwrun"; | ||
126 | group = "wwwrun"; | ||
127 | modules = [ "proxy_fcgi" ]; | ||
128 | vhostConf = '' | ||
129 | Alias /wallabag "${webRoot}" | ||
130 | <Directory "${webRoot}"> | ||
131 | AllowOverride None | ||
132 | Require all granted | ||
133 | # For OAuth (apps) | ||
134 | CGIPassAuth On | ||
135 | |||
136 | <FilesMatch "\.php$"> | ||
137 | SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" | ||
138 | </FilesMatch> | ||
139 | |||
140 | <IfModule mod_rewrite.c> | ||
141 | Options -MultiViews | ||
142 | RewriteEngine On | ||
143 | RewriteCond %{REQUEST_FILENAME} !-f | ||
144 | RewriteRule ^(.*)$ app.php [QSA,L] | ||
145 | </IfModule> | ||
146 | </Directory> | ||
147 | <Directory "${webRoot}/bundles"> | ||
148 | <IfModule mod_rewrite.c> | ||
149 | RewriteEngine Off | ||
150 | </IfModule> | ||
151 | </Directory> | ||
152 | <Directory "${varDir}/assets"> | ||
153 | AllowOverride None | ||
154 | Require all granted | ||
155 | </Directory> | ||
156 | ''; | ||
157 | }; | ||
158 | phpFpm = rec { | ||
159 | basedir = builtins.concatStringsSep ":" [ webappDir parameters varDir ]; | ||
160 | socket = "/var/run/phpfpm/wallabag.sock"; | ||
161 | pool = '' | ||
162 | listen = ${socket} | ||
163 | user = ${apache.user} | ||
164 | group = ${apache.group} | ||
165 | listen.owner = ${apache.user} | ||
166 | listen.group = ${apache.group} | ||
167 | pm = dynamic | ||
168 | pm.max_children = 60 | ||
169 | pm.start_servers = 2 | ||
170 | pm.min_spare_servers = 1 | ||
171 | pm.max_spare_servers = 10 | ||
172 | |||
173 | ; Needed to avoid clashes in browser cookies (same domain) | ||
174 | php_value[session.name] = WallabagPHPSESSID | ||
175 | php_admin_value[open_basedir] = "${basedir}:/tmp" | ||
176 | php_value[max_execution_time] = 300 | ||
177 | ''; | ||
178 | }; | ||
179 | }; | ||
180 | in | ||
181 | wallabag | ||
diff --git a/virtual/modules/websites/tools/tools/wallabag_ldap.patch b/virtual/modules/websites/tools/tools/wallabag_ldap.patch deleted file mode 100644 index 9caf7da..0000000 --- a/virtual/modules/websites/tools/tools/wallabag_ldap.patch +++ /dev/null | |||
@@ -1,698 +0,0 @@ | |||
1 | diff --git a/.travis.yml b/.travis.yml | ||
2 | index 04cea258..56b1f576 100644 | ||
3 | --- a/.travis.yml | ||
4 | +++ b/.travis.yml | ||
5 | @@ -58,6 +58,7 @@ install: | ||
6 | |||
7 | before_script: | ||
8 | - PHP=$TRAVIS_PHP_VERSION | ||
9 | + - echo "extension=ldap.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini | ||
10 | - if [[ ! $PHP = hhvm* ]]; then echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini; fi; | ||
11 | # xdebug isn't enable for PHP 7.1 | ||
12 | - if [[ ! $PHP = hhvm* ]]; then phpenv config-rm xdebug.ini || echo "xdebug not available"; fi | ||
13 | diff --git a/app/AppKernel.php b/app/AppKernel.php | ||
14 | index 40726f05..c4f465dc 100644 | ||
15 | --- a/app/AppKernel.php | ||
16 | +++ b/app/AppKernel.php | ||
17 | @@ -42,6 +42,10 @@ class AppKernel extends Kernel | ||
18 | new OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(), | ||
19 | ]; | ||
20 | |||
21 | + if (class_exists('FR3D\\LdapBundle\\FR3DLdapBundle')) { | ||
22 | + $bundles[] = new FR3D\LdapBundle\FR3DLdapBundle(); | ||
23 | + } | ||
24 | + | ||
25 | if (in_array($this->getEnvironment(), ['dev', 'test'], true)) { | ||
26 | $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle(); | ||
27 | $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle(); | ||
28 | diff --git a/app/DoctrineMigrations/Version20170710113900.php b/app/DoctrineMigrations/Version20170710113900.php | ||
29 | new file mode 100644 | ||
30 | index 00000000..7be83110 | ||
31 | --- /dev/null | ||
32 | +++ b/app/DoctrineMigrations/Version20170710113900.php | ||
33 | @@ -0,0 +1,54 @@ | ||
34 | +<?php | ||
35 | + | ||
36 | +namespace Application\Migrations; | ||
37 | + | ||
38 | +use Doctrine\DBAL\Migrations\AbstractMigration; | ||
39 | +use Doctrine\DBAL\Schema\Schema; | ||
40 | +use Symfony\Component\DependencyInjection\ContainerAwareInterface; | ||
41 | +use Symfony\Component\DependencyInjection\ContainerInterface; | ||
42 | + | ||
43 | +/** | ||
44 | + * Added dn field on wallabag_users | ||
45 | + */ | ||
46 | +class Version20170710113900 extends AbstractMigration implements ContainerAwareInterface | ||
47 | +{ | ||
48 | + /** | ||
49 | + * @var ContainerInterface | ||
50 | + */ | ||
51 | + private $container; | ||
52 | + | ||
53 | + public function setContainer(ContainerInterface $container = null) | ||
54 | + { | ||
55 | + $this->container = $container; | ||
56 | + } | ||
57 | + | ||
58 | + private function getTable($tableName) | ||
59 | + { | ||
60 | + return $this->container->getParameter('database_table_prefix').$tableName; | ||
61 | + } | ||
62 | + | ||
63 | + /** | ||
64 | + * @param Schema $schema | ||
65 | + */ | ||
66 | + public function up(Schema $schema) | ||
67 | + { | ||
68 | + $usersTable = $schema->getTable($this->getTable('user')); | ||
69 | + | ||
70 | + $this->skipIf($usersTable->hasColumn('dn'), 'It seems that you already played this migration.'); | ||
71 | + | ||
72 | + $usersTable->addColumn('dn', 'text', [ | ||
73 | + 'default' => null, | ||
74 | + 'notnull' => false, | ||
75 | + ]); | ||
76 | + } | ||
77 | + | ||
78 | + /** | ||
79 | + * @param Schema $schema | ||
80 | + */ | ||
81 | + public function down(Schema $schema) | ||
82 | + { | ||
83 | + $usersTable = $schema->getTable($this->getTable('user')); | ||
84 | + $usersTable->dropColumn('dn'); | ||
85 | + } | ||
86 | +} | ||
87 | + | ||
88 | diff --git a/app/config/parameters.yml.dist b/app/config/parameters.yml.dist | ||
89 | index 6b0cb8e8..cfd41b69 100644 | ||
90 | --- a/app/config/parameters.yml.dist | ||
91 | +++ b/app/config/parameters.yml.dist | ||
92 | @@ -62,3 +62,23 @@ parameters: | ||
93 | redis_port: 6379 | ||
94 | redis_path: null | ||
95 | redis_password: null | ||
96 | + | ||
97 | + # ldap configuration | ||
98 | + # To enable, you need to require fr3d/ldap-bundle | ||
99 | + ldap_enabled: false | ||
100 | + ldap_host: localhost | ||
101 | + ldap_port: 389 | ||
102 | + ldap_tls: false | ||
103 | + ldap_ssl: false | ||
104 | + ldap_bind_requires_dn: true | ||
105 | + ldap_base: dc=example,dc=com | ||
106 | + ldap_manager_dn: ou=Manager,dc=example,dc=com | ||
107 | + ldap_manager_pw: password | ||
108 | + ldap_filter: (&(ObjectClass=Person)) | ||
109 | + # optional (if null: no ldap user is admin) | ||
110 | + ldap_admin_filter: (&(memberOf=ou=admins,dc=example,dc=com)(uid=%s)) | ||
111 | + ldap_username_attribute: uid | ||
112 | + ldap_email_attribute: mail | ||
113 | + ldap_name_attribute: cn | ||
114 | + # optional (default sets user as enabled unconditionally) | ||
115 | + ldap_enabled_attribute: ~ | ||
116 | diff --git a/app/config/security.yml b/app/config/security.yml | ||
117 | index 02afc9ea..48fbb553 100644 | ||
118 | --- a/app/config/security.yml | ||
119 | +++ b/app/config/security.yml | ||
120 | @@ -6,6 +6,7 @@ security: | ||
121 | ROLE_ADMIN: ROLE_USER | ||
122 | ROLE_SUPER_ADMIN: [ ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ] | ||
123 | |||
124 | + # /!\ This list is modified in WallabagUserBundle when LDAP is enabled | ||
125 | providers: | ||
126 | administrators: | ||
127 | entity: | ||
128 | @@ -36,6 +37,7 @@ security: | ||
129 | pattern: ^/login$ | ||
130 | anonymous: ~ | ||
131 | |||
132 | + # /!\ This section is modified in WallabagUserBundle when LDAP is enabled | ||
133 | secured_area: | ||
134 | pattern: ^/ | ||
135 | form_login: | ||
136 | diff --git a/composer.json b/composer.json | ||
137 | index 68cfad05..32a3d1a4 100644 | ||
138 | --- a/composer.json | ||
139 | +++ b/composer.json | ||
140 | @@ -85,7 +85,11 @@ | ||
141 | "friendsofsymfony/jsrouting-bundle": "^1.6.3", | ||
142 | "bdunogier/guzzle-site-authenticator": "^1.0.0", | ||
143 | "defuse/php-encryption": "^2.1", | ||
144 | - "html2text/html2text": "^4.1" | ||
145 | + "html2text/html2text": "^4.1", | ||
146 | + "fr3d/ldap-bundle": "^3.0" | ||
147 | + }, | ||
148 | + "suggest": { | ||
149 | + "fr3d/ldap-bundle": "If you want to authenticate via LDAP" | ||
150 | }, | ||
151 | "require-dev": { | ||
152 | "doctrine/doctrine-fixtures-bundle": "~2.2", | ||
153 | diff --git a/composer.lock b/composer.lock | ||
154 | index 251ee081..37795e0b 100644 | ||
155 | --- a/composer.lock | ||
156 | +++ b/composer.lock | ||
157 | @@ -4,7 +4,7 @@ | ||
158 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", | ||
159 | "This file is @generated automatically" | ||
160 | ], | ||
161 | - "content-hash": "d2a0bd8408dccdeb7a7455996519829b", | ||
162 | + "content-hash": "4699d166d03a8e5f70d802d0bc3e6a20", | ||
163 | "packages": [ | ||
164 | { | ||
165 | "name": "bdunogier/guzzle-site-authenticator", | ||
166 | @@ -1346,6 +1346,65 @@ | ||
167 | ], | ||
168 | "time": "2018-12-14T19:44:53+00:00" | ||
169 | }, | ||
170 | + { | ||
171 | + "name": "fr3d/ldap-bundle", | ||
172 | + "version": "v3.0.0", | ||
173 | + "source": { | ||
174 | + "type": "git", | ||
175 | + "url": "https://github.com/Maks3w/FR3DLdapBundle.git", | ||
176 | + "reference": "5a8927c11af45fa06331b97221c6da1a4a237475" | ||
177 | + }, | ||
178 | + "dist": { | ||
179 | + "type": "zip", | ||
180 | + "url": "https://api.github.com/repos/Maks3w/FR3DLdapBundle/zipball/5a8927c11af45fa06331b97221c6da1a4a237475", | ||
181 | + "reference": "5a8927c11af45fa06331b97221c6da1a4a237475", | ||
182 | + "shasum": "" | ||
183 | + }, | ||
184 | + "require": { | ||
185 | + "php": ">=5.5", | ||
186 | + "psr/log": "~1.0", | ||
187 | + "symfony/config": "2.3 - 3", | ||
188 | + "symfony/dependency-injection": "2.3 - 3", | ||
189 | + "symfony/polyfill-php56": "^1.1", | ||
190 | + "symfony/security": "2.3 - 3", | ||
191 | + "symfony/security-bundle": "2.3 - 3", | ||
192 | + "zendframework/zend-ldap": "2.5 - 3" | ||
193 | + }, | ||
194 | + "require-dev": { | ||
195 | + "fabpot/php-cs-fixer": "1.11.*", | ||
196 | + "fr3d/psr3-message-assertions": "0.1.*", | ||
197 | + "friendsofsymfony/user-bundle": "~1.3", | ||
198 | + "maks3w/phpunit-methods-trait": "^4.6", | ||
199 | + "phpunit/phpunit": "^4.6", | ||
200 | + "symfony/validator": "2.3 - 3" | ||
201 | + }, | ||
202 | + "suggest": { | ||
203 | + "friendsofsymfony/user-bundle": "Integrate authentication and management for DB users, useful for unmanned LDAP servers", | ||
204 | + "symfony/validator": "Allow pre-validate for existing users before register new ones" | ||
205 | + }, | ||
206 | + "type": "symfony-bundle", | ||
207 | + "autoload": { | ||
208 | + "psr-4": { | ||
209 | + "FR3D\\LdapBundle\\": "" | ||
210 | + } | ||
211 | + }, | ||
212 | + "notification-url": "https://packagist.org/downloads/", | ||
213 | + "license": [ | ||
214 | + "MIT" | ||
215 | + ], | ||
216 | + "authors": [ | ||
217 | + { | ||
218 | + "name": "Maks3w" | ||
219 | + } | ||
220 | + ], | ||
221 | + "description": "This package provide users and authentication services based on LDAP directories for Symfony2 framework", | ||
222 | + "homepage": "https://github.com/Maks3w/FR3DLdapBundle", | ||
223 | + "keywords": [ | ||
224 | + "Authentication", | ||
225 | + "ldap" | ||
226 | + ], | ||
227 | + "time": "2016-02-12T17:45:14+00:00" | ||
228 | + }, | ||
229 | { | ||
230 | "name": "friendsofsymfony/jsrouting-bundle", | ||
231 | "version": "1.6.3", | ||
232 | @@ -7027,6 +7086,59 @@ | ||
233 | "zf2" | ||
234 | ], | ||
235 | "time": "2018-04-25T15:33:34+00:00" | ||
236 | + }, | ||
237 | + { | ||
238 | + "name": "zendframework/zend-ldap", | ||
239 | + "version": "2.10.0", | ||
240 | + "source": { | ||
241 | + "type": "git", | ||
242 | + "url": "https://github.com/zendframework/zend-ldap.git", | ||
243 | + "reference": "b63c7884a08d3a6bda60ebcf7d6238cf8ad89f49" | ||
244 | + }, | ||
245 | + "dist": { | ||
246 | + "type": "zip", | ||
247 | + "url": "https://api.github.com/repos/zendframework/zend-ldap/zipball/b63c7884a08d3a6bda60ebcf7d6238cf8ad89f49", | ||
248 | + "reference": "b63c7884a08d3a6bda60ebcf7d6238cf8ad89f49", | ||
249 | + "shasum": "" | ||
250 | + }, | ||
251 | + "require": { | ||
252 | + "ext-ldap": "*", | ||
253 | + "php": "^5.6 || ^7.0" | ||
254 | + }, | ||
255 | + "require-dev": { | ||
256 | + "php-mock/php-mock-phpunit": "^1.1.2 || ^2.1.1", | ||
257 | + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", | ||
258 | + "zendframework/zend-coding-standard": "~1.0.0", | ||
259 | + "zendframework/zend-config": "^2.5", | ||
260 | + "zendframework/zend-eventmanager": "^2.6.3 || ^3.0.1", | ||
261 | + "zendframework/zend-stdlib": "^2.7 || ^3.0" | ||
262 | + }, | ||
263 | + "suggest": { | ||
264 | + "zendframework/zend-eventmanager": "Zend\\EventManager component" | ||
265 | + }, | ||
266 | + "type": "library", | ||
267 | + "extra": { | ||
268 | + "branch-alias": { | ||
269 | + "dev-master": "2.10.x-dev", | ||
270 | + "dev-develop": "2.11.x-dev" | ||
271 | + } | ||
272 | + }, | ||
273 | + "autoload": { | ||
274 | + "psr-4": { | ||
275 | + "Zend\\Ldap\\": "src/" | ||
276 | + } | ||
277 | + }, | ||
278 | + "notification-url": "https://packagist.org/downloads/", | ||
279 | + "license": [ | ||
280 | + "BSD-3-Clause" | ||
281 | + ], | ||
282 | + "description": "Provides support for LDAP operations including but not limited to binding, searching and modifying entries in an LDAP directory", | ||
283 | + "keywords": [ | ||
284 | + "ZendFramework", | ||
285 | + "ldap", | ||
286 | + "zf" | ||
287 | + ], | ||
288 | + "time": "2018-07-05T05:05:12+00:00" | ||
289 | } | ||
290 | ], | ||
291 | "packages-dev": [ | ||
292 | @@ -7561,12 +7673,12 @@ | ||
293 | "source": { | ||
294 | "type": "git", | ||
295 | "url": "https://github.com/symfony/phpunit-bridge.git", | ||
296 | - "reference": "5dab0d4b2ac99ab22b447b615fdfdc10ec4af3d5" | ||
297 | + "reference": "d61ec438634e0f234c6bda1c6ee97016bbb0e7a1" | ||
298 | }, | ||
299 | "dist": { | ||
300 | "type": "zip", | ||
301 | - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/5dab0d4b2ac99ab22b447b615fdfdc10ec4af3d5", | ||
302 | - "reference": "5dab0d4b2ac99ab22b447b615fdfdc10ec4af3d5", | ||
303 | + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/d61ec438634e0f234c6bda1c6ee97016bbb0e7a1", | ||
304 | + "reference": "d61ec438634e0f234c6bda1c6ee97016bbb0e7a1", | ||
305 | "shasum": "" | ||
306 | }, | ||
307 | "require": { | ||
308 | @@ -7619,7 +7731,7 @@ | ||
309 | ], | ||
310 | "description": "Symfony PHPUnit Bridge", | ||
311 | "homepage": "https://symfony.com", | ||
312 | - "time": "2019-01-01T13:45:19+00:00" | ||
313 | + "time": "2019-01-16T13:27:11+00:00" | ||
314 | }, | ||
315 | { | ||
316 | "name": "symfony/polyfill-php72", | ||
317 | diff --git a/scripts/install.sh b/scripts/install.sh | ||
318 | index 8b7ea03f..3a4a33ab 100755 | ||
319 | --- a/scripts/install.sh | ||
320 | +++ b/scripts/install.sh | ||
321 | @@ -26,5 +26,8 @@ ENV=$1 | ||
322 | TAG=$(git describe --tags $(git rev-list --tags --max-count=1)) | ||
323 | |||
324 | git checkout $TAG | ||
325 | +if [ -n "$LDAP_ENABLED" ]; then | ||
326 | + SYMFONY_ENV=$ENV $COMPOSER_COMMAND require --no-update fr3d/ldap-bundle | ||
327 | +fi | ||
328 | SYMFONY_ENV=$ENV $COMPOSER_COMMAND install --no-dev -o --prefer-dist | ||
329 | php bin/console wallabag:install --env=$ENV | ||
330 | diff --git a/scripts/update.sh b/scripts/update.sh | ||
331 | index c62d104a..6259a431 100755 | ||
332 | --- a/scripts/update.sh | ||
333 | +++ b/scripts/update.sh | ||
334 | @@ -32,6 +32,9 @@ git fetch origin | ||
335 | git fetch --tags | ||
336 | TAG=$(git describe --tags $(git rev-list --tags --max-count=1)) | ||
337 | git checkout $TAG --force | ||
338 | +if [ -n "$LDAP_ENABLED" ]; then | ||
339 | + SYMFONY_ENV=$ENV $COMPOSER_COMMAND require --no-update fr3d/ldap-bundle | ||
340 | +fi | ||
341 | SYMFONY_ENV=$ENV $COMPOSER_COMMAND install --no-dev -o --prefer-dist | ||
342 | php bin/console doctrine:migrations:migrate --no-interaction --env=$ENV | ||
343 | php bin/console cache:clear --env=$ENV | ||
344 | diff --git a/src/Wallabag/UserBundle/DependencyInjection/WallabagUserExtension.php b/src/Wallabag/UserBundle/DependencyInjection/WallabagUserExtension.php | ||
345 | index 5ca3482e..904a6af1 100644 | ||
346 | --- a/src/Wallabag/UserBundle/DependencyInjection/WallabagUserExtension.php | ||
347 | +++ b/src/Wallabag/UserBundle/DependencyInjection/WallabagUserExtension.php | ||
348 | @@ -6,9 +6,34 @@ use Symfony\Component\Config\FileLocator; | ||
349 | use Symfony\Component\DependencyInjection\ContainerBuilder; | ||
350 | use Symfony\Component\DependencyInjection\Loader; | ||
351 | use Symfony\Component\HttpKernel\DependencyInjection\Extension; | ||
352 | +use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface; | ||
353 | |||
354 | -class WallabagUserExtension extends Extension | ||
355 | +class WallabagUserExtension extends Extension implements PrependExtensionInterface | ||
356 | { | ||
357 | + public function prepend(ContainerBuilder $container) | ||
358 | + { | ||
359 | + $ldap = $container->getParameter('ldap_enabled'); | ||
360 | + | ||
361 | + if ($ldap) { | ||
362 | + $container->prependExtensionConfig('security', array( | ||
363 | + 'providers' => array( | ||
364 | + 'chain_provider' => array(), | ||
365 | + ), | ||
366 | + )); | ||
367 | + $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); | ||
368 | + $loader->load('ldap.yml'); | ||
369 | + } elseif ($container->hasExtension('fr3d_ldap')) { | ||
370 | + $container->prependExtensionConfig('fr3_d_ldap', array( | ||
371 | + 'driver' => array( | ||
372 | + 'host' => 'localhost', | ||
373 | + ), | ||
374 | + 'user' => array( | ||
375 | + 'baseDn' => 'dc=example,dc=com', | ||
376 | + ), | ||
377 | + )); | ||
378 | + } | ||
379 | + } | ||
380 | + | ||
381 | public function load(array $configs, ContainerBuilder $container) | ||
382 | { | ||
383 | $configuration = new Configuration(); | ||
384 | @@ -16,6 +41,9 @@ class WallabagUserExtension extends Extension | ||
385 | |||
386 | $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config')); | ||
387 | $loader->load('services.yml'); | ||
388 | + if ($container->getParameter('ldap_enabled')) { | ||
389 | + $loader->load('ldap_services.yml'); | ||
390 | + } | ||
391 | $container->setParameter('wallabag_user.registration_enabled', $config['registration_enabled']); | ||
392 | } | ||
393 | |||
394 | diff --git a/src/Wallabag/UserBundle/Entity/User.php b/src/Wallabag/UserBundle/Entity/User.php | ||
395 | index 48446e3c..f93c59c7 100644 | ||
396 | --- a/src/Wallabag/UserBundle/Entity/User.php | ||
397 | +++ b/src/Wallabag/UserBundle/Entity/User.php | ||
398 | @@ -1,5 +1,15 @@ | ||
399 | <?php | ||
400 | |||
401 | +// This permits to have the LdapUserInterface even when fr3d/ldap-bundle is not | ||
402 | +// in the packages | ||
403 | +namespace FR3D\LdapBundle\Model; | ||
404 | + | ||
405 | +interface LdapUserInterface | ||
406 | +{ | ||
407 | + public function setDn($dn); | ||
408 | + public function getDn(); | ||
409 | +} | ||
410 | + | ||
411 | namespace Wallabag\UserBundle\Entity; | ||
412 | |||
413 | use Doctrine\Common\Collections\ArrayCollection; | ||
414 | @@ -16,6 +26,7 @@ use Wallabag\ApiBundle\Entity\Client; | ||
415 | use Wallabag\CoreBundle\Entity\Config; | ||
416 | use Wallabag\CoreBundle\Entity\Entry; | ||
417 | use Wallabag\CoreBundle\Helper\EntityTimestampsTrait; | ||
418 | +use FR3D\LdapBundle\Model\LdapUserInterface; | ||
419 | |||
420 | /** | ||
421 | * User. | ||
422 | @@ -28,7 +39,7 @@ use Wallabag\CoreBundle\Helper\EntityTimestampsTrait; | ||
423 | * @UniqueEntity("email") | ||
424 | * @UniqueEntity("username") | ||
425 | */ | ||
426 | -class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterface | ||
427 | +class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterface, LdapUserInterface | ||
428 | { | ||
429 | use EntityTimestampsTrait; | ||
430 | |||
431 | @@ -67,6 +78,13 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf | ||
432 | */ | ||
433 | protected $email; | ||
434 | |||
435 | + /** | ||
436 | + * @var string | ||
437 | + * | ||
438 | + * @ORM\Column(name="dn", type="text", nullable=true) | ||
439 | + */ | ||
440 | + protected $dn; | ||
441 | + | ||
442 | /** | ||
443 | * @var \DateTime | ||
444 | * | ||
445 | @@ -309,4 +327,33 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf | ||
446 | return $this->clients->first(); | ||
447 | } | ||
448 | } | ||
449 | + | ||
450 | + /** | ||
451 | + * Set dn. | ||
452 | + * | ||
453 | + * @param string $dn | ||
454 | + * | ||
455 | + * @return User | ||
456 | + */ | ||
457 | + public function setDn($dn) | ||
458 | + { | ||
459 | + $this->dn = $dn; | ||
460 | + | ||
461 | + return $this; | ||
462 | + } | ||
463 | + | ||
464 | + /** | ||
465 | + * Get dn. | ||
466 | + * | ||
467 | + * @return string | ||
468 | + */ | ||
469 | + public function getDn() | ||
470 | + { | ||
471 | + return $this->dn; | ||
472 | + } | ||
473 | + | ||
474 | + public function isLdapUser() | ||
475 | + { | ||
476 | + return $this->dn !== null; | ||
477 | + } | ||
478 | } | ||
479 | diff --git a/src/Wallabag/UserBundle/LdapHydrator.php b/src/Wallabag/UserBundle/LdapHydrator.php | ||
480 | new file mode 100644 | ||
481 | index 00000000..cea2450f | ||
482 | --- /dev/null | ||
483 | +++ b/src/Wallabag/UserBundle/LdapHydrator.php | ||
484 | @@ -0,0 +1,103 @@ | ||
485 | +<?php | ||
486 | + | ||
487 | +namespace Wallabag\UserBundle; | ||
488 | + | ||
489 | +use FR3D\LdapBundle\Hydrator\HydratorInterface; | ||
490 | +use FOS\UserBundle\FOSUserEvents; | ||
491 | +use FOS\UserBundle\Event\UserEvent; | ||
492 | + | ||
493 | +class LdapHydrator implements HydratorInterface | ||
494 | +{ | ||
495 | + private $userManager; | ||
496 | + private $eventDispatcher; | ||
497 | + private $attributesMap; | ||
498 | + private $enabledAttribute; | ||
499 | + private $ldapBaseDn; | ||
500 | + private $ldapAdminFilter; | ||
501 | + private $ldapDriver; | ||
502 | + | ||
503 | + public function __construct( | ||
504 | + $user_manager, | ||
505 | + $event_dispatcher, | ||
506 | + array $attributes_map, | ||
507 | + $ldap_base_dn, | ||
508 | + $ldap_admin_filter, | ||
509 | + $ldap_driver | ||
510 | + ) { | ||
511 | + $this->userManager = $user_manager; | ||
512 | + $this->eventDispatcher = $event_dispatcher; | ||
513 | + | ||
514 | + $this->attributesMap = array( | ||
515 | + 'setUsername' => $attributes_map[0], | ||
516 | + 'setEmail' => $attributes_map[1], | ||
517 | + 'setName' => $attributes_map[2], | ||
518 | + ); | ||
519 | + $this->enabledAttribute = $attributes_map[3]; | ||
520 | + | ||
521 | + $this->ldapBaseDn = $ldap_base_dn; | ||
522 | + $this->ldapAdminFilter = $ldap_admin_filter; | ||
523 | + $this->ldapDriver = $ldap_driver; | ||
524 | + } | ||
525 | + | ||
526 | + public function hydrate(array $ldapEntry) | ||
527 | + { | ||
528 | + $user = $this->userManager->findUserBy(array('dn' => $ldapEntry['dn'])); | ||
529 | + | ||
530 | + if (!$user) { | ||
531 | + $user = $this->userManager->createUser(); | ||
532 | + $user->setDn($ldapEntry['dn']); | ||
533 | + $user->setPassword(''); | ||
534 | + $user->setSalt(''); | ||
535 | + $this->updateUserFields($user, $ldapEntry); | ||
536 | + | ||
537 | + $event = new UserEvent($user); | ||
538 | + $this->eventDispatcher->dispatch(FOSUserEvents::USER_CREATED, $event); | ||
539 | + | ||
540 | + $this->userManager->reloadUser($user); | ||
541 | + } else { | ||
542 | + $this->updateUserFields($user, $ldapEntry); | ||
543 | + } | ||
544 | + | ||
545 | + return $user; | ||
546 | + } | ||
547 | + | ||
548 | + private function updateUserFields($user, $ldapEntry) | ||
549 | + { | ||
550 | + foreach ($this->attributesMap as $key => $value) { | ||
551 | + if (is_array($ldapEntry[$value])) { | ||
552 | + $ldap_value = $ldapEntry[$value][0]; | ||
553 | + } else { | ||
554 | + $ldap_value = $ldapEntry[$value]; | ||
555 | + } | ||
556 | + | ||
557 | + call_user_func([$user, $key], $ldap_value); | ||
558 | + } | ||
559 | + | ||
560 | + if ($this->enabledAttribute !== null) { | ||
561 | + $user->setEnabled($ldapEntry[$this->enabledAttribute]); | ||
562 | + } else { | ||
563 | + $user->setEnabled(true); | ||
564 | + } | ||
565 | + | ||
566 | + if ($this->isAdmin($user)) { | ||
567 | + $user->addRole('ROLE_SUPER_ADMIN'); | ||
568 | + } else { | ||
569 | + $user->removeRole('ROLE_SUPER_ADMIN'); | ||
570 | + } | ||
571 | + | ||
572 | + $this->userManager->updateUser($user, true); | ||
573 | + } | ||
574 | + | ||
575 | + private function isAdmin($user) | ||
576 | + { | ||
577 | + if ($this->ldapAdminFilter === null) { | ||
578 | + return false; | ||
579 | + } | ||
580 | + | ||
581 | + $escaped_username = ldap_escape($user->getUsername(), '', LDAP_ESCAPE_FILTER); | ||
582 | + $filter = sprintf($this->ldapAdminFilter, $escaped_username); | ||
583 | + $entries = $this->ldapDriver->search($this->ldapBaseDn, $filter); | ||
584 | + | ||
585 | + return $entries['count'] == 1; | ||
586 | + } | ||
587 | +} | ||
588 | diff --git a/src/Wallabag/UserBundle/OAuthStorageLdapWrapper.php b/src/Wallabag/UserBundle/OAuthStorageLdapWrapper.php | ||
589 | new file mode 100644 | ||
590 | index 00000000..8a851f12 | ||
591 | --- /dev/null | ||
592 | +++ b/src/Wallabag/UserBundle/OAuthStorageLdapWrapper.php | ||
593 | @@ -0,0 +1,43 @@ | ||
594 | +<?php | ||
595 | + | ||
596 | +namespace Wallabag\UserBundle; | ||
597 | + | ||
598 | +use FOS\OAuthServerBundle\Storage\OAuthStorage; | ||
599 | +use OAuth2\Model\IOAuth2Client; | ||
600 | +use Symfony\Component\Security\Core\Exception\AuthenticationException; | ||
601 | + | ||
602 | +class OAuthStorageLdapWrapper extends OAuthStorage | ||
603 | +{ | ||
604 | + private $ldapManager; | ||
605 | + | ||
606 | + public function setLdapManager($ldap_manager) | ||
607 | + { | ||
608 | + $this->ldapManager = $ldap_manager; | ||
609 | + } | ||
610 | + | ||
611 | + public function checkUserCredentials(IOAuth2Client $client, $username, $password) | ||
612 | + { | ||
613 | + try { | ||
614 | + $user = $this->userProvider->loadUserByUsername($username); | ||
615 | + } catch (AuthenticationException $e) { | ||
616 | + return false; | ||
617 | + } | ||
618 | + | ||
619 | + if ($user->isLdapUser()) { | ||
620 | + return $this->checkLdapUserCredentials($user, $password); | ||
621 | + } else { | ||
622 | + return parent::checkUserCredentials($client, $username, $password); | ||
623 | + } | ||
624 | + } | ||
625 | + | ||
626 | + private function checkLdapUserCredentials($user, $password) | ||
627 | + { | ||
628 | + if ($this->ldapManager->bind($user, $password)) { | ||
629 | + return array( | ||
630 | + 'data' => $user, | ||
631 | + ); | ||
632 | + } else { | ||
633 | + return false; | ||
634 | + } | ||
635 | + } | ||
636 | +} | ||
637 | diff --git a/src/Wallabag/UserBundle/Resources/config/ldap.yml b/src/Wallabag/UserBundle/Resources/config/ldap.yml | ||
638 | new file mode 100644 | ||
639 | index 00000000..5ec16088 | ||
640 | --- /dev/null | ||
641 | +++ b/src/Wallabag/UserBundle/Resources/config/ldap.yml | ||
642 | @@ -0,0 +1,28 @@ | ||
643 | +fr3d_ldap: | ||
644 | + service: | ||
645 | + user_hydrator: ldap_user_hydrator | ||
646 | + driver: | ||
647 | + host: "%ldap_host%" | ||
648 | + port: "%ldap_port%" | ||
649 | + useSsl: "%ldap_ssl%" | ||
650 | + useStartTls: "%ldap_tls%" | ||
651 | + bindRequiresDn: "%ldap_bind_requires_dn%" | ||
652 | + username: "%ldap_manager_dn%" | ||
653 | + password: "%ldap_manager_pw%" | ||
654 | + user: | ||
655 | + baseDn: "%ldap_base%" | ||
656 | + filter: "%ldap_filter%" | ||
657 | + usernameAttribute: "%ldap_username_attribute%" | ||
658 | +security: | ||
659 | + providers: | ||
660 | + chain_provider: | ||
661 | + chain: | ||
662 | + providers: [ fr3d_ldapbundle, fos_userbundle ] | ||
663 | + fr3d_ldapbundle: | ||
664 | + id: fr3d_ldap.security.user.provider | ||
665 | + firewalls: | ||
666 | + secured_area: | ||
667 | + fr3d_ldap: ~ | ||
668 | + form_login: | ||
669 | + provider: chain_provider | ||
670 | + | ||
671 | diff --git a/src/Wallabag/UserBundle/Resources/config/ldap_services.yml b/src/Wallabag/UserBundle/Resources/config/ldap_services.yml | ||
672 | new file mode 100644 | ||
673 | index 00000000..b3e3fd8a | ||
674 | --- /dev/null | ||
675 | +++ b/src/Wallabag/UserBundle/Resources/config/ldap_services.yml | ||
676 | @@ -0,0 +1,22 @@ | ||
677 | +services: | ||
678 | + fos_oauth_server.server: | ||
679 | + class: OAuth2\OAuth2 | ||
680 | + arguments: | ||
681 | + - "@oauth_storage_ldap_wrapper" | ||
682 | + - "%fos_oauth_server.server.options%" | ||
683 | + oauth_storage_ldap_wrapper: | ||
684 | + class: Wallabag\UserBundle\OAuthStorageLdapWrapper | ||
685 | + parent: fos_oauth_server.storage | ||
686 | + calls: | ||
687 | + - [setLdapManager, ["@fr3d_ldap.ldap_manager"]] | ||
688 | + | ||
689 | + ldap_user_hydrator: | ||
690 | + class: Wallabag\UserBundle\LdapHydrator | ||
691 | + arguments: | ||
692 | + - "@fos_user.user_manager" | ||
693 | + - "@event_dispatcher" | ||
694 | + - [ "%ldap_username_attribute%", "%ldap_email_attribute%", "%ldap_name_attribute%", "%ldap_enabled_attribute%" ] | ||
695 | + - "%ldap_base%" | ||
696 | + - "%ldap_admin_filter%" | ||
697 | + - "@fr3d_ldap.ldap_driver" | ||
698 | + | ||
diff --git a/virtual/modules/websites/tools/tools/ympd.nix b/virtual/modules/websites/tools/tools/ympd.nix deleted file mode 100644 index 5744360..0000000 --- a/virtual/modules/websites/tools/tools/ympd.nix +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | { env }: | ||
2 | let | ||
3 | ympd = rec { | ||
4 | config = { | ||
5 | webPort = "localhost:${env.listenPort}"; | ||
6 | mpd = env.mpd; | ||
7 | }; | ||
8 | apache = { | ||
9 | modules = [ | ||
10 | "proxy_wstunnel" | ||
11 | ]; | ||
12 | vhostConf = '' | ||
13 | <LocationMatch "^/mpd"> | ||
14 | Use LDAPConnect | ||
15 | Require ldap-group cn=users,cn=mpd,ou=services,dc=immae,dc=eu | ||
16 | Require local | ||
17 | </LocationMatch> | ||
18 | |||
19 | RedirectMatch permanent "^/mpd$" "/mpd/" | ||
20 | <Location "/mpd/"> | ||
21 | ProxyPass http://${config.webPort}/ | ||
22 | ProxyPassReverse http://${config.webPort}/ | ||
23 | ProxyPreserveHost on | ||
24 | </Location> | ||
25 | <Location "/mpd/ws"> | ||
26 | ProxyPass ws://${config.webPort}/ws | ||
27 | </Location> | ||
28 | ''; | ||
29 | }; | ||
30 | }; | ||
31 | in | ||
32 | ympd | ||
diff --git a/virtual/modules/websites/tools/tools/yourls-ldap-plugin.json b/virtual/modules/websites/tools/tools/yourls-ldap-plugin.json deleted file mode 100644 index 9411e4a..0000000 --- a/virtual/modules/websites/tools/tools/yourls-ldap-plugin.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "2a3cb03-master", | ||
3 | "meta": { | ||
4 | "name": "yourls-ldap-plugin", | ||
5 | "url": "https://github.com/k3a/yourls-ldap-plugin", | ||
6 | "branch": "master" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "k3a", | ||
10 | "repo": "yourls-ldap-plugin", | ||
11 | "rev": "2a3cb0334b8a6b81b284a7196e614bbd2b2b1615", | ||
12 | "sha256": "0cchbnli77d295lzf7kjmn4dcxj2bmdqa9qc3f8l8qgmp4n5n0gh", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/virtual/modules/websites/tools/tools/yourls.json b/virtual/modules/websites/tools/tools/yourls.json deleted file mode 100644 index 0a79b18..0000000 --- a/virtual/modules/websites/tools/tools/yourls.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "1.7.3", | ||
3 | "meta": { | ||
4 | "name": "yourls", | ||
5 | "url": "https://github.com/YOURLS/YOURLS", | ||
6 | "branch": "refs/tags/1.7.3" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "YOURLS", | ||
10 | "repo": "YOURLS", | ||
11 | "rev": "077018822d3594229daa8343310d0b40804b9ddc", | ||
12 | "sha256": "1av6h619rwqn0yn0kjn2s2h3gmrhmxaaa9hd5ns4ralxgg731imd", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/virtual/modules/websites/tools/tools/yourls.nix b/virtual/modules/websites/tools/tools/yourls.nix deleted file mode 100644 index b97dac9..0000000 --- a/virtual/modules/websites/tools/tools/yourls.nix +++ /dev/null | |||
@@ -1,102 +0,0 @@ | |||
1 | { lib, env, writeText, stdenv, fetchedGithub }: | ||
2 | let | ||
3 | yourls = let | ||
4 | plugins = { | ||
5 | ldap = stdenv.mkDerivation (fetchedGithub ./yourls-ldap-plugin.json // rec { | ||
6 | installPhase = '' | ||
7 | mkdir -p $out | ||
8 | cp plugin.php $out/ | ||
9 | ''; | ||
10 | }); | ||
11 | }; | ||
12 | in rec { | ||
13 | activationScript = '' | ||
14 | install -m 0755 -o ${apache.user} -g ${apache.group} -d /var/lib/php/sessions/yourls | ||
15 | ''; | ||
16 | config = writeText "config.php" '' | ||
17 | <?php | ||
18 | define( 'YOURLS_DB_USER', '${env.mysql.user}' ); | ||
19 | define( 'YOURLS_DB_PASS', '${env.mysql.password}' ); | ||
20 | define( 'YOURLS_DB_NAME', '${env.mysql.database}' ); | ||
21 | define( 'YOURLS_DB_HOST', 'db-1.immae.eu' ); | ||
22 | define( 'YOURLS_DB_PREFIX', 'yourls_' ); | ||
23 | define( 'YOURLS_SITE', 'http://tools.immae.eu/url' ); | ||
24 | define( 'YOURLS_HOURS_OFFSET', 0 ); | ||
25 | define( 'YOURLS_LANG', ''' ); | ||
26 | define( 'YOURLS_UNIQUE_URLS', true ); | ||
27 | define( 'YOURLS_PRIVATE', true ); | ||
28 | define( 'YOURLS_COOKIEKEY', '${env.cookieKey}' ); | ||
29 | $yourls_user_passwords = array(); | ||
30 | define( 'YOURLS_DEBUG', false ); | ||
31 | define( 'YOURLS_URL_CONVERT', 36 ); | ||
32 | $yourls_reserved_URL = array(); | ||
33 | define( 'LDAPAUTH_HOST', 'ldaps://ldap.immae.eu' ); | ||
34 | define( 'LDAPAUTH_PORT', '636' ); | ||
35 | define( 'LDAPAUTH_BASE', 'dc=immae,dc=eu' ); | ||
36 | define( 'LDAPAUTH_SEARCH_USER', 'cn=yourls,ou=services,dc=immae,dc=eu' ); | ||
37 | define( 'LDAPAUTH_SEARCH_PASS', '${env.ldap.password}' ); | ||
38 | |||
39 | define( 'LDAPAUTH_GROUP_ATTR', 'memberof' ); | ||
40 | define( 'LDAPAUTH_GROUP_REQ', 'cn=admin,cn=yourls,ou=services,dc=immae,dc=eu'); | ||
41 | |||
42 | define( 'LDAPAUTH_USERCACHE_TYPE', 0); | ||
43 | ''; | ||
44 | webRoot = stdenv.mkDerivation (fetchedGithub ./yourls.json // rec { | ||
45 | installPhase = '' | ||
46 | mkdir -p $out | ||
47 | cp -a */ *.php $out/ | ||
48 | cp sample-robots.txt $out/robots.txt | ||
49 | ln -sf ${config} $out/includes/config.php | ||
50 | ${builtins.concatStringsSep "\n" ( | ||
51 | lib.attrsets.mapAttrsToList (name: value: "ln -sf ${value} $out/user/plugins/${name}") plugins | ||
52 | )} | ||
53 | ''; | ||
54 | }); | ||
55 | apache = { | ||
56 | user = "wwwrun"; | ||
57 | group = "wwwrun"; | ||
58 | modules = [ "proxy_fcgi" ]; | ||
59 | vhostConf = '' | ||
60 | Alias /url "${webRoot}" | ||
61 | <Directory "${webRoot}"> | ||
62 | <FilesMatch "\.php$"> | ||
63 | SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" | ||
64 | </FilesMatch> | ||
65 | |||
66 | AllowOverride None | ||
67 | Require all granted | ||
68 | <IfModule mod_rewrite.c> | ||
69 | RewriteEngine On | ||
70 | RewriteBase /url/ | ||
71 | RewriteCond %{REQUEST_FILENAME} !-f | ||
72 | RewriteCond %{REQUEST_FILENAME} !-d | ||
73 | RewriteRule ^.*$ /url/yourls-loader.php [L] | ||
74 | </IfModule> | ||
75 | DirectoryIndex index.php | ||
76 | </Directory> | ||
77 | ''; | ||
78 | }; | ||
79 | phpFpm = rec { | ||
80 | basedir = builtins.concatStringsSep ":" ( | ||
81 | [ webRoot config ] | ||
82 | ++ lib.attrsets.mapAttrsToList (name: value: value) plugins); | ||
83 | socket = "/var/run/phpfpm/yourls.sock"; | ||
84 | pool = '' | ||
85 | listen = ${socket} | ||
86 | user = ${apache.user} | ||
87 | group = ${apache.group} | ||
88 | listen.owner = ${apache.user} | ||
89 | listen.group = ${apache.group} | ||
90 | pm = ondemand | ||
91 | pm.max_children = 60 | ||
92 | pm.process_idle_timeout = 60 | ||
93 | |||
94 | ; Needed to avoid clashes in browser cookies (same domain) | ||
95 | php_value[session.name] = YourlsPHPSESSID | ||
96 | php_admin_value[open_basedir] = "${basedir}:/tmp" | ||
97 | php_admin_value[session.save_path] = "/var/lib/php/sessions/yourls" | ||
98 | ''; | ||
99 | }; | ||
100 | }; | ||
101 | in | ||
102 | yourls | ||
diff --git a/virtual/www/googleb6d69446ff4ca3e5.html b/virtual/www/googleb6d69446ff4ca3e5.html deleted file mode 100644 index ff6dbf3..0000000 --- a/virtual/www/googleb6d69446ff4ca3e5.html +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | google-site-verification: googleb6d69446ff4ca3e5.html \ No newline at end of file | ||
diff --git a/virtual/www/index.htm b/virtual/www/index.htm deleted file mode 100644 index 0274251..0000000 --- a/virtual/www/index.htm +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <title>Hello World HTML</title> | ||
5 | </head> | ||
6 | <body> | ||
7 | <h1>It works!</h1> | ||
8 | </body> | ||
9 | </html> | ||
diff --git a/virtual/www/maintenance_immae.html b/virtual/www/maintenance_immae.html deleted file mode 100644 index 90f265f..0000000 --- a/virtual/www/maintenance_immae.html +++ /dev/null | |||
@@ -1,58 +0,0 @@ | |||
1 | <!doctype html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <title>Maintenance</title> | ||
5 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||
6 | <style> | ||
7 | body { | ||
8 | padding-left: 5px; | ||
9 | padding-right: 5px; | ||
10 | text-align: center; | ||
11 | margin: auto; | ||
12 | font: 20px Helvetica, sans-serif; | ||
13 | color: #333; | ||
14 | } | ||
15 | h1 { | ||
16 | margin: 0px; | ||
17 | font-size: 40px; | ||
18 | } | ||
19 | article { | ||
20 | display: block; | ||
21 | max-width: 650px; | ||
22 | margin: 0 auto; | ||
23 | padding-top: 30px; | ||
24 | } | ||
25 | article + article { | ||
26 | border-top: 1px solid lightgrey; | ||
27 | } | ||
28 | article div { | ||
29 | text-align: justify; | ||
30 | } | ||
31 | a { | ||
32 | color: #dc8100; | ||
33 | text-decoration: none; | ||
34 | } | ||
35 | a:hover { | ||
36 | color: #333; | ||
37 | } | ||
38 | </style> | ||
39 | <script type="text/javascript"> | ||
40 | setTimeout(function () { location.reload(true); }, 5000); | ||
41 | </script> | ||
42 | </head> | ||
43 | <body> | ||
44 | <article> | ||
45 | <h1>Erreur serveur ou maintenance en cours !</h1> | ||
46 | <div> | ||
47 | <p>Une mise à jour ou une opération de maintenance est en cours sur le site. <a href="">Retentez</a> dans quelques instants ou patientez, la page se rechargera automatiquement.</p> | ||
48 | </div> | ||
49 | </article> | ||
50 | |||
51 | <article> | ||
52 | <h1>Server error or website in maintenance!</h1> | ||
53 | <div> | ||
54 | <p>An update or a maintenance is on track on the website. Please try <a href="">again</a> in a few seconds or wait, the page will reload automatically.</p> | ||
55 | </div> | ||
56 | </article> | ||
57 | </body> | ||
58 | </html> | ||
diff --git a/virtual/www/nossl.html b/virtual/www/nossl.html deleted file mode 100644 index 4401a80..0000000 --- a/virtual/www/nossl.html +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <title>No SSL site</title> | ||
5 | </head> | ||
6 | <body> | ||
7 | <h1>No SSL on this site</h1> | ||
8 | <p>Use for wifi networks with login page that doesn't work well with | ||
9 | https.</p> | ||
10 | </body> | ||
11 | </html> | ||