@@ -1,10 +1,11 @@
1−{ lib, stdenv, fetchurl, boost, zlib, botan, libidn
1+{ lib, stdenv, fetchurl, fetchFromGitHub, boost, zlib, botan2, libidn
2−, lua, pcre, sqlite, perl, pkg-config, expect
2+, lua, pcre, sqlite, perl, pkg-config, expect, less
3, bzip2, gmp, openssl
3, bzip2, gmp, openssl
4+, autoreconfHook, texinfo
7− version = "1.1";
8+ version = "1.1-unstable-2021-05-01";
8 perlVersion = lib.getVersion perl;
9 perlVersion = lib.getVersion perl;
@@ -14,22 +15,41 @@ stdenv.mkDerivation rec {
14 pname = "monotone";
15 pname = "monotone";
15 inherit version;
16 inherit version;
17− src = fetchurl {
18+ # src = fetchurl {
18− url = "http://monotone.ca/downloads/${version}/monotone-${version}.tar.bz2";
19+ # url = "http://monotone.ca/downloads/${version}/monotone-${version}.tar.bz2";
19− sha256 = "124cwgi2q86hagslbk5idxbs9j896rfjzryhr6z63r6l485gcp7r";
20+ # sha256 = "124cwgi2q86hagslbk5idxbs9j896rfjzryhr6z63r6l485gcp7r";
23+ # My mirror of upstream Monotone repository
24+ # Could fetchmtn, but circular dependency; snapshot requested
25+ # https://lists.nongnu.org/archive/html/monotone-devel/2021-05/msg00000.html
26+ src = fetchFromGitHub {
28+ repo = "monotone-mirror";
29+ rev = "b30b0e1c16def043d2dad57d1467d5bfdecdb070";
30+ hash = "sha256:1hfy8vaap3184cd7h3qhz0da7c992idkc6q2nz9frhma45c5vgmd";
22 patches = [ ./monotone-1.1-Adapt-to-changes-in-pcre-8.42.patch ];
33 patches = [ ./monotone-1.1-Adapt-to-changes-in-pcre-8.42.patch ];
36+ sed -e 's@/usr/bin/less@${less}/bin/less@' -i src/unix/terminal.cc
24− nativeBuildInputs = [ pkg-config ];
39+ nativeBuildInputs = [ pkg-config autoreconfHook texinfo ];
25− buildInputs = [ boost zlib botan libidn lua pcre sqlite expect
40+ buildInputs = [ boost zlib botan2 libidn lua pcre sqlite expect
26− openssl gmp bzip2 ];
41+ openssl gmp bzip2 perl ];
28 postInstall = ''
43 postInstall = ''
29 mkdir -p $out/share/${pname}-${version}
44 mkdir -p $out/share/${pname}-${version}
30 cp -rv contrib/ $out/share/${pname}-${version}/contrib
45 cp -rv contrib/ $out/share/${pname}-${version}/contrib
31 mkdir -p $out/${perl.libPrefix}/${perlVersion}
46 mkdir -p $out/${perl.libPrefix}/${perlVersion}
32 cp -v contrib/Monotone.pm $out/${perl.libPrefix}/${perlVersion}
47 cp -v contrib/Monotone.pm $out/${perl.libPrefix}/${perlVersion}
49+ patchShebangs "$out/share/monotone"
50+ patchShebangs "$out/share/${pname}-${version}"
52+ find "$out"/share/{doc/monotone,${pname}-${version}}/contrib/ -type f | xargs sed -e 's@! */usr/bin/@!/usr/bin/env @; s@! */bin/bash@!/usr/bin/env bash@' -i
35 #doCheck = true; # some tests fail (and they take VERY long)
55 #doCheck = true; # some tests fail (and they take VERY long)
@@ -38,6 +58,6 @@ stdenv.mkDerivation rec {
38 description = "A free distributed version control system";
58 description = "A free distributed version control system";
39 maintainers = [ maintainers.raskin ];
59 maintainers = [ maintainers.raskin ];
40 platforms = platforms.unix;
60 platforms = platforms.unix;
41− license = licenses.gpl2;
61+ license = licenses.gpl2Plus;