Closed dukc closed 11 months ago
Thanks @dukc! Overall looks good to me. I have pushed some improvements in the mean time: https://github.com/PetarKirov/dlang-nix/compare/f91dde1035396c2af3ba312ea501e76f0d0b1cf7...7f730587392ed73dce8ba85a5c1f4e86ec984cf2
I'll rebase your PR manually and merge it once I have #3 ready.
One of the important for me remaining tasks is the creation of a script that would automatically fetch all historical versions (and new ones in the future) and output a JSON file along the lines of:
pkgs/dmd/versions.json
:
[
{
"version": "2.098.1",
"srcs": {
"main": {
"version": "2.098.1",
"flake-ref": "github:dlang/dmd",
"sha256": "0xf2l1yqncbmyggdn6pqc82f93cnnzg9mgkkq63l41f89y4man7b"
},
"druntime": {
"version": "2.098.1",
"flake-ref": "github:dlang/druntime",
"sha256": "1vd1b4vj1f5d5rr6ixfsr27m81z27yv6f4j1i6dsn7l9c73dppqw"
},
"phobos": {
"version": "2.098.1",
"flake-ref": "github:dlang/phobos",
"sha256": "1l0z08xrab5hhnblkamlzbl1ia3szbliy1qx9f5khz0nsj9vgihq"
}
}
},
{
"version": "2.100.2",
"srcs": {
"main": {
"flake-ref": "github:dlang/dmd",
"sha256": "sha256-o4+G3ARXIGObYHtHooYZKr+Al6kHpiwpMIog3i4BlDM="
},
"druntime": {
"flake-ref": "github:dlang/druntime",
"sha256": "sha256-qXvY1ECN4mPwOGgOE1FWwvxoRvlSww3tGLWgBdhzAKo="
},
"phobos": {
"flake-ref": "github:dlang/phobos",
"sha256": "sha256-kTHRaAKG7cAGb4IE/NGHWaZ8t7ZceKj03l6E8wLzJzs="
}
}
},
{
"version": "2.102.2",
"srcs": {
"main": {
"flake-ref": "github:dlang/dmd",
"sha256": "sha256-der9nb31hJ+K1aJZdzIgs8+eRgVVsH97QnYEnVbKUws="
},
"phobos": {
"flake-ref": "github:dlang/phobos",
"sha256": "sha256-SracmUm2aY/LDCyDqYuVS39pCbwO8UCL3TSB0CVHpHE="
}
}
}
]
(The schema is not finalized yet)
I had started work on it here: ./scripts/update.d
script, but I haven't had the time to finish it for quite a while. I'll try to get that done this week, but I can't make any progresses, as I'm still quite busy at work.
ping @PetarKirov
Any updates on when #3 will be in? I'd like to move forward.
Superseded by #4.
Okay, here's the first part of merging OldDDerivations to this project.
I ported three versions. I'll port the rest in another PR.
I didn't see any differences in
default-nix
between here and in older versions of NixPkgs. As such, the newgeneric.nix
file is the exact same it's in OldDDerivations and NixPkgs, except that I replaced the maintainer info.Degraded the bootstrap DMD version to 2.090.1. It still builds 2.102.2. Since OldDDerivations supports older compilers than this project currently does, IMO it makes more sense to use the same bootstrap version I have tested my builds there. Also 2.090.1 is the bootstrap version NixPkgs currently uses. I see there are some small improvements in
binary.nix
though - I kept those.Didn't touch
flake.nix
apart from the versionSupported value, since it doesn't do anything yet anyway, if I understood it right.