A directory-category for terminal emulators
This is a mostly cosmetical commit, in the sense it doesn't change the contents of any package, but reorganizes the overall Nixpkgs expressions. Terminal emulators are an ubiquitous tool for any Unix user; even the beginners are routinely familiarized to it. And, manifestly, there are many implementations of terminal emulators out there, from those traditionally made in C and C++ to those written in Haskell and Go. Terminal emulators deserve more highlight. This commit does that by creating a category for them.
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
{ 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.3.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gnachman";
|
||||
repo = "iTerm2";
|
||||
rev = "v${version}";
|
||||
sha256 = "06mq3gfjgy8jw2f3fzdsi3pbfkdijfzzlhlw6ixa5bfb4hbcgn5j";
|
||||
};
|
||||
|
||||
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 stdenv.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 = [];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user