1let
2 # adapted from https://github.com/andrewwutw/build-djgpp/blob/master/script/12.1.0
3 gccVersion = "12.2.0";
4 binutilsVersion = "230";
5 djcrxVersion = "205";
6 djlsrVersion = "205";
7 djdevVersion = "205";
8 gmpVersion = "6.2.1";
9 mpfrVersion = "4.1.0";
10 mpcVersion = "1.2.1";
11 autoconfVersion = "2.69";
12 automakeVersion = "1.15.1";
13 djgppFtpMirror = "https://www.mirrorservice.org/sites/ftp.delorie.com/pub";
14 gnuFtpMirror = "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu";
15in
16{ fetchFromGitHub, fetchurl }:
17{
18 inherit gccVersion;
19
20 src = fetchFromGitHub {
21 owner = "andrewwutw";
22 repo = "build-djgpp";
23 rev = "0dc28365825f853c3cc6ad0d8f10f8570bed5828";
24 hash = "sha256-L7ROTbnd/Ry/E9cP0N+l0y0cUzkkbC5B2aU9/r3rLQg=";
25 };
26
27 autoconf = fetchurl {
28 url = "${gnuFtpMirror}/autoconf/autoconf-${autoconfVersion}.tar.xz";
29 hash = "sha256-ZOvOyfisWySHElqGp3YNJZGsnh09vVlIljP53mKldoQ=";
30 };
31
32 automake = fetchurl {
33 url = "${gnuFtpMirror}/Automake/automake-${automakeVersion}.tar.xz";
34 hash = "sha256-r2ujkUIiBofFAPebSqLxgdmyTk+NjsSXzqS6JsZL7a8=";
35 };
36
37 binutils = fetchurl {
38 url = "${djgppFtpMirror}/djgpp/deleted/v2gnu/bnu${binutilsVersion}s.zip";
39 hash = "sha256-DSFQyFvswmP5/qYXbesFmUJ9tqEFJpILb0mGclfpXX0=";
40 };
41
42 djcrossgcc = fetchurl {
43 url = "${djgppFtpMirror}/djgpp/rpms/djcross-gcc-${gccVersion}/djcross-gcc-${gccVersion}.tar.bz2";
44 hash = "sha256-UL+wkeNv3LCQog0JigShIyBM7qJRqvN58Zitmti/BZM=";
45 };
46
47 djcrx = fetchurl {
48 url = "${djgppFtpMirror}/djgpp/current/v2/djcrx${djcrxVersion}.zip";
49 hash = "sha256-IidO2NXuV898zxYfXhaE/RwBkgaHJKfTThveFoBBymA=";
50 };
51
52 djdev = fetchurl {
53 url = "${djgppFtpMirror}/djgpp/current/v2/djdev${djdevVersion}.zip";
54 hash = "sha256-RVfftsFh0yZoCuX6cfAJisSUJaGxG5CgILgxYutwXdo=";
55 };
56
57 djlsr = fetchurl {
58 url = "${djgppFtpMirror}/djgpp/current/v2/djlsr${djlsrVersion}.zip";
59 hash = "sha256-gGkLbkT/i8bGCB/KH0+uuhWRxEkLdu8OyLNYR7ql3uo=";
60 };
61
62 gcc = fetchurl {
63 url = "${gnuFtpMirror}/gcc/gcc-${gccVersion}/gcc-${gccVersion}.tar.xz";
64 hash = "sha256-5UnPnPNZSgDie2WJ1DItcOByDN0hPzm+tBgeBpJiMP8=";
65 };
66
67 gmp = fetchurl {
68 url = "${gnuFtpMirror}/gmp/gmp-${gmpVersion}.tar.xz";
69 hash = "sha256-/UgpkSzd0S+EGBw0Ucx1K+IkZD6H+sSXtp7d2txJtPI=";
70 };
71
72 mpc = fetchurl {
73 url = "${gnuFtpMirror}/mpc/mpc-${mpcVersion}.tar.gz";
74 hash = "sha256-F1A9LDld/PEGtiLcFCaDwRmUMdCVNnxqrLpu7DA0BFk=";
75 };
76
77 mpfr = fetchurl {
78 url = "${gnuFtpMirror}/mpfr/mpfr-${mpfrVersion}.tar.xz";
79 hash = "sha256-DJij8XMv9spOppBVIHnanFl4ctMOluwoQU7iPJVVin8=";
80 };
81
82}