Compare commits
17 Commits
1277c73304
...
master
Author | SHA1 | Date | |
---|---|---|---|
1c5c9b80eb | |||
94289c2253 | |||
0c443fae25 | |||
a490a74390 | |||
2e71e06c05 | |||
203832b5a8 | |||
1204f4db69 | |||
a4b114fce2 | |||
7e17eb4056 | |||
259d980a60 | |||
5488486944 | |||
969717b1fe | |||
7391e34f77 | |||
7f45077485 | |||
ceb7ccbc6d | |||
9d63ec5dd2 | |||
7ce93eae96 |
1
TODO.md
1
TODO.md
@@ -135,6 +135,7 @@
|
||||
- Trivia Quiz (https://linuxphoneapps.org/games/io.github.nokse22.trivia-quiz/)
|
||||
- sane-sync-music: remove empty dirs
|
||||
- soulseek: install a CLI app usable over ssh
|
||||
- moby: replace `spot` with its replacement, `riff` (<https://github.com/Diegovsky/riff>)
|
||||
|
||||
#### moby
|
||||
- moby: port battery support to something upstreamable
|
||||
|
@@ -79,7 +79,7 @@ lib.mkMerge [
|
||||
(ifSshAuthorized (remoteHome "crappy" {}))
|
||||
(ifSshAuthorized (remoteHome "desko" {}))
|
||||
(ifSshAuthorized (remoteHome "flowy" {}))
|
||||
(ifSshAuthorized (remoteHome "lappy" {}))
|
||||
# (ifSshAuthorized (remoteHome "lappy" {}))
|
||||
(ifSshAuthorized (remoteHome "moby" { host = "moby-hn"; }))
|
||||
(ifSshAuthorized (remoteHome "servo" {}))
|
||||
]
|
||||
|
@@ -32,13 +32,13 @@
|
||||
lan-ip = "10.78.79.56";
|
||||
};
|
||||
|
||||
sane.hosts.by-name."lappy" = {
|
||||
ssh.user_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDpmFdNSVPRol5hkbbCivRhyeENzb9HVyf9KutGLP2Zu";
|
||||
ssh.host_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILSJnqmVl9/SYQ0btvGb0REwwWY8wkdkGXQZfn/1geEc";
|
||||
wg-home.pubkey = "FTUWGw2p4/cEcrrIE86PWVnqctbv8OYpw8Gt3+dC/lk=";
|
||||
wg-home.ip = "10.0.10.20";
|
||||
lan-ip = "10.78.79.53";
|
||||
};
|
||||
# sane.hosts.by-name."lappy" = {
|
||||
# ssh.user_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDpmFdNSVPRol5hkbbCivRhyeENzb9HVyf9KutGLP2Zu";
|
||||
# ssh.host_pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILSJnqmVl9/SYQ0btvGb0REwwWY8wkdkGXQZfn/1geEc";
|
||||
# wg-home.pubkey = "FTUWGw2p4/cEcrrIE86PWVnqctbv8OYpw8Gt3+dC/lk=";
|
||||
# wg-home.ip = "10.0.10.20";
|
||||
# lan-ip = "10.78.79.53";
|
||||
# };
|
||||
|
||||
sane.hosts.by-name."moby" = {
|
||||
# ssh.authorized = lib.mkDefault false; # moby's too easy to hijack: don't let it ssh places
|
||||
|
@@ -43,6 +43,10 @@ in
|
||||
"knowledge/secrets/accounts"
|
||||
];
|
||||
|
||||
# firefox learns about this package by looking in ~/.mozilla/native-messaging-hosts
|
||||
fs.".mozilla/native-messaging-hosts/com.github.browserpass.native.json".symlink.target
|
||||
= "${browserpass}//lib/mozilla/native-messaging-hosts/com.github.browserpass.native.json";
|
||||
|
||||
# TODO: env.PASSWORD_STORE_DIR only needs to be present within the browser session.
|
||||
# alternative to PASSWORD_STORE_DIR:
|
||||
# fs.".password-store".symlink.target = "knowledge/secrets/accounts";
|
||||
|
@@ -16,7 +16,9 @@ let
|
||||
cfg.addons
|
||||
);
|
||||
addonSuggestedPrograms = lib.map (n: config.sane.programs."${n}") addonSuggestedProgramNames;
|
||||
addonHomePaths = lib.concatMap (p: p.sandbox.extraHomePaths) (addonSuggestedPrograms ++ nativeMessagingPrograms);
|
||||
addonHomePaths = lib.concatMap
|
||||
(p: p.sandbox.extraHomePaths ++ builtins.attrNames p.fs)
|
||||
(addonSuggestedPrograms ++ nativeMessagingPrograms);
|
||||
|
||||
packageUnwrapped = let
|
||||
unwrapped = pkgs.firefox-unwrapped // {
|
||||
@@ -29,7 +31,8 @@ let
|
||||
# inherit the default librewolf.cfg
|
||||
# it can be further customized via ~/.librewolf/librewolf.overrides.cfg
|
||||
libName = "firefox";
|
||||
inherit nativeMessagingHosts;
|
||||
# XXX(2025-08-26): nativeMessagingHosts wrapping is broken! put things in ~/.mozilla/native-messaging-hosts/ instead.
|
||||
# inherit nativeMessagingHosts;
|
||||
|
||||
nixExtensions = lib.concatMap (ext: lib.optional ext.enable ext.package) (builtins.attrValues cfg.addons);
|
||||
|
||||
|
@@ -143,9 +143,20 @@ defaultPref("browser.shell.checkDefaultBrowser", false);
|
||||
// disable extension updates
|
||||
defaultPref("extensions.update.autoUpdateDefault", false);
|
||||
defaultPref("extensions.update.enabled", false);
|
||||
defaultPref("extensions.systemAddon.update.enabled", false);
|
||||
// wipe the URIs used to check for updates, as a precaution.
|
||||
defaultPref("extensions.update.url", "");
|
||||
defaultPref("extensions.update.background.url", "");
|
||||
defaultPref("extensions.systemAddon.update.url", "");
|
||||
|
||||
// also disable app-level auto-updates
|
||||
defaultPref("app.update.auto", false);
|
||||
|
||||
// disable "safe browsing", in which my browser asks Google whether a site is malicious or not, for every site i visit (?)
|
||||
defaultPref("browser.safebrowsing.blockedURIs.enabled", false);
|
||||
defaultPref("browser.safebrowsing.downloads.enabled", false);
|
||||
defaultPref("browser.safebrowsing.malware.enabled", false);
|
||||
defaultPref("browser.safebrowsing.phishing.enabled", false);
|
||||
|
||||
// browser.engagement.sidebar-button.has-used
|
||||
// browser.migration.version = 150
|
||||
|
@@ -36,7 +36,8 @@
|
||||
sandbox.extraPaths = [
|
||||
"/boot"
|
||||
"/mnt/desko"
|
||||
"/mnt/lappy"
|
||||
"/mnt/flowy"
|
||||
# "/mnt/lappy"
|
||||
"/mnt/moby"
|
||||
"/mnt/servo"
|
||||
# "nix"
|
||||
|
@@ -65,7 +65,8 @@
|
||||
sandbox.extraPaths = [
|
||||
"/boot"
|
||||
"/mnt/desko"
|
||||
"/mnt/lappy"
|
||||
"/mnt/flowy"
|
||||
# "/mnt/lappy"
|
||||
"/mnt/moby"
|
||||
"/mnt/servo"
|
||||
# "nix"
|
||||
|
@@ -52,63 +52,63 @@ let
|
||||
typelibPath = pkgs: lib.concatStringsSep ":" (builtins.map (p: "${lib.getLib p}/lib/girepository-1.0") pkgs);
|
||||
|
||||
# `cargo` which adds the correct env vars and `--target` flag when invoked from meson build scripts
|
||||
crossCargo = let
|
||||
inherit (final.pkgsBuildHost) cargo;
|
||||
inherit (final.rust.envVars) setEnv rustHostPlatformSpec;
|
||||
in (final.pkgsBuildBuild.writeShellScriptBin "cargo" ''
|
||||
targetDir=target
|
||||
isFlavored=
|
||||
outDir=
|
||||
profile=
|
||||
# crossCargo = let
|
||||
# inherit (final.pkgsBuildHost) cargo;
|
||||
# inherit (final.rust.envVars) setEnv rustHostPlatformSpec;
|
||||
# in (final.pkgsBuildBuild.writeShellScriptBin "cargo" ''
|
||||
# targetDir=target
|
||||
# isFlavored=
|
||||
# outDir=
|
||||
# profile=
|
||||
|
||||
cargoArgs=("$@")
|
||||
nextIsOutDir=
|
||||
nextIsProfile=
|
||||
nextIsTargetDir=
|
||||
for arg in "''${cargoArgs[@]}"; do
|
||||
if [[ -n "$nextIsOutDir" ]]; then
|
||||
nextIsOutDir=
|
||||
outDir="$arg"
|
||||
elif [[ -n "$nextIsProfile" ]]; then
|
||||
nextIsProfile=
|
||||
profile="$arg"
|
||||
elif [[ -n "$nextIsTargetDir" ]]; then
|
||||
nextIsTargetDir=
|
||||
targetDir="$arg"
|
||||
elif [[ "$arg" = "build" ]]; then
|
||||
isFlavored=1
|
||||
elif [[ "$arg" = "--out-dir" ]]; then
|
||||
nextIsOutDir=1
|
||||
elif [[ "$arg" = "--profile" ]]; then
|
||||
nextIsProfile=1
|
||||
elif [[ "$arg" = "--release" ]]; then
|
||||
profile=release
|
||||
elif [[ "$arg" = "--target-dir" ]]; then
|
||||
nextIsTargetDir=1
|
||||
fi
|
||||
done
|
||||
# cargoArgs=("$@")
|
||||
# nextIsOutDir=
|
||||
# nextIsProfile=
|
||||
# nextIsTargetDir=
|
||||
# for arg in "''${cargoArgs[@]}"; do
|
||||
# if [[ -n "$nextIsOutDir" ]]; then
|
||||
# nextIsOutDir=
|
||||
# outDir="$arg"
|
||||
# elif [[ -n "$nextIsProfile" ]]; then
|
||||
# nextIsProfile=
|
||||
# profile="$arg"
|
||||
# elif [[ -n "$nextIsTargetDir" ]]; then
|
||||
# nextIsTargetDir=
|
||||
# targetDir="$arg"
|
||||
# elif [[ "$arg" = "build" ]]; then
|
||||
# isFlavored=1
|
||||
# elif [[ "$arg" = "--out-dir" ]]; then
|
||||
# nextIsOutDir=1
|
||||
# elif [[ "$arg" = "--profile" ]]; then
|
||||
# nextIsProfile=1
|
||||
# elif [[ "$arg" = "--release" ]]; then
|
||||
# profile=release
|
||||
# elif [[ "$arg" = "--target-dir" ]]; then
|
||||
# nextIsTargetDir=1
|
||||
# fi
|
||||
# done
|
||||
|
||||
extraFlags=()
|
||||
# extraFlags=()
|
||||
|
||||
# not all subcommands support flavored arguments like `--target`
|
||||
if [ -n "$isFlavored" ]; then
|
||||
# pass the target triple to cargo so it will cross compile
|
||||
# and fix so it places outputs in the same directory as non-cross, see: <https://doc.rust-lang.org/cargo/guide/build-cache.html>
|
||||
extraFlags+=(
|
||||
--target "${rustHostPlatformSpec}"
|
||||
-Z unstable-options
|
||||
)
|
||||
if [ -z "$outDir" ]; then
|
||||
extraFlags+=(
|
||||
--out-dir "$targetDir"/''${profile:-debug}
|
||||
)
|
||||
fi
|
||||
fi
|
||||
# # not all subcommands support flavored arguments like `--target`
|
||||
# if [ -n "$isFlavored" ]; then
|
||||
# # pass the target triple to cargo so it will cross compile
|
||||
# # and fix so it places outputs in the same directory as non-cross, see: <https://doc.rust-lang.org/cargo/guide/build-cache.html>
|
||||
# extraFlags+=(
|
||||
# --target "${rustHostPlatformSpec}"
|
||||
# -Z unstable-options
|
||||
# )
|
||||
# if [ -z "$outDir" ]; then
|
||||
# extraFlags+=(
|
||||
# --out-dir "$targetDir"/''${profile:-debug}
|
||||
# )
|
||||
# fi
|
||||
# fi
|
||||
|
||||
exec ${setEnv} "${lib.getExe cargo}" "$@" "''${extraFlags[@]}"
|
||||
'').overrideAttrs {
|
||||
inherit (cargo) meta;
|
||||
};
|
||||
# exec ${setEnv} "${lib.getExe cargo}" "$@" "''${extraFlags[@]}"
|
||||
# '').overrideAttrs {
|
||||
# inherit (cargo) meta;
|
||||
# };
|
||||
in with final; {
|
||||
# binutils = prev.binutils.override {
|
||||
# # fix that resulting binary files would specify build #!sh as their interpreter.
|
||||
@@ -138,10 +138,10 @@ in with final; {
|
||||
'';
|
||||
});
|
||||
|
||||
# 2025/08/26: upstreaming is unblocked
|
||||
delfin = prev.delfin.override {
|
||||
cargo = crossCargo;
|
||||
};
|
||||
# 2025/08/26: upstreaming is unblocked, on desko branch `pr-delfin-cross`
|
||||
# delfin = prev.delfin.override {
|
||||
# cargo = crossCargo;
|
||||
# };
|
||||
|
||||
# 2025/07/27: upstreaming is unblocked
|
||||
# dtrx = prev.dtrx.override {
|
||||
@@ -152,6 +152,10 @@ in with final; {
|
||||
# binutils = binutils-unwrapped;
|
||||
# };
|
||||
|
||||
# envelope = prev.envelope.override {
|
||||
# cargo = crossCargo;
|
||||
# };
|
||||
|
||||
# 2025/07/27: upstreaming is unblocked
|
||||
# emacs = prev.emacs.override {
|
||||
# nativeComp = false; # will be renamed to `withNativeCompilation` in future
|
||||
@@ -159,10 +163,6 @@ in with final; {
|
||||
# # <https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Runtime.html>
|
||||
# };
|
||||
|
||||
envelope = prev.envelope.override {
|
||||
cargo = crossCargo; #< fixes openssl not being able to find its library
|
||||
};
|
||||
|
||||
# 2025/07/27: upstreaming is unblocked
|
||||
# firejail = prev.firejail.overrideAttrs (upstream: {
|
||||
# # firejail executes its build outputs to produce the default filter list.
|
||||
@@ -295,7 +295,7 @@ in with final; {
|
||||
# ];
|
||||
# });
|
||||
|
||||
lemoa = prev.lemoa.override { cargo = crossCargo; };
|
||||
# lemoa = prev.lemoa.override { cargo = crossCargo; };
|
||||
|
||||
# libsForQt5 = prev.libsForQt5.overrideScope (self: super: {
|
||||
# # 2025/07/27: upstreaming is blocked on qtsvg
|
||||
@@ -349,46 +349,6 @@ in with final; {
|
||||
# 2025/07/27: upstreaming is unblocked by deps; but turns out to not be this simple
|
||||
# ncftp = addNativeInputs [ bintools ] prev.ncftp;
|
||||
|
||||
# 2025/08/26: upstreaming is unblocked
|
||||
newsflash = (prev.newsflash.override {
|
||||
cargo = crossCargo;
|
||||
}).overrideAttrs (upstream: {
|
||||
postPatch = (upstream.postPatch or "") + ''
|
||||
rm build.rs
|
||||
|
||||
export OUT_DIR=$(pwd)
|
||||
|
||||
# from build.rs:
|
||||
glib-compile-resources --sourcedir=data/resources --target=icons.gresource data/resources/icons.gresource.xml
|
||||
glib-compile-resources --sourcedir=data/resources --target=styles.gresource data/resources/styles.gresource.xml
|
||||
substitute data/io.gitlab.news_flash.NewsFlash.appdata.xml.in.in \
|
||||
data/resources/io.gitlab.news_flash.NewsFlash.appdata.xml \
|
||||
--replace-fail '@appid@' 'io.gitlab.news_flash.NewsFlash'
|
||||
glib-compile-resources --sourcedir=data/resources --target=appdata.gresource data/resources/appdata.gresource.xml
|
||||
'';
|
||||
|
||||
env = let
|
||||
ccForBuild = "${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc";
|
||||
cxxForBuild = "${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++";
|
||||
ccForHost = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc";
|
||||
cxxForHost = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++";
|
||||
rustBuildPlatform = stdenv.buildPlatform.rust.rustcTarget;
|
||||
rustTargetPlatform = stdenv.hostPlatform.rust.rustcTarget;
|
||||
in (upstream.env or {}) // {
|
||||
# taken from <pkgs/build-support/rust/hooks/default.nix>
|
||||
# fixes "cargo:warning=aarch64-unknown-linux-gnu-gcc: error: unrecognized command-line option ‘-m64’"
|
||||
# XXX: these aren't necessarily valid environment variables: the referenced nix file is more clever to get them to work.
|
||||
"CC_${rustBuildPlatform}" = "${ccForBuild}";
|
||||
"CXX_${rustBuildPlatform}" = "${cxxForBuild}";
|
||||
"CC_${rustTargetPlatform}" = "${ccForHost}";
|
||||
"CXX_${rustTargetPlatform}" = "${cxxForHost}";
|
||||
# fails to fix "Failed to find OpenSSL development headers."
|
||||
# OPENSSL_NO_VENDOR = 1;
|
||||
# OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib";
|
||||
# OPENSSL_DIR = "${lib.getDev openssl}";
|
||||
};
|
||||
});
|
||||
|
||||
# fixes "properties/gresource.xml: Permission denied"
|
||||
# - by providing glib-compile-resources
|
||||
# 2025/07/27: upstreaming is blocked on gst-plugins-good, qtkeychain, qtmultimedia, qtquick3d, qt-jdenticon
|
||||
@@ -482,10 +442,10 @@ in with final; {
|
||||
];
|
||||
});
|
||||
|
||||
# 2025/08/26: upstreaming is unblocked
|
||||
papers = prev.papers.override {
|
||||
cargo = crossCargo;
|
||||
};
|
||||
# 2025/08/26: upstreaming is unblocked; TODO: send `pr-papers-cross` desko branch out for PR!
|
||||
# papers = prev.papers.override {
|
||||
# cargo = crossCargo;
|
||||
# };
|
||||
|
||||
# 2025/07/27: upstreaming is blocked on gnome-session (itself blocked on gnome-shell)
|
||||
# phosh = prev.phosh.overrideAttrs (upstream: {
|
||||
@@ -675,16 +635,16 @@ in with final; {
|
||||
# # '';
|
||||
# });
|
||||
|
||||
# 2025/08/26: upstreaming is unblocked
|
||||
snapshot = prev.snapshot.override {
|
||||
# fixes "error: linker `cc` not found"
|
||||
cargo = crossCargo;
|
||||
};
|
||||
# 2025/08/26: upstreaming is unblocked; implemented on desko `pr-snapshot-cross` branch
|
||||
# snapshot = prev.snapshot.override {
|
||||
# # fixes "error: linker `cc` not found"
|
||||
# cargo = crossCargo;
|
||||
# };
|
||||
|
||||
# 2025/08/26: upstreaming is unblocked
|
||||
spot = prev.spot.override {
|
||||
cargo = crossCargo;
|
||||
};
|
||||
# 2025/08/26: upstreaming is unblocked; patched on desko branch `pr-spot-cross`
|
||||
# spot = prev.spot.override {
|
||||
# cargo = crossCargo;
|
||||
# };
|
||||
|
||||
# 2025/07/27: upstreaming is unblocked
|
||||
# squeekboard = prev.squeekboard.overrideAttrs (upstream: {
|
||||
@@ -781,10 +741,10 @@ in with final; {
|
||||
# });
|
||||
# };
|
||||
|
||||
# 2025/08/26: upstreaming is unblocked
|
||||
video-trimmer = prev.video-trimmer.override {
|
||||
cargo = crossCargo;
|
||||
};
|
||||
# 2025/08/26: upstreaming is unblocked; implemented on desko branch `pr-video-trimmer-cross`
|
||||
# video-trimmer = prev.video-trimmer.override {
|
||||
# cargo = crossCargo;
|
||||
# };
|
||||
|
||||
# 2025/01/13: upstreaming is blocked on arrow-cpp, python-pyarrow, python-contourpy, python-matplotlib, python-h5py, python-pandas, google-cloud-cpp
|
||||
# visidata = prev.visidata.override {
|
||||
|
@@ -9,9 +9,11 @@
|
||||
libsoup_3,
|
||||
meson,
|
||||
ninja,
|
||||
nix-update-script,
|
||||
openssl,
|
||||
pkg-config,
|
||||
python3,
|
||||
rust,
|
||||
rustPlatform,
|
||||
rustc,
|
||||
stdenv,
|
||||
@@ -19,20 +21,21 @@
|
||||
wrapGAppsHook4,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "envelope";
|
||||
version = "0.1.0-unstable-2024-09-13";
|
||||
version = "0.1.0-unstable-2025-05-17";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "felinira";
|
||||
repo = "envelope";
|
||||
rev = "11ce86da13793787a25e48ca23322b33fcf8bf34"; # last commit before libadwaita 1.6
|
||||
hash = "sha256-EX309RhisBx27TscMsibEvqCSCUSukTgf4Xs1Vws4YY=";
|
||||
rev = "e2a8a56aa9b68d82486b99790b86322715d2a6db";
|
||||
hash = "sha256-osVShCaKKoGhxWCjaYcMkOji8e0oETgDaDpCAfHauwQ=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.importCargoLock {
|
||||
lockFile = ./Cargo.lock;
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-8pK8cw9nYJmmybYRL+PUCK8FvUUPbyFp7oYYF461KPc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -58,10 +61,21 @@ stdenv.mkDerivation {
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs --build build-aux/meson-cargo-manifest.py
|
||||
# versions prior to c3f5ed4f (2024-10-13) didn't embed Cargo.lock
|
||||
cp ${./Cargo.lock} Cargo.lock
|
||||
|
||||
substituteInPlace src/meson.build \
|
||||
--replace-fail \
|
||||
"'src' / rust_target / meson.project_name()" \
|
||||
"'src' / '${stdenv.hostPlatform.rust.cargoShortTarget}' / rust_target / meson.project_name()"
|
||||
'';
|
||||
|
||||
env."CC_${stdenv.buildPlatform.rust.rustcTarget}" = rust.envVars.ccForBuild; #< fixes cross build of sql-macros proc-macro
|
||||
env.CARGO_BUILD_TARGET = stdenv.hostPlatform.rust.rustcTargetSpec;
|
||||
env.OPENSSL_NO_VENDOR = true; #< speculative, to use the nixos openssl
|
||||
env.RUSTC_BOOTSTRAP = 1; #< fixes 'error[E0554]: `#![feature]` may not be used on the stable release channel'
|
||||
# env.LIBSQLITE3_SYS_USE_PKG_CONFIG = 1; #< TODO: use nixos libsqlite instead of pre-packaged one
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = with lib; {
|
||||
description = "a mobile-first email client for the GNOME ecosystem";
|
||||
homepage = "https://gitlab.gnome.org/felinira/envelope/";
|
||||
@@ -70,4 +84,4 @@ stdenv.mkDerivation {
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "envelope";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@@ -33,6 +33,12 @@ stdenv.mkDerivation rec {
|
||||
hash = "sha256-ALoxT+RLL4omJ7quWDJVdXgevaO8i8q/29FFFudIRV4=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/meson.build --replace-fail \
|
||||
"'target' / rust_target / meson.project_name()" \
|
||||
"'target' / '${stdenv.hostPlatform.rust.cargoShortTarget}' / rust_target / meson.project_name()"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo
|
||||
desktop-file-utils
|
||||
@@ -49,6 +55,8 @@ stdenv.mkDerivation rec {
|
||||
openssl
|
||||
];
|
||||
|
||||
env.CARGO_BUILD_TARGET = stdenv.hostPlatform.rust.rustcTargetSpec;
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
rev-prefix = "v";
|
||||
};
|
||||
|
@@ -14,8 +14,8 @@
|
||||
mkNixpkgs ? import ./mkNixpkgs.nix {},
|
||||
}:
|
||||
mkNixpkgs {
|
||||
rev = "465ab8f0977d05657b1b4adc6e7e06fe4db04c0c";
|
||||
sha256 = "sha256-yHIaDRjaBtRjYbm1ByhRqsAnMncLTG/uDDHHC2wXBMY=";
|
||||
version = "unstable-2025-08-26";
|
||||
rev = "9bd1c4b190d825cc25b3bacc0e612801837fc6c1";
|
||||
sha256 = "sha256-DjOO5XuELbVjN1xB+aQx4r/X8QXJ4ausEBSZUKjzUl8=";
|
||||
version = "unstable-2025-08-28";
|
||||
branch = "master";
|
||||
}
|
||||
|
@@ -63,10 +63,50 @@ in
|
||||
})
|
||||
|
||||
(fetchpatch' {
|
||||
name = "coincurve: fix build";
|
||||
# saneCommit = "cd118a2491e613f0d4dd8673a6ac17a0094dd987";
|
||||
prUrl = "https://github.com/NixOS/nixpkgs/pull/437180";
|
||||
hash = "sha256-u/dLLLG7Keamd5sZyXnSEpXWFRnX2dITt2lNSiO3Ux8=";
|
||||
name = "gmobile: set strictDeps, fix cross compilation";
|
||||
prUrl = "https://github.com/NixOS/nixpkgs/pull/437700";
|
||||
# saneCommit = "223b327fcc0775212bcc30a0bfb57c90ce5e3251";
|
||||
hash = "sha256-3zxCtRlliCpaDbJBV4hioQG7ehFvA9Co1JQdGStY1Js=";
|
||||
})
|
||||
|
||||
(fetchpatch' {
|
||||
# desko nixpkgs branch: `pr-papers-cross`
|
||||
name = "papers: fix cross compilation";
|
||||
prUrl = "https://github.com/NixOS/nixpkgs/pull/437704";
|
||||
# saneCommit = "eaed8b1530ce9eb9f674677003866d2d793b90fa";
|
||||
hash = "sha256-G+2I7FMVN7WJio1ufwRZ0F13X/LViNdH1zfR4qqN46Y=";
|
||||
})
|
||||
|
||||
(fetchpatch' {
|
||||
# desko nixpkgs branch: `pr-delfin-cross`
|
||||
name = "delfin: fix cross compilation";
|
||||
prUrl = "https://github.com/NixOS/nixpkgs/pull/437748";
|
||||
# saneCommit = "b19145967431b49849d7dc5e0657322134297a24";
|
||||
hash = "sha256-R5hAfUmNsLnNpx26ZFZWqA0dLiYR/4pBMwfJrOBC+l0=";
|
||||
})
|
||||
|
||||
(fetchpatch' {
|
||||
# desko nixpkgs branch: `pr-spot-cross`
|
||||
name = "spot: fix cross compilation";
|
||||
prUrl = "https://github.com/NixOS/nixpkgs/pull/437722";
|
||||
# saneCommit = "09558b2d4b0e5fb74fc5c40b4c6cb0b7e72f7d00";
|
||||
hash = "sha256-yiWUOMaq9g+5WTQYKo1DG9m3my1oWot4miULfvCzWI4=";
|
||||
})
|
||||
|
||||
(fetchpatch' {
|
||||
# desko nixpkgs branch: `pr-video-trimmer-cross`
|
||||
name = "video-trimmer: fix cross compilation";
|
||||
prUrl = "https://github.com/NixOS/nixpkgs/pull/437707";
|
||||
# saneCommit = "6809ffd293ec65ef44deae7b6436afdcc4a36efb";
|
||||
hash = "sha256-YBjzts0XmJ/szrNzmGm4Pp0EjPt37DXZwmP/ycG8M+k=";
|
||||
})
|
||||
|
||||
(fetchpatch' {
|
||||
# desko nixpkgs branch: `pr-snapshot-cross`
|
||||
name = "snapshot: fix cross compilation";
|
||||
prUrl = "https://github.com/NixOS/nixpkgs/pull/437708";
|
||||
# saneCommit = "9bf01eef452d46c2990cdc872017f1015892ea7d";
|
||||
hash = "sha256-nzqbRP9wHyDnwKyaATZ5mSyn68qgRvs4pEtAkhauiMM=";
|
||||
})
|
||||
|
||||
# (fetchpatch' {
|
||||
|
@@ -2,8 +2,8 @@
|
||||
mkNixpkgs ? import ./mkNixpkgs.nix {},
|
||||
}:
|
||||
mkNixpkgs {
|
||||
rev = "1eb52cf9f9307213080f56de3e7d02b79cd8ebde";
|
||||
sha256 = "sha256-Vsb31y26+BCM4D0v+EaIWE4clduuJsA6lILmKBKEUI0=";
|
||||
version = "unstable-2025-08-26";
|
||||
rev = "31e6171f4eaf4ace50a742afaee052a6d646ca09";
|
||||
sha256 = "sha256-R3YOPbE2ipa7vCnUJqKtWe54/LYq+hC1hDJHCnHMEkg=";
|
||||
version = "unstable-2025-08-28";
|
||||
branch = "staging-next";
|
||||
}
|
||||
|
@@ -2,8 +2,8 @@
|
||||
mkNixpkgs ? import ./mkNixpkgs.nix {},
|
||||
}:
|
||||
mkNixpkgs {
|
||||
rev = "b87fce245e13a2a7dfebb232e86f9e34d382e0c8";
|
||||
sha256 = "sha256-0H/mKn37EOLPGrdPw9zAsgbPqnpy1rK7gCuMZ1HS9sg=";
|
||||
version = "unstable-2025-08-26";
|
||||
rev = "b4d7d83861f69b7c8bb73a5d289c4463033ba1a1";
|
||||
sha256 = "sha256-D//FMt4yjbo/2VptV9tU5l13Ni/CQ2SJp34Bf0DGRXM=";
|
||||
version = "unstable-2025-08-27";
|
||||
branch = "staging";
|
||||
}
|
||||
|
@@ -7,8 +7,8 @@ let
|
||||
src = fetchFromGitHub {
|
||||
owner = "nix-community";
|
||||
repo = "nixpkgs-wayland";
|
||||
rev = "2898b0f9932858f1c13af0fa14948d7a863591c4";
|
||||
hash = "sha256-zEMC/0SVpVZEIhapL+malHbr3R1YvWQEZh+IjIamGhE=";
|
||||
rev = "9d72e7fb798cc10d895ccdaecb3f389642da7f95";
|
||||
hash = "sha256-RrsHuCKuDiNIFNqGwTulMCwYu2osu/zFvVZHCxiTuUI=";
|
||||
};
|
||||
flake = import "${src}/flake.nix";
|
||||
evaluated = flake.outputs {
|
||||
@@ -25,7 +25,7 @@ let
|
||||
in src.overrideAttrs (base: {
|
||||
# attributes required by update scripts
|
||||
pname = "nixpkgs-wayland";
|
||||
version = "0-unstable-2025-08-26";
|
||||
version = "0-unstable-2025-08-28";
|
||||
src = src;
|
||||
|
||||
# passthru only nixpkgs-wayland's own packages -- not the whole nixpkgs-with-nixpkgs-wayland-as-overlay:
|
||||
|
@@ -6,12 +6,12 @@
|
||||
}:
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "uassets";
|
||||
version = "0-unstable-2025-08-26";
|
||||
version = "0-unstable-2025-08-28";
|
||||
src = fetchFromGitHub {
|
||||
owner = "uBlockOrigin";
|
||||
repo = "uAssets";
|
||||
rev = "a88c1bca6cd044cf1b683fc7c29a8018c125d220";
|
||||
hash = "sha256-ygJPPBKdZ8wDtPC4MchFdC1aeVFRkfh8CzylT0uDoZM=";
|
||||
rev = "844b2b3d873044486ffbe4022934e797f30e560b";
|
||||
hash = "sha256-8yUuhFZNg/cn8i3n/6qmjqScKIcpoM8yMNEMQisRJXQ=";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
Reference in New Issue
Block a user