whalebird: 6.2.2-unstable-2025-06-12 -> 6.2.4

Changelog: https://github.com/h3poteto/whalebird-desktop/releases/tag/v6.2.4

kyehn 227d978e ebe33963

Changed files
+62 -47
pkgs
applications
top-level
+35 -44
pkgs/applications/misc/whalebird/default.nix
···
makeDesktopItem,
copyDesktopItems,
makeWrapper,
-
electron,
-
cacert,
-
gitMinimal,
-
yarn,
+
electron_37,
+
yarn-berry,
+
writableTmpDirAsHomeHook,
}:
-
stdenv.mkDerivation rec {
+
+
let
+
electron = electron_37;
+
in
+
stdenv.mkDerivation (finalAttrs: {
pname = "whalebird";
-
version = "6.2.2-unstable-2025-06-12";
+
version = "6.2.4";
src = fetchFromGitHub {
owner = "h3poteto";
repo = "whalebird-desktop";
-
rev = "506a1ff00188f04bffeaede0110719512c621b02";
-
hash = "sha256-jkdGwdNcF4Rbivi0TziW/ZOficbXIrxqaB+kQrNcdsc=";
+
tag = "v${finalAttrs.version}";
+
hash = "sha256-0wXfyRmCDkirYgSXUuvrIkQ2yRnVRWMoyyqifIF5VU4=";
};
-
# we cannot use fetchYarnDeps because that doesn't support yarn 2/berry lockfiles
-
offlineCache = stdenv.mkDerivation {
-
name = "whalebird-${version}-offline-cache";
-
inherit src;
-
nativeBuildInputs = [
-
cacert # needed for git
-
gitMinimal # needed to download git dependencies
-
yarn
-
];
+
missingHashes = ./missing-hashes.json;
-
buildPhase = ''
-
export HOME=$(mktemp -d)
-
yarn config set enableTelemetry 0
-
yarn config set cacheFolder $out
-
yarn config set --json supportedArchitectures.os '[ "linux" ]'
-
yarn config set --json supportedArchitectures.cpu '[ "arm64", "x64" ]'
-
yarn
-
'';
+
offlineCache = yarn-berry.fetchYarnBerryDeps {
+
inherit (finalAttrs) src missingHashes;
+
hash = "sha256-vwSVd+ttQFeXEsRsh9jmHKouyqkHeosy0Z/LMb4pzeI=";
+
};
-
outputHashMode = "recursive";
-
outputHash = "sha256-Lru6utVP1uHpHvL8Jg/JzEnIErsxVo7njJhsqkThktk=";
-
};
+
postPatch = ''
+
sed -i "/module.exports = {/a \ typescript: {\n ignoreBuildErrors: true,\n }," renderer/next.config.js
+
'';
nativeBuildInputs = [
makeWrapper
copyDesktopItems
-
yarn
+
yarn-berry
+
yarn-berry.yarnBerryConfigHook
+
writableTmpDirAsHomeHook
];
desktopItems = [
(makeDesktopItem {
desktopName = "Whalebird";
-
comment = meta.description;
+
comment = finalAttrs.meta.description;
categories = [ "Network" ];
exec = "whalebird";
icon = "whalebird";
···
})
];
-
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
+
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
buildPhase = ''
runHook preBuild
-
export HOME=$(mktemp -d)
-
yarn config set enableTelemetry 0
-
yarn config set cacheFolder ${offlineCache}
-
-
yarn --immutable-cache
-
yarn run nextron build --no-pack
-
yarn run electron-builder --dir \
+
yarn exec nextron build --no-pack
+
yarn exec electron-builder --dir \
+
--linux \
+
-p never \
--config electron-builder.yml \
-c.electronDist="${electron.dist}" \
-c.electronVersion=${electron.version}
···
mkdir -p $out/opt
cp -r ./dist/*-unpacked $out/opt/Whalebird
-
-
# Install icons
-
# Taken from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=whalebird#n41
+
''
+
# Install icons
+
# Taken from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=whalebird#n41
+
+ ''
for i in 16 32 128 256 512; do
install -Dm644 "resources/icons/icon.iconset/icon_$i"x"$i.png" \
"$out/share/icons/hicolor/$i"x"$i/apps/whalebird.png"
···
makeWrapper "${electron}/bin/electron" "$out/bin/whalebird" \
--add-flags "$out/opt/Whalebird/resources/app.asar" \
-
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
+
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --wayland-text-input-version=3}}"
runHook postInstall
'';
···
description = "Single-column Fediverse client for desktop";
mainProgram = "whalebird";
homepage = "https://whalebird.social";
-
changelog = "https://github.com/h3poteto/whalebird-desktop/releases/tag/v${version}";
+
changelog = "https://github.com/h3poteto/whalebird-desktop/releases/tag/v${finalAttrs.version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ weathercold ];
platforms = [
···
"aarch64-linux"
];
};
-
}
+
})
+26
pkgs/applications/misc/whalebird/missing-hashes.json
···
+
{
+
"@next/swc-darwin-arm64@npm:14.2.29": "34800ea408d4025e6dd87e9b9b14ffff8c881cd3566f23f71dccaf9be3c7637a040fe5d5192970f04bc66630415c208856d129800ac017dc03978bb6c4211892",
+
"@next/swc-darwin-x64@npm:14.2.29": "608a86eaff1a683464eda5bab2877a9a51cd0b3b5b28cc9ff0978a940c887451feb1e4da46d509c1a75e125e367214015e895180b2cd3600b90a6db2a66849e6",
+
"@next/swc-linux-arm64-gnu@npm:14.2.29": "2b6dcbfeb9952cd8217503becf73b6899611f8301bbd3ebb5da14f209022fe8dfbeda8724e698c76bd14bcd8db3e58a7abd65d943806b0339502e66d8869ed1c",
+
"@next/swc-linux-arm64-musl@npm:14.2.29": "8fa07a16776a7a9ba70fb08540494b02874dff066af67010fc8681e8eedf0c9c3d2199719a1629dae55d487bb9143843772a39e32472b435512546013dd25bc1",
+
"@next/swc-linux-x64-gnu@npm:14.2.29": "0172a1d5b75d84109a500abb4ea1d2827ec9e71ba3b3101b5899380cf1ec6aa7919922027cb0e288cd31de5f5bb04da4b9ce2897a9e1273be6105d0283bbf750",
+
"@next/swc-linux-x64-musl@npm:14.2.29": "fea65e83d1d2b06f5f00c41f26919cd8db94372f7faf57f515ba882936adde2f6b42e5da0db88681a91326ab90454561afdcb41185be5d6bb9e0309d55aa3d8a",
+
"@next/swc-win32-arm64-msvc@npm:14.2.29": "143a5751877a4475ff06e24d8c5c98db1515ddc8cb04dd62ad4d657ca856766ed39793243169961b0b68db5454c2220b23e17e9dd12c9dee66a637943624249e",
+
"@next/swc-win32-ia32-msvc@npm:14.2.29": "a77da58ed7352144ad9d1929d2356898d6aebfdafa5796b8381900ebd25e7faa1dfdf4e8ce4b1aa056aa459941ee61a0c59eb1b871d1f39d24405e9d46592070",
+
"@next/swc-win32-x64-msvc@npm:14.2.29": "35a492be5e597bfed81eca677321ba37676b271dcd5c47d2e1411c3310bed485fdeeaee303da41dc194d18394d4053667fe7e3ba02e7e327dae9f99a1b19b743",
+
"@parcel/watcher-android-arm64@npm:2.5.0": "aaa9d1cae932f081e331f506200c9d4dd8ceaebfbbfbc5868f7c76cf4b7259403e9c8128ee26a68d24cc4ca6f5f683830f4895f8aa8eb014e9582a5af0c608e1",
+
"@parcel/watcher-darwin-arm64@npm:2.5.0": "3b43e993a3f5a68c48a2a80302443ab079ca380d94d11c09ec731bc0aa74776bf9e1360e8371850ebae136f317f62a7d546c7e53de315ea3fd5d3ffa3bf5d690",
+
"@parcel/watcher-darwin-x64@npm:2.5.0": "ff642c65a251be601b9ed72618956a4cb6cac8ffed5db1eaceab2607ee74d0161b9f15c333b3b8d440526ea5795f3ef762cf4e3bf26f21a3f82fe8e4bec7dd9f",
+
"@parcel/watcher-freebsd-x64@npm:2.5.0": "33ce8bce2afe0a4dacba9aadf322346292a5a80f79ffb49f2ba1f9ed13a8124e10f8fac5eff6e556f956077404c68834d40fbbb52e351f90c9c459d51be67bec",
+
"@parcel/watcher-linux-arm-glibc@npm:2.5.0": "fff5f8f1628bdfcd8fd5ec6567ef544b9377b34a7bf42bf7c65cd6f66835e77d7c09a395576ca1e7e1c59a9de5499d88b7e61f3cf28cd4f18bd3507ddf3ba083",
+
"@parcel/watcher-linux-arm-musl@npm:2.5.0": "d40314d3e4e3381df0e33e4aeafa398ad7d1e0ed553b1aa3fbfeda6868041070ca3998caaa8f82e8549db8c6276e7532c0e18c21bc616c5c166ef38c0a1d0ab9",
+
"@parcel/watcher-linux-arm64-glibc@npm:2.5.0": "2ac244de308be96dda7e080aa57cfd35ca90c4ecd27992c291e8428c5d343e77f2e30872306d1493171687143bbe9a61a3ba4cbb500002a4931fc4ccc52363fa",
+
"@parcel/watcher-linux-arm64-musl@npm:2.5.0": "7b233f9e19358f41ecbf1ca5d5ef003435b88689c4cbd56cf9e31d1cfb34647fde38e333fb07b997fb3908878a898043bbc725c9483fe2d1a93c17a0d4527f93",
+
"@parcel/watcher-linux-x64-glibc@npm:2.5.0": "9797ab32ac241966b5396e95b9489d912c905b863ca42a964373d73db59e594d020810a1784b76b8b456018bb5774d43a778f0c33083ba0ada4c5a11cf7855e6",
+
"@parcel/watcher-linux-x64-musl@npm:2.5.0": "42a75104cae0fb6f208d644ee16a0f21e8cb3b288ff041899eda116f475f07a657427439b1c9e2d1318806c42cb0c0e342df6b87f9e0e00d2bbbf4df041122bf",
+
"@parcel/watcher-win32-arm64@npm:2.5.0": "bc7e902a2e26824d9bfce9bd16de997d3ae900b03433b70f24eaff264a9279910e1a430eb77b07a72597494ecfa89bd87fe4b7c10e3169c51ccc7b9ebc813e3e",
+
"@parcel/watcher-win32-ia32@npm:2.5.0": "915963497eb35a1a3e71a1b8d1aac851d231743955b53c8a7eaf2cb77dec99a21a285397349dd6a488e6305c01311b57ee1bae897ee7016c0d40fceaf2b2af16",
+
"@parcel/watcher-win32-x64@npm:2.5.0": "fd764a09afa89a5e0e50eb610920cf4982b1cb3ec04ca68348c0503b66af6eefd4942f1130276b928d94be6699d72607a46fab9586a800a4394eee05ee1b7b4c",
+
"dmg-license@npm:1.0.11": "36c0a7b030801b91216affa9b2bb00caa345b2327f298accb2263a80a0320ca305f90b99da68007d187c830c543410d58a0a2bbc229e8d169b0e1d1652ff42aa",
+
"iconv-corefoundation@npm:1.1.7": "0189733ef51a9f481379202cb1919f2677efc44aa014ba662a6fd99e47993e350eab0ff724ed18cda8011c9b78c4702b2d374f732955f1def3fd2a14a29d25c0"
+
}
+1 -3
pkgs/top-level/all-packages.nix
···
xwaylandSupport = false;
-
whalebird = callPackage ../applications/misc/whalebird {
-
electron = electron_36;
-
};
+
whalebird = callPackage ../applications/misc/whalebird { };
inherit (windowmaker) dockapps;