fractal-nixified: unstable-2023-09-14 (350a65cb0) -> 5 (2023-11-24)

this gets me the libadwaita/gtk4 updates from gnome 45.
This commit is contained in:
2023-11-25 05:41:26 +00:00
parent b40b29350a
commit f54df71d2a
3 changed files with 5610 additions and 2886 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,23 +1,18 @@
{ {
"curve25519-dalek 4.0.0 (git+https://github.com/dalek-cryptography/curve25519-dalek/?rev=e44d4b5903106dde0e5b28a2580061de7dfe8a9f#e44d4b5903106dde0e5b28a2580061de7dfe8a9f)": "1lgkfr05m0f7ihdzb04yim609ihln3g5kqgppdwbnpvcm53ha4dk", "mas-http 0.5.0-rc.2 (git+https://github.com/matrix-org/matrix-authentication-service?rev=357481b52e6dc092178a16b8a7d86df036aac608#357481b52e6dc092178a16b8a7d86df036aac608)": "11l2iww7zbhjyskkw6rfrkzgwdi2c7hprw6hw2c48vjw8kjqhzsw",
"curve25519-dalek-derive 0.1.0 (git+https://github.com/dalek-cryptography/curve25519-dalek/?rev=e44d4b5903106dde0e5b28a2580061de7dfe8a9f#e44d4b5903106dde0e5b28a2580061de7dfe8a9f)": "1lgkfr05m0f7ihdzb04yim609ihln3g5kqgppdwbnpvcm53ha4dk", "mas-iana 0.5.0-rc.2 (git+https://github.com/matrix-org/matrix-authentication-service?rev=357481b52e6dc092178a16b8a7d86df036aac608#357481b52e6dc092178a16b8a7d86df036aac608)": "11l2iww7zbhjyskkw6rfrkzgwdi2c7hprw6hw2c48vjw8kjqhzsw",
"ed25519-dalek 2.0.0-rc.3 (git+https://github.com/dalek-cryptography/curve25519-dalek/?rev=e44d4b5903106dde0e5b28a2580061de7dfe8a9f#e44d4b5903106dde0e5b28a2580061de7dfe8a9f)": "1lgkfr05m0f7ihdzb04yim609ihln3g5kqgppdwbnpvcm53ha4dk", "mas-jose 0.5.0-rc.2 (git+https://github.com/matrix-org/matrix-authentication-service?rev=357481b52e6dc092178a16b8a7d86df036aac608#357481b52e6dc092178a16b8a7d86df036aac608)": "11l2iww7zbhjyskkw6rfrkzgwdi2c7hprw6hw2c48vjw8kjqhzsw",
"matrix-sdk 0.6.2 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=4643bae28445e058080896a280083b32fd403146#4643bae28445e058080896a280083b32fd403146)": "0w92ibnmq2dvnr4h3l9bdi0plmywp4jka77nqab0xn1in4shlnh3", "mas-keystore 0.5.0-rc.2 (git+https://github.com/matrix-org/matrix-authentication-service?rev=357481b52e6dc092178a16b8a7d86df036aac608#357481b52e6dc092178a16b8a7d86df036aac608)": "11l2iww7zbhjyskkw6rfrkzgwdi2c7hprw6hw2c48vjw8kjqhzsw",
"matrix-sdk-base 0.6.1 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=4643bae28445e058080896a280083b32fd403146#4643bae28445e058080896a280083b32fd403146)": "0w92ibnmq2dvnr4h3l9bdi0plmywp4jka77nqab0xn1in4shlnh3", "mas-oidc-client 0.5.0-rc.2 (git+https://github.com/matrix-org/matrix-authentication-service?rev=357481b52e6dc092178a16b8a7d86df036aac608#357481b52e6dc092178a16b8a7d86df036aac608)": "11l2iww7zbhjyskkw6rfrkzgwdi2c7hprw6hw2c48vjw8kjqhzsw",
"matrix-sdk-common 0.6.0 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=4643bae28445e058080896a280083b32fd403146#4643bae28445e058080896a280083b32fd403146)": "0w92ibnmq2dvnr4h3l9bdi0plmywp4jka77nqab0xn1in4shlnh3", "mas-tower 0.5.0-rc.2 (git+https://github.com/matrix-org/matrix-authentication-service?rev=357481b52e6dc092178a16b8a7d86df036aac608#357481b52e6dc092178a16b8a7d86df036aac608)": "11l2iww7zbhjyskkw6rfrkzgwdi2c7hprw6hw2c48vjw8kjqhzsw",
"matrix-sdk-crypto 0.6.0 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=4643bae28445e058080896a280083b32fd403146#4643bae28445e058080896a280083b32fd403146)": "0w92ibnmq2dvnr4h3l9bdi0plmywp4jka77nqab0xn1in4shlnh3", "matrix-sdk 0.6.2 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=8895ce40d13faa79012144c97044990284215758#8895ce40d13faa79012144c97044990284215758)": "1s72nchfy860f9mk2a9l33wby1k3w93kvmviilrlys75pbpk9vjz",
"matrix-sdk-indexeddb 0.2.0 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=4643bae28445e058080896a280083b32fd403146#4643bae28445e058080896a280083b32fd403146)": "0w92ibnmq2dvnr4h3l9bdi0plmywp4jka77nqab0xn1in4shlnh3", "matrix-sdk-base 0.6.1 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=8895ce40d13faa79012144c97044990284215758#8895ce40d13faa79012144c97044990284215758)": "1s72nchfy860f9mk2a9l33wby1k3w93kvmviilrlys75pbpk9vjz",
"matrix-sdk-qrcode 0.4.0 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=4643bae28445e058080896a280083b32fd403146#4643bae28445e058080896a280083b32fd403146)": "0w92ibnmq2dvnr4h3l9bdi0plmywp4jka77nqab0xn1in4shlnh3", "matrix-sdk-common 0.6.0 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=8895ce40d13faa79012144c97044990284215758#8895ce40d13faa79012144c97044990284215758)": "1s72nchfy860f9mk2a9l33wby1k3w93kvmviilrlys75pbpk9vjz",
"matrix-sdk-sqlite 0.1.0 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=4643bae28445e058080896a280083b32fd403146#4643bae28445e058080896a280083b32fd403146)": "0w92ibnmq2dvnr4h3l9bdi0plmywp4jka77nqab0xn1in4shlnh3", "matrix-sdk-crypto 0.6.0 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=8895ce40d13faa79012144c97044990284215758#8895ce40d13faa79012144c97044990284215758)": "1s72nchfy860f9mk2a9l33wby1k3w93kvmviilrlys75pbpk9vjz",
"matrix-sdk-store-encryption 0.2.0 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=4643bae28445e058080896a280083b32fd403146#4643bae28445e058080896a280083b32fd403146)": "0w92ibnmq2dvnr4h3l9bdi0plmywp4jka77nqab0xn1in4shlnh3", "matrix-sdk-indexeddb 0.2.0 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=8895ce40d13faa79012144c97044990284215758#8895ce40d13faa79012144c97044990284215758)": "1s72nchfy860f9mk2a9l33wby1k3w93kvmviilrlys75pbpk9vjz",
"matrix-sdk-ui 0.6.0 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=4643bae28445e058080896a280083b32fd403146#4643bae28445e058080896a280083b32fd403146)": "0w92ibnmq2dvnr4h3l9bdi0plmywp4jka77nqab0xn1in4shlnh3", "matrix-sdk-qrcode 0.4.0 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=8895ce40d13faa79012144c97044990284215758#8895ce40d13faa79012144c97044990284215758)": "1s72nchfy860f9mk2a9l33wby1k3w93kvmviilrlys75pbpk9vjz",
"ruma 0.8.2 (git+https://github.com/ruma/ruma.git?rev=f1772ae5bc1d849655498f51b0fec7b0ef10e339#f1772ae5bc1d849655498f51b0fec7b0ef10e339)": "1mry5rbj02cn7p8vc5r5g0kz1y311ja2q9a19nnhj6l503n948ch", "matrix-sdk-sqlite 0.1.0 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=8895ce40d13faa79012144c97044990284215758#8895ce40d13faa79012144c97044990284215758)": "1s72nchfy860f9mk2a9l33wby1k3w93kvmviilrlys75pbpk9vjz",
"ruma-client-api 0.16.2 (git+https://github.com/ruma/ruma.git?rev=f1772ae5bc1d849655498f51b0fec7b0ef10e339#f1772ae5bc1d849655498f51b0fec7b0ef10e339)": "1mry5rbj02cn7p8vc5r5g0kz1y311ja2q9a19nnhj6l503n948ch", "matrix-sdk-store-encryption 0.2.0 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=8895ce40d13faa79012144c97044990284215758#8895ce40d13faa79012144c97044990284215758)": "1s72nchfy860f9mk2a9l33wby1k3w93kvmviilrlys75pbpk9vjz",
"ruma-common 0.11.3 (git+https://github.com/ruma/ruma.git?rev=f1772ae5bc1d849655498f51b0fec7b0ef10e339#f1772ae5bc1d849655498f51b0fec7b0ef10e339)": "1mry5rbj02cn7p8vc5r5g0kz1y311ja2q9a19nnhj6l503n948ch", "matrix-sdk-ui 0.6.0 (git+https://github.com/matrix-org/matrix-rust-sdk.git?rev=8895ce40d13faa79012144c97044990284215758#8895ce40d13faa79012144c97044990284215758)": "1s72nchfy860f9mk2a9l33wby1k3w93kvmviilrlys75pbpk9vjz",
"ruma-federation-api 0.7.1 (git+https://github.com/ruma/ruma.git?rev=f1772ae5bc1d849655498f51b0fec7b0ef10e339#f1772ae5bc1d849655498f51b0fec7b0ef10e339)": "1mry5rbj02cn7p8vc5r5g0kz1y311ja2q9a19nnhj6l503n948ch", "oauth2-types 0.5.0-rc.2 (git+https://github.com/matrix-org/matrix-authentication-service?rev=357481b52e6dc092178a16b8a7d86df036aac608#357481b52e6dc092178a16b8a7d86df036aac608)": "11l2iww7zbhjyskkw6rfrkzgwdi2c7hprw6hw2c48vjw8kjqhzsw"
"ruma-identifiers-validation 0.9.1 (git+https://github.com/ruma/ruma.git?rev=f1772ae5bc1d849655498f51b0fec7b0ef10e339#f1772ae5bc1d849655498f51b0fec7b0ef10e339)": "1mry5rbj02cn7p8vc5r5g0kz1y311ja2q9a19nnhj6l503n948ch",
"ruma-macros 0.11.3 (git+https://github.com/ruma/ruma.git?rev=f1772ae5bc1d849655498f51b0fec7b0ef10e339#f1772ae5bc1d849655498f51b0fec7b0ef10e339)": "1mry5rbj02cn7p8vc5r5g0kz1y311ja2q9a19nnhj6l503n948ch",
"ruma-push-gateway-api 0.7.1 (git+https://github.com/ruma/ruma.git?rev=f1772ae5bc1d849655498f51b0fec7b0ef10e339#f1772ae5bc1d849655498f51b0fec7b0ef10e339)": "1mry5rbj02cn7p8vc5r5g0kz1y311ja2q9a19nnhj6l503n948ch",
"vodozemac 0.4.0 (git+https://github.com/matrix-org/vodozemac/?rev=e3b658526f6f1dd0a9065c1c96346b796712c425#e3b658526f6f1dd0a9065c1c96346b796712c425)": "135y0r8imr5y321khdck8kqaadvb5k4lv55m41vmbz73sqkxc9jc",
"x25519-dalek 2.0.0-rc.3 (git+https://github.com/dalek-cryptography/curve25519-dalek/?rev=e44d4b5903106dde0e5b28a2580061de7dfe8a9f#e44d4b5903106dde0e5b28a2580061de7dfe8a9f)": "1lgkfr05m0f7ihdzb04yim609ihln3g5kqgppdwbnpvcm53ha4dk"
} }

View File

@@ -1,8 +1,19 @@
# Cargo.nix and crate-hashes.json were created with: # Cargo.nix and crate-hashes.json were created with:
# - `nix run '.#crate2nix' -- generate -f ~/ref/repos/gnome/fractal/Cargo.toml`
# or, for latest crate2nix:
# - `nix shell -f https://github.com/kolloch/crate2nix/tarball/master` # - `nix shell -f https://github.com/kolloch/crate2nix/tarball/master`
# - `crate2nix generate -f ~/ref/repos/gnome/fractal/Cargo.toml` # - `crate2nix generate -f ~/ref/repos/gnome/fractal/Cargo.toml`
# or, once 0.11 reaches nixpkgs: #
# - `nix run '.#crate2nix' -- generate -f ~/ref/repos/gnome/fractal/Cargo.toml` # note that serde_derive fails for cross compilation. pin to 1.0.171.
# - see: <https://discourse.nixos.org/t/errors-using-serde-derive-with-buildrustcrate/31398>
# - sounds like serde-derive did eventually remove the "precompiled" blobs
# - 1.0.183: fails
# - 1.0.192: seems to work?
#
# to update:
# - `git fetch` in `~/ref/repos/gnome/fractal/`
# - re-run that crate2nix step
# - update `src` rev to match the local checkout!
# #
# then: # then:
# - `sed -i 's/target."curve25519_dalek_backend"/target."curve25519_dalek_backend" or ""/g' Cargo.nix` # - `sed -i 's/target."curve25519_dalek_backend"/target."curve25519_dalek_backend" or ""/g' Cargo.nix`
@@ -14,6 +25,7 @@
, buildPackages , buildPackages
, cargo , cargo
, desktop-file-utils , desktop-file-utils
, fetchFromGitHub
, gdk-pixbuf , gdk-pixbuf
, glib , glib
, gst_all_1 , gst_all_1
@@ -45,18 +57,17 @@ let
# as of 2023/10/30: # as of 2023/10/30:
# - opt-level=3: builds in 5min, 71M binary # - opt-level=3: builds in 5min, 71M binary
optFlags = if optimize then "-C opt-level=3" else "-C opt-level=0"; optFlags = if optimize then "-C opt-level=3" else "-C opt-level=0";
cargoNix = import ./Cargo.nix {
inherit pkgs; extraCrateOverrides = {
# release = false;
rootFeatures = [ ]; #< avoids --cfg feature="default", simplifying the rustc CLI so that i can pass it around easier
defaultCrateOverrides = pkgs.defaultCrateOverrides // {
fractal = attrs: attrs // { fractal = attrs: attrs // {
src = pkgs.fetchFromGitLab { src = pkgs.fetchFromGitLab {
domain = "gitlab.gnome.org"; domain = "gitlab.gnome.org";
owner = "GNOME"; owner = "GNOME";
repo = "fractal"; repo = "fractal";
rev = "350a65cb0a221c70fc3e4746898036a345ab9ed8"; rev = "5";
hash = "sha256-z6uURqMG5pT8rXZCv5IzTjXxtt/f4KUeCDSgk90aWdo="; hash = "sha256-XHb8HjQ5PDL2sen6qUivDllvYEhKnp1vQynD2Lksi30=";
# rev = "ba15c5b12a3cdb67b57d6a1ce7c4a2e6a15f8c88";
# hash = "sha256-BZC/otMPM4pf/VOhFkgRrq6yEquChL3I9QsQVpFMakQ=";
}; };
codegenUnits = 256; #< this does get plumbed, but doesn't seem to affect build speed codegenUnits = 256; #< this does get plumbed, but doesn't seem to affect build speed
outputs = [ "out" ]; # default is "out" and "lib", but that somehow causes cycles outputs = [ "out" ]; # default is "out" and "lib", but that somehow causes cycles
@@ -264,6 +275,35 @@ let
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ pipewire ]; buildInputs = [ pipewire ];
}; };
matrix-sdk-crypto = attrs: attrs // {
# src = fetchFromGitHub {
# owner = "matrix-org";
# repo = "matrix-rust-sdk";
# # rev = "matrix-sdk-crypto-0.6.0"; # 2022-09-28. "use of undeclared crate or module `event_listener`"
# # hash = "sha256-ozWzXrT+8U2BoJ/KDsRK+RIYpZTleXOw9U+KylRrnnE=";
# # rev = "ceeb5e78b6de782726c50c973a8dbbd46f9b2904"; # main
# # hash = "sha256-nq0pd/q8T92t7HKV+NzZwleeFWz6tAh9wuuDcf1y+Y8=";
# # rev = "894f4c218dba51f39c5393e624bbc763f0ff97cb"; # 2023-11-20
# # hash = "sha256-v1i0fm3E4a/tU+xLjs5qVVOJk696l+OMdDJ0P95XBhM=";
# # rev = "8895ce40d13faa79012144c97044990284215758"; # 2023-11-07; tagged by fractal
# rev = "4643bae28445e058080896a280083b32fd403146"; # old pin. "use of undeclared crate or module `base64`"
# hash = "sha256-A1oKNbEx2A6WwvYcNSW53Fd6QWwr0QFJtrsJXO2KInE=";
# };
# src = pkgs.fetchgit {
# url = "https://github.com/matrix-org/matrix-rust-sdk.git";
# rev = "4643bae28445e058080896a280083b32fd403146"; # old pin. "use of undeclared crate or module `base64`"
# hash = "sha256-A1oKNbEx2A6WwvYcNSW53Fd6QWwr0QFJtrsJXO2KInE=";
# };
# features = attrs.features ++ [ "ruma-common" ];
# buildInputs = [ cargoNix.workspaceMembers.ruma-common.build ];
# buildInputs = [
# (cargoNix.internal.buildRustCrateWithFeatures {
# packageId = "ruma-common";
# features = [ "default" ];
# })
# ];
};
pipewire-sys = attrs: attrs // { pipewire-sys = attrs: attrs // {
nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ]; nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ];
buildInputs = [ pipewire ]; buildInputs = [ pipewire ];
@@ -275,14 +315,66 @@ let
# ''; # '';
# LIBCLANG_PATH = "${buildPackages.llvmPackages.libclang.lib}/lib"; # LIBCLANG_PATH = "${buildPackages.llvmPackages.libclang.lib}/lib";
}; };
ring = attrs: attrs // {
# CARGO_MANIFEST_LINKS = "ring_core_0_17_5";
postPatch = (attrs.postPatch or "") + ''
substituteInPlace build.rs --replace \
'links = std::env::var("CARGO_MANIFEST_LINKS").unwrap();' 'links = "ring_core_0_17_5".to_string();'
'';
};
sourceview5-sys = attrs: attrs // { sourceview5-sys = attrs: attrs // {
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ gtksourceview5 ]; buildInputs = [ gtksourceview5 ];
}; };
}; };
defaultCrateOverrides = pkgs.defaultCrateOverrides // extraCrateOverrides;
crate2NixOverrides = crates: crates // {
# crate2nix sometimes "misses" dependencies, or gets them wrong in a way that crateOverrides can't patch.
# this function lets me patch over Cargo.nix without actually modifying it by hand.
matrix-sdk-base = crates.matrix-sdk-base // {
dependencies = crates.matrix-sdk-base.dependencies ++ [
{
name = "ruma-events";
packageId = "ruma-events";
}
];
}; };
matrix-sdk-crypto = crates.matrix-sdk-crypto // {
dependencies = crates.matrix-sdk-crypto.dependencies ++ [
{
name = "ruma-common";
packageId = "ruma-common";
}
];
};
};
cargoNix = import ./Cargo.nix {
inherit pkgs;
release = false;
rootFeatures = [ ]; #< avoids --cfg feature="default", simplifying the rustc CLI so that i can pass it around easier
inherit defaultCrateOverrides;
};
# fractalDefault = cargoNix.workspaceMembers.fractal.build;
builtCrates = cargoNix.internal.builtRustCratesWithFeatures {
packageId = "fractal";
features = [];
buildRustCrateForPkgsFunc = pkgs: crateArgs: (pkgs.buildRustCrate.override {
inherit defaultCrateOverrides;
}) (crateArgs // {
# this can be used to force a rebuild of every crate
# mostly useful to deal with impurities (i.e. binfmt when cross-compiling)
FRACTAL_BUILD_VERSION = 1;
});
crateConfigs = crate2NixOverrides cargoNix.internal.crates;
runTests = false;
};
fractalDefault = builtCrates.crates.fractal;
in in
cargoNix.workspaceMembers.fractal.build.overrideAttrs (super: { fractalDefault.overrideAttrs (super: {
passthru = (super.passthru or {}) // { passthru = (super.passthru or {}) // {
optimized = mkConfigured { optimize = true; }; optimized = mkConfigured { optimize = true; };
unoptimized = mkConfigured { optimize = false; }; unoptimized = mkConfigured { optimize = false; };