diff --git a/pkgs/by-name/be/betterdisplay/package.nix b/pkgs/by-name/be/betterdisplay/package.nix index fa2c511d2b8c..275f7652af3c 100644 --- a/pkgs/by-name/be/betterdisplay/package.nix +++ b/pkgs/by-name/be/betterdisplay/package.nix @@ -6,7 +6,7 @@ nix-update-script, versionCheckHook, writeShellScript, - xcbuild, + re-plistbuddy, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -37,7 +37,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgram = writeShellScript "version-check" '' - ${xcbuild}/bin/PlistBuddy -c "Print :CFBundleShortVersionString" "$1" + ${lib.getExe' re-plistbuddy "PlistBuddy"} -c "Print :CFBundleShortVersionString" "$1" ''; versionCheckProgramArg = [ "${placeholder "out"}/Applications/BetterDisplay.app/Contents/Info.plist" diff --git a/pkgs/by-name/cy/cyberduck/package.nix b/pkgs/by-name/cy/cyberduck/package.nix index 8ec704005524..fb23195c4578 100644 --- a/pkgs/by-name/cy/cyberduck/package.nix +++ b/pkgs/by-name/cy/cyberduck/package.nix @@ -6,8 +6,7 @@ makeBinaryWrapper, versionCheckHook, writeShellScript, - coreutils, - xcbuild, + re-plistbuddy, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "cyberduck"; @@ -36,8 +35,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgram = writeShellScript "version-check" '' - marketing_version=$(${xcbuild}/bin/PlistBuddy -c "Print :CFBundleShortVersionString" "$1" | ${coreutils}/bin/tr -d '"') - build_version=$(${xcbuild}/bin/PlistBuddy -c "Print :CFBundleVersion" "$1") + marketing_version=$(${lib.getExe' re-plistbuddy "PlistBuddy"} -c "Print :CFBundleShortVersionString" "$1") + build_version=$(${lib.getExe' re-plistbuddy "PlistBuddy"} -c "Print :CFBundleVersion" "$1") echo $marketing_version.$build_version ''; diff --git a/pkgs/by-name/en/enpass-mac/package.nix b/pkgs/by-name/en/enpass-mac/package.nix index ecc81914c6a7..b1ee0150ace4 100644 --- a/pkgs/by-name/en/enpass-mac/package.nix +++ b/pkgs/by-name/en/enpass-mac/package.nix @@ -12,8 +12,7 @@ common-updater-scripts, versionCheckHook, writeShellScript, - coreutils, - xcbuild, + re-plistbuddy, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -71,8 +70,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgram = writeShellScript "version-check" '' - marketing_version=$(${xcbuild}/bin/PlistBuddy -c "Print :CFBundleShortVersionString" "$1" | ${coreutils}/bin/tr -d '"') - build_version=$(${xcbuild}/bin/PlistBuddy -c "Print :CFBundleVersion" "$1") + marketing_version=$(${lib.getExe' re-plistbuddy "PlistBuddy"} -c "Print :CFBundleShortVersionString" "$1") + build_version=$(${lib.getExe' re-plistbuddy "PlistBuddy"} -c "Print :CFBundleVersion" "$1") echo $marketing_version.$build_version ''; diff --git a/pkgs/by-name/re/re-plistbuddy/package.nix b/pkgs/by-name/re/re-plistbuddy/package.nix new file mode 100644 index 000000000000..8e51a23b8378 --- /dev/null +++ b/pkgs/by-name/re/re-plistbuddy/package.nix @@ -0,0 +1,26 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, +}: +rustPlatform.buildRustPackage rec { + pname = "re-plistbuddy"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "viraptor"; + repo = "re-plistbuddy"; + tag = version; + hash = "sha256-Iumrj0JLpdrS3cg3jAj/Wrbx7PthlCnTuRMYsYdywyw="; + }; + + cargoHash = "sha256-RyHM6CMxdhDJrg6mGt8jQCDLVjt0BiLYswelOHoellw="; + + meta = { + description = "Open reimplementation of Apple's PlistBuddy and plutil"; + homepage = "https://github.com/viraptor/re-plistbuddy"; + license = with lib.licenses; [ mit ]; + maintainers = with lib.maintainers; [ viraptor ]; + platforms = lib.platforms.darwin; + }; +}