···1920stdenv.mkDerivation rec {
21 pname = "bluemail";
22- version = "1.131.4-1795";
2324 # Taking a snapshot of the DEB release because there are no tagged version releases.
25 # For new versions, download the upstream release, extract it and check for the version string.
26 # In case there's a new version, create a snapshot of it on https://archive.org before updating it here.
27 src = fetchurl {
28- url = "https://web.archive.org/web/20220921124548/https://download.bluemail.me/BlueMail/deb/BlueMail.deb";
29- sha256 = "sha256-deO+D9HSfj1YEDSO5Io0MA7H8ZK9iFSRwB/e+8GkgOU=";
30 };
3132 nativeBuildInputs = [
···1920stdenv.mkDerivation rec {
21 pname = "bluemail";
22+ version = "1.136.21-1884";
2324 # Taking a snapshot of the DEB release because there are no tagged version releases.
25 # For new versions, download the upstream release, extract it and check for the version string.
26 # In case there's a new version, create a snapshot of it on https://archive.org before updating it here.
27 src = fetchurl {
28+ url = "https://archive.org/download/blue-mail-1.136.21-1884/BlueMail.deb";
29+ hash = "sha256-L9mCUjsEcalVxzl80P3QzVclCKa75So2sBG7KjjBVIc=";
30 };
3132 nativeBuildInputs = [
···78 pkgs, deps_map = _resolve(ctx.io, ctx.env, ctx.registries, pkgs, PRESERVE_NONE, ctx.julia_version)
7980 if VERSION >= VersionNumber("1.9")
81- # Check for weak dependencies, which appear on the RHS of the deps_map but not in pkgs.
82- # Build up weak_name_to_uuid
83- uuid_to_name = Dict()
84- for pkg in pkgs
85- uuid_to_name[pkg.uuid] = pkg.name
86- end
87- weak_name_to_uuid = Dict()
88- for (uuid, deps) in pairs(deps_map)
89- for (dep_name, dep_uuid) in pairs(deps)
90- if !haskey(uuid_to_name, dep_uuid)
91- weak_name_to_uuid[dep_name] = dep_uuid
0092 end
93 end
94- end
0009596- # If we have nontrivial weak dependencies, add each one to the initial pkgs and then re-run _resolve
97- if !isempty(weak_name_to_uuid)
98 println("Found weak dependencies: $(keys(weak_name_to_uuid))")
99100 orig_uuids = Set([pkg.uuid for pkg in orig_pkgs])
···113 orig_pkgs[length(orig_pkgs)] = update_package_add(ctx, pkg, entry, false)
114 end
115116- pkgs, deps_map = _resolve(ctx.io, ctx.env, ctx.registries, orig_pkgs, PRESERVE_NONE, ctx.julia_version)
117 end
118 end
119 '';
···78 pkgs, deps_map = _resolve(ctx.io, ctx.env, ctx.registries, pkgs, PRESERVE_NONE, ctx.julia_version)
7980 if VERSION >= VersionNumber("1.9")
81+ while true
82+ # Check for weak dependencies, which appear on the RHS of the deps_map but not in pkgs.
83+ # Build up weak_name_to_uuid
84+ uuid_to_name = Dict()
85+ for pkg in pkgs
86+ uuid_to_name[pkg.uuid] = pkg.name
87+ end
88+ weak_name_to_uuid = Dict()
89+ for (uuid, deps) in pairs(deps_map)
90+ for (dep_name, dep_uuid) in pairs(deps)
91+ if !haskey(uuid_to_name, dep_uuid)
92+ weak_name_to_uuid[dep_name] = dep_uuid
93+ end
94 end
95 end
96+97+ if isempty(weak_name_to_uuid)
98+ break
99+ end
100101+ # We have nontrivial weak dependencies, so add each one to the initial pkgs and then re-run _resolve
0102 println("Found weak dependencies: $(keys(weak_name_to_uuid))")
103104 orig_uuids = Set([pkg.uuid for pkg in orig_pkgs])
···117 orig_pkgs[length(orig_pkgs)] = update_package_add(ctx, pkg, entry, false)
118 end
119120+ global pkgs, deps_map = _resolve(ctx.io, ctx.env, ctx.registries, orig_pkgs, PRESERVE_NONE, ctx.julia_version)
121 end
122 end
123 '';