From 700a3933c570eea59bb298bcd94c18af6bfa1906 Mon Sep 17 00:00:00 2001 From: Krisztian Szabo Date: Thu, 1 Dec 2022 14:04:22 +0100 Subject: [PATCH] mailcatcher: 0.7.1 -> 1.0.0.beta1 Fixes #96908 Switching to fork that uses async library, this fixes darwin builds. https://github.com/sj26/mailcatcher/pull/467 --- pkgs/development/web/mailcatcher/Gemfile | 3 +- pkgs/development/web/mailcatcher/Gemfile.lock | 107 +++++-- pkgs/development/web/mailcatcher/default.nix | 10 +- pkgs/development/web/mailcatcher/gemset.nix | 269 ++++++++++++++++-- 4 files changed, 336 insertions(+), 53 deletions(-) diff --git a/pkgs/development/web/mailcatcher/Gemfile b/pkgs/development/web/mailcatcher/Gemfile index 8cc16fad7e560..485ef6bbede64 100644 --- a/pkgs/development/web/mailcatcher/Gemfile +++ b/pkgs/development/web/mailcatcher/Gemfile @@ -1,2 +1,3 @@ source 'https://rubygems.org' -gem 'mailcatcher' + +gem 'mailcatcher', github: 'Ahmedgagan/mailcatcher', ref: 'use-async' diff --git a/pkgs/development/web/mailcatcher/Gemfile.lock b/pkgs/development/web/mailcatcher/Gemfile.lock index 69cc56a0029aa..126cc837d2c83 100644 --- a/pkgs/development/web/mailcatcher/Gemfile.lock +++ b/pkgs/development/web/mailcatcher/Gemfile.lock @@ -1,41 +1,104 @@ -GEM - remote: https://rubygems.org/ +GIT + remote: https://github.com/Ahmedgagan/mailcatcher.git + revision: 6815f296fda555e5263720e41469c4637a872220 + ref: use-async specs: - daemons (1.3.1) - eventmachine (1.0.9.1) - mail (2.7.1) - mini_mime (>= 0.1.1) - mailcatcher (0.7.1) - eventmachine (= 1.0.9.1) + mailcatcher (1.0.0.beta1) + async (~> 1.25) + async-http (~> 0.56.3) + async-io (~> 1.32.1) + async-websocket (~> 0.19.0) + falcon (~> 0.39.1) mail (~> 2.3) rack (~> 1.5) sinatra (~> 1.2) - skinny (~> 0.2.3) sqlite3 (~> 1.3) - thin (~> 1.5.0) - mini_mime (1.0.1) - rack (1.6.11) + +GEM + remote: https://rubygems.org/ + specs: + async (1.30.3) + console (~> 1.10) + nio4r (~> 2.3) + timers (~> 4.1) + async-container (0.16.12) + async + async-io + async-http (0.56.6) + async (>= 1.25) + async-io (>= 1.28) + async-pool (>= 0.2) + protocol-http (~> 0.22.0) + protocol-http1 (~> 0.14.0) + protocol-http2 (~> 0.14.0) + traces (~> 0.4.0) + async-http-cache (0.4.3) + async-http (~> 0.56) + async-io (1.32.2) + async + async-pool (0.3.12) + async (>= 1.25) + async-websocket (0.19.2) + async-http (~> 0.54) + async-io (~> 1.23) + protocol-websocket (~> 0.7.0) + build-environment (1.13.0) + console (1.16.2) + fiber-local + falcon (0.39.2) + async + async-container (~> 0.16.0) + async-http (~> 0.56.0) + async-http-cache (~> 0.4.0) + async-io (~> 1.22) + build-environment (~> 1.13) + bundler + localhost (~> 1.1) + process-metrics (~> 0.2.0) + rack (>= 1.0) + samovar (~> 2.1) + fiber-local (1.0.0) + localhost (1.1.9) + mail (2.7.1) + mini_mime (>= 0.1.1) + mapping (1.1.1) + mini_mime (1.1.2) + mini_portile2 (2.8.0) + nio4r (2.5.8) + process-metrics (0.2.1) + console (~> 1.8) + samovar (~> 2.1) + protocol-hpack (1.4.2) + protocol-http (0.22.9) + protocol-http1 (0.14.6) + protocol-http (~> 0.22) + protocol-http2 (0.14.2) + protocol-hpack (~> 1.4) + protocol-http (~> 0.18) + protocol-websocket (0.7.5) + protocol-http (~> 0.2) + protocol-http1 (~> 0.2) + rack (1.6.13) rack-protection (1.5.5) rack + samovar (2.1.4) + console (~> 1.0) + mapping (~> 1.0) sinatra (1.4.8) rack (~> 1.5) rack-protection (~> 1.4) tilt (>= 1.3, < 3) - skinny (0.2.4) - eventmachine (~> 1.0.0) - thin (>= 1.5, < 1.7) - sqlite3 (1.4.0) - thin (1.5.1) - daemons (>= 1.0.9) - eventmachine (>= 0.12.6) - rack (>= 1.0.0) - tilt (2.0.9) + sqlite3 (1.5.4) + mini_portile2 (~> 2.8.0) + tilt (2.0.11) + timers (4.3.5) + traces (0.4.1) PLATFORMS ruby DEPENDENCIES - mailcatcher + mailcatcher! BUNDLED WITH 2.1.4 diff --git a/pkgs/development/web/mailcatcher/default.nix b/pkgs/development/web/mailcatcher/default.nix index 8be3c7ebb932b..8b186cc47afb8 100644 --- a/pkgs/development/web/mailcatcher/default.nix +++ b/pkgs/development/web/mailcatcher/default.nix @@ -3,15 +3,19 @@ bundlerApp { pname = "mailcatcher"; gemdir = ./.; + + # there are none + installManpages = false; + exes = [ "mailcatcher" "catchmail" ]; passthru.updateScript = bundlerUpdateScript "mailcatcher"; meta = with lib; { description = "SMTP server and web interface to locally test outbound emails"; - homepage = "https://mailcatcher.me/"; - license = licenses.mit; + homepage = "https://mailcatcher.me/"; + license = licenses.mit; maintainers = with maintainers; [ zarelit nicknovitski ]; - platforms = platforms.unix; + platforms = platforms.unix; }; } diff --git a/pkgs/development/web/mailcatcher/gemset.nix b/pkgs/development/web/mailcatcher/gemset.nix index 96d07e2dfce50..47381d8287373 100644 --- a/pkgs/development/web/mailcatcher/gemset.nix +++ b/pkgs/development/web/mailcatcher/gemset.nix @@ -1,23 +1,132 @@ { - daemons = { + async = { + dependencies = ["console" "nio4r" "timers"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l5gai3vd4g7aqff0k1mp41j9zcsvm2rbwmqn115a325k9r7pf4w"; + sha256 = "13l94x31wvamjdvyy5f8rv60vgw4ygwik2z0hazbdisw4p8qzcis"; type = "gem"; }; - version = "1.3.1"; + version = "1.30.3"; }; - eventmachine = { + async-container = { + dependencies = ["async" "async-io"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17jr1caa3ggg696dd02g2zqzdjqj9x9q2nl7va82l36f7c5v6k4z"; + sha256 = "1llhbwffmha2n7kx8v5yz048ipknyvzkwiicpmfq0m0h95xgnv20"; type = "gem"; }; - version = "1.0.9.1"; + version = "0.16.12"; + }; + async-http = { + dependencies = ["async" "async-io" "async-pool" "protocol-http" "protocol-http1" "protocol-http2" "traces"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q0bn63xnhsch21kdq5wr4kpaw579isap7mdf6l0xn9f7x75x3w7"; + type = "gem"; + }; + version = "0.56.6"; + }; + async-http-cache = { + dependencies = ["async-http"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05awbimxiw0hdixw5ww1vdml2lwzn4hk00vwznsz3fpg150nfhvk"; + type = "gem"; + }; + version = "0.4.3"; + }; + async-io = { + dependencies = ["async"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10l9m0x2ffvsaaxc4mfalrljjx13njkyir9w6yfif8wpszc291h8"; + type = "gem"; + }; + version = "1.32.2"; + }; + async-pool = { + dependencies = ["async"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1chrj28qgv7jxq1yf9g4bw8ppm3n6i4sfsbs2ficc8z8w22k8a2y"; + type = "gem"; + }; + version = "0.3.12"; + }; + async-websocket = { + dependencies = ["async-http" "async-io" "protocol-websocket"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mag69gqfw9jv67ly2bdsaczzwvlikiaz61vabbn5s937yzb6v99"; + type = "gem"; + }; + version = "0.19.2"; + }; + build-environment = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rbg948vvvnq7v3213i7s2i8nfhljp1ih15kzy1lgi733iqplwnb"; + type = "gem"; + }; + version = "1.13.0"; + }; + console = { + dependencies = ["fiber-local"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0y1bv3kd1l9p0k5n3anvvjxdrcq113pyngz2g29i9mvdgbbx7kq2"; + type = "gem"; + }; + version = "1.16.2"; + }; + falcon = { + dependencies = ["async" "async-container" "async-http" "async-http-cache" "async-io" "build-environment" "localhost" "process-metrics" "rack" "samovar"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01xq3m7v8rymc8pl1khywf2m5qxzgb90wc9d2pcigapbgg3dn15p"; + type = "gem"; + }; + version = "0.39.2"; + }; + fiber-local = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vrxxb09fc7aicb9zb0pmn5akggjy21dmxkdl3w949y4q05rldr9"; + type = "gem"; + }; + version = "1.0.0"; + }; + localhost = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1prbdrvw628awzvkpxbx37rkq11jyyfd3f09hzg5gnaxqjxk2q6x"; + type = "gem"; + }; + version = "1.1.9"; }; mail = { dependencies = ["mini_mime"]; @@ -31,35 +140,131 @@ version = "2.7.1"; }; mailcatcher = { - dependencies = ["eventmachine" "mail" "rack" "sinatra" "skinny" "sqlite3" "thin"]; + dependencies = ["async" "async-http" "async-io" "async-websocket" "falcon" "mail" "rack" "sinatra" "sqlite3"]; + groups = ["default"]; + platforms = []; + source = { + fetchSubmodules = false; + rev = "6815f296fda555e5263720e41469c4637a872220"; + sha256 = "136fa9y46f76clf09275hdri9yq59fg4xr4193v2lspflhjaj9np"; + type = "git"; + url = "https://github.com/Ahmedgagan/mailcatcher.git"; + }; + version = "1.0.0.beta1"; + }; + mapping = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02w1ycyfv7x0sh9799lz7xa65p5qvl5z4pa8a7prb68h2zwkfq0n"; + sha256 = "1fgj59zq1a2vskm9m5kfgmxq325ds4046hy8zbxyl3wn8fiw6xy6"; type = "gem"; }; - version = "0.7.1"; + version = "1.1.1"; }; mini_mime = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3"; + sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5"; + type = "gem"; + }; + version = "1.1.2"; + }; + mini_portile2 = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy"; + type = "gem"; + }; + version = "2.8.0"; + }; + nio4r = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xk64wghkscs6bv2n22853k2nh39d131c6rfpnlw12mbjnnv9v1v"; type = "gem"; }; - version = "1.0.1"; + version = "2.5.8"; + }; + process-metrics = { + dependencies = ["console" "samovar"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1k46lhfllkxcbnccjsbz0vwrj7iwrrmwil9hmj6ds7ysicid824x"; + type = "gem"; + }; + version = "0.2.1"; + }; + protocol-hpack = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sd85am1hj2w7z5hv19wy1nbisxfr1vqx3wlxjfz9xy7x7s6aczw"; + type = "gem"; + }; + version = "1.4.2"; + }; + protocol-http = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yl53pn916fl3c1f63zr5d2l3jf08bdacphrh2s49ni6bpwjn2vf"; + type = "gem"; + }; + version = "0.22.9"; + }; + protocol-http1 = { + dependencies = ["protocol-http"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "001myk5sgiygpc39aj0fxk1g7cxh2l102if8hg4mszhqdvdkzg4b"; + type = "gem"; + }; + version = "0.14.6"; + }; + protocol-http2 = { + dependencies = ["protocol-hpack" "protocol-http"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a9klpfmi7w465zq5xz8y8h1qvj42hkm0qd0nlws9d2idd767q5j"; + type = "gem"; + }; + version = "0.14.2"; + }; + protocol-websocket = { + dependencies = ["protocol-http" "protocol-http1"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1iv5cwsmrihqh9bin6myx15l1va81z3p4jw6zm3sk7zi3hlja9ly"; + type = "gem"; + }; + version = "0.7.5"; }; rack = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f"; + sha256 = "0wr1f3g9rc9i8svfxa9cijajl1661d817s56b2w7rd572zwn0zi0"; type = "gem"; }; - version = "1.6.11"; + version = "1.6.13"; }; rack-protection = { dependencies = ["rack"]; @@ -72,6 +277,17 @@ }; version = "1.5.5"; }; + samovar = { + dependencies = ["console" "mapping"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0wl16hvqz5w7997g4qymjz4ls63bl59isr7n0gwhb9gyi85f24jx"; + type = "gem"; + }; + version = "2.1.4"; + }; sinatra = { dependencies = ["rack" "rack-protection" "tilt"]; groups = ["default"]; @@ -83,46 +299,45 @@ }; version = "1.4.8"; }; - skinny = { - dependencies = ["eventmachine" "thin"]; + sqlite3 = { + dependencies = ["mini_portile2"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1y3yvx88ylgz4d2s1wskjk5rkmrcr15q3ibzp1q88qwzr5y493a9"; + sha256 = "009124l2yw7csrq3mvzffjflgpqi3y30flazjqf6aad64gnnnksx"; type = "gem"; }; - version = "0.2.4"; + version = "1.5.4"; }; - sqlite3 = { + tilt = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0pmgpqx2sg8pms54rk7kjjy8jwsw21g1f7mb02fggbdcqy8jk3fx"; + sha256 = "186nfbcsk0l4l86gvng1fw6jq6p6s7rc0caxr23b3pnbfb20y63v"; type = "gem"; }; - version = "1.4.0"; + version = "2.0.11"; }; - thin = { - dependencies = ["daemons" "eventmachine" "rack"]; + timers = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hrq9m3hb6pm8yrqshhg0gafkphdpvwcqmr7k722kgdisp3w91ga"; + sha256 = "0pjzipnmzfywvgsr3gxwj6nmg47lz4700g0q71jgcy1z6rb7dn7p"; type = "gem"; }; - version = "1.5.1"; + version = "4.3.5"; }; - tilt = { + traces = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz"; + sha256 = "0ccy1snkgf0n1sq8j1gkd45isvfhzizzfrj8gj8qir50a80xmk21"; type = "gem"; }; - version = "2.0.9"; + version = "0.4.1"; }; }