Merge remote-tracking branch 'origin/master' into haskell-updates
This commit is contained in:
commit
c00dc0cf7d
678 changed files with 346752 additions and 16466 deletions
|
@ -50,6 +50,11 @@ package. `cargoHash256` is used for traditional Nix SHA-256 hashes,
|
|||
such as the one in the example above. `cargoHash` should instead be
|
||||
used for [SRI](https://www.w3.org/TR/SRI/) hashes. For example:
|
||||
|
||||
Exception: If the application has cargo `git` dependencies, the `cargoHash`/`cargoSha256`
|
||||
approach will not work, and you will need to copy the `Cargo.lock` file of the application
|
||||
to nixpkgs and continue with the next section for specifying the options of the`cargoLock`
|
||||
section.
|
||||
|
||||
```nix
|
||||
cargoHash = "sha256-l1vL2ZdtDRxSGvP0X/l3nMw8+6WF67KPutJEzUROjg8=";
|
||||
```
|
||||
|
|
|
@ -1835,6 +1835,12 @@
|
|||
fingerprint = "E9A3 7864 2165 28CE 507C CA82 72EA BF75 C331 CD25";
|
||||
}];
|
||||
};
|
||||
benkuhn = {
|
||||
email = "ben@ben-kuhn.com";
|
||||
github = "ben-kuhn";
|
||||
githubId = 16821405;
|
||||
name = "Ben Kuhn";
|
||||
};
|
||||
benley = {
|
||||
email = "benley@gmail.com";
|
||||
github = "benley";
|
||||
|
@ -2094,15 +2100,6 @@
|
|||
githubId = 68566724;
|
||||
name = "bootstrap-prime";
|
||||
};
|
||||
boppyt = {
|
||||
email = "boppy@nwcpz.com";
|
||||
github = "boppyt";
|
||||
githubId = 71049646;
|
||||
name = "Zack A";
|
||||
keys = [{
|
||||
fingerprint = "E8D7 5C19 9F65 269B 439D F77B 6310 C97D E31D 1545";
|
||||
}];
|
||||
};
|
||||
borisbabic = {
|
||||
email = "boris.ivan.babic@gmail.com";
|
||||
github = "borisbabic";
|
||||
|
@ -9361,6 +9358,12 @@
|
|||
githubId = 458783;
|
||||
name = "Martin Gammelsæter";
|
||||
};
|
||||
martinramm = {
|
||||
email = "martin-ramm@gmx.de";
|
||||
github = "MartinRamm";
|
||||
githubId = 31626748;
|
||||
name = "Martin Ramm";
|
||||
};
|
||||
marzipankaiser = {
|
||||
email = "nixos@gaisseml.de";
|
||||
github = "marzipankaiser";
|
||||
|
@ -10327,6 +10330,12 @@
|
|||
githubId = 3073833;
|
||||
name = "Massimo Redaelli";
|
||||
};
|
||||
mrene = {
|
||||
email = "mathieu.rene@gmail.com";
|
||||
github = "mrene";
|
||||
githubId = 254443;
|
||||
name = "Mathieu Rene";
|
||||
};
|
||||
mrfreezeex = {
|
||||
email = "arthur@cri.epita.fr";
|
||||
github = "MrFreezeex";
|
||||
|
@ -13611,6 +13620,16 @@
|
|||
githubId = 17243347;
|
||||
name = "Sebastian Sellmeier";
|
||||
};
|
||||
sefidel = {
|
||||
name = "sefidel";
|
||||
email = "contact@sefidel.net";
|
||||
matrix = "@sef:exotic.sh";
|
||||
github = "sefidel";
|
||||
githubId = 71049646;
|
||||
keys = [{
|
||||
fingerprint = "8BDF DFB5 6842 2393 82A0 441B 9238 BC70 9E05 516A";
|
||||
}];
|
||||
};
|
||||
sei40kr = {
|
||||
name = "Seong Yong-ju";
|
||||
email = "sei40kr@gmail.com";
|
||||
|
@ -16176,12 +16195,6 @@
|
|||
github = "wegank";
|
||||
githubId = 9713184;
|
||||
};
|
||||
weihua = {
|
||||
email = "luwh364@gmail.com";
|
||||
github = "weihua-lu";
|
||||
githubId = 9002575;
|
||||
name = "Weihua Lu";
|
||||
};
|
||||
welteki = {
|
||||
email = "welteki@pm.me";
|
||||
github = "welteki";
|
||||
|
|
4
maintainers/scripts/convert-to-import-cargo-lock.sh
Executable file
4
maintainers/scripts/convert-to-import-cargo-lock.sh
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -I nixpkgs=. -i bash -p "import ./maintainers/scripts/convert-to-import-cargo-lock" nix-prefetch-git
|
||||
|
||||
convert-to-import-cargo-lock "$@"
|
1
maintainers/scripts/convert-to-import-cargo-lock/.gitignore
vendored
Normal file
1
maintainers/scripts/convert-to-import-cargo-lock/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/target
|
106
maintainers/scripts/convert-to-import-cargo-lock/Cargo.lock
generated
Normal file
106
maintainers/scripts/convert-to-import-cargo-lock/Cargo.lock
generated
Normal file
|
@ -0,0 +1,106 @@
|
|||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.69"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800"
|
||||
|
||||
[[package]]
|
||||
name = "basic-toml"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2e819b667739967cd44d308b8c7b71305d8bb0729ac44a248aa08f33d01950b4"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "convert-to-import-cargo-lock"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"basic-toml",
|
||||
"serde",
|
||||
"serde_json",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "1.0.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.51"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "1.0.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.152"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.152"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.93"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"ryu",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.107"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
|
12
maintainers/scripts/convert-to-import-cargo-lock/Cargo.toml
Normal file
12
maintainers/scripts/convert-to-import-cargo-lock/Cargo.toml
Normal file
|
@ -0,0 +1,12 @@
|
|||
[package]
|
||||
name = "convert-to-import-cargo-lock"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
anyhow = { version = "1.0.69" }
|
||||
basic-toml = "0.1.1"
|
||||
serde = { version = "1.0.152", features = ["derive"] }
|
||||
serde_json = "1.0.93"
|
16
maintainers/scripts/convert-to-import-cargo-lock/default.nix
Normal file
16
maintainers/scripts/convert-to-import-cargo-lock/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
with import ../../../. { };
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
name = "convert-to-import-cargo-lock";
|
||||
|
||||
src = lib.cleanSourceWith {
|
||||
src = ./.;
|
||||
filter = name: type:
|
||||
let
|
||||
name' = builtins.baseNameOf name;
|
||||
in
|
||||
name' != "default.nix" && name' != "target";
|
||||
};
|
||||
|
||||
cargoLock.lockFile = ./Cargo.lock;
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
with import ../../../. { };
|
||||
|
||||
mkShell {
|
||||
packages = [ rustc cargo clippy rustfmt ] ++ lib.optional stdenv.isDarwin libiconv;
|
||||
}
|
241
maintainers/scripts/convert-to-import-cargo-lock/src/main.rs
Normal file
241
maintainers/scripts/convert-to-import-cargo-lock/src/main.rs
Normal file
|
@ -0,0 +1,241 @@
|
|||
#![warn(clippy::pedantic)]
|
||||
#![allow(clippy::too_many_lines)]
|
||||
|
||||
use anyhow::anyhow;
|
||||
use serde::Deserialize;
|
||||
use std::{collections::HashMap, env, fs, path::PathBuf, process::Command};
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct CargoLock<'a> {
|
||||
#[serde(rename = "package", borrow)]
|
||||
packages: Vec<Package<'a>>,
|
||||
metadata: Option<HashMap<&'a str, &'a str>>,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct Package<'a> {
|
||||
name: &'a str,
|
||||
version: &'a str,
|
||||
source: Option<&'a str>,
|
||||
checksum: Option<&'a str>,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct PrefetchOutput {
|
||||
sha256: String,
|
||||
}
|
||||
|
||||
fn main() -> anyhow::Result<()> {
|
||||
let mut hashes = HashMap::new();
|
||||
|
||||
let attr_count = env::args().len() - 1;
|
||||
|
||||
for (i, attr) in env::args().skip(1).enumerate() {
|
||||
println!("converting {attr} ({}/{attr_count})", i + 1);
|
||||
|
||||
convert(&attr, &mut hashes)?;
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn convert(attr: &str, hashes: &mut HashMap<String, String>) -> anyhow::Result<()> {
|
||||
let package_path = nix_eval(format!("{attr}.meta.position"))?
|
||||
.and_then(|p| p.split_once(':').map(|(f, _)| PathBuf::from(f)));
|
||||
|
||||
if package_path.is_none() {
|
||||
eprintln!("can't automatically convert {attr}: doesn't exist");
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
let package_path = package_path.unwrap();
|
||||
|
||||
if package_path.with_file_name("Cargo.lock").exists() {
|
||||
eprintln!("skipping {attr}: already has a vendored Cargo.lock");
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
let mut src = PathBuf::from(
|
||||
String::from_utf8(
|
||||
Command::new("nix-build")
|
||||
.arg("-A")
|
||||
.arg(format!("{attr}.src"))
|
||||
.output()?
|
||||
.stdout,
|
||||
)?
|
||||
.trim(),
|
||||
);
|
||||
|
||||
if !src.exists() {
|
||||
eprintln!("can't automatically convert {attr}: src doesn't exist (bad attr?)");
|
||||
return Ok(());
|
||||
} else if !src.metadata()?.is_dir() {
|
||||
eprintln!("can't automatically convert {attr}: src isn't a directory");
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
if let Some(mut source_root) = nix_eval(format!("{attr}.sourceRoot"))?.map(PathBuf::from) {
|
||||
source_root = source_root.components().skip(1).collect();
|
||||
src.push(source_root);
|
||||
}
|
||||
|
||||
let cargo_lock_path = src.join("Cargo.lock");
|
||||
|
||||
if !cargo_lock_path.exists() {
|
||||
eprintln!("can't automatically convert {attr}: src doesn't contain Cargo.lock");
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
let cargo_lock_content = fs::read_to_string(cargo_lock_path)?;
|
||||
|
||||
let cargo_lock: CargoLock = basic_toml::from_str(&cargo_lock_content)?;
|
||||
|
||||
let mut git_dependencies = Vec::new();
|
||||
|
||||
for package in cargo_lock.packages.iter().filter(|p| {
|
||||
p.source.is_some()
|
||||
&& p.checksum
|
||||
.or_else(|| {
|
||||
cargo_lock
|
||||
.metadata
|
||||
.as_ref()?
|
||||
.get(
|
||||
format!("checksum {} {} ({})", p.name, p.version, p.source.unwrap())
|
||||
.as_str(),
|
||||
)
|
||||
.copied()
|
||||
})
|
||||
.is_none()
|
||||
}) {
|
||||
let (typ, original_url) = package
|
||||
.source
|
||||
.unwrap()
|
||||
.split_once('+')
|
||||
.expect("dependency should have well-formed source url");
|
||||
|
||||
if let Some(hash) = hashes.get(original_url) {
|
||||
continue;
|
||||
}
|
||||
|
||||
assert_eq!(
|
||||
typ, "git",
|
||||
"packages without checksums should be git dependencies"
|
||||
);
|
||||
|
||||
let (mut url, rev) = original_url
|
||||
.split_once('#')
|
||||
.expect("git dependency should have commit");
|
||||
|
||||
// TODO: improve
|
||||
if let Some((u, _)) = url.split_once('?') {
|
||||
url = u;
|
||||
}
|
||||
|
||||
let prefetch_output: PrefetchOutput = serde_json::from_slice(
|
||||
&Command::new("nix-prefetch-git")
|
||||
.args(["--url", url, "--rev", rev, "--quiet", "--fetch-submodules"])
|
||||
.output()?
|
||||
.stdout,
|
||||
)?;
|
||||
|
||||
let output_hash = String::from_utf8(
|
||||
Command::new("nix")
|
||||
.args([
|
||||
"--extra-experimental-features",
|
||||
"nix-command",
|
||||
"hash",
|
||||
"to-sri",
|
||||
"--type",
|
||||
"sha256",
|
||||
&prefetch_output.sha256,
|
||||
])
|
||||
.output()?
|
||||
.stdout,
|
||||
)?;
|
||||
|
||||
let hash = output_hash.trim().to_string();
|
||||
|
||||
git_dependencies.push((
|
||||
format!("{}-{}", package.name, package.version),
|
||||
output_hash.trim().to_string().clone(),
|
||||
));
|
||||
|
||||
hashes.insert(original_url.to_string(), hash);
|
||||
}
|
||||
|
||||
fs::write(
|
||||
package_path.with_file_name("Cargo.lock"),
|
||||
cargo_lock_content,
|
||||
)?;
|
||||
|
||||
let mut package_lines: Vec<_> = fs::read_to_string(&package_path)?
|
||||
.lines()
|
||||
.map(String::from)
|
||||
.collect();
|
||||
|
||||
let (cargo_deps_line_index, cargo_deps_line) = package_lines
|
||||
.iter_mut()
|
||||
.enumerate()
|
||||
.find(|(_, l)| {
|
||||
l.trim_start().starts_with("cargoHash") || l.trim_start().starts_with("cargoSha256")
|
||||
})
|
||||
.expect("package should contain cargoHash/cargoSha256");
|
||||
|
||||
let spaces = " ".repeat(cargo_deps_line.len() - cargo_deps_line.trim_start().len());
|
||||
|
||||
if git_dependencies.is_empty() {
|
||||
*cargo_deps_line = format!("{spaces}cargoLock.lockFile = ./Cargo.lock;");
|
||||
} else {
|
||||
*cargo_deps_line = format!("{spaces}cargoLock = {{");
|
||||
|
||||
let mut index_iter = cargo_deps_line_index + 1..;
|
||||
|
||||
package_lines.insert(
|
||||
index_iter.next().unwrap(),
|
||||
format!("{spaces} lockFile = ./Cargo.lock;"),
|
||||
);
|
||||
|
||||
package_lines.insert(
|
||||
index_iter.next().unwrap(),
|
||||
format!("{spaces} outputHashes = {{"),
|
||||
);
|
||||
|
||||
for ((dep, hash), index) in git_dependencies.drain(..).zip(&mut index_iter) {
|
||||
package_lines.insert(index, format!("{spaces} {dep:?} = {hash:?};"));
|
||||
}
|
||||
|
||||
package_lines.insert(index_iter.next().unwrap(), format!("{spaces} }};"));
|
||||
package_lines.insert(index_iter.next().unwrap(), format!("{spaces}}};"));
|
||||
}
|
||||
|
||||
if package_lines.last().map(String::as_str) != Some("") {
|
||||
package_lines.push(String::new());
|
||||
}
|
||||
|
||||
fs::write(package_path, package_lines.join("\n"))?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn nix_eval(attr: impl AsRef<str>) -> anyhow::Result<Option<String>> {
|
||||
let output = String::from_utf8(
|
||||
Command::new("nix-instantiate")
|
||||
.args(["--eval", "-A", attr.as_ref()])
|
||||
.output()?
|
||||
.stdout,
|
||||
)?;
|
||||
|
||||
let trimmed = output.trim();
|
||||
|
||||
if trimmed.is_empty() || trimmed == "null" {
|
||||
Ok(None)
|
||||
} else {
|
||||
Ok(Some(
|
||||
trimmed
|
||||
.strip_prefix('"')
|
||||
.and_then(|p| p.strip_suffix('"'))
|
||||
.ok_or_else(|| anyhow!("couldn't parse nix-instantiate output: {output:?}"))?
|
||||
.to_string(),
|
||||
))
|
||||
}
|
||||
}
|
|
@ -424,11 +424,14 @@ with lib.maintainers; {
|
|||
|
||||
llvm = {
|
||||
members = [
|
||||
ericson2314
|
||||
sternenseemann
|
||||
lovek323
|
||||
dtzWill
|
||||
ericson2314
|
||||
lovek323
|
||||
primeos
|
||||
qyliss
|
||||
raitobezarius
|
||||
rrbutani
|
||||
sternenseemann
|
||||
];
|
||||
scope = "Maintain LLVM package sets and related packages";
|
||||
shortName = "LLVM";
|
||||
|
|
|
@ -12,12 +12,18 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- default linux: 5.15 -\> 6.1, all supported kernels available
|
||||
|
||||
- systemd has been updated to v253.1, see [the pull request](https://github.com/NixOS/nixpkgs/pull/216826) for more info.
|
||||
It's recommended to use `nixos-rebuild boot` and `reboot`, rather than `nixos-rebuild switch` - since in some rare cases
|
||||
the switch of a live system might fail.
|
||||
|
||||
- Cinnamon has been updated to 5.6, see [the pull request](https://github.com/NixOS/nixpkgs/pull/201328#issue-1449910204) for what is changed.
|
||||
|
||||
- KDE Plasma has been updated to v5.27, see [the release notes](https://kde.org/announcements/plasma/5/5.27.0/) for what is changed.
|
||||
|
||||
- `nixos-rebuild` now supports an extra `--specialisation` option that can be used to change specialisation for `switch` and `test` commands.
|
||||
|
||||
- `libxcrypt`, the library providing the `crypt(3)` password hashing function, is now built without support for algorithms not flagged [`strong`](https://github.com/besser82/libxcrypt/blob/v4.4.33/lib/hashes.conf#L48). This affects the availability of password hashing algorithms used for system login (`login(1)`, `passwd(1)`), but also Apache2 Basic-Auth, Samba, OpenLDAP, Dovecot, and [many other packages](https://github.com/search?q=repo%3ANixOS%2Fnixpkgs%20libxcrypt&type=code).
|
||||
|
||||
## New Services {#sec-release-23.05-new-services}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
@ -183,12 +189,16 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- conntrack helper autodetection has been removed from kernels 6.0 and up upstream, and an assertion was added to ensure things don't silently stop working. Migrate your configuration to assign helpers explicitly or use an older LTS kernel branch as a temporary workaround.
|
||||
|
||||
- The `services.pipewire.config` options have been removed, as they have basically never worked correctly. All behavior defined by the default configuration can be overridden with drop-in files as necessary - see [below](#sec-release-23.05-migration-pipewire) for details.
|
||||
|
||||
- The catch-all `hardware.video.hidpi.enable` option was removed. Users on high density displays may want to:
|
||||
|
||||
- Set `services.xserver.upscaleDefaultCursor` to upscale the default X11 cursor for higher resolutions
|
||||
- Adjust settings under `fonts.fontconfig` according to preference
|
||||
- Adjust `console.font` according to preference, though the kernel will generally choose a reasonably sized font
|
||||
|
||||
- `services.pipewire.media-session` and the `pipewire-media-session` package have been removed, as they are no longer supported upstream. Users are encouraged to use `services.pipewire.wireplumber` instead.
|
||||
|
||||
- The `baget` package and module was removed due to being unmaintained.
|
||||
|
||||
## Other Notable Changes {#sec-release-23.05-notable-changes}
|
||||
|
@ -249,6 +259,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
If undesired, the old behavior can be restored by overriding the builders with
|
||||
`{ installDocumentation = false; }`.
|
||||
|
||||
- The new option `networking.nftables.checkRuleset` controls whether the ruleset is checked for syntax or not during build. It is `true` by default. The check might fail because it is in a sandbox environment. To circumvent this, the ruleset file can be edited using the `networking.nftables.preCheckRuleset` option.
|
||||
|
||||
- `mastodon` now supports connection to a remote `PostgreSQL` database.
|
||||
|
||||
- `nextcloud` has an option to enable SSE-C in S3.
|
||||
|
@ -341,3 +353,85 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
- `k3s` can now be configured with an EnvironmentFile for its systemd service, allowing secrets to be provided without ending up in the Nix Store.
|
||||
|
||||
- `boot.initrd.luks.device.<name>` has a new `tryEmptyPassphrase` option, this is useful for OEM's who need to install an encrypted disk with a future settable passphrase
|
||||
|
||||
## Detailed migration information {#sec-release-23.05-migration}
|
||||
|
||||
### Pipewire configuration overrides {#sec-release-23.05-migration-pipewire}
|
||||
|
||||
#### Why this change? {#sec-release-23.05-migration-pipewire-why}
|
||||
|
||||
The Pipewire config semantics don't really match the NixOS module semantics, so it's extremely awkward to override the default config, especially when lists are involved. Vendoring the configuration files in nixpkgs also creates unnecessary maintenance overhead.
|
||||
|
||||
Also, upstream added a lot of accomodations to allow doing most of the things you'd want to do with a config edit in better ways.
|
||||
|
||||
#### Migrating your configuration {#sec-release-23.05-migration-pipewire-how}
|
||||
|
||||
Compare your settings to [the defaults](https://gitlab.freedesktop.org/pipewire/pipewire/-/tree/master/src/daemon) and where your configuration differs from them.
|
||||
|
||||
Then, create a drop-in JSON file in `/etc/pipewire/<config file name>.d/99-custom.conf` (the actual filename can be anything) and migrate your changes to it according to the following sections.
|
||||
|
||||
Repeat for every file you've modified, changing the directory name accordingly.
|
||||
|
||||
#### Things you can just copy over {#sec-release-23.05-migration-pipewire-simple}
|
||||
|
||||
If you are:
|
||||
|
||||
- setting properties via `*.properties`
|
||||
- loading a new module to `context.modules`
|
||||
- creating new objects with `context.objects`
|
||||
- declaring SPA libraries with `context.spa-libs`
|
||||
- running custom commands with `context.exec`
|
||||
- adding new rules with `*.rules`
|
||||
- running custom PulseAudio commands with `pulse.cmd`
|
||||
|
||||
Simply move the definitions into the drop-in.
|
||||
|
||||
Note that the use of `context.exec` is not recommended and other methods of running your thing are likely a better option.
|
||||
|
||||
```json
|
||||
{
|
||||
"context.properties": {
|
||||
"your.property.name": "your.property.value"
|
||||
},
|
||||
"context.modules": [
|
||||
{ "name": "libpipewire-module-my-cool-thing" }
|
||||
],
|
||||
"context.objects": [
|
||||
{ "factory": { ... } }
|
||||
],
|
||||
"alsa.rules": [
|
||||
{ "matches: { ... }, "actions": { ... } }
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
#### Removing a module from `context.modules` {#sec-release-23.05-migration-pipewire-removing-modules}
|
||||
|
||||
Look for an option to disable it via `context.properties` (`"module.x11.bell": "false"` is likely the most common use case here).
|
||||
If one is not available, proceed to [Nuclear option](#sec-release-23.05-migration-pipewire).
|
||||
|
||||
#### Modifying a module's parameters in `context.modules` {#sec-release-23.05-migration-pipewire-modifying-modules}
|
||||
|
||||
For most modules (e.g. `libpipewire-module-rt`) it's enough to load the module again with the new arguments, e.g.:
|
||||
|
||||
```json
|
||||
{
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-rt",
|
||||
"args": {
|
||||
"rt.prio": 90
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Note that `module-rt` specifically will generally use the highest values available by default, so setting limits on the `pipewire` systemd service is preferable to reloading.
|
||||
|
||||
If reloading the module is not an option, proceed to [Nuclear option](#sec-release-23.05-migration-pipewire).
|
||||
|
||||
#### Nuclear option {#sec-release-23.05-migration-pipewire-nuclear}
|
||||
If all else fails, you can still manually copy the contents of the default configuration file
|
||||
from `${pkgs.pipewire.lib}/share/pipewire` to `/etc/pipewire` and edit it to fully override the default.
|
||||
However, this should be done only as a last resort. Please talk to the Pipewire maintainers if you ever need to do this.
|
||||
|
|
|
@ -539,7 +539,9 @@ in {
|
|||
|
||||
###### implementation
|
||||
|
||||
config = {
|
||||
config = let
|
||||
cryptSchemeIdPatternGroup = "(${lib.concatStringsSep "|" pkgs.libxcrypt.enabledCryptSchemeIds})";
|
||||
in {
|
||||
|
||||
users.users = {
|
||||
root = {
|
||||
|
@ -601,15 +603,16 @@ in {
|
|||
text = ''
|
||||
users=()
|
||||
while IFS=: read -r user hash tail; do
|
||||
if [[ "$hash" = "$"* && ! "$hash" =~ ^\$(y|gy|7|2b|2y|2a|6)\$ ]]; then
|
||||
if [[ "$hash" = "$"* && ! "$hash" =~ ^\''$${cryptSchemeIdPatternGroup}\$ ]]; then
|
||||
users+=("$user")
|
||||
fi
|
||||
done </etc/shadow
|
||||
|
||||
if (( "''${#users[@]}" )); then
|
||||
echo "
|
||||
WARNING: The following user accounts rely on password hashes that will
|
||||
be removed in NixOS 23.05. They should be renewed as soon as possible."
|
||||
WARNING: The following user accounts rely on password hashing algorithms
|
||||
that have been removed. They need to be renewed as soon as possible, as
|
||||
they do prevent their users from logging in."
|
||||
printf ' - %s\n' "''${users[@]}"
|
||||
fi
|
||||
'';
|
||||
|
@ -729,7 +732,7 @@ in {
|
|||
let
|
||||
sep = "\\$";
|
||||
base64 = "[a-zA-Z0-9./]+";
|
||||
id = "[a-z0-9-]+";
|
||||
id = cryptSchemeIdPatternGroup;
|
||||
value = "[a-zA-Z0-9/+.-]+";
|
||||
options = "${id}(=${value})?(,${id}=${value})*";
|
||||
scheme = "${id}(${sep}${options})?";
|
||||
|
|
|
@ -69,21 +69,50 @@ in
|
|||
package = mkOption {
|
||||
type = types.package;
|
||||
internal = true;
|
||||
default = cfg.mesaPackage;
|
||||
description = lib.mdDoc ''
|
||||
The package that provides the OpenGL implementation.
|
||||
|
||||
The default is Mesa's drivers which should cover all OpenGL-capable
|
||||
hardware. If you want to use another Mesa version, adjust
|
||||
{option}`mesaPackage`.
|
||||
'';
|
||||
};
|
||||
|
||||
package32 = mkOption {
|
||||
type = types.package;
|
||||
internal = true;
|
||||
default = cfg.mesaPackage32;
|
||||
description = lib.mdDoc ''
|
||||
The package that provides the 32-bit OpenGL implementation on
|
||||
64-bit systems. Used when {option}`driSupport32Bit` is
|
||||
set.
|
||||
Same as {option}`package` but for the 32-bit OpenGL implementation on
|
||||
64-bit systems. Used when {option}`driSupport32Bit` is set.
|
||||
'';
|
||||
};
|
||||
|
||||
mesaPackage = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.mesa_23;
|
||||
defaultText = literalExpression "pkgs.mesa_23";
|
||||
example = literalExpression "pkgs.mesa_22";
|
||||
description = lib.mdDoc ''
|
||||
The Mesa driver package used for rendering support on the system.
|
||||
|
||||
You should only need to adjust this if you require a newer Mesa
|
||||
version for your hardware or because you need to patch a bug.
|
||||
'';
|
||||
apply = mesa: mesa.drivers or (throw "`mesa` package must have a `drivers` output.");
|
||||
};
|
||||
mesaPackage32 = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.pkgsi686Linux.mesa_23;
|
||||
defaultText = literalExpression "pkgs.pkgsi686Linux.mesa_23";
|
||||
example = literalExpression "pkgs.pkgsi686Linux.mesa_22";
|
||||
description = lib.mdDoc ''
|
||||
Same as {option}`mesaPackage` but for the 32-bit Mesa on 64-bit
|
||||
systems. Used when {option}`driSupport32Bit` is set.
|
||||
'';
|
||||
apply = mesa: mesa.drivers or (throw "`mesa` package must have a `drivers` output.");
|
||||
};
|
||||
|
||||
extraPackages = mkOption {
|
||||
type = types.listOf types.package;
|
||||
default = [];
|
||||
|
@ -97,7 +126,6 @@ in
|
|||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
extraPackages32 = mkOption {
|
||||
type = types.listOf types.package;
|
||||
default = [];
|
||||
|
@ -153,9 +181,6 @@ in
|
|||
environment.sessionVariables.LD_LIBRARY_PATH = mkIf cfg.setLdLibraryPath
|
||||
([ "/run/opengl-driver/lib" ] ++ optional cfg.driSupport32Bit "/run/opengl-driver-32/lib");
|
||||
|
||||
hardware.opengl.package = mkDefault pkgs.mesa.drivers;
|
||||
hardware.opengl.package32 = mkDefault pkgs.pkgsi686Linux.mesa.drivers;
|
||||
|
||||
boot.extraModulePackages = optional (elem "virtualbox" videoDrivers) kernelPackages.virtualboxGuestAdditions;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -21,6 +21,9 @@ with lib;
|
|||
# ISO naming.
|
||||
isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.iso";
|
||||
|
||||
# BIOS booting
|
||||
isoImage.makeBiosBootable = true;
|
||||
|
||||
# EFI booting
|
||||
isoImage.makeEfiBootable = true;
|
||||
|
||||
|
|
|
@ -535,10 +535,17 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
isoImage.makeBiosBootable = mkOption {
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Whether the ISO image should be a BIOS-bootable disk.
|
||||
'';
|
||||
};
|
||||
|
||||
isoImage.makeEfiBootable = mkOption {
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Whether the ISO image should be an efi-bootable volume.
|
||||
Whether the ISO image should be an EFI-bootable volume.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -693,7 +700,7 @@ in
|
|||
boot.loader.grub.enable = false;
|
||||
|
||||
environment.systemPackages = [ grubPkgs.grub2 grubPkgs.grub2_efi ]
|
||||
++ optional canx86BiosBoot pkgs.syslinux
|
||||
++ optional (config.isoImage.makeBiosBootable && canx86BiosBoot) pkgs.syslinux
|
||||
;
|
||||
|
||||
# In stage 1 of the boot, mount the CD as the root FS by label so
|
||||
|
@ -744,7 +751,7 @@ in
|
|||
{ source = pkgs.writeText "version" config.system.nixos.label;
|
||||
target = "/version.txt";
|
||||
}
|
||||
] ++ optionals canx86BiosBoot [
|
||||
] ++ optionals (config.isoImage.makeBiosBootable && canx86BiosBoot) [
|
||||
{ source = config.isoImage.splashImage;
|
||||
target = "/isolinux/background.png";
|
||||
}
|
||||
|
@ -771,7 +778,7 @@ in
|
|||
{ source = config.isoImage.efiSplashImage;
|
||||
target = "/EFI/boot/efi-background.png";
|
||||
}
|
||||
] ++ optionals (config.boot.loader.grub.memtest86.enable && canx86BiosBoot) [
|
||||
] ++ optionals (config.boot.loader.grub.memtest86.enable && config.isoImage.makeBiosBootable && canx86BiosBoot) [
|
||||
{ source = "${pkgs.memtest86plus}/memtest.bin";
|
||||
target = "/boot/memtest.bin";
|
||||
}
|
||||
|
@ -786,10 +793,10 @@ in
|
|||
# Create the ISO image.
|
||||
system.build.isoImage = pkgs.callPackage ../../../lib/make-iso9660-image.nix ({
|
||||
inherit (config.isoImage) isoName compressImage volumeID contents;
|
||||
bootable = canx86BiosBoot;
|
||||
bootable = config.isoImage.makeBiosBootable && canx86BiosBoot;
|
||||
bootImage = "/isolinux/isolinux.bin";
|
||||
syslinux = if canx86BiosBoot then pkgs.syslinux else null;
|
||||
} // optionalAttrs (config.isoImage.makeUsbBootable && canx86BiosBoot) {
|
||||
syslinux = if config.isoImage.makeBiosBootable && canx86BiosBoot then pkgs.syslinux else null;
|
||||
} // optionalAttrs (config.isoImage.makeUsbBootable && config.isoImage.makeBiosBootable && canx86BiosBoot) {
|
||||
usbBootable = true;
|
||||
isohybridMbrImage = "${pkgs.syslinux}/share/syslinux/isohdpfx.bin";
|
||||
} // optionalAttrs config.isoImage.makeEfiBootable {
|
||||
|
|
|
@ -430,7 +430,6 @@
|
|||
./services/desktops/gvfs.nix
|
||||
./services/desktops/malcontent.nix
|
||||
./services/desktops/neard.nix
|
||||
./services/desktops/pipewire/pipewire-media-session.nix
|
||||
./services/desktops/pipewire/pipewire.nix
|
||||
./services/desktops/pipewire/wireplumber.nix
|
||||
./services/desktops/profile-sync-daemon.nix
|
||||
|
|
|
@ -33,7 +33,7 @@ in {
|
|||
|
||||
security.wrappers.dumpcap = {
|
||||
source = "${wireshark}/bin/dumpcap";
|
||||
capabilities = "cap_net_raw+p";
|
||||
capabilities = "cap_net_raw,cap_net_admin+eip";
|
||||
owner = "root";
|
||||
group = "wireshark";
|
||||
permissions = "u+rx,g+x";
|
||||
|
|
|
@ -620,7 +620,7 @@ let
|
|||
optionalString config.services.homed.enable ''
|
||||
password sufficient ${config.systemd.package}/lib/security/pam_systemd_home.so
|
||||
'' + ''
|
||||
password sufficient pam_unix.so nullok sha512
|
||||
password sufficient pam_unix.so nullok yescrypt
|
||||
'' +
|
||||
optionalString config.security.pam.enableEcryptfs ''
|
||||
password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so
|
||||
|
|
|
@ -1,54 +0,0 @@
|
|||
{
|
||||
"context.properties": {
|
||||
"log.level": 0
|
||||
},
|
||||
"context.spa-libs": {
|
||||
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
||||
"support.*": "support/libspa-support"
|
||||
},
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-rt",
|
||||
"args": {},
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-protocol-native"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-node"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-device"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-adapter"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-metadata"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-session-manager"
|
||||
}
|
||||
],
|
||||
"filter.properties": {},
|
||||
"stream.properties": {},
|
||||
"alsa.properties": {},
|
||||
"alsa.rules": [
|
||||
{
|
||||
"matches": [
|
||||
{
|
||||
"application.process.binary": "resolve"
|
||||
}
|
||||
],
|
||||
"actions": {
|
||||
"update-props": {
|
||||
"alsa.buffer-bytes": 131072
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
{
|
||||
"context.properties": {
|
||||
"log.level": 0
|
||||
},
|
||||
"context.spa-libs": {
|
||||
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
||||
"support.*": "support/libspa-support"
|
||||
},
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-protocol-native"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-node"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-device"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-adapter"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-metadata"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-session-manager"
|
||||
}
|
||||
],
|
||||
"filter.properties": {},
|
||||
"stream.properties": {}
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
"context.properties": {
|
||||
"log.level": 0
|
||||
},
|
||||
"context.spa-libs": {
|
||||
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
||||
"support.*": "support/libspa-support"
|
||||
},
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-rt",
|
||||
"args": {},
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-protocol-native"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-node"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-adapter"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,75 +0,0 @@
|
|||
{
|
||||
"context.properties": {
|
||||
"log.level": 0
|
||||
},
|
||||
"context.spa-libs": {
|
||||
"support.*": "support/libspa-support"
|
||||
},
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-rt",
|
||||
"args": {},
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-protocol-native"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-node"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-metadata"
|
||||
}
|
||||
],
|
||||
"jack.properties": {},
|
||||
"jack.rules": [
|
||||
{
|
||||
"matches": [
|
||||
{}
|
||||
],
|
||||
"actions": {
|
||||
"update-props": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"matches": [
|
||||
{
|
||||
"application.process.binary": "jack_bufsize"
|
||||
}
|
||||
],
|
||||
"actions": {
|
||||
"update-props": {
|
||||
"jack.global-buffer-size": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"matches": [
|
||||
{
|
||||
"application.process.binary": "qsynth"
|
||||
}
|
||||
],
|
||||
"actions": {
|
||||
"update-props": {
|
||||
"node.pause-on-idle": false,
|
||||
"node.passive": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"matches": [
|
||||
{
|
||||
"client.name": "Mixxx"
|
||||
}
|
||||
],
|
||||
"actions": {
|
||||
"update-props": {
|
||||
"jack.merge-monitor": false
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,120 +0,0 @@
|
|||
{
|
||||
"context.properties": {
|
||||
"link.max-buffers": 16,
|
||||
"core.daemon": true,
|
||||
"core.name": "pipewire-0",
|
||||
"settings.check-quantum": true,
|
||||
"settings.check-rate": true,
|
||||
"vm.overrides": {
|
||||
"default.clock.min-quantum": 1024
|
||||
}
|
||||
},
|
||||
"context.spa-libs": {
|
||||
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
||||
"api.alsa.*": "alsa/libspa-alsa",
|
||||
"support.*": "support/libspa-support"
|
||||
},
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-rt",
|
||||
"args": {
|
||||
"nice.level": -11
|
||||
},
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-protocol-native"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-profiler"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-metadata"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-spa-node-factory"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-node"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-access",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-adapter"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-link-factory"
|
||||
}
|
||||
],
|
||||
"context.objects": [
|
||||
{
|
||||
"factory": "metadata",
|
||||
"args": {
|
||||
"metadata.name": "default"
|
||||
}
|
||||
},
|
||||
{
|
||||
"factory": "spa-node-factory",
|
||||
"args": {
|
||||
"factory.name": "support.node.driver",
|
||||
"node.name": "Dummy-Driver",
|
||||
"node.group": "pipewire.dummy",
|
||||
"priority.driver": 20000
|
||||
}
|
||||
},
|
||||
{
|
||||
"factory": "spa-node-factory",
|
||||
"args": {
|
||||
"factory.name": "support.node.driver",
|
||||
"node.name": "Freewheel-Driver",
|
||||
"priority.driver": 19000,
|
||||
"node.group": "pipewire.freewheel",
|
||||
"node.freewheel": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"factory": "adapter",
|
||||
"args": {
|
||||
"factory.name": "api.alsa.pcm.source",
|
||||
"node.name": "system",
|
||||
"node.description": "system",
|
||||
"media.class": "Audio/Source",
|
||||
"api.alsa.path": "hw:0",
|
||||
"node.suspend-on-idle": true,
|
||||
"resample.disable": true,
|
||||
"channelmix.disable": true,
|
||||
"adapter.auto-port-config": {
|
||||
"mode": "dsp",
|
||||
"monitor": false,
|
||||
"control": false,
|
||||
"position": "unknown"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"factory": "adapter",
|
||||
"args": {
|
||||
"factory.name": "api.alsa.pcm.sink",
|
||||
"node.name": "system",
|
||||
"node.description": "system",
|
||||
"media.class": "Audio/Sink",
|
||||
"api.alsa.path": "hw:0",
|
||||
"node.suspend-on-idle": true,
|
||||
"resample.disable": true,
|
||||
"channelmix.disable": true,
|
||||
"adapter.auto-port-config": {
|
||||
"mode": "dsp",
|
||||
"monitor": false,
|
||||
"control": false,
|
||||
"position": "unknown"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"context.exec": []
|
||||
}
|
|
@ -1,38 +0,0 @@
|
|||
{
|
||||
"context.properties": {},
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-rt",
|
||||
"args": {
|
||||
"nice.level": -11
|
||||
},
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-protocol-native"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-node"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-adapter"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-rtp-source",
|
||||
"args": {
|
||||
"sap.ip": "239.255.255.255",
|
||||
"sap.port": 9875,
|
||||
"sess.latency.msec": 10,
|
||||
"local.ifname": "eth0",
|
||||
"stream.props": {
|
||||
"media.class": "Audio/Source",
|
||||
"node.virtual": false,
|
||||
"device.api": "aes67"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,38 +0,0 @@
|
|||
{
|
||||
"context.properties": {},
|
||||
"context.spa-libs": {
|
||||
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
||||
"support.*": "support/libspa-support"
|
||||
},
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-rt",
|
||||
"args": {
|
||||
"nice.level": -11
|
||||
},
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-protocol-native"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-node"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-adapter"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-avb",
|
||||
"args": {}
|
||||
}
|
||||
],
|
||||
"context.exec": [],
|
||||
"stream.properties": {},
|
||||
"avb.properties": {
|
||||
"ifname": "enp3s0",
|
||||
"vm.overrides": {}
|
||||
}
|
||||
}
|
|
@ -1,106 +0,0 @@
|
|||
{
|
||||
"context.properties": {},
|
||||
"context.spa-libs": {
|
||||
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
||||
"support.*": "support/libspa-support"
|
||||
},
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-rt",
|
||||
"args": {
|
||||
"nice.level": -11
|
||||
},
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-protocol-native"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-node"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-adapter"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-metadata"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-protocol-pulse",
|
||||
"args": {}
|
||||
}
|
||||
],
|
||||
"context.exec": [],
|
||||
"pulse.cmd": [
|
||||
{
|
||||
"cmd": "load-module",
|
||||
"args": "module-always-sink",
|
||||
"flags": []
|
||||
}
|
||||
],
|
||||
"stream.properties": {},
|
||||
"pulse.properties": {
|
||||
"server.address": [
|
||||
"unix:native"
|
||||
],
|
||||
"vm.overrides": {
|
||||
"pulse.min.quantum": "1024/48000"
|
||||
}
|
||||
},
|
||||
"pulse.rules": [
|
||||
{
|
||||
"matches": [
|
||||
{}
|
||||
],
|
||||
"actions": {
|
||||
"update-props": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"matches": [
|
||||
{
|
||||
"application.process.binary": "teams"
|
||||
},
|
||||
{
|
||||
"application.process.binary": "teams-insiders"
|
||||
},
|
||||
{
|
||||
"application.process.binary": "skypeforlinux"
|
||||
}
|
||||
],
|
||||
"actions": {
|
||||
"quirks": [
|
||||
"force-s16-info"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"matches": [
|
||||
{
|
||||
"application.process.binary": "firefox"
|
||||
}
|
||||
],
|
||||
"actions": {
|
||||
"quirks": [
|
||||
"remove-capture-dont-move"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"matches": [
|
||||
{
|
||||
"application.name": "~speech-dispatcher.*"
|
||||
}
|
||||
],
|
||||
"actions": {
|
||||
"update-props": {
|
||||
"pulse.min.req": "512/48000",
|
||||
"pulse.min.quantum": "512/48000",
|
||||
"pulse.idle.timeout": 5
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,110 +0,0 @@
|
|||
{
|
||||
"context.properties": {
|
||||
"link.max-buffers": 16,
|
||||
"core.daemon": true,
|
||||
"core.name": "pipewire-0",
|
||||
"vm.overrides": {
|
||||
"default.clock.min-quantum": 1024
|
||||
},
|
||||
"module.x11.bell": true
|
||||
},
|
||||
"context.spa-libs": {
|
||||
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
||||
"avb.*": "avb/libspa-avb",
|
||||
"api.alsa.*": "alsa/libspa-alsa",
|
||||
"api.v4l2.*": "v4l2/libspa-v4l2",
|
||||
"api.libcamera.*": "libcamera/libspa-libcamera",
|
||||
"api.bluez5.*": "bluez5/libspa-bluez5",
|
||||
"api.vulkan.*": "vulkan/libspa-vulkan",
|
||||
"api.jack.*": "jack/libspa-jack",
|
||||
"support.*": "support/libspa-support"
|
||||
},
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-rt",
|
||||
"args": {
|
||||
"nice.level": -11
|
||||
},
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-protocol-native"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-profiler"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-metadata"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-spa-device-factory"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-spa-node-factory"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-node"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-device"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-portal",
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-access",
|
||||
"args": {}
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-adapter"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-link-factory"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-session-manager"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-x11-bell",
|
||||
"args": {},
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
],
|
||||
"condition": [
|
||||
{
|
||||
"module.x11.bell": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"context.objects": [
|
||||
{
|
||||
"factory": "spa-node-factory",
|
||||
"args": {
|
||||
"factory.name": "support.node.driver",
|
||||
"node.name": "Dummy-Driver",
|
||||
"node.group": "pipewire.dummy",
|
||||
"priority.driver": 20000
|
||||
}
|
||||
},
|
||||
{
|
||||
"factory": "spa-node-factory",
|
||||
"args": {
|
||||
"factory.name": "support.node.driver",
|
||||
"node.name": "Freewheel-Driver",
|
||||
"priority.driver": 19000,
|
||||
"node.group": "pipewire.freewheel",
|
||||
"node.freewheel": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"context.exec": []
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"properties": {},
|
||||
"rules": [
|
||||
{
|
||||
"matches": [
|
||||
{
|
||||
"device.name": "~alsa_card.*"
|
||||
}
|
||||
],
|
||||
"actions": {
|
||||
"update-props": {
|
||||
"api.alsa.use-acp": true,
|
||||
"api.acp.auto-profile": false,
|
||||
"api.acp.auto-port": false
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"matches": [
|
||||
{
|
||||
"node.name": "~alsa_input.*"
|
||||
},
|
||||
{
|
||||
"node.name": "~alsa_output.*"
|
||||
}
|
||||
],
|
||||
"actions": {
|
||||
"update-props": {
|
||||
"node.pause-on-idle": false
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
{
|
||||
"properties": {},
|
||||
"rules": [
|
||||
{
|
||||
"matches": [
|
||||
{
|
||||
"device.name": "~bluez_card.*"
|
||||
}
|
||||
],
|
||||
"actions": {
|
||||
"update-props": {
|
||||
"bluez5.auto-connect": [
|
||||
"hfp_hf",
|
||||
"hsp_hs",
|
||||
"a2dp_sink"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"matches": [
|
||||
{
|
||||
"node.name": "~bluez_input.*"
|
||||
},
|
||||
{
|
||||
"node.name": "~bluez_output.*"
|
||||
}
|
||||
],
|
||||
"actions": {
|
||||
"update-props": {
|
||||
"node.pause-on-idle": false
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,68 +0,0 @@
|
|||
{
|
||||
"context.properties": {},
|
||||
"context.spa-libs": {
|
||||
"api.bluez5.*": "bluez5/libspa-bluez5",
|
||||
"api.alsa.*": "alsa/libspa-alsa",
|
||||
"api.v4l2.*": "v4l2/libspa-v4l2",
|
||||
"api.libcamera.*": "libcamera/libspa-libcamera"
|
||||
},
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-rtkit",
|
||||
"args": {},
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-protocol-native"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-node"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-device"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-adapter"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-metadata"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-session-manager"
|
||||
}
|
||||
],
|
||||
"session.modules": {
|
||||
"default": [
|
||||
"flatpak",
|
||||
"portal",
|
||||
"v4l2",
|
||||
"suspend-node",
|
||||
"policy-node"
|
||||
],
|
||||
"with-audio": [
|
||||
"metadata",
|
||||
"default-nodes",
|
||||
"default-profile",
|
||||
"default-routes",
|
||||
"alsa-seq",
|
||||
"alsa-monitor"
|
||||
],
|
||||
"with-alsa": [
|
||||
"with-audio"
|
||||
],
|
||||
"with-jack": [
|
||||
"with-audio"
|
||||
],
|
||||
"with-pulseaudio": [
|
||||
"with-audio",
|
||||
"bluez5",
|
||||
"bluez5-autoswitch",
|
||||
"logind",
|
||||
"restore-stream",
|
||||
"streams-follow-default"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
{
|
||||
"properties": {},
|
||||
"rules": [
|
||||
{
|
||||
"matches": [
|
||||
{
|
||||
"device.name": "~v4l2_device.*"
|
||||
}
|
||||
],
|
||||
"actions": {
|
||||
"update-props": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"matches": [
|
||||
{
|
||||
"node.name": "~v4l2_input.*"
|
||||
},
|
||||
{
|
||||
"node.name": "~v4l2_output.*"
|
||||
}
|
||||
],
|
||||
"actions": {
|
||||
"update-props": {
|
||||
"node.pause-on-idle": false
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,141 +0,0 @@
|
|||
# pipewire example session manager.
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
json = pkgs.formats.json {};
|
||||
cfg = config.services.pipewire.media-session;
|
||||
enable32BitAlsaPlugins = cfg.alsa.support32Bit
|
||||
&& pkgs.stdenv.isx86_64
|
||||
&& pkgs.pkgsi686Linux.pipewire != null;
|
||||
|
||||
# Use upstream config files passed through spa-json-dump as the base
|
||||
# Patched here as necessary for them to work with this module
|
||||
defaults = {
|
||||
alsa-monitor = lib.importJSON ./media-session/alsa-monitor.conf.json;
|
||||
bluez-monitor = lib.importJSON ./media-session/bluez-monitor.conf.json;
|
||||
media-session = lib.importJSON ./media-session/media-session.conf.json;
|
||||
v4l2-monitor = lib.importJSON ./media-session/v4l2-monitor.conf.json;
|
||||
};
|
||||
|
||||
configs = {
|
||||
alsa-monitor = recursiveUpdate defaults.alsa-monitor cfg.config.alsa-monitor;
|
||||
bluez-monitor = recursiveUpdate defaults.bluez-monitor cfg.config.bluez-monitor;
|
||||
media-session = recursiveUpdate defaults.media-session cfg.config.media-session;
|
||||
v4l2-monitor = recursiveUpdate defaults.v4l2-monitor cfg.config.v4l2-monitor;
|
||||
};
|
||||
in {
|
||||
|
||||
meta = {
|
||||
maintainers = teams.freedesktop.members;
|
||||
# uses attributes of the linked package
|
||||
buildDocsInSandbox = false;
|
||||
};
|
||||
|
||||
###### interface
|
||||
options = {
|
||||
services.pipewire.media-session = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc "Whether to enable the deprecated example Pipewire session manager";
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.pipewire-media-session;
|
||||
defaultText = literalExpression "pkgs.pipewire-media-session";
|
||||
description = lib.mdDoc ''
|
||||
The pipewire-media-session derivation to use.
|
||||
'';
|
||||
};
|
||||
|
||||
config = {
|
||||
media-session = mkOption {
|
||||
type = json.type;
|
||||
description = lib.mdDoc ''
|
||||
Configuration for the media session core. For details see
|
||||
https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/media-session.conf
|
||||
'';
|
||||
default = defaults.media-session;
|
||||
};
|
||||
|
||||
alsa-monitor = mkOption {
|
||||
type = json.type;
|
||||
description = lib.mdDoc ''
|
||||
Configuration for the alsa monitor. For details see
|
||||
https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/alsa-monitor.conf
|
||||
'';
|
||||
default = defaults.alsa-monitor;
|
||||
};
|
||||
|
||||
bluez-monitor = mkOption {
|
||||
type = json.type;
|
||||
description = lib.mdDoc ''
|
||||
Configuration for the bluez5 monitor. For details see
|
||||
https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/bluez-monitor.conf
|
||||
'';
|
||||
default = defaults.bluez-monitor;
|
||||
};
|
||||
|
||||
v4l2-monitor = mkOption {
|
||||
type = json.type;
|
||||
description = lib.mdDoc ''
|
||||
Configuration for the V4L2 monitor. For details see
|
||||
https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/v4l2-monitor.conf
|
||||
'';
|
||||
default = defaults.v4l2-monitor;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
###### implementation
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
systemd.packages = [ cfg.package ];
|
||||
|
||||
# Enable either system or user units.
|
||||
systemd.services.pipewire-media-session.enable = config.services.pipewire.systemWide;
|
||||
systemd.user.services.pipewire-media-session.enable = !config.services.pipewire.systemWide;
|
||||
|
||||
systemd.services.pipewire-media-session.wantedBy = [ "pipewire.service" ];
|
||||
systemd.user.services.pipewire-media-session.wantedBy = [ "pipewire.service" ];
|
||||
|
||||
environment.etc."pipewire/media-session.d/media-session.conf" = {
|
||||
source = json.generate "media-session.conf" configs.media-session;
|
||||
};
|
||||
environment.etc."pipewire/media-session.d/v4l2-monitor.conf" = {
|
||||
source = json.generate "v4l2-monitor.conf" configs.v4l2-monitor;
|
||||
};
|
||||
|
||||
environment.etc."pipewire/media-session.d/with-audio" =
|
||||
mkIf config.services.pipewire.audio.enable {
|
||||
text = "";
|
||||
};
|
||||
|
||||
environment.etc."pipewire/media-session.d/with-alsa" =
|
||||
mkIf config.services.pipewire.alsa.enable {
|
||||
text = "";
|
||||
};
|
||||
environment.etc."pipewire/media-session.d/alsa-monitor.conf" =
|
||||
mkIf config.services.pipewire.alsa.enable {
|
||||
source = json.generate "alsa-monitor.conf" configs.alsa-monitor;
|
||||
};
|
||||
|
||||
environment.etc."pipewire/media-session.d/with-pulseaudio" =
|
||||
mkIf config.services.pipewire.pulse.enable {
|
||||
text = "";
|
||||
};
|
||||
environment.etc."pipewire/media-session.d/bluez-monitor.conf" =
|
||||
mkIf config.services.pipewire.pulse.enable {
|
||||
source = json.generate "bluez-monitor.conf" configs.bluez-monitor;
|
||||
};
|
||||
|
||||
environment.etc."pipewire/media-session.d/with-jack" =
|
||||
mkIf config.services.pipewire.jack.enable {
|
||||
text = "";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -4,7 +4,6 @@
|
|||
with lib;
|
||||
|
||||
let
|
||||
json = pkgs.formats.json {};
|
||||
cfg = config.services.pipewire;
|
||||
enable32BitAlsaPlugins = cfg.alsa.support32Bit
|
||||
&& pkgs.stdenv.isx86_64
|
||||
|
@ -18,34 +17,8 @@ let
|
|||
mkdir -p "$out/lib"
|
||||
ln -s "${cfg.package.jack}/lib" "$out/lib/pipewire"
|
||||
'';
|
||||
|
||||
# Use upstream config files passed through spa-json-dump as the base
|
||||
# Patched here as necessary for them to work with this module
|
||||
defaults = {
|
||||
client = lib.importJSON ./daemon/client.conf.json;
|
||||
client-rt = lib.importJSON ./daemon/client-rt.conf.json;
|
||||
jack = lib.importJSON ./daemon/jack.conf.json;
|
||||
minimal = lib.importJSON ./daemon/minimal.conf.json;
|
||||
pipewire = lib.importJSON ./daemon/pipewire.conf.json;
|
||||
pipewire-pulse = lib.importJSON ./daemon/pipewire-pulse.conf.json;
|
||||
};
|
||||
|
||||
useSessionManager = cfg.wireplumber.enable || cfg.media-session.enable;
|
||||
|
||||
configs = {
|
||||
client = recursiveUpdate defaults.client cfg.config.client;
|
||||
client-rt = recursiveUpdate defaults.client-rt cfg.config.client-rt;
|
||||
jack = recursiveUpdate defaults.jack cfg.config.jack;
|
||||
pipewire = recursiveUpdate (if useSessionManager then defaults.pipewire else defaults.minimal) cfg.config.pipewire;
|
||||
pipewire-pulse = recursiveUpdate defaults.pipewire-pulse cfg.config.pipewire-pulse;
|
||||
};
|
||||
in {
|
||||
|
||||
meta = {
|
||||
maintainers = teams.freedesktop.members ++ [ lib.maintainers.k900 ];
|
||||
# uses attributes of the linked package
|
||||
buildDocsInSandbox = false;
|
||||
};
|
||||
meta.maintainers = teams.freedesktop.members ++ [ lib.maintainers.k900 ];
|
||||
|
||||
###### interface
|
||||
options = {
|
||||
|
@ -69,53 +42,6 @@ in {
|
|||
'';
|
||||
};
|
||||
|
||||
config = {
|
||||
client = mkOption {
|
||||
type = json.type;
|
||||
default = {};
|
||||
description = lib.mdDoc ''
|
||||
Configuration for pipewire clients. For details see
|
||||
https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/client.conf.in
|
||||
'';
|
||||
};
|
||||
|
||||
client-rt = mkOption {
|
||||
type = json.type;
|
||||
default = {};
|
||||
description = lib.mdDoc ''
|
||||
Configuration for realtime pipewire clients. For details see
|
||||
https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/client-rt.conf.in
|
||||
'';
|
||||
};
|
||||
|
||||
jack = mkOption {
|
||||
type = json.type;
|
||||
default = {};
|
||||
description = lib.mdDoc ''
|
||||
Configuration for the pipewire daemon's jack module. For details see
|
||||
https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/jack.conf.in
|
||||
'';
|
||||
};
|
||||
|
||||
pipewire = mkOption {
|
||||
type = json.type;
|
||||
default = {};
|
||||
description = lib.mdDoc ''
|
||||
Configuration for the pipewire daemon. For details see
|
||||
https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/pipewire.conf.in
|
||||
'';
|
||||
};
|
||||
|
||||
pipewire-pulse = mkOption {
|
||||
type = json.type;
|
||||
default = {};
|
||||
description = lib.mdDoc ''
|
||||
Configuration for the pipewire-pulse daemon. For details see
|
||||
https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/pipewire-pulse.conf.in
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
audio = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
|
@ -153,10 +79,20 @@ in {
|
|||
https://github.com/PipeWire/pipewire/blob/master/NEWS
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
(lib.mkRemovedOptionModule ["services" "pipewire" "config"] ''
|
||||
Overriding default Pipewire configuration through NixOS options never worked correctly and is no longer supported.
|
||||
Please create drop-in files in /etc/pipewire/pipewire.conf.d/ to make the desired setting changes instead.
|
||||
'')
|
||||
|
||||
(lib.mkRemovedOptionModule ["services" "pipewire" "media-session"] ''
|
||||
pipewire-media-session is no longer supported upstream and has been removed.
|
||||
Please switch to `services.pipewire.wireplumber` instead.
|
||||
'')
|
||||
];
|
||||
|
||||
###### implementation
|
||||
config = mkIf cfg.enable {
|
||||
|
@ -222,22 +158,6 @@ in {
|
|||
source = "${cfg.package}/share/alsa/alsa.conf.d/99-pipewire-default.conf";
|
||||
};
|
||||
|
||||
environment.etc."pipewire/client.conf" = {
|
||||
source = json.generate "client.conf" configs.client;
|
||||
};
|
||||
environment.etc."pipewire/client-rt.conf" = {
|
||||
source = json.generate "client-rt.conf" configs.client-rt;
|
||||
};
|
||||
environment.etc."pipewire/jack.conf" = {
|
||||
source = json.generate "jack.conf" configs.jack;
|
||||
};
|
||||
environment.etc."pipewire/pipewire.conf" = {
|
||||
source = json.generate "pipewire.conf" configs.pipewire;
|
||||
};
|
||||
environment.etc."pipewire/pipewire-pulse.conf" = mkIf cfg.pulse.enable {
|
||||
source = json.generate "pipewire-pulse.conf" configs.pipewire-pulse;
|
||||
};
|
||||
|
||||
environment.sessionVariables.LD_LIBRARY_PATH =
|
||||
lib.mkIf cfg.jack.enable [ "${cfg.package.jack}/lib" ];
|
||||
|
||||
|
@ -256,12 +176,5 @@ in {
|
|||
};
|
||||
groups.pipewire.gid = config.ids.gids.pipewire;
|
||||
};
|
||||
|
||||
# https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/464#note_723554
|
||||
systemd.services.pipewire.environment."PIPEWIRE_LINK_PASSIVE" = "1";
|
||||
systemd.user.services.pipewire.environment."PIPEWIRE_LINK_PASSIVE" = "1";
|
||||
|
||||
# pipewire-pulse default config expects pactl to be in PATH
|
||||
systemd.user.services.pipewire-pulse.path = lib.mkIf cfg.pulse.enable [ pkgs.pulseaudio ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -28,10 +28,6 @@ in
|
|||
|
||||
config = lib.mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = !config.services.pipewire.media-session.enable;
|
||||
message = "WirePlumber and pipewire-media-session can't be enabled at the same time.";
|
||||
}
|
||||
{
|
||||
assertion = !config.hardware.bluetooth.hsphfpd.enable;
|
||||
message = "Using Wireplumber conflicts with hsphfpd, as it provides the same functionality. `hardware.bluetooth.hsphfpd.enable` needs be set to false";
|
||||
|
|
|
@ -1112,7 +1112,7 @@ in {
|
|||
${optionalString (cfg.nginx.recommendedHttpHeaders) ''
|
||||
add_header X-Content-Type-Options nosniff;
|
||||
add_header X-XSS-Protection "1; mode=block";
|
||||
add_header X-Robots-Tag none;
|
||||
add_header X-Robots-Tag "noindex, nofollow";
|
||||
add_header X-Download-Options noopen;
|
||||
add_header X-Permitted-Cross-Domain-Policies none;
|
||||
add_header X-Frame-Options sameorigin;
|
||||
|
|
|
@ -323,7 +323,7 @@ in
|
|||
|
||||
account sufficient pam_unix.so
|
||||
|
||||
password requisite pam_unix.so nullok sha512
|
||||
password requisite pam_unix.so nullok yescrypt
|
||||
|
||||
session optional pam_keyinit.so revoke
|
||||
session include login
|
||||
|
|
|
@ -302,7 +302,7 @@ in
|
|||
|
||||
account sufficient pam_unix.so
|
||||
|
||||
password requisite pam_unix.so nullok sha512
|
||||
password requisite pam_unix.so nullok yescrypt
|
||||
|
||||
session optional pam_keyinit.so revoke
|
||||
session include login
|
||||
|
|
|
@ -21,7 +21,7 @@ in
|
|||
# loaders.cache based on that and set the environment variable
|
||||
# GDK_PIXBUF_MODULE_FILE to point to it.
|
||||
config = lib.mkIf (cfg.modulePackages != []) {
|
||||
environment.variables = {
|
||||
environment.sessionVariables = {
|
||||
GDK_PIXBUF_MODULE_FILE = "${loadersCache}";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -79,6 +79,8 @@ let
|
|||
# Filesystems.
|
||||
"systemd-fsck@.service"
|
||||
"systemd-fsck-root.service"
|
||||
"systemd-growfs@.service"
|
||||
"systemd-growfs-root.service"
|
||||
"systemd-remount-fs.service"
|
||||
"systemd-pstore.service"
|
||||
"local-fs.target"
|
||||
|
|
|
@ -56,6 +56,7 @@ let
|
|||
"systemd-ask-password-console.path"
|
||||
"systemd-ask-password-console.service"
|
||||
"systemd-fsck@.service"
|
||||
"systemd-growfs@.service"
|
||||
"systemd-halt.service"
|
||||
"systemd-hibernate-resume@.service"
|
||||
"systemd-journald-audit.socket"
|
||||
|
@ -371,6 +372,7 @@ in {
|
|||
managerEnvironment.PATH = "/bin:/sbin";
|
||||
|
||||
contents = {
|
||||
"/tmp/.keep".text = "systemd requires the /tmp mount point in the initrd cpio archive";
|
||||
"/init".source = "${cfg.package}/lib/systemd/systemd";
|
||||
"/etc/systemd/system".source = stage1Units;
|
||||
|
||||
|
|
|
@ -142,6 +142,7 @@ in
|
|||
defaultNetwork.settings = lib.mkOption {
|
||||
type = json.type;
|
||||
default = { };
|
||||
example = lib.literalExpression "{ dns_enabled = true; }";
|
||||
description = lib.mdDoc ''
|
||||
Settings for podman's default network.
|
||||
'';
|
||||
|
@ -149,7 +150,7 @@ in
|
|||
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
||||
config = lib.mkIf cfg.enable
|
||||
{
|
||||
environment.systemPackages = [ cfg.package ]
|
||||
++ lib.optional cfg.dockerCompat dockerCompat;
|
||||
|
@ -235,6 +236,5 @@ in
|
|||
'';
|
||||
}
|
||||
];
|
||||
}
|
||||
]);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -145,7 +145,7 @@ in {
|
|||
client2.succeed("[ $(consul kv get testkey) == 42 ]")
|
||||
|
||||
|
||||
def rolling_reboot_test(proper_rolling_procedure=True):
|
||||
def rolling_restart_test(proper_rolling_procedure=True):
|
||||
"""
|
||||
Tests that the cluster can tolearate failures of any single server,
|
||||
following the recommended rolling upgrade procedure from
|
||||
|
@ -158,7 +158,13 @@ in {
|
|||
"""
|
||||
|
||||
for server in servers:
|
||||
server.crash()
|
||||
server.block()
|
||||
server.systemctl("stop consul")
|
||||
|
||||
# Make sure the stopped peer is recognized as being down
|
||||
client1.wait_until_succeeds(
|
||||
f"[ $(consul members | grep {server.name} | grep -o -E 'failed|left' | wc -l) == 1 ]"
|
||||
)
|
||||
|
||||
# For each client, wait until they have connection again
|
||||
# using `kv get -recurse` before issuing commands.
|
||||
|
@ -170,8 +176,8 @@ in {
|
|||
client2.succeed("[ $(consul kv get testkey) == 43 ]")
|
||||
client2.succeed("consul kv delete testkey")
|
||||
|
||||
# Restart crashed machine.
|
||||
server.start()
|
||||
server.unblock()
|
||||
server.systemctl("start consul")
|
||||
|
||||
if proper_rolling_procedure:
|
||||
# Wait for recovery.
|
||||
|
@ -197,10 +203,14 @@ in {
|
|||
"""
|
||||
|
||||
for server in servers:
|
||||
server.crash()
|
||||
server.block()
|
||||
server.systemctl("stop --no-block consul")
|
||||
|
||||
for server in servers:
|
||||
server.start()
|
||||
# --no-block is async, so ensure it has been stopped by now
|
||||
server.wait_until_fails("systemctl is-active --quiet consul")
|
||||
server.unblock()
|
||||
server.systemctl("start consul")
|
||||
|
||||
# Wait for recovery.
|
||||
wait_for_healthy_servers()
|
||||
|
@ -217,13 +227,13 @@ in {
|
|||
|
||||
# Run the tests.
|
||||
|
||||
print("rolling_reboot_test()")
|
||||
rolling_reboot_test()
|
||||
print("rolling_restart_test()")
|
||||
rolling_restart_test()
|
||||
|
||||
print("all_servers_crash_simultaneously_test()")
|
||||
all_servers_crash_simultaneously_test()
|
||||
|
||||
print("rolling_reboot_test(proper_rolling_procedure=False)")
|
||||
rolling_reboot_test(proper_rolling_procedure=False)
|
||||
print("rolling_restart_test(proper_rolling_procedure=False)")
|
||||
rolling_restart_test(proper_rolling_procedure=False)
|
||||
'';
|
||||
})
|
||||
|
|
|
@ -8,7 +8,7 @@ expected_lines = {
|
|||
"auth sufficient pam_rootok.so",
|
||||
"auth sufficient pam_unix.so likeauth try_first_pass",
|
||||
"password sufficient @@pam_krb5@@/lib/security/pam_krb5.so use_first_pass",
|
||||
"password sufficient pam_unix.so nullok sha512",
|
||||
"password sufficient pam_unix.so nullok yescrypt",
|
||||
"session optional @@pam_krb5@@/lib/security/pam_krb5.so",
|
||||
"session required pam_env.so conffile=/etc/pam/environment readenv=0",
|
||||
"session required pam_unix.so",
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ebumeter";
|
||||
version = "0.4.2";
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
|
||||
sha256 = "1wm9j1phmpicrp7jdsvdbc3mghdd92l61yl9qbps0brq2ljjyd5s";
|
||||
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-U2ZpNfvy+X1RdA9Q4gvFYzAxlgc6kYjJpQ/0sEX0A4I=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
|
2945
pkgs/applications/audio/gnome-podcasts/Cargo.lock
generated
Normal file
2945
pkgs/applications/audio/gnome-podcasts/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -42,10 +42,11 @@ stdenv.mkDerivation rec {
|
|||
})
|
||||
];
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
sha256 = "0y34b5rnr75h7dxbx93mafrmwsh187wq5js7fmkb1m1yyybj1v1x";
|
||||
cargoDeps = rustPlatform.importCargoLock {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"gettext-rs-0.4.2" = "sha256-wyZ1bf0oFcQo8gEi2GEalRUoKMoJYHysu79qcfjd4Ng=";
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
, alsa-lib
|
||||
, libpulseaudio
|
||||
, fftw
|
||||
, fftwFloat
|
||||
, json_c
|
||||
, libjack2
|
||||
, jackSupport ? true
|
||||
|
@ -33,6 +34,7 @@ stdenv.mkDerivation rec {
|
|||
alsa-lib
|
||||
libpulseaudio
|
||||
fftw
|
||||
fftwFloat
|
||||
json_c
|
||||
] ++ lib.optional jackSupport libjack2;
|
||||
|
||||
|
|
|
@ -35,6 +35,6 @@ rustPlatform.buildRustPackage rec {
|
|||
homepage = "https://github.com/mrene/minidsp-rs";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = [maintainers.adamcstephens];
|
||||
maintainers = [maintainers.adamcstephens maintainers.mrene];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
, musepackSupport ? true, libmpc, libmpcdec, taglib
|
||||
, vorbisSupport ? true, libvorbis
|
||||
, speexSupport ? true, speex
|
||||
, ffmpegSupport ? true, ffmpeg
|
||||
, ffmpegSupport ? true, ffmpeg_4
|
||||
, sndfileSupport ? true, libsndfile
|
||||
, wavpackSupport ? true, wavpack
|
||||
# Misc
|
||||
|
@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
|
|||
++ lib.optionals musepackSupport [ libmpc libmpcdec taglib ]
|
||||
++ lib.optional vorbisSupport libvorbis
|
||||
++ lib.optional speexSupport speex
|
||||
++ lib.optional ffmpegSupport ffmpeg
|
||||
++ lib.optional ffmpegSupport ffmpeg_4
|
||||
++ lib.optional sndfileSupport libsndfile
|
||||
++ lib.optional wavpackSupport wavpack
|
||||
# Misc
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, eigen, ffmpeg }:
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, eigen, ffmpeg_4 }:
|
||||
stdenv.mkDerivation {
|
||||
pname = "musly";
|
||||
version = "unstable-2017-04-26";
|
||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation {
|
|||
sha256 = "1q42wvdwy2pac7bhfraqqj2czw7w2m33ms3ifjl8phm7d87i8825";
|
||||
};
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ eigen ffmpeg ];
|
||||
buildInputs = [ eigen ffmpeg_4 ];
|
||||
fixupPhase = lib.optionalString stdenv.isDarwin ''
|
||||
install_name_tool -change libmusly.dylib $out/lib/libmusly.dylib $out/bin/musly
|
||||
install_name_tool -change libmusly_resample.dylib $out/lib/libmusly_resample.dylib $out/bin/musly
|
||||
|
|
2253
pkgs/applications/audio/netease-cloud-music-gtk/Cargo.lock
generated
Normal file
2253
pkgs/applications/audio/netease-cloud-music-gtk/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -30,9 +30,11 @@ stdenv.mkDerivation rec {
|
|||
hash = "sha256-A3mvf6TZ3+aiWA6rg9G5NMaDKvO0VQzwIM1t0MaTpTc=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
hash = "sha256-Y7rZTbg0zd/eoo6E8TmV8JJPs1N0bLlBjvB6W07Kelg=";
|
||||
cargoDeps = rustPlatform.importCargoLock {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"netease-cloud-music-api-1.0.2" = "sha256-7Yp2ZBg5wHnDPtdPLwZQnqcSlVuGCrXpV5M/dp/IaOE=";
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
3446
pkgs/applications/audio/psst/Cargo.lock
generated
Normal file
3446
pkgs/applications/audio/psst/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -25,7 +25,15 @@ rustPlatform.buildRustPackage rec {
|
|||
hash = "sha256-ZKhHN0ruLb6ZVKkrKv/YawRsVop6SP1QF/nrtkmA8P8=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-TDxoRWQAzrgPElEEDNYkk3XX2i+LnNLMuY/J3pb3Xlk=";
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"cubeb-0.10.1" = "sha256-PRQL8dq5BAsodbVlm5SnuzUDLg9/UY3BmoumcmWF+aY=";
|
||||
"druid-0.7.0" = "sha256-fnsm+KGsuePLRRjTecJ0GBQEySSeDIth13AX/aAigqU=";
|
||||
"druid-enums-0.1.0" = "sha256-4fo0ywoK+m4OuqYlbNbJS2BZK/VBFqeAYEFNGnGUVmM=";
|
||||
"piet-0.5.0" = "sha256-hCg8vABnLAO8egFwMtRSpRdzH6auETrICoUfuBZVzz8=";
|
||||
};
|
||||
};
|
||||
# specify the subdirectory of the binary crate to build from the workspace
|
||||
buildAndTestSubdir = "psst-gui";
|
||||
|
||||
|
|
|
@ -16,6 +16,10 @@ mkDerivation rec {
|
|||
buildInputs = [ alsa-lib fluidsynth libjack2 qtbase qttools qtx11extras ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
# Missing install depends:
|
||||
# lrelease error: Parse error at src/translations/qsynth_ru.ts:1503:33: Premature end of document.
|
||||
# make: *** [Makefile:107: src/translations/qsynth_ru.qm] Error 1
|
||||
enableParallelInstalling = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Fluidsynth GUI";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, intltool, pkg-config, ffmpeg, wxGTK32, gtk3, wrapGAppsHook }:
|
||||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, intltool, pkg-config, ffmpeg_4, wxGTK32, gtk3, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "spek";
|
||||
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ autoreconfHook intltool pkg-config wrapGAppsHook ];
|
||||
|
||||
buildInputs = [ ffmpeg wxGTK32 gtk3 ];
|
||||
buildInputs = [ ffmpeg_4 wxGTK32 gtk3 ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Analyse your audio files by showing their spectrogram";
|
||||
|
|
|
@ -25,13 +25,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tauon";
|
||||
version = "7.6.0";
|
||||
version = "7.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Taiko2k";
|
||||
repo = "TauonMusicBox";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-oQ3mcDrWWIT/2fu4MBw+0GjxWGFw1aLSTvmaKSDsdz4=";
|
||||
hash = "sha256-x/tHCDplC45XEaBaf0aQ0w8AS1SorXtYilJoiOcBDtM=";
|
||||
};
|
||||
|
||||
postUnpack = ''
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
, expat
|
||||
, libid3tag
|
||||
, libopus
|
||||
, ffmpeg
|
||||
, ffmpeg_4
|
||||
, soundtouch
|
||||
, pcre
|
||||
, portaudio
|
||||
|
@ -110,7 +110,7 @@ stdenv.mkDerivation rec {
|
|||
buildInputs = [
|
||||
alsa-lib
|
||||
expat
|
||||
ffmpeg
|
||||
ffmpeg_4
|
||||
file
|
||||
flac
|
||||
glib
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "vmpk";
|
||||
version = "0.8.7";
|
||||
version = "0.8.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}.tar.bz2";
|
||||
sha256 = "sha256-0y1XS+I3bmNrJ65LT0LyTd8aSLXVlVZFFDZwgxVDLGk=";
|
||||
sha256 = "sha256-+NjTcszb1KXGynIcCf4IEDvN4f8pgXtR1TksxGR5ZHQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config qttools docbook-xsl-nons ];
|
||||
|
|
|
@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = "https://www.bitcoinunlimited.info/";
|
||||
maintainers = with maintainers; [ DmitryTsygankov ];
|
||||
license = licenses.mit;
|
||||
broken = stdenv.isDarwin;
|
||||
broken = true;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -54,5 +54,6 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ edwtjo offline ];
|
||||
platforms = platforms.unix;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
|
9520
pkgs/applications/blockchains/lighthouse/Cargo.lock
generated
Normal file
9520
pkgs/applications/blockchains/lighthouse/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -33,7 +33,20 @@ rustPlatform.buildRustPackage rec {
|
|||
hash = "sha256-oF32s1nfzEZbaNUi5sQSrotcyOSinULj/qrRQWdMXHg=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-T404OxWBDy8ghQDdhqt0jac+Tff8ph6D3gGnKrToXHY=";
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"amcl-0.3.0" = "sha256-Mj4dXTlGVSleFfuTKgVDQ7S3jANMsdtVE5L90WGxA4U=";
|
||||
"arbitrary-1.2.2" = "sha256-39ZefB5Xok28y8lIdKleILBv4aokY90eMOssxUtU7yA=";
|
||||
"beacon-api-client-0.1.0" = "sha256-vqTC7bKXgliN7qd5LstNM5O6jRnn4aV/paj88Mua+Bc=";
|
||||
"ethereum-consensus-0.1.1" = "sha256-aBrZ786Me0BWpnncxQc5MT3r+O0yLQhqGKFBiNTdqSA=";
|
||||
"libmdbx-0.1.4" = "sha256-NMsR/Wl1JIj+YFPyeMMkrJFfoS07iEAKEQawO89a+/Q=";
|
||||
"lmdb-rkv-0.14.0" = "sha256-sxmguwqqcyOlfXOZogVz1OLxfJPo+Q0+UjkROkbbOCk=";
|
||||
"mev-rs-0.2.1" = "sha256-n3ns1oynw5fKQtp/CQHER41+C1EmLCVEBqggkHc3or4=";
|
||||
"ssz-rs-0.8.0" = "sha256-k1JLu+jZrSqUyHou76gbJeA5CDWwdL0fPkek3Vzl4Gs=";
|
||||
"warp-0.3.2" = "sha256-m9lkEgeSs0yEc+6N6DG7IfQY/evkUMoNyst2hMUR//c=";
|
||||
};
|
||||
};
|
||||
|
||||
buildFeatures = [ "modern" "gnosis" ];
|
||||
|
||||
|
|
5476
pkgs/applications/blockchains/openethereum/Cargo.lock
generated
Normal file
5476
pkgs/applications/blockchains/openethereum/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -20,7 +20,18 @@ rustPlatform.buildRustPackage rec {
|
|||
sha256 = "sha256-PpRRoufuZ9fXbLonMAo6qaA/jtJZXW98uM0BEXdJ2oU=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-xXUNXQvVq6XqW/hmCfJ2/mHKkZu0amRZ77vX+Jib0iM=";
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"app_dirs-1.2.1" = "sha256-zn9/b6VUuQ4U7KpN95hWumaKUg+xUdyEBRBngWhHuqA=";
|
||||
"bn-0.4.4" = "sha256-SdlIZwN2AVrq8Ezz0AeLRc+4G/YpqwCpFPS8QqLQ0yU=";
|
||||
"ctrlc-1.1.1" = "sha256-AqJR2B4PnR/fc7N+t2L0zZQ1fYy1GouGKkzupQw8uRQ=";
|
||||
"eth-secp256k1-0.5.7" = "sha256-2ZwY2cODE7AVJ2WBTuHZ01dZXegeNmZHKRUXVemLs1A=";
|
||||
"eth_pairings-0.6.0" = "sha256-2qLyuOArJOH029JKXuyB67p9gggsTRpavW1AO4O93L4=";
|
||||
"ethabi-11.0.0" = "sha256-QVlwdv5iHOhp98rwSZC6b+YFLTdlq3va6YzAZzm8q8Y=";
|
||||
"reth-util-0.1.0" = "sha256-3W8ESWCqEtDuoY2YhB1YVlQXs91XWfuAN2feuv0u6yU=";
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
|
||||
broken = true;
|
||||
description = "An open source crypto-currency focused on fast private transactions";
|
||||
longDescription = ''
|
||||
PIVX is an MIT licensed, open source, blockchain-based cryptocurrency with
|
||||
|
|
13990
pkgs/applications/blockchains/polkadot/Cargo.lock
generated
Normal file
13990
pkgs/applications/blockchains/polkadot/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -34,7 +34,13 @@ rustPlatform.buildRustPackage rec {
|
|||
'';
|
||||
};
|
||||
|
||||
cargoHash = "sha256-gLU/3wHiSpOA7oQwmy7v5s3PiAtElJv4EwLqdOyKhds=";
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"beefy-gadget-4.0.0-dev" = "sha256-3zOEG4ER0UQK3GRctZw6TgkX/8Ydk1ynU8N6vlepnHw=";
|
||||
"sub-tokens-0.1.0" = "sha256-GvhgZhOIX39zF+TbQWtTCgahDec4lQjH+NqamLFLUxM=";
|
||||
};
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
|
||||
|
||||
|
|
495
pkgs/applications/display-managers/lightdm-mobile-greeter/Cargo.lock
generated
Normal file
495
pkgs/applications/display-managers/lightdm-mobile-greeter/Cargo.lock
generated
Normal file
|
@ -0,0 +1,495 @@
|
|||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
[[package]]
|
||||
name = "atk"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "444daefa55f229af145ea58d77efd23725024ee1f6f3102743709aa6b18c663e"
|
||||
dependencies = [
|
||||
"atk-sys",
|
||||
"bitflags",
|
||||
"glib",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "atk-sys"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e552c1776737a4c80110d06b36d099f47c727335f9aaa5d942a72b6863a8ec6f"
|
||||
dependencies = [
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"libc",
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "1.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
|
||||
|
||||
[[package]]
|
||||
name = "cairo-rs"
|
||||
version = "0.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "157049ba9618aa3a61c39d5d785102c04d3b1f40632a706c621a9aedc21e6084"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cairo-sys-rs",
|
||||
"glib",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cairo-sys-rs"
|
||||
version = "0.9.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ff65ba02cac715be836f63429ab00a767d48336efc5497c5637afb53b4f14d63"
|
||||
dependencies = [
|
||||
"glib-sys",
|
||||
"libc",
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.52"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c3d87b23d6a92cd03af510a5ade527033f6aa6fa92161e2d5863a907d4c5e31d"
|
||||
|
||||
[[package]]
|
||||
name = "futures-channel"
|
||||
version = "0.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f0c77d04ce8edd9cb903932b608268b3fffec4163dc053b3b402bf47eac1f1a8"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures-core"
|
||||
version = "0.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f25592f769825e89b92358db00d26f965761e094951ac44d3663ef25b7ac464a"
|
||||
|
||||
[[package]]
|
||||
name = "futures-executor"
|
||||
version = "0.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f674f3e1bcb15b37284a90cedf55afdba482ab061c407a9c0ebbd0f3109741ba"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-task",
|
||||
"futures-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures-io"
|
||||
version = "0.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a638959aa96152c7a4cddf50fcb1e3fede0583b27157c26e67d6f99904090dc6"
|
||||
|
||||
[[package]]
|
||||
name = "futures-macro"
|
||||
version = "0.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9a5081aa3de1f7542a794a397cde100ed903b0630152d0973479018fd85423a7"
|
||||
dependencies = [
|
||||
"proc-macro-hack",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures-task"
|
||||
version = "0.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7b0a34e53cf6cdcd0178aa573aed466b646eb3db769570841fda0c7ede375a27"
|
||||
|
||||
[[package]]
|
||||
name = "futures-util"
|
||||
version = "0.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "22766cf25d64306bedf0384da004d05c9974ab104fcc4528f1236181c18004c5"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-macro",
|
||||
"futures-task",
|
||||
"pin-utils",
|
||||
"proc-macro-hack",
|
||||
"proc-macro-nested",
|
||||
"slab",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gdk"
|
||||
version = "0.12.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fbe5e8772fc0865c52460cdd7a59d7d47700f44d9809d1dd00eecceb769a7589"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cairo-rs",
|
||||
"cairo-sys-rs",
|
||||
"gdk-pixbuf",
|
||||
"gdk-sys",
|
||||
"gio",
|
||||
"gio-sys",
|
||||
"glib",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"libc",
|
||||
"pango",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gdk-pixbuf"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e248220c46b329b097d4b158d2717f8c688f16dd76d0399ace82b3e98062bdd7"
|
||||
dependencies = [
|
||||
"gdk-pixbuf-sys",
|
||||
"gio",
|
||||
"gio-sys",
|
||||
"glib",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gdk-pixbuf-sys"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d8991b060a9e9161bafd09bf4a202e6fd404f5b4dd1a08d53a1e84256fb34ab0"
|
||||
dependencies = [
|
||||
"gio-sys",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"libc",
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gdk-sys"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6adf679e91d1bff0c06860287f80403e7db54c2d2424dce0a470023b56c88fbb"
|
||||
dependencies = [
|
||||
"cairo-sys-rs",
|
||||
"gdk-pixbuf-sys",
|
||||
"gio-sys",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"libc",
|
||||
"pango-sys",
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gio"
|
||||
version = "0.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0cd10f9415cce39b53f8024bf39a21f84f8157afa52da53837b102e585a296a5"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
"futures-io",
|
||||
"futures-util",
|
||||
"gio-sys",
|
||||
"glib",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"lazy_static",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gio-sys"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4fad225242b9eae7ec8a063bb86974aca56885014672375e5775dc0ea3533911"
|
||||
dependencies = [
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"libc",
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "glib"
|
||||
version = "0.9.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "40fb573a09841b6386ddf15fd4bc6655b4f5b106ca962f57ecaecde32a0061c0"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
"futures-executor",
|
||||
"futures-task",
|
||||
"futures-util",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"lazy_static",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "glib-sys"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "95856f3802f446c05feffa5e24859fe6a183a7cb849c8449afc35c86b1e316e2"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gobject-sys"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "31d1a804f62034eccf370006ccaef3708a71c31d561fee88564abe71177553d9"
|
||||
dependencies = [
|
||||
"glib-sys",
|
||||
"libc",
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gtk"
|
||||
version = "0.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "87e1e8d70290239c668594002d1b174fcc7d7ef5d26670ee141490ede8facf8f"
|
||||
dependencies = [
|
||||
"atk",
|
||||
"bitflags",
|
||||
"cairo-rs",
|
||||
"cairo-sys-rs",
|
||||
"cc",
|
||||
"gdk",
|
||||
"gdk-pixbuf",
|
||||
"gdk-pixbuf-sys",
|
||||
"gdk-sys",
|
||||
"gio",
|
||||
"gio-sys",
|
||||
"glib",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"gtk-sys",
|
||||
"lazy_static",
|
||||
"libc",
|
||||
"pango",
|
||||
"pango-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gtk-sys"
|
||||
version = "0.9.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "53def660c7b48b00b510c81ef2d2fbd3c570f1527081d8d7947f471513e1a4c1"
|
||||
dependencies = [
|
||||
"atk-sys",
|
||||
"cairo-sys-rs",
|
||||
"gdk-pixbuf-sys",
|
||||
"gdk-sys",
|
||||
"gio-sys",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"libc",
|
||||
"pango-sys",
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "lazy_static"
|
||||
version = "1.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.69"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "99e85c08494b21a9054e7fe1374a732aeadaff3980b6990b94bfd3a70f690005"
|
||||
|
||||
[[package]]
|
||||
name = "libhandy"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2aa9f5620e4143358bcd645fe7d7d27b974ed9148cbdd490bc811813899afa07"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"gdk",
|
||||
"gdk-sys",
|
||||
"gio",
|
||||
"gio-sys",
|
||||
"glib",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"gtk",
|
||||
"gtk-sys",
|
||||
"lazy_static",
|
||||
"libc",
|
||||
"libhandy-sys",
|
||||
"pango",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libhandy-sys"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d707af842e918719b71af0ac6cf31d1843f6e8a4d1e9c733b998d8d482e60446"
|
||||
dependencies = [
|
||||
"gdk",
|
||||
"gdk-sys",
|
||||
"gio",
|
||||
"gio-sys",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"gtk-sys",
|
||||
"libc",
|
||||
"pango-sys",
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "light-dm-sys"
|
||||
version = "0.0.1"
|
||||
source = "git+https://git.raatty.club/raatty/lightdm-rs.git#a3c669583bb932e2b25372048b1e9dbda1f10e11"
|
||||
dependencies = [
|
||||
"gio-sys",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"libc",
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "lightdm"
|
||||
version = "0.1.0"
|
||||
source = "git+https://git.raatty.club/raatty/lightdm-rs.git#a3c669583bb932e2b25372048b1e9dbda1f10e11"
|
||||
dependencies = [
|
||||
"gio",
|
||||
"gio-sys",
|
||||
"glib",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"libc",
|
||||
"light-dm-sys",
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "lightdm-mobile-greeter"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"gdk",
|
||||
"gtk",
|
||||
"libhandy",
|
||||
"lightdm",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b1c601810575c99596d4afc46f78a678c80105117c379eb3650cf99b8a21ce5b"
|
||||
|
||||
[[package]]
|
||||
name = "pango"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e9c6b728f1be8edb5f9f981420b651d5ea30bdb9de89f1f1262d0084a020577"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"glib",
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"lazy_static",
|
||||
"libc",
|
||||
"pango-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pango-sys"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "86b93d84907b3cf0819bff8f13598ba72843bee579d5ebc2502e4b0367b4be7d"
|
||||
dependencies = [
|
||||
"glib-sys",
|
||||
"gobject-sys",
|
||||
"libc",
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pin-utils"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
|
||||
|
||||
[[package]]
|
||||
name = "pkg-config"
|
||||
version = "0.3.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro-hack"
|
||||
version = "0.5.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0d659fe7c6d27f25e9d80a1a094c223f5246f6a6596453e09d7229bf42750b63"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro-nested"
|
||||
version = "0.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e946095f9d3ed29ec38de908c22f95d9ac008e424c7bcae54c75a79c527c694"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "df246d292ff63439fea9bc8c0a270bed0e390d5ebd4db4ba15aba81111b5abe3"
|
||||
dependencies = [
|
||||
"unicode-xid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2bdc6c187c65bca4260c9011c9e3132efe4909da44726bad24cf7572ae338d7f"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "slab"
|
||||
version = "0.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0df0eb663f387145cab623dea85b09c2c5b4b0aef44e945d928e682fce71bb03"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-xid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-xid"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
|
|
@ -20,7 +20,12 @@ rustPlatform.buildRustPackage rec {
|
|||
rev = "8c8d6dfce62799307320c8c5a1f0dd5c8c18e4d3";
|
||||
hash = "sha256-SrAR2+An3BN/doFl/s8PcYZMUHLfVPXKZOo6ndO60nY=";
|
||||
};
|
||||
cargoHash = "sha256-NZ0jOkEBNa5oOydfyKm0XQB/vkAvBv9wHBbnM9egQFQ=";
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"light-dm-sys-0.0.1" = "sha256-91MZhbO/Or0QOt0yVAUhtorpMBBzElFg6U59mF7WB0k=";
|
||||
};
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
|
|
6473
pkgs/applications/editors/lapce/Cargo.lock
generated
Normal file
6473
pkgs/applications/editors/lapce/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -33,7 +33,54 @@ rustPlatform.buildRustPackage rec {
|
|||
sha256 = "sha256-WFFn1l7d70x5v6jo5m+Thq1WoZjY7f8Lvr3U473xx48=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-9e0pUztrIL5HGHrS2pHA1hkH2v24AEQ2RiogLRAxyeo=";
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"druid-0.7.0" = "sha256-PJH+Y5PScM6KnPeb5lBLKpqe9nbG3bXIJK2y4V1IM9o=";
|
||||
"font-kit-0.11.0" = "sha256-MsUbFhWd3GdqchzwrRPuzpz3mNYde00HwA9EIRBc2SQ=";
|
||||
"fount-0.1.0" = "sha256-ptPnisGuzip3tQUuwtPU+ETiIzxMvIgAvlIGyGw/4wI=";
|
||||
"parley-0.1.0" = "sha256-9xT+bhcZSBxQp10cbxQlqiG4D4NxaTkAxfgaHX0cqX4=";
|
||||
"piet-wgpu-0.1.0" = "sha256-SOycknxo6wMDy/2D3cxsngI0MZO78B5QkhdCkvCkFyU=";
|
||||
"psp-types-0.1.0" = "sha256-g8IP1z3Qfpabs+zHsJbwWrKureyRx1mtucTt5KWANw4=";
|
||||
"structdesc-0.1.0" = "sha256-4j6mJ1H5hxJXr7Sz0UsZxweyAm9sYuxjq8yg3ZlpksI=";
|
||||
"swash-0.1.4" = "sha256-oPjQF/nKnoHyed+4SZcc4zlc/I+0J6/DuigbHglQPMA=";
|
||||
"tree-sitter-bash-0.19.0" = "sha256-gTsA874qpCI/N5tmBI5eT8KDaM25gXM4VbcCbUU2EeI=";
|
||||
"tree-sitter-c-sharp-0.20.0" = "sha256-4R6+15ZbtC/LtSHpk7DqcMiFYjht+062Av31spK07rc=";
|
||||
"tree-sitter-css-0.19.0" = "sha256-xXDTi9HL46qHoeyf2ZQJRCIYCY4vWBmTBkt55EewgmQ=";
|
||||
"tree-sitter-d-0.3.2" = "sha256-oWbggHlWVxc5QsHDvOVcWvjykLPmFuuoxkqgen7He4A=";
|
||||
"tree-sitter-dart-0.0.1" = "sha256-JW9Hdzm/Sb56od+K/Wf0IlcfpgiEVY5e3ovOtMEeqpQ=";
|
||||
"tree-sitter-dockerfile-0.1.0" = "sha256-sSkAR6CZ9MnjeggaQ3F0aG4m0oKKSa866EXQDgm6k3Q=";
|
||||
"tree-sitter-elixir-0.19.0" = "sha256-5nopPahI6VDxu9z2lKaXWMPZ+1EWYRM2S9k3cfRrxGM=";
|
||||
"tree-sitter-erlang-0.0.1" = "sha256-6eiRiTTPdMBRsxVHIHYuw0sIfRDvP4pZIEyckoo304Q=";
|
||||
"tree-sitter-glimmer-0.0.1" = "sha256-qQQ94F/CMx0cMhqqpY0xkMi10Yx+XG1YiT+if6laJvM=";
|
||||
"tree-sitter-glsl-0.1.3" = "sha256-k37NkUjYPzZnE21EYPBX4CAFdmZzJzy5BOJU+VjpcA4=";
|
||||
"tree-sitter-haskell-0.14.0" = "sha256-94zxdt3JjC3iki639taHYmRwQIzOlOM6H9C3sKnRj/o=";
|
||||
"tree-sitter-haxe-0.2.2" = "sha256-yUzJDaAu2kTompR6W0UDRgld/mveaDoj9bdE9Bz9GwI=";
|
||||
"tree-sitter-hcl-0.0.1" = "sha256-GWUOATMa6ANnhH5k+P9GcCNQQnhqpyfblUG90rQN0iw=";
|
||||
"tree-sitter-java-0.20.0" = "sha256-tGBi6gJJIPpp6oOwmAQdqBD6eaJRBRcYbWtm1BHsgBA=";
|
||||
"tree-sitter-json-0.20.0" = "sha256-pXa6WFJ4wliXHBiuHuqtAFWz+OscTOxbna5iymS547w=";
|
||||
"tree-sitter-julia-0.19.0" = "sha256-KrhpVO3qskdHf5H+Ud0qfb0fPYpbSOzLRlK/dlycRAk=";
|
||||
"tree-sitter-kotlin-0.2.11" = "sha256-aRMqhmZKbKoggtBOgtFIq0xTP+PgeD3Qz6DPJsAFPRQ=";
|
||||
"tree-sitter-latex-0.2.0" = "sha256-0n42ZrlQdo1IbrURVJkcKV2JeQ7jUI2eSW7dkC1aXH4=";
|
||||
"tree-sitter-lua-0.0.12" = "sha256-0gViT7PjduQsTTi4e0VVUFiXJjmrjFBnWdGY0B4iS/0=";
|
||||
"tree-sitter-md-0.1.2" = "sha256-gKbjAcY/x9sIxiG7edolAQp2JWrx78mEGeCpayxFOuE=";
|
||||
"tree-sitter-nix-0.0.1" = "sha256-BYAVY0BISrJSwIMvLa/4QrkWdzMs36ZEz96w/CxWVVo=";
|
||||
"tree-sitter-ocaml-0.20.0" = "sha256-gTmRBFFCBrA48Yn1MO2mMQPpa6u3uv5McC4BDuMXKuM=";
|
||||
"tree-sitter-php-0.19.1" = "sha256-Lg4gEi6bCYosakr2McmgOwGHsmsVSjD+oyG6XNTd0j0=";
|
||||
"tree-sitter-protobuf-0.0.1" = "sha256-h86NQAIRU+mUroa0LqokMtEVd7U5BXo/DADc2UUZQzI=";
|
||||
"tree-sitter-ql-0.19.0" = "sha256-2QOtNguYAIhIhGuVqyx/33gFu3OqcxAPBZOk85Q226M=";
|
||||
"tree-sitter-ruby-0.19.0" = "sha256-BjdgNxXoaZ+nYrszd8trL0Cu4hnQNZkSWejTThkAn0o=";
|
||||
"tree-sitter-scheme-0.2.0" = "sha256-K3+zmykjq2DpCnk17Ko9LOyGQTBZb1/dgVXIVynCYd4=";
|
||||
"tree-sitter-scss-0.0.1" = "sha256-zGnPZbdRfFvDmbfNMWxTpKCp0/Yl1WqlLjw05jtVofM=";
|
||||
"tree-sitter-sql-0.0.2" = "sha256-PZSJ/8N/HNskFnkfqN11ZBOESXHGGGCPG/yET832hlE=";
|
||||
"tree-sitter-svelte-0.10.2" = "sha256-ACRpn1/2d6/ambLvr0xr7kT9gTzFFHXtvbQRTxEoet0=";
|
||||
"tree-sitter-wgsl-0.0.1" = "sha256-x42qHPwzv3uXVahHE9xYy3RkrYFctJGNEJmu6w1/2Qo=";
|
||||
"tree-sitter-xml-0.0.1" = "sha256-3DwRrAkk0OU2bOxBYSPpUQm2dxg1AYosbV6HXfYax/Y=";
|
||||
"tree-sitter-yaml-0.0.1" = "sha256-bQ/APnFpes4hQLv37lpoADyjXDBY7J4Zg+rLyUtbra4=";
|
||||
"tree-sitter-zig-0.0.1" = "sha256-E0q3nWsAMXBVM5LkOfrfBJyV9jQPJjiCSnD2ikXShFc=";
|
||||
"wasi-experimental-http-wasmtime-0.10.0" = "sha256-vV2cwA+vxWcrozXparleZUqKxp2DDkaRJFOAT0m2uWo=";
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
|
|
|
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
|
|||
description = "A lightweight text editor written in Lua";
|
||||
homepage = "https://github.com/lite-xl/lite-xl";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ boppyt ];
|
||||
maintainers = with maintainers; [ sefidel ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
1645
pkgs/applications/editors/neovim/gnvim/Cargo.lock
generated
Normal file
1645
pkgs/applications/editors/neovim/gnvim/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -11,7 +11,12 @@ rustPlatform.buildRustPackage rec {
|
|||
sha256 = "1cc3yk04v9icdjr5cn58mqc3ba1wqmlzhf9ly7biy9m8yk30w9y0";
|
||||
};
|
||||
|
||||
cargoSha256 = "0z6hhahxdc6d7nzqvc8jlxn1frsc39va8z5pmwfmmq5z61ahk90z";
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"nvim-rs-0.1.1-alpha.0" = "sha256-wn68Lix3zZULrg/G4hP+OSj1GbEZMsA/+PaOlG9WLtc=";
|
||||
};
|
||||
};
|
||||
|
||||
buildInputs = [ gtk webkitgtk ];
|
||||
|
||||
|
|
3027
pkgs/applications/editors/neovim/neovide/Cargo.lock
generated
Normal file
3027
pkgs/applications/editors/neovim/neovide/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -34,7 +34,15 @@ rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
|
|||
sha256 = "sha256-CcBiCcfOJzuq0DnokTUHpMdo7Ry29ugQ+N7Hk0R+cQE=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-bS7yBnxAWPoTTabxI6W5Knl1DFiDztYSkEPJMa8bqlY=";
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"glutin-0.26.0" = "sha256-Ie4Jb3wCMZSmF1MUzkLG2TqsLrXXzzi6ATjzCjevZBc=";
|
||||
"nvim-rs-0.5.0" = "sha256-3U0/OSDkJYCihFN7UbxnoIgsHKUQB4FAdYTqBZPT2us=";
|
||||
"winit-0.24.0" = "sha256-p/eAaDVmTHzfZ+0DiBA/9v06Z5o1dXVNoCgWRqC1ed0=";
|
||||
"xkbcommon-dl-0.1.0" = "sha256-ojokJF7ivN8JpXo+JAfX3kUOeXneNek7pzIy8D1n4oU=";
|
||||
};
|
||||
};
|
||||
|
||||
SKIA_SOURCE_DIR =
|
||||
let
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{ lib, fetchFromGitHub }:
|
||||
rec {
|
||||
version = "9.0.1369";
|
||||
version = "9.0.1403";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vim";
|
||||
repo = "vim";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-2YjWd07RMyiITnuI3/L0D9MiAxl2+9QVT1nrMBA9/dI=";
|
||||
hash = "sha256-z+zLRO0yqWu/l3eOzD7pmUvmqhmkH5W9z7wE9QWlsG0=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,4 +1,4 @@
|
|||
{ expat, fetchFromGitHub, ffmpeg, fontconfig, freetype, libarchive, libjpeg
|
||||
{ expat, fetchFromGitHub, ffmpeg_4, fontconfig, freetype, libarchive, libjpeg
|
||||
, libGLU, libGL, openal, pkg-config, sfml, lib, stdenv, zlib
|
||||
}:
|
||||
|
||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
buildInputs = [
|
||||
expat ffmpeg fontconfig freetype libarchive libjpeg libGLU libGL openal sfml zlib
|
||||
expat ffmpeg_4 fontconfig freetype libarchive libjpeg libGLU libGL openal sfml zlib
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
, enableCubeb ? true, libpulseaudio
|
||||
, enableFfmpegAudioDecoder ? true
|
||||
, enableFfmpegVideoDumper ? true
|
||||
, ffmpeg
|
||||
, ffmpeg_4
|
||||
, useDiscordRichPresence ? true, rapidjson
|
||||
, enableFdk ? false, fdk_aac
|
||||
}:
|
||||
|
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
|
|||
++ lib.optional enableSdl2 SDL2
|
||||
++ lib.optional enableQtTranslation qttools
|
||||
++ lib.optional enableCubeb libpulseaudio
|
||||
++ lib.optional (enableFfmpegAudioDecoder || enableFfmpegVideoDumper) ffmpeg
|
||||
++ lib.optional (enableFfmpegAudioDecoder || enableFfmpegVideoDumper) ffmpeg_4
|
||||
++ lib.optional useDiscordRichPresence rapidjson
|
||||
++ lib.optional enableFdk fdk_aac;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, stdenv, fetchurl, autoreconfHook, intltool, pkg-config, gtk3, SDL2, xorg
|
||||
, wrapGAppsHook, libcdio, nasm, ffmpeg, file
|
||||
, wrapGAppsHook, libcdio, nasm, ffmpeg_4, file
|
||||
, fetchpatch }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ autoreconfHook intltool pkg-config wrapGAppsHook ];
|
||||
buildInputs = [
|
||||
gtk3 SDL2 xorg.libXv xorg.libXtst libcdio nasm ffmpeg file
|
||||
gtk3 SDL2 xorg.libXv xorg.libXtst libcdio nasm ffmpeg_4 file
|
||||
xorg.libXxf86vm
|
||||
];
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
, SDL2
|
||||
, cmake
|
||||
, copyDesktopItems
|
||||
, ffmpeg
|
||||
, ffmpeg_4
|
||||
, glew
|
||||
, libffi
|
||||
, libsForQt5
|
||||
|
@ -59,7 +59,7 @@ stdenv.mkDerivation (self: {
|
|||
|
||||
buildInputs = [
|
||||
SDL2
|
||||
ffmpeg
|
||||
ffmpeg_4
|
||||
(glew.override { enableEGL = forceWayland; })
|
||||
libzip
|
||||
snappy
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
, curl
|
||||
, fetchFromGitHub
|
||||
, ffmpeg
|
||||
, ffmpeg_4
|
||||
, fluidsynth
|
||||
, gettext
|
||||
, hexdump
|
||||
|
@ -755,7 +756,7 @@ in
|
|||
ppsspp = mkLibretroCore {
|
||||
core = "ppsspp";
|
||||
extraNativeBuildInputs = [ cmake pkg-config python3 ];
|
||||
extraBuildInputs = [ libGLU libGL libzip ffmpeg snappy xorg.libX11 ];
|
||||
extraBuildInputs = [ libGLU libGL libzip ffmpeg_4 snappy xorg.libX11 ];
|
||||
makefile = "Makefile";
|
||||
cmakeFlags = [
|
||||
"-DLIBRETRO=ON"
|
||||
|
|
5145
pkgs/applications/emulators/ruffle/Cargo.lock
generated
Normal file
5145
pkgs/applications/emulators/ruffle/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -71,7 +71,18 @@ rustPlatform.buildRustPackage rec {
|
|||
"''${gappsWrapperArgs[@]}"
|
||||
'';
|
||||
|
||||
cargoSha256 = "sha256-h5qshincT48zYvbNLMXcvxw7Ovupnn9c93lpqY7oNtc=";
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"dasp-0.11.0" = "sha256-CZNgTLL4IG7EJR2xVp9X9E5yre8foY6VX2hUMRawxiI=";
|
||||
"flash-lso-0.5.0" = "sha256-WQ+x0fVIdJPKECc8zA8xITS0vc58e5zxvSHc+UfsO70=";
|
||||
"gc-arena-0.2.2" = "sha256-InZH9bzSKa+agqa3T9luWYNhoCwCdpg46mr4D+uWokc=";
|
||||
"h263-rs-0.1.0" = "sha256-E1/bWJ/UU3nVz2IKUDaPh3cyoDBbAJ08TnIo/FcABWY=";
|
||||
"nellymoser-rs-0.1.2" = "sha256-GykDQc1XwySOqfxW/OcSxkKCFJyVmwSLy/CEBcwcZJs=";
|
||||
"nihav_codec_support-0.1.0" = "sha256-rE9AIiQr+PnHC9xfDQULndSfFHSX4sqKkCAQYVNaJcQ=";
|
||||
"quick-xml-0.22.0" = "sha256-3rHOChcoBUWaUIJ+ZbJzRAJm2fpV0aa6/76qQB5ICgE=";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "An Adobe Flash Player emulator written in the Rust programming language.";
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
, alsa-lib
|
||||
, cmake
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, gtkmm3
|
||||
, libepoxy
|
||||
, libpng
|
||||
|
@ -34,25 +33,16 @@ stdenv.mkDerivation rec {
|
|||
"snes9x-gtk"
|
||||
else
|
||||
"snes9x";
|
||||
version = "1.62";
|
||||
version = "1.62.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snes9xgit";
|
||||
repo = "snes9x";
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-RcxFNmUbJp0rUugWOqQa3Sy/Hh18ZPOeDTxC0JY5GJQ=";
|
||||
hash = "sha256-y/tNJmmgigMEqjBWLyqxM/GQ2jcu4YXZjP0AbIjoPLg=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix cross-compilation, otherwise it fails to detect host compiler features
|
||||
# Doesn't affect non CC builds
|
||||
(fetchpatch {
|
||||
url = "https://github.com/snes9xgit/snes9x/commit/f39ab408f4151c16d44e45470cc0736ffb2803f8.patch";
|
||||
hash = "sha256-GMlHBsADEF+rycmEVgpWy220hZwld5D2e8fsYA7HblM=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
python3
|
||||
|
|
1381
pkgs/applications/file-managers/felix-fm/Cargo.lock
generated
Normal file
1381
pkgs/applications/file-managers/felix-fm/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -18,7 +18,12 @@ rustPlatform.buildRustPackage rec {
|
|||
sha256 = "sha256-qN/aOOiSj+HrjZQaDUkps0NORIdCBIevVjTYQm2G2Fg=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-xqWDWN3xkzBwgW0f64QhYHfsOS3Ed50jlQFuHG81/KY=";
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"syntect-5.0.0" = "sha256-ZVCQIVUKwNdV6tyep9THvyM132faDK48crgpWEHrRSQ=";
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
|
|
@ -13,11 +13,12 @@
|
|||
, ninja
|
||||
, pkg-config
|
||||
, wrapGAppsHook
|
||||
, nix-update-script
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "portfolio";
|
||||
version = "0.9.14";
|
||||
version = "0.9.15";
|
||||
|
||||
format = "other";
|
||||
|
||||
|
@ -25,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
owner = "tchx84";
|
||||
repo = "Portfolio";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-mrb202ON0B6VlY+U+jN0jJmbT36jQ8krNnuODynaCUA=";
|
||||
hash = "sha256-/OwHeeUjpjm35O7mySoAfKt7Rsp1EK2WE+tfiV3oiQg=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -65,12 +66,18 @@ python3.pkgs.buildPythonApplication rec {
|
|||
ln -s dev.tchx84.Portfolio "$out/bin/portfolio"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script {
|
||||
attrPath = "portfolio-filemanager";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A minimalist file manager for those who want to use Linux mobile devices";
|
||||
homepage = "https://github.com/tchx84/Portfolio";
|
||||
changelog = "https://github.com/tchx84/Portfolio/blob/v${version}/CHANGELOG.md";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ dotlambda ];
|
||||
maintainers = with maintainers; [ dotlambda chuangzhu ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,81 +1,53 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, fetchurl
|
||||
, python39
|
||||
, python310
|
||||
, nodePackages
|
||||
, wkhtmltopdf
|
||||
, nixosTests
|
||||
}:
|
||||
|
||||
let
|
||||
python = python39.override {
|
||||
python = python310.override {
|
||||
packageOverrides = self: super: {
|
||||
click = super.click.overridePythonAttrs (old: rec {
|
||||
version = "7.1.2";
|
||||
src = old.src.override {
|
||||
inherit version;
|
||||
sha256 = "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a";
|
||||
pypdf2 = super.pypdf2.overridePythonAttrs (old: rec {
|
||||
version = "1.28.6";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "py-pdf";
|
||||
repo = "pypdf";
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-WnRbsy/PJcotZqY9mJPLadrYqkXykOVifLIbDyNf4s4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [];
|
||||
|
||||
nativeCheckInputs = with self; [ pytestCheckHook pillow ];
|
||||
});
|
||||
flask = super.flask.overridePythonAttrs (old: rec {
|
||||
version = "1.1.4";
|
||||
version = "2.1.3";
|
||||
src = old.src.override {
|
||||
inherit version;
|
||||
sha256 = "0fbeb6180d383a9186d0d6ed954e0042ad9f18e0e8de088b2b419d526927d196";
|
||||
};
|
||||
});
|
||||
itsdangerous = super.itsdangerous.overridePythonAttrs (old: rec {
|
||||
version = "1.1.0";
|
||||
src = old.src.override {
|
||||
inherit version;
|
||||
sha256 = "321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19";
|
||||
};
|
||||
});
|
||||
jinja2 = super.jinja2.overridePythonAttrs (old: rec {
|
||||
version = "2.11.3";
|
||||
src = old.src.override {
|
||||
inherit version;
|
||||
sha256 = "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6";
|
||||
};
|
||||
});
|
||||
markupsafe = super.markupsafe.overridePythonAttrs (old: rec {
|
||||
version = "2.0.1";
|
||||
src = old.src.override {
|
||||
inherit version;
|
||||
sha256 = "594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a";
|
||||
hash = "sha256-FZcuUBffBXXD1sCQuhaLbbkCWeYgrI1+qBOjlrrVtss=";
|
||||
};
|
||||
});
|
||||
werkzeug = super.werkzeug.overridePythonAttrs (old: rec {
|
||||
version = "1.0.1";
|
||||
version = "2.1.2";
|
||||
src = old.src.override {
|
||||
inherit version;
|
||||
sha256 = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c";
|
||||
hash = "sha256-HOCOgJPtZ9Y41jh5/Rujc1gX96gN42dNKT9ZhPJftuY=";
|
||||
};
|
||||
nativeCheckInputs = old.nativeCheckInputs ++ (with self; [
|
||||
requests
|
||||
]);
|
||||
disabledTests = old.disabledTests ++ [
|
||||
# ResourceWarning: unclosed file
|
||||
"test_basic"
|
||||
"test_date_to_unix"
|
||||
"test_easteregg"
|
||||
"test_file_rfc2231_filename_continuations"
|
||||
"test_find_terminator"
|
||||
"test_save_to_pathlib_dst"
|
||||
];
|
||||
disabledTestPaths = old.disabledTestPaths ++ [
|
||||
# ResourceWarning: unclosed file
|
||||
"tests/test_http.py"
|
||||
];
|
||||
});
|
||||
};
|
||||
};
|
||||
in python.pkgs.buildPythonApplication rec {
|
||||
pname = "odoo";
|
||||
|
||||
odoo_version = "15.0";
|
||||
odoo_release = "20220506";
|
||||
|
||||
odoo_release = "20230317";
|
||||
in python.pkgs.buildPythonApplication rec {
|
||||
pname = "odoo";
|
||||
version = "${odoo_version}.${odoo_release}";
|
||||
|
||||
format = "setuptools";
|
||||
|
@ -84,13 +56,20 @@ in python.pkgs.buildPythonApplication rec {
|
|||
src = fetchurl {
|
||||
url = "https://nightly.odoo.com/${odoo_version}/nightly/src/odoo_${version}.tar.gz";
|
||||
name = "${pname}-${version}";
|
||||
sha256 = "0mwlmfz5nhvg483ldrmlrjhwaf284c0c0pxf0fb0sfx2dnjjj3ib"; # odoo
|
||||
hash = "sha256-nJEFPtZhq7DLLDCL9xt0RV75d/a45o6hBKsUlQAWh1U="; # odoo
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
tar xfz $src
|
||||
cd odoo*
|
||||
'';
|
||||
|
||||
# needs some investigation
|
||||
doCheck = false;
|
||||
|
||||
makeWrapperArgs = [ "--prefix" "PATH" ":" "${lib.makeBinPath [ wkhtmltopdf nodePackages.rtlcss ]}" ];
|
||||
makeWrapperArgs = [
|
||||
"--prefix" "PATH" ":" "${lib.makeBinPath [ wkhtmltopdf nodePackages.rtlcss ]}"
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python.pkgs; [
|
||||
babel
|
||||
|
@ -101,7 +80,6 @@ in python.pkgs.buildPythonApplication rec {
|
|||
freezegun
|
||||
gevent
|
||||
greenlet
|
||||
html2text
|
||||
idna
|
||||
jinja2
|
||||
libsass
|
||||
|
@ -127,6 +105,7 @@ in python.pkgs.buildPythonApplication rec {
|
|||
qrcode
|
||||
reportlab
|
||||
requests
|
||||
setuptools
|
||||
vobject
|
||||
werkzeug
|
||||
xlrd
|
||||
|
@ -135,10 +114,8 @@ in python.pkgs.buildPythonApplication rec {
|
|||
zeep
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
tar xfz $src
|
||||
cd odoo*
|
||||
'';
|
||||
# takes 5+ minutes and there are not files to strip
|
||||
dontStrip = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = ./update.sh;
|
||||
|
|
|
@ -22,6 +22,6 @@ fi
|
|||
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||
|
||||
sed -ri "s| sha256.+ # odoo| sha256 = \"$(nix-prefetch-url --type sha256 "https://nightly.odoo.com/${VERSION}/nightly/src/odoo_${latestVersion}.tar.gz")\"; # odoo|g" default.nix
|
||||
sed -ri "s| hash.+ # odoo| hash = \"$(nix-prefetch-url --type sha256 "https://nightly.odoo.com/${VERSION}/nightly/src/odoo_${latestVersion}.tar.gz")\"; # odoo|g" default.nix
|
||||
sed -ri "s| odoo_version.+| odoo_version = \"$VERSION\";|" default.nix
|
||||
sed -ri "s| odoo_release.+| odoo_release = \"$RELEASE\";|" default.nix
|
||||
|
|
|
@ -47,13 +47,13 @@ in
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "imagemagick";
|
||||
version = "7.1.1-4";
|
||||
version = "7.1.1-5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ImageMagick";
|
||||
repo = "ImageMagick";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-NGtctktlaKIZ3KZUysXBUTHtvAe29RYW3Q4SL6/Eufw=";
|
||||
hash = "sha256-UR5BHCWaecbSF49IMKP/fE+oVVjMlTK41bKcGMtD+O4=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
, boost
|
||||
, eigen
|
||||
, exiv2
|
||||
, ffmpeg
|
||||
, ffmpeg_4
|
||||
, flex
|
||||
, graphviz
|
||||
, imagemagick
|
||||
|
@ -70,7 +70,7 @@ mkDerivation rec {
|
|||
boost
|
||||
eigen
|
||||
exiv2
|
||||
ffmpeg
|
||||
ffmpeg_4
|
||||
flex
|
||||
graphviz
|
||||
imagemagick
|
||||
|
|
|
@ -18,15 +18,15 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "drawing";
|
||||
version = "1.0.1";
|
||||
version = "1.0.2";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "maoschanz";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-9nosriI3Kdf1M5/TYFWn1jtQTqNKhBcFh7q3E4Uoq4s=";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-kNF9db8NoHWW1A0WEFQzxHqAQ4A7kxInMRZFJOXQX/k=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -64,6 +64,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
meta = with lib; {
|
||||
description = "A free basic image editor, similar to Microsoft Paint, but aiming at the GNOME desktop";
|
||||
homepage = "https://maoschanz.github.io/drawing/";
|
||||
changelog = "https://github.com/maoschanz/drawing/releases/tag/${version}";
|
||||
maintainers = with maintainers; [ mothsart ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
|
|
2357
pkgs/applications/graphics/emblem/Cargo.lock
generated
Normal file
2357
pkgs/applications/graphics/emblem/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -27,10 +27,11 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "sha256-kNPV1SHkNTBXbMzDJGuDbaGz1WkBqMpVgZKjsh7ejmo=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-yhXxlUOe+mWVpAEB0yN9m5S5yfNRrHnx7XHLXbbf1hc=";
|
||||
cargoDeps = rustPlatform.importCargoLock {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"librsvg-2.55.90" = "sha256-IegUvM1HcsRiYS6woaP1aeWKtgBxim9FkdZY9BSscPY=";
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -72,5 +72,6 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.gpl2;
|
||||
homepage = "http://www.pawfal.org/fluxus/";
|
||||
maintainers = [ maintainers.brainrape ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -78,5 +78,6 @@ clangStdenv.mkDerivation rec {
|
|||
platforms = platforms.linux;
|
||||
mainProgram = "decoder";
|
||||
maintainers = with maintainers; [ zendo ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,24 +1,16 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fetchpatch, libjpeg }:
|
||||
{ lib, stdenv, fetchFromGitHub, libjpeg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.5.2";
|
||||
version = "1.5.3";
|
||||
pname = "jpegoptim";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tjko";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-PROQvOqsis8we58OOZ/kuY+L/CoV7XfnY9wvrpsTJu8=";
|
||||
sha256 = "sha256-vNjXY/Qz6IT7rV+as2EBkSWd4O98slcXLNgAO9Dkc9E=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "CVE-2023-27781.patch";
|
||||
url = "https://github.com/tjko/jpegoptim/commit/29a073ad297a0954f5e865264e24755d0ffe53ed.patch";
|
||||
hash = "sha256-YUjVg0cvElhzMG3b4t5bqcqnHAuzDoNvSqe0yvlgX4E=";
|
||||
})
|
||||
];
|
||||
|
||||
# There are no checks, it seems.
|
||||
doCheck = false;
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue