diff --git a/pkgs/by-name/cg/cgtcalc/generated/default.nix b/pkgs/by-name/cg/cgtcalc/generated/default.nix new file mode 100644 index 000000000000..fcda4cfc1a87 --- /dev/null +++ b/pkgs/by-name/cg/cgtcalc/generated/default.nix @@ -0,0 +1,7 @@ +# This file was generated by swiftpm2nix. +{ + workspaceStateFile = ./workspace-state.json; + hashes = { + "swift-argument-parser" = "sha256-lWQ9mzfRxHcy00Cqyrsm9rOlQzkpU1lNBmiK7MMp6dU="; + }; +} diff --git a/pkgs/by-name/cg/cgtcalc/generated/workspace-state.json b/pkgs/by-name/cg/cgtcalc/generated/workspace-state.json new file mode 100644 index 000000000000..3a9ec58c7166 --- /dev/null +++ b/pkgs/by-name/cg/cgtcalc/generated/workspace-state.json @@ -0,0 +1,25 @@ +{ + "object": { + "artifacts": [], + "dependencies": [ + { + "basedOn": null, + "packageRef": { + "identity": "swift-argument-parser", + "kind": "remoteSourceControl", + "location": "https://github.com/apple/swift-argument-parser", + "name": "swift-argument-parser" + }, + "state": { + "checkoutState": { + "revision": "f3c9084a71ef4376f2fabbdf1d3d90a49f1fabdb", + "version": "1.1.2" + }, + "name": "sourceControlCheckout" + }, + "subpath": "swift-argument-parser" + } + ] + }, + "version": 6 +} diff --git a/pkgs/by-name/cg/cgtcalc/package.nix b/pkgs/by-name/cg/cgtcalc/package.nix new file mode 100644 index 000000000000..eae6cbd7e32e --- /dev/null +++ b/pkgs/by-name/cg/cgtcalc/package.nix @@ -0,0 +1,58 @@ +{ + fetchFromGitHub, + lib, + nix-update-script, + stdenv, + swift, + swiftPackages, + swiftpm, + swiftpm2nix, +}: +let + generated = swiftpm2nix.helpers ./generated; +in +stdenv.mkDerivation (finalAttrs: { + pname = "cgtcalc"; + version = "0-unstable-2025-10-11"; + + src = fetchFromGitHub { + owner = "mattjgalloway"; + repo = "cgtcalc"; + # Repo has no tags or releases. + # This is the last commit before requiring Swift 6 + rev = "1cf63741ddc0a5070680cb1339ad0abff0b7d69b"; + hash = "sha256-+qgvl5y9ipVQIZlLZbkzkqb9bO7X9VGDvVsloOLZU/k="; + }; + nativeBuildInputs = [ + swift + swiftpm + ]; + + configurePhase = generated.configure; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + cp $(swiftpmBinPath)/cgtcalc $out/bin/ + runHook postInstall + ''; + + buildInputs = [ + swiftPackages.XCTest + ]; + + # libIndexStore.so: cannot open shared object file: No such file or directory + # https://github.com/NixOS/nixpkgs/issues/379859 + doCheck = false; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "UK capital gains tax calculator written in Swift"; + homepage = "https://github.com/mattjgalloway/cgtcalc"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dwoffinden ]; + mainProgram = "cgtcalc"; + platforms = lib.platforms.all; + }; +})