From 9ea67c101cd721fa02309cb3788f098033ad85a9 Mon Sep 17 00:00:00 2001 From: Alain Lehmann Date: Mon, 15 Jan 2018 20:17:04 +0100 Subject: [PATCH 1/3] perlPackages.MacPasteboard: init at 0.009 --- pkgs/top-level/perl-packages.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f7df25af393..9145eb56a5f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8320,6 +8320,20 @@ let self = _self // overrides; _self = with self; { inherit fetchurl buildPerlPackage stdenv DBDmysql; }; + MacPasteboard = buildPerlPackage rec { + name = "Mac-Pasteboard-0.009"; + src = fetchurl { + url = "mirror://cpan/authors/id/W/WY/WYANT/${name}.tar.gz"; + sha256 = "85b1d5e9630973b997c3c1634e2df964d6a8d6cb57d9abe1f7093385cf26cf54"; + }; + meta = with stdenv.lib; { + description = "Manipulate Mac OS X pasteboards"; + license = with licenses; [ artistic1 gpl1Plus ]; + platforms = platforms.darwin; + }; + buildInputs = [ pkgs.darwin.apple_sdk.frameworks.ApplicationServices ]; + }; + MailMaildir = buildPerlPackage rec { version = "1.0.0"; name = "Mail-Maildir-${version}"; From 9e2e2196087f5afd7b0aea5b922b01def105a3d3 Mon Sep 17 00:00:00 2001 From: Alain Lehmann Date: Mon, 15 Jan 2018 20:23:14 +0100 Subject: [PATCH 2/3] perlPackages.Clipboard: Fix darwin build Darwin requires dependency on MacPasteboard The test runs successfully when executed interactively from a nix-shell. Disable doCheck as paste pasteboard is not accessible in (non-interactive) nix-build. --- pkgs/top-level/perl-packages.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 9145eb56a5f..bd77ac1d55b 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2184,6 +2184,12 @@ let self = _self // overrides; _self = with self; { description = "Clipboard - Copy and Paste with any OS"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; }; + propagatedBuildInputs = stdenv.lib.optional stdenv.isDarwin MacPasteboard; + # Disable test on darwin because MacPasteboard fails when not logged in interactively. + # Mac OS error -4960 (coreFoundationUnknownErr): The unknown error at lib/Clipboard/MacPasteboard.pm line 3. + # Mac-Pasteboard-0.009.readme: 'NOTE that Mac OS X appears to restrict pasteboard access to processes that are logged in interactively. + # Ssh sessions and cron jobs can not create the requisite pasteboard handles, giving coreFoundationUnknownErr (-4960)' + doCheck = !stdenv.isDarwin; }; From f198189177de72d6c7f299ebc92977ebe89b6632 Mon Sep 17 00:00:00 2001 From: Alain Lehmann Date: Mon, 15 Jan 2018 20:24:35 +0100 Subject: [PATCH 3/3] kpcli: Fix darwin build adding MacPasteboard to perl path to support using clipboard on darwin --- pkgs/tools/security/kpcli/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/kpcli/default.nix b/pkgs/tools/security/kpcli/default.nix index 8d2ac2af010..3776c883ac7 100644 --- a/pkgs/tools/security/kpcli/default.nix +++ b/pkgs/tools/security/kpcli/default.nix @@ -19,9 +19,9 @@ stdenv.mkDerivation rec { chmod +x $out/bin/kpcli wrapProgram $out/bin/kpcli --set PERL5LIB \ - "${with perlPackages; stdenv.lib.makePerlPath [ + "${with perlPackages; stdenv.lib.makePerlPath ([ CaptureTiny Clipboard Clone CryptRijndael SortNaturally TermReadKey TermShellUI FileKeePass TermReadLineGnu XMLParser - ]}" + ] ++ stdenv.lib.optional stdenv.isDarwin MacPasteboard)}" '';