From 49d7cc29419b15efa0579ed51a8f6ad8f955955a Mon Sep 17 00:00:00 2001 From: Allan Odgaard Date: Tue, 10 Sep 2019 01:52:34 +0200 Subject: [PATCH] Patch remind source to work on macOS (#67870) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The default version of the source will show a banner on macOS and Windows which tells the user that the author would rather that they didn’t use remind on Apple or Microsoft products, and then sleep for 5 seconds. There is no way for the user to remove this obstacle other than patch the source and recompile, which is also what other package managers do. This commit also changes supported platform from linux to unix. --- pkgs/tools/misc/remind/default.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/remind/default.nix b/pkgs/tools/misc/remind/default.nix index cc842105d0a..91d8e472130 100644 --- a/pkgs/tools/misc/remind/default.nix +++ b/pkgs/tools/misc/remind/default.nix @@ -11,6 +11,9 @@ let tclLibraries = stdenv.lib.optionals tkremind [ tcllib tk ]; tclLibPaths = stdenv.lib.concatStringsSep " " (map (p: "${p}/lib/${p.libPrefix}") tclLibraries); + tkremindPatch = optionalString tkremind '' + substituteInPlace scripts/tkremind --replace "exec wish" "exec ${tk}/bin/wish" + ''; in stdenv.mkDerivation { name = "remind-3.1.16"; src = fetchurl { @@ -21,8 +24,13 @@ in stdenv.mkDerivation { nativeBuildInputs = optional tkremind makeWrapper; propagatedBuildInputs = tclLibraries; - postPatch = optionalString tkremind '' - substituteInPlace scripts/tkremind --replace "exec wish" "exec ${tk}/bin/wish" + postPatch = '' + substituteInPlace ./configure \ + --replace "sleep 1" "true" + substituteInPlace ./src/init.c \ + --replace "rkrphgvba(0);" "" \ + --replace "rkrphgvba(1);" "" + ${tkremindPatch} ''; postInstall = optionalString tkremind '' @@ -34,6 +42,6 @@ in stdenv.mkDerivation { description = "Sophisticated calendar and alarm program for the console"; license = stdenv.lib.licenses.gpl2; maintainers = with stdenv.lib.maintainers; [raskin kovirobi]; - platforms = with stdenv.lib.platforms; linux; + platforms = with stdenv.lib.platforms; unix; }; }