From 438fbfa8b99dee65864fedaaae5190e160304837 Mon Sep 17 00:00:00 2001 From: Alexis Hildebrandt Date: Sat, 22 Jun 2024 23:26:33 +0200 Subject: [PATCH 1/2] remind: refactor --- pkgs/tools/misc/remind/default.nix | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/pkgs/tools/misc/remind/default.nix b/pkgs/tools/misc/remind/default.nix index 467981bb0a29..a1f63cc08ddf 100644 --- a/pkgs/tools/misc/remind/default.nix +++ b/pkgs/tools/misc/remind/default.nix @@ -6,31 +6,26 @@ , tkremind ? true }: -let - inherit (lib) optionals optionalString; - tclLibraries = optionals tkremind [ tcllib tk ]; - tkremindPatch = optionalString tkremind '' - substituteInPlace scripts/tkremind --replace "exec wish" "exec ${tk}/bin/wish" - ''; -in tcl.mkTclDerivation rec { pname = "remind"; version = "05.00.01"; src = fetchurl { url = "https://dianne.skoll.ca/projects/remind/download/remind-${version}.tar.gz"; - sha256 = "sha256-tj36/lLn67/hkNMrRVGXRLqQ9Sx6oDKZHeajiSYn97c="; + hash = "sha256-tj36/lLn67/hkNMrRVGXRLqQ9Sx6oDKZHeajiSYn97c="; }; - propagatedBuildInputs = tclLibraries; + propagatedBuildInputs = lib.optionals tkremind [ tcllib tk ]; - postPatch = '' - substituteInPlace ./configure \ - --replace "sleep 1" "true" - substituteInPlace ./src/init.c \ - --replace "rkrphgvba(0);" "" \ - --replace "rkrphgvba(1);" "" - ${tkremindPatch} + postPatch = lib.optionalString tkremind '' + # NOTA BENE: The path to rem2pdf is replaced in tkremind for future use + # as rem2pdf is currently not build since it requires the JSON::MaybeXS, + # Pango and Cairo Perl modules. + substituteInPlace scripts/tkremind \ + --replace-fail "exec wish" "exec ${lib.getBin tk}/bin/wish" \ + --replace-fail 'set Remind "remind"' "set Remind \"$out/bin/remind\"" \ + --replace-fail 'set Rem2PS "rem2ps"' "set Rem2PS \"$out/bin/rem2ps\"" \ + --replace-fail 'set Rem2PDF "rem2pdf"' "set Rem2PDF \"$out/bin/rem2pdf\"" ''; meta = with lib; { @@ -38,6 +33,7 @@ tcl.mkTclDerivation rec { description = "Sophisticated calendar and alarm program for the console"; license = licenses.gpl2Only; maintainers = with maintainers; [ raskin kovirobi ]; + mainProgram = "remind"; platforms = platforms.unix; }; } From 4f991469fba89c1703f5ff5338fb923c44f09351 Mon Sep 17 00:00:00 2001 From: Alexis Hildebrandt Date: Sat, 22 Jun 2024 23:28:21 +0200 Subject: [PATCH 2/2] remind: fix darwin build --- pkgs/tools/misc/remind/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/tools/misc/remind/default.nix b/pkgs/tools/misc/remind/default.nix index a1f63cc08ddf..51448931dcfb 100644 --- a/pkgs/tools/misc/remind/default.nix +++ b/pkgs/tools/misc/remind/default.nix @@ -1,4 +1,5 @@ { lib +, stdenv , fetchurl , tk , tcllib @@ -28,6 +29,15 @@ tcl.mkTclDerivation rec { --replace-fail 'set Rem2PDF "rem2pdf"' "set Rem2PDF \"$out/bin/rem2pdf\"" ''; + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin (toString [ + # Disable clang link time optimization until the following issue is resolved: + # https://github.com/NixOS/nixpkgs/issues/19098 + "-fno-lto" + # On Darwin setenv and unsetenv are defined in stdlib.h from libSystem + "-DHAVE_SETENV" + "-DHAVE_UNSETENV" + ]); + meta = with lib; { homepage = "https://dianne.skoll.ca/projects/remind/"; description = "Sophisticated calendar and alarm program for the console";