mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-11-09 16:18:34 +01:00
78 lines
1.8 KiB
Nix
78 lines
1.8 KiB
Nix
{
|
|
lib,
|
|
stdenvNoCC,
|
|
unzip,
|
|
fetchurl,
|
|
writeShellScript,
|
|
curl,
|
|
xmlstarlet,
|
|
gnused,
|
|
common-updater-scripts,
|
|
}:
|
|
|
|
let
|
|
# Monodraw uses build numbers (tracked via Sparkle appcast)
|
|
# Appcast: https://updates.helftone.com/monodraw/appcast-beta.xml
|
|
build = "118";
|
|
in
|
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
|
pname = "monodraw";
|
|
version = "1.7.1";
|
|
|
|
src = fetchurl {
|
|
url = "https://updates.helftone.com/monodraw/downloads/Monodraw-b${build}.zip";
|
|
hash = "sha256-7ti/FXoxNMhSYV7TWTeP8mAnCdqukI0SgDdW6RRQsFc=";
|
|
};
|
|
|
|
sourceRoot = ".";
|
|
|
|
nativeBuildInputs = [ unzip ];
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/Applications
|
|
cp -R ./Monodraw.app $out/Applications
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
passthru = {
|
|
inherit build;
|
|
updateScript = writeShellScript "monodraw-update-script" ''
|
|
set -euo pipefail
|
|
export PATH="${
|
|
lib.makeBinPath [
|
|
curl
|
|
xmlstarlet
|
|
gnused
|
|
common-updater-scripts
|
|
]
|
|
}"
|
|
|
|
xml=$(curl -s "https://updates.helftone.com/monodraw/appcast-beta.xml")
|
|
|
|
version=$(echo "$xml" | xmlstarlet sel -t -v '//enclosure/@sparkle:shortVersionString')
|
|
build=$(echo "$xml" | xmlstarlet sel -t -v '//enclosure/@sparkle:version')
|
|
|
|
# Update build number in let binding
|
|
sed -i "s/build = \"[0-9]*\"/build = \"$build\"/" pkgs/by-name/mo/monodraw/package.nix
|
|
|
|
# Update version and hash
|
|
update-source-version monodraw "$version"
|
|
'';
|
|
};
|
|
|
|
meta = {
|
|
description = "Powerful ASCII art editor designed for the Mac";
|
|
homepage = "https://monodraw.helftone.com/";
|
|
license = lib.licenses.unfree;
|
|
maintainers = with lib.maintainers; [ delafthi ];
|
|
platforms = [
|
|
"x86_64-darwin"
|
|
"aarch64-darwin"
|
|
];
|
|
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
|
};
|
|
})
|