mochi: 1.18.11 -> 1.20.10; unbreak (#488050)

This commit is contained in:
Pol Dellaiera
2026-02-09 21:03:15 +00:00
committed by GitHub
2 changed files with 53 additions and 13 deletions
+27 -13
View File
@@ -1,23 +1,24 @@
{
_7zz,
appimageTools,
fetchurl,
fetchzip,
lib,
makeWrapper,
stdenv,
stdenvNoCC,
libxshmfence,
undmg,
}:
let
pname = "mochi";
version = "1.18.11";
version = "1.20.10";
linux = appimageTools.wrapType2 rec {
inherit pname version meta;
src = fetchurl {
url = "https://mochi.cards/releases/Mochi-${version}.AppImage";
hash = "sha256-NQ591KtWQz8hlXPhV83JEwGm+Au26PIop5KVzsyZKp4=";
url = "https://download.mochi.cards/releases/Mochi-${version}.AppImage";
hash = "sha256-oC53TXgK6UUgsHbLo0Ri/+2/UajYwpoXxHwqO1xY91U=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
@@ -30,23 +31,35 @@ let
substituteInPlace $out/share/applications/${pname}.desktop \
--replace-fail 'Exec=AppRun --no-sandbox' 'Exec=${pname}'
'';
passthru.updateScript = ./update.sh;
};
darwin = stdenvNoCC.mkDerivation {
darwin = stdenv.mkDerivation {
inherit pname version meta;
src = fetchzip {
url = "https://mochi.cards/releases/Mochi-${version}.dmg";
hash = "sha256-5RM4eqHQoYfO5JiUH9ol+3XxOk4VX4ocE3Yia82sovI=";
stripRoot = false;
nativeBuildInputs = [ _7zz ];
src = fetchurl {
url = "https://download.mochi.cards/releases/Mochi-${version}${lib.optionalString stdenv.hostPlatform.isAarch64 "-arm64"}.dmg";
hash =
if stdenv.hostPlatform.isAarch64 then
"sha256-nLz73G6vthiXex7+y6bLVhe/RvK3fE3UHuzHf8lcilE="
else
"sha256-MuvzijF2eDELcSfOyqffKk5tx2a51vU8cGV2/ShSfTg=";
};
sourceRoot = ".";
nativeBuildInputs = [
makeWrapper
undmg
];
installPhase = ''
runHook preInstall
mkdir -p $out/Applications
cp -r *.app $out/Applications
mkdir -p $out/{Applications,bin}
cp -a Mochi.app $out/Applications
makeWrapper $out/Applications/Mochi.app/Contents/MacOS/Mochi $out/bin/${pname}
runHook postInstall
'';
@@ -57,6 +70,7 @@ let
homepage = "https://mochi.cards/";
changelog = "https://mochi.cards/changelog.html";
license = lib.licenses.unfree;
mainProgram = "mochi";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
maintainers = with lib.maintainers; [ poopsicles ];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
+26
View File
@@ -0,0 +1,26 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl nix common-updater-scripts
set -euo pipefail
latestVersion=$(curl -Ls https://mochi.cards/ | grep -oP 'Mochi-\K[0-9]+\.[0-9]+\.[0-9]+(?=\.AppImage)' | head -1)
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; mochi.version" | tr -d '"')
echo "latest version: $latestVersion"
echo "current version: $currentVersion"
if [[ "$latestVersion" == "$currentVersion" ]]; then
echo "package is up-to-date"
exit 0
fi
# Update version and hash for x86_64-linux (AppImage)
update-source-version mochi "$latestVersion" --system=x86_64-linux
# Update hashes for darwin systems
for system in x86_64-darwin aarch64-darwin; do
url=$(nix-instantiate --eval --json -E "with import ./. { system = \"$system\"; }; mochi.src.url" | tr -d '"')
hash=$(nix-prefetch-url "$url")
sriHash=$(nix --extra-experimental-features nix-command hash convert --hash-algo sha256 --to sri "$hash")
update-source-version mochi "$latestVersion" "$sriHash" --system="$system" --ignore-same-version
done