nixpkgs/pkgs/applications/terminal-emulators/iterm2/default.nix
2021-07-25 01:53:08 -04:00

49 lines
1.4 KiB
Nix

{ lib, stdenv, fetchFromGitHub }:
/*
This derivation is impure: it relies on an Xcode toolchain being installed
and available in the expected place. The values of sandboxProfile
are copied pretty directly from the MacVim derivation, which
is also impure. In order to build you at least need the `sandbox`
option set to `relaxed` or `false`.
*/
stdenv.mkDerivation rec {
pname = "iterm2";
version = "3.4.0";
src = fetchFromGitHub {
owner = "gnachman";
repo = "iTerm2";
rev = "v${version}";
sha256 = "09nhrmi25zxw3vp0wlib9kjr3p1j6am2zpwimdzqn0c80fq1lwvi";
};
patches = [ ./disable_updates.patch ];
postPatch = ''
sed -i -e 's/CODE_SIGN_IDENTITY = "Developer ID Application"/CODE_SIGN_IDENTITY = ""/g' ./iTerm2.xcodeproj/project.pbxproj
'';
preConfigure = "LD=$CC";
makeFlagsArray = ["Nix"];
installPhase = ''
mkdir -p $out/Applications
mv Build/Products/Deployment/iTerm2.app $out/Applications/iTerm.app
'';
sandboxProfile = ''
(allow file-read* file-write* process-exec mach-lookup)
; block homebrew dependencies
(deny file-read* file-write* process-exec mach-lookup (subpath "/usr/local") (with no-log))
'';
meta = with lib; {
description = "A replacement for Terminal and the successor to iTerm";
homepage = "https://www.iterm2.com/";
license = licenses.gpl2;
maintainers = with maintainers; [ tricktron ];
platforms = platforms.darwin;
hydraPlatforms = [];
};
}