butterfly: 2.3.1 -> 2.3.2

This commit is contained in:
mivorasu
2025-07-25 16:44:40 +00:00
committed by mivorasu
parent 09d976e1fb
commit c908eba80a
4 changed files with 76 additions and 20 deletions
+13
View File
@@ -0,0 +1,13 @@
{
"dart_leap": "sha256-oO5851cIdrW/asgOePxvwUgjn1XchkH9CKJUruvlLYI=",
"lw_file_system": "sha256-P5zr781SKHqZGwM2dNRi0O53oZuaY2zaM7q2Z7th0F4=",
"lw_file_system_api": "sha256-/Ur9zu4Ovb4x8j1n6Q6FWFuJ9yp92YQG3b7H5CMf3II=",
"lw_sysapi": "sha256-oGs5q8N46WNcRzbsgsPB/6fVBH3g9utK4tlXBpwU4Qc=",
"material_leap": "sha256-AHkXi+ENvLmJBXyF8jdXOCn/CThb6/LDr18gl9sL0XE=",
"networker": "sha256-/3jFIZj66hWbTcIQx9OB5QRrukcBT4zpek+56AVaGIA=",
"networker_crypto": "sha256-nI0luldloScjjix75kR5yOE1ZX8KFxMIC2N4whKlXUg=",
"networker_socket": "sha256-5y1oy0IYDs7nhiIx653vI5Gfh5jrVewkRFxB1mjxlE4=",
"perfect_freehand": "sha256-eBiid097rkF82n65Yg6a4VkKPv+70HIOYJT+9sCD//U=",
"reorderable_grid": "sha256-g30DSPL/gsk0r8c2ecoKU4f1P3BF15zLnBVO6RXvDGQ=",
"swamp_api": "sha256-ONaCXeMwEEHDvVmbo3o66O3CTCx4xGR3T5ZtSEwPvaw="
}
+9 -17
View File
@@ -11,32 +11,20 @@
flutter329.buildFlutterApplication rec {
pname = "butterfly";
version = "2.3.1";
version = "2.3.2";
src = fetchFromGitHub {
owner = "LinwoodDev";
repo = "Butterfly";
tag = "v${version}";
hash = "sha256-/lwMKanoSM8oARBqQJ3hL23Z5sobLDwtL5RsxFgN5ew=";
hash = "sha256-eAkepyZm4WgPo8ieBbWHoSSv/Zfr9U9HCsbxEyrzy0Y=";
};
pubspecLock = lib.importJSON ./pubspec.lock.json;
sourceRoot = "${src.name}/app";
gitHashes = {
dart_leap = "sha256-oO5851cIdrW/asgOePxvwUgjn1XchkH9CKJUruvlLYI=";
lw_file_system = "sha256-YWAInZw2FQzqGnopZr4oB1ZM5q0gjM65fvC4uhzl7gE=";
networker = "sha256-/3jFIZj66hWbTcIQx9OB5QRrukcBT4zpek+56AVaGIA=";
lw_file_system_api = "sha256-/Ur9zu4Ovb4x8j1n6Q6FWFuJ9yp92YQG3b7H5CMf3II=";
lw_sysapi = "sha256-oGs5q8N46WNcRzbsgsPB/6fVBH3g9utK4tlXBpwU4Qc=";
material_leap = "sha256-AHkXi+ENvLmJBXyF8jdXOCn/CThb6/LDr18gl9sL0XE=";
networker_crypto = "sha256-nI0luldloScjjix75kR5yOE1ZX8KFxMIC2N4whKlXUg=";
networker_socket = "sha256-5y1oy0IYDs7nhiIx653vI5Gfh5jrVewkRFxB1mjxlE4=";
perfect_freehand = "sha256-eBiid097rkF82n65Yg6a4VkKPv+70HIOYJT+9sCD//U=";
swamp_api = "sha256-ONaCXeMwEEHDvVmbo3o66O3CTCx4xGR3T5ZtSEwPvaw=";
reorderable_grid = "sha256-g30DSPL/gsk0r8c2ecoKU4f1P3BF15zLnBVO6RXvDGQ=";
};
gitHashes = lib.importJSON ./gitHashes.json;
postInstall = ''
cp -r linux/debian/usr/share $out/share
@@ -54,15 +42,19 @@ flutter329.buildFlutterApplication rec {
'';
updateScript = _experimental-update-script-combinators.sequence [
(gitUpdater {
ignoredVersions = ".*rc.*";
ignoredVersions = ".*(rc|beta).*";
rev-prefix = "v";
})
(_experimental-update-script-combinators.copyAttrOutputToFile "butterfly.pubspecSource" ./pubspec.lock.json)
{
command = [ ./update-gitHashes.py ];
supportedFeatures = [ "silent" ];
}
];
};
meta = {
description = "Powerful, minimalistic, cross-platform, opensource note-taking app";
description = "Note taking app where your ideas come first";
homepage = "https://github.com/LinwoodDev/Butterfly";
mainProgram = "butterfly";
license = with lib.licenses; [
+3 -3
View File
@@ -197,7 +197,7 @@
"relative": true
},
"source": "path",
"version": "2.3.1"
"version": "2.3.2"
},
"camera": {
"dependency": "direct main",
@@ -986,8 +986,8 @@
"dependency": "direct main",
"description": {
"path": "packages/lw_file_system",
"ref": "08f472ba88112647b4a7b94dff57d74ed897e062",
"resolved-ref": "08f472ba88112647b4a7b94dff57d74ed897e062",
"ref": "ad67d9835e5fc673c9e7d1bcaad10c89423d4b61",
"resolved-ref": "ad67d9835e5fc673c9e7d1bcaad10c89423d4b61",
"url": "https://github.com/LinwoodDev/dart_pkgs.git"
},
"source": "git",
+51
View File
@@ -0,0 +1,51 @@
#! /usr/bin/env nix-shell
#! nix-shell -i python3 -p python3 nix-prefetch-git
import json
import subprocess
import sys
from pathlib import Path
THIS_FOLDER = Path(__file__).parent.resolve()
PUBSPEC_LOCK = THIS_FOLDER / "pubspec.lock.json"
GIT_HASHES = THIS_FOLDER / "gitHashes.json"
def fetch_git_hash(url: str, rev: str) -> str:
result = subprocess.run(
["nix-prefetch-git", "--url", url, "--rev", rev],
capture_output=True,
text=True,
check=True,
)
return json.loads(result.stdout)["hash"]
def main() -> None:
if not PUBSPEC_LOCK.exists():
sys.exit(1)
try:
data = json.loads(PUBSPEC_LOCK.read_text())
except json.JSONDecodeError:
sys.exit(1)
output: dict[str, str] = {}
for name, info in data.get("packages", {}).items():
if info.get("source") != "git":
continue
desc = info.get("description")
if not isinstance(desc, dict):
continue
url = desc.get("url")
rev = desc.get("resolved-ref")
if not (isinstance(url, str) and isinstance(rev, str)):
continue
try:
package_hash = fetch_git_hash(url, rev)
except subprocess.CalledProcessError:
continue
output[name] = package_hash
GIT_HASHES.write_text(json.dumps(output, indent=2) + "\n")
if __name__ == "__main__":
main()