diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index a995091f022d..50c9b7d5c0b5 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -19342,6 +19342,12 @@ githubId = 821972; name = "Parth Mehrotra"; }; + pascalj = { + email = "nix@pascalj.de"; + github = "pascalj"; + githubId = 330168; + name = "Pascal Jungblut"; + }; paschoal = { email = "paschoal@gmail.com"; github = "paschoal"; diff --git a/pkgs/by-name/zs/zsign/package.nix b/pkgs/by-name/zs/zsign/package.nix new file mode 100644 index 000000000000..fb76fb5a4982 --- /dev/null +++ b/pkgs/by-name/zs/zsign/package.nix @@ -0,0 +1,61 @@ +{ + lib, + fetchFromGitHub, + stdenv, + openssl, + pkg-config, + minizip, + zlib, + versionCheckHook, +}: +let + platformName = if stdenv.hostPlatform.isLinux then "linux" else "macos"; +in +stdenv.mkDerivation (finalAttrs: { + pname = "zsign"; + version = "0.7"; + + src = fetchFromGitHub { + owner = "zhlynn"; + repo = "zsign"; + tag = "v${finalAttrs.version}"; + hash = "sha256-CAG9ewROyIGN5VOZbs0X1W88HdZ3H1sxaRJ7JpDbw3o="; + }; + + sourceRoot = "${finalAttrs.src.name}/build/${platformName}"; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ + openssl + minizip + zlib + ]; + + makeFlags = [ + "BINDIR=bin/" + "CXX=${stdenv.cc.targetPrefix}c++" + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin/ + cp bin/zsign $out/bin/ + + runHook postInstall + ''; + + enableParallelBuilding = true; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + + meta = { + description = "Cross-platform codesign alternative for iOS 12+"; + homepage = "https://github.com/zhlynn/zsign"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ pascalj ]; + mainProgram = "zsign"; + platforms = with lib.platforms; darwin ++ linux; + }; +})