From f8eadce2780e6503e9bfd17f4e784f4dacb0cefd Mon Sep 17 00:00:00 2001 From: Emily Trau Date: Thu, 15 Jun 2023 19:38:24 +1000 Subject: [PATCH 1/3] licenses: add Fair Source License v0.9 --- lib/licenses.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/licenses.nix b/lib/licenses.nix index 1d2565fba6c0..ea56905da8dc 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -615,6 +615,13 @@ in mkLicense lset) ({ free = true; }; + fairsource09 = { + fullName = "Fair Source License, version 0.9"; + url = "https://fair.io/v0.9.txt"; + free = false; + redistributable = true; + }; + issl = { fullName = "Intel Simplified Software License"; url = "https://software.intel.com/en-us/license/intel-simplified-software-license"; From 19e1801b37fc8566600059ca517570fd1a6d8129 Mon Sep 17 00:00:00 2001 From: Emily Trau Date: Fri, 16 Jun 2023 15:33:30 +1000 Subject: [PATCH 2/3] softnet: init at 0.7.1 --- pkgs/tools/networking/softnet/default.nix | 34 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 pkgs/tools/networking/softnet/default.nix diff --git a/pkgs/tools/networking/softnet/default.nix b/pkgs/tools/networking/softnet/default.nix new file mode 100644 index 000000000000..b1a9cb3a97f7 --- /dev/null +++ b/pkgs/tools/networking/softnet/default.nix @@ -0,0 +1,34 @@ +{ lib +, stdenvNoCC +, fetchurl +}: +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "softnet"; + version = "0.7.1"; + + src = fetchurl { + url = "https://github.com/cirruslabs/softnet/releases/download/${finalAttrs.version}/softnet.tar.gz"; + sha256 = "1g274x524xc85hfzxi3vb4xp720bjgk740bp6hc92d1ikmp0b664"; + }; + sourceRoot = "."; + + installPhase = '' + runHook preInstall + + install -D softnet $out/bin/softnet + install -Dm444 -t $out/share/softnet README.md LICENSE + + runHook postInstall + ''; + + meta = with lib; { + description = "Software networking with isolation for Tart"; + homepage = "https://github.com/cirruslabs/softnet"; + license = licenses.agpl3Plus; + maintainers = with maintainers; [ emilytrau ]; + platforms = [ "aarch64-darwin" ]; + # Source build will be possible after darwin SDK 12.0 bump + # https://github.com/NixOS/nixpkgs/pull/229210 + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 25c408635a47..6f6e25a2e6c3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12682,6 +12682,8 @@ with pkgs; sockperf = callPackage ../tools/networking/sockperf { }; + softnet = callPackage ../tools/networking/softnet { }; + solaar = callPackage ../applications/misc/solaar { }; solanum = callPackage ../servers/irc/solanum { From b229e76363274046ca1fe609a42a96e96ae3011f Mon Sep 17 00:00:00 2001 From: Emily Trau Date: Fri, 16 Jun 2023 15:35:37 +1000 Subject: [PATCH 3/3] tart: init at 1.6.0 --- .../virtualization/tart/default.nix | 46 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 48 insertions(+) create mode 100644 pkgs/applications/virtualization/tart/default.nix diff --git a/pkgs/applications/virtualization/tart/default.nix b/pkgs/applications/virtualization/tart/default.nix new file mode 100644 index 000000000000..ad0cfa8df547 --- /dev/null +++ b/pkgs/applications/virtualization/tart/default.nix @@ -0,0 +1,46 @@ +{ lib +, stdenvNoCC +, fetchurl +, makeWrapper +# Softnet support ("--net-softnet") is disabled by default as it requires +# passwordless-sudo when installed through nix. Alternatively users may install +# softnet through other means with "setuid"-bit enabled. +# See https://github.com/cirruslabs/softnet#installing +, enableSoftnet ? false, softnet +}: +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "tart"; + version = "1.6.0"; + + src = fetchurl { + url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart.tar.gz"; + sha256 = "1n052nwsccc3sr0jqnvhyl0six8wi46vysxjchwrdm8brnsdpf84"; + }; + sourceRoot = "."; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + + # ./tart.app/Contents/MacOS/tart binary is required to be used in order to + # trick macOS to pick tart.app/Contents/embedded.provision profile for elevated + # privileges that Tart needs + mkdir -p $out/bin $out/Applications + cp -r tart.app $out/Applications/tart.app + makeWrapper $out/Applications/tart.app/Contents/MacOS/tart $out/bin/tart \ + --prefix PATH : ${lib.makeBinPath (lib.optional enableSoftnet softnet)} + install -Dm444 LICENSE $out/share/tart/LICENSE + + runHook postInstall + ''; + + meta = with lib; { + description = "macOS VMs on Apple Silicon to use in CI and other automations"; + homepage = "https://tart.run"; + license = licenses.fairsource09; + maintainers = with maintainers; [ emilytrau Enzime ]; + platforms = [ "aarch64-darwin" ]; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6f6e25a2e6c3..e7538ea8cdde 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -34328,6 +34328,8 @@ with pkgs; sway-launcher-desktop = callPackage ../applications/misc/sway-launcher-desktop { }; + tart = callPackage ../applications/virtualization/tart { }; + tecoc = callPackage ../applications/editors/tecoc { }; viber = callPackage ../applications/networking/instant-messengers/viber { };