Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2024-03-10 00:02:48 +00:00 committed by GitHub
commit 3ce29d4386
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
85 changed files with 1716 additions and 745 deletions

View File

@ -306,18 +306,129 @@ rec {
in if drv == null then null else
deepSeq drv' drv';
/* Make a set of packages with a common scope. All packages called
with the provided `callPackage` will be evaluated with the same
arguments. Any package in the set may depend on any other. The
`overrideScope'` function allows subsequent modification of the package
set in a consistent way, i.e. all packages in the set will be
called with the overridden packages. The package sets may be
hierarchical: the packages in the set are called with the scope
provided by `newScope` and the set provides a `newScope` attribute
which can form the parent scope for later package sets.
/**
Make an attribute set (a "scope") from functions that take arguments from that same attribute set.
See [](#ex-makeScope) for how to use it.
Type:
makeScope :: (AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a) -> (AttrSet -> AttrSet) -> AttrSet
# Inputs
1. `newScope` (`AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a`)
A function that takes an attribute set `attrs` and returns what ends up as `callPackage` in the output.
Typical values are `callPackageWith` or the output attribute `newScope`.
2. `f` (`AttrSet -> AttrSet`)
A function that takes an attribute set as returned by `makeScope newScope f` (a "scope") and returns any attribute set.
This function is used to compute the fixpoint of the resulting scope using `callPackage`.
Its argument is the lazily evaluated reference to the value of that fixpoint, and is typically called `self` or `final`.
See [](#ex-makeScope) for how to use it.
See [](#sec-functions-library-fixedPoints) for details on fixpoint computation.
# Output
`makeScope` returns an attribute set of a form called `scope`, which also contains the final attributes produced by `f`:
```
scope :: {
callPackage :: ((AttrSet -> a) | Path) -> AttrSet -> a
newScope = AttrSet -> scope
overrideScope = (scope -> scope -> AttrSet) -> scope
packages :: AttrSet -> AttrSet
}
```
- `callPackage` (`((AttrSet -> a) | Path) -> AttrSet -> a`)
A function that
1. Takes a function `p`, or a path to a Nix file that contains a function `p`, which takes an attribute set and returns value of arbitrary type `a`,
2. Takes an attribute set `args` with explicit attributes to pass to `p`,
3. Calls `f` with attributes from the original attribute set `attrs` passed to `newScope` updated with `args, i.e. `attrs // args`, if they match the attributes in the argument of `p`.
All such functions `p` will be called with the same value for `attrs`.
See [](#ex-makeScope-callPackage) for how to use it.
- `newScope` (`AttrSet -> scope`)
Takes an attribute set `attrs` and returns a scope that extends the original scope.
- `overrideScope` (`(scope -> scope -> AttrSet) -> scope`)
Takes a function `g` of the form `final: prev: { # attributes }` to act as an overlay on `f`, and returns a new scope with values determined by `extends g f`.
See [](https://nixos.org/manual/nixpkgs/unstable/#function-library-lib.fixedPoints.extends) for details.
This allows subsequent modification of the final attribute set in a consistent way, i.e. all functions `p` invoked with `callPackage` will be called with the modified values.
- `packages` (`AttrSet -> AttrSet`)
The value of the argument `f` to `makeScope`.
- final attributes
The final values returned by `f`.
# Examples
:::{#ex-makeScope .example}
# Create an interdependent package set on top of `pkgs`
The functions in `foo.nix` and `bar.nix` can depend on each other, in the sense that `foo.nix` can contain a function that expects `bar` as an attribute in its argument.
```nix
let
pkgs = import <nixpkgs> { };
in
pkgs.lib.makeScope pkgs.newScope (self: {
foo = self.callPackage ./foo.nix { };
bar = self.callPackage ./bar.nix { };
})
```
evaluates to
```nix
{
callPackage = «lambda»;
newScope = «lambda»;
overrideScope = «lambda»;
packages = «lambda»;
foo = «derivation»;
bar = «derivation»;
}
```
:::
:::{#ex-makeScope-callPackage .example}
# Using `callPackage` from a scope
```nix
let
pkgs = import <nixpkgs> { };
inherit (pkgs) lib;
scope = lib.makeScope lib.callPackageWith (self: { a = 1; b = 2; });
three = scope.callPackage ({ a, b }: a + b) { };
four = scope.callPackage ({ a, b }: a + b) { a = 2; };
in
[ three four ]
```
evaluates to
```nix
[ 3 4 ]
```
:::
# Type
```
makeScope :: (AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a) -> (AttrSet -> AttrSet) -> scope
```
*/
makeScope = newScope: f:
let self = f self // {

View File

@ -121,6 +121,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- The `power.ups` module now generates `upsd.conf`, `upsd.users` and `upsmon.conf` automatically from a set of new configuration options. This breaks compatibility with existing `power.ups` setups where these files were created manually. Back up these files before upgrading NixOS.
- `unrar` was updated to v7. See [changelog](https://www.rarlab.com/unrar7notes.htm) for more information.
- `k3s` was updated to [v1.29](https://github.com/k3s-io/k3s/releases/tag/v1.29.1%2Bk3s2). See [changelog and upgrade notes](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#urgent-upgrade-notes) for more information.
- `k9s` was updated to v0.31. There have been various breaking changes in the config file format,

View File

@ -66,7 +66,7 @@ with lib;
networkmanager-sstp = super.networkmanager-vpnc.override { withGnome = false; };
networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; };
pango = super.pango.override { x11Support = false; };
pinentry = super.pinentry.override { enabledFlavors = [ "curses" "tty" "emacs" ]; withLibsecret = false; };
pinentry-curses = super.pinentry-curses.override { withLibsecret = false; };
pipewire = super.pipewire.override { vulkanSupport = false; x11Support = false; };
pythonPackagesExtensions = super.pythonPackagesExtensions ++ [
(python-final: python-prev: {

View File

@ -1,8 +1,7 @@
{ config, lib, pkgs, ... }:
with lib;
let
inherit (lib) mkRemovedOptionModule mkOption mkPackageOption types mkIf optionalString;
cfg = config.programs.gnupg;
@ -26,8 +25,10 @@ let
"curses";
in
{
imports = [
(mkRemovedOptionModule [ "programs" "gnupg" "agent" "pinentryFlavor" ] "Use programs.gnupg.agent.pinentryPackage instead")
];
options.programs.gnupg = {
package = mkPackageOption pkgs "gnupg" { };
@ -66,17 +67,17 @@ in
'';
};
agent.pinentryFlavor = mkOption {
type = types.nullOr (types.enum pkgs.pinentry.flavors);
example = "gnome3";
default = defaultPinentryFlavor;
defaultText = literalMD ''matching the configured desktop environment'';
agent.pinentryPackage = mkOption {
type = types.nullOr types.package;
example = lib.literalMD "pkgs.pinentry-gnome3";
default = pkgs.pinentry-curses;
defaultText = lib.literalMD "matching the configured desktop environment or `pkgs.pinentry-curses`";
description = lib.mdDoc ''
Which pinentry interface to use. If not null, the path to the
pinentry binary will be set in /etc/gnupg/gpg-agent.conf.
If not set at all, it'll pick an appropriate flavor depending on the
system configuration (qt flavor for lxqt and plasma5, gtk2 for xfce
4.12, gnome3 on all other systems with X enabled, ncurses otherwise).
Which pinentry package to use. The path to the mainProgram as defined in
the package's meta attriutes will be set in /etc/gnupg/gpg-agent.conf.
If not set by the user, it'll pick an appropriate flavor depending on the
system configuration (qt flavor for lxqt and plasma5, gtk2 for xfce,
gnome3 on all other systems with X enabled, curses otherwise).
'';
};
@ -102,9 +103,8 @@ in
};
config = mkIf cfg.agent.enable {
programs.gnupg.agent.settings = {
pinentry-program = lib.mkIf (cfg.agent.pinentryFlavor != null)
"${pkgs.pinentry.${cfg.agent.pinentryFlavor}}/bin/pinentry";
programs.gnupg.agent.settings = mkIf (cfg.agent.pinentryPackage != null) {
pinentry-program = lib.getExe cfg.agent.pinentryPackage;
};
environment.etc."gnupg/gpg-agent.conf".source =
@ -207,9 +207,9 @@ in
wantedBy = [ "sockets.target" ];
};
services.dbus.packages = mkIf (cfg.agent.pinentryFlavor == "gnome3") [ pkgs.gcr ];
services.dbus.packages = mkIf (lib.elem "gnome3" (cfg.agent.pinentryPackage.flavors or [])) [ pkgs.gcr ];
environment.systemPackages = with pkgs; [ cfg.package ];
environment.systemPackages = [ cfg.package ];
environment.interactiveShellInit = ''
# Bind gpg-agent to this TTY if gpg commands are used.
@ -230,12 +230,10 @@ in
'';
assertions = [
{ assertion = cfg.agent.enableSSHSupport -> !config.programs.ssh.startAgent;
{
assertion = cfg.agent.enableSSHSupport -> !config.programs.ssh.startAgent;
message = "You can't use ssh-agent and GnuPG agent with SSH support enabled at the same time!";
}
];
};
# uses attributes of the linked package
meta.buildDocsInSandbox = false;
}

View File

@ -152,6 +152,7 @@ in {
'';
}
];
environment = {
systemPackages = optional (cfg.package != null) cfg.package ++ cfg.extraPackages;
# Needed for the default wallpaper:
@ -166,8 +167,12 @@ in {
"sway/config".source = mkOptionDefault "${cfg.package}/etc/sway/config";
};
};
programs.gnupg.agent.pinentryPackage = lib.mkDefault pkgs.pinentry-gnome3;
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913
xdg.portal.config.sway.default = mkDefault [ "wlr" "gtk" ];
# To make a Sway session available if a display manager like SDDM is enabled:
services.xserver.displayManager.sessionPackages = optionals (cfg.package != null) [ cfg.package ]; }
(import ./wayland-session.nix { inherit lib pkgs; })

View File

@ -14,11 +14,11 @@ let
customEtc = {
"fwupd/fwupd.conf" = {
source = format.generate "fwupd.conf" {
source = format.generate "fwupd.conf" ({
fwupd = cfg.daemonSettings;
} // lib.optionalAttrs (lib.length (lib.attrNames cfg.uefiCapsuleSettings) != 0) {
uefi_capsule = cfg.uefiCapsuleSettings;
};
});
# fwupd tries to chmod the file if it doesn't have the right permissions
mode = "0640";
};

View File

@ -37,7 +37,7 @@ in
type = lib.types.str;
default = "127.0.0.1:8009";
example = "[::]:8008";
description = lib.mdDoc "The interface and port to listen on.";
description = lib.mdDoc "The interface and port or path (for unix socket) to listen on.";
};
SYNCV3_LOG_LEVEL = lib.mkOption {
@ -98,6 +98,7 @@ in
ExecStart = lib.getExe cfg.package;
StateDirectory = "matrix-sliding-sync";
WorkingDirectory = "%S/matrix-sliding-sync";
RuntimeDirectory = "matrix-sliding-sync";
Restart = "on-failure";
RestartSec = "1s";
};

View File

@ -6,9 +6,6 @@ with lib;
let
cfg = config.services.yubikey-agent;
# reuse the pinentryFlavor option from the gnupg module
pinentryFlavor = config.programs.gnupg.agent.pinentryFlavor;
in
{
###### interface
@ -41,13 +38,8 @@ in
# This overrides the systemd user unit shipped with the
# yubikey-agent package
systemd.user.services.yubikey-agent = mkIf (pinentryFlavor != null) {
path = [ pkgs.pinentry.${pinentryFlavor} ];
wantedBy = [
(if pinentryFlavor == "tty" || pinentryFlavor == "curses" then
"default.target"
else
"graphical-session.target")
];
path = [ config.programs.gnupg.agent.pinentryPackage ];
wantedBy = [ "default.target" ];
};
# Yubikey-agent expects pcsd to be running in order to function.

View File

@ -66,6 +66,7 @@ in
services.upower.enable = mkDefault config.powerManagement.enable;
networking.networkmanager.enable = mkDefault true;
programs.dconf.enable = mkDefault true;
programs.gnupg.agent.pinentryPackage = pkgs.pinentry-qt;
fonts.packages = with pkgs; [ noto-fonts ];
xdg.mime.enable = true;

View File

@ -62,6 +62,8 @@ in
# Link some extra directories in /run/current-system/software/share
environment.pathsToLink = [ "/share" ];
programs.gnupg.agent.pinentryPackage = pkgs.pinentry-qt;
# virtual file systems support for PCManFM-QT
services.gvfs.enable = true;

View File

@ -336,6 +336,7 @@ in
serif = [ "Noto Serif" ];
};
programs.gnupg.agent.pinentryPackage = pkgs.pinentry-qt;
programs.ssh.askPassword = mkDefault "${pkgs.plasma5Packages.ksshaskpass.out}/bin/ksshaskpass";
# Enable helpful DBus services.

View File

@ -175,7 +175,7 @@ in {
++ lib.optional config.powerManagement.enable powerdevil
++ lib.optional config.services.colord.enable colord-kde
++ lib.optional config.services.hardware.bolt.enable plasma-thunderbolt
++ lib.optionals config.services.samba.enable [kdenetwork-filesharing pkgs.samba]
++ lib.optional config.services.samba.enable kdenetwork-filesharing
++ lib.optional config.services.xserver.wacom.enable wacomtablet
++ lib.optional config.services.flatpak.enable flatpak-kcm;
@ -210,6 +210,7 @@ in {
serif = ["Noto Serif"];
};
programs.gnupg.agent.pinentryPackage = pkgs.pinentry-qt;
programs.ssh.askPassword = mkDefault "${kdePackages.ksshaskpass.out}/bin/ksshaskpass";
# Enable helpful DBus services.

View File

@ -131,6 +131,7 @@ in
xfdesktop
] ++ optional cfg.enableScreensaver xfce4-screensaver) excludePackages;
programs.gnupg.agent.pinentryPackage = pkgs.pinentry-gtk2;
programs.xfconf.enable = true;
programs.thunar.enable = true;

View File

@ -749,6 +749,8 @@ in
boot.kernel.sysctl."fs.inotify.max_user_instances" = mkDefault 524288;
boot.kernel.sysctl."fs.inotify.max_user_watches" = mkDefault 524288;
programs.gnupg.agent.pinentryPackage = lib.mkDefault pkgs.pinentry-gnome3;
systemd.defaultUnit = mkIf cfg.autorun "graphical.target";
systemd.services.display-manager =

View File

@ -26,7 +26,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
programs.gnupg = {
agent.enable = true;
agent.pinentryFlavor = "tty";
dirmngr.enable = true;
};
};

View File

@ -9,7 +9,7 @@
# use ./update.sh to help with updating for each quarterly release
#
# then, to test:
# for e in cpp dsl modeling platform sdk java jee committers rcp; do for s in pkgs pkgsCross.aarch64-multiplatform; do echo; echo $s $e; nix build -f default.nix ${s}.eclipses.eclipse-${e} -o eclipse-${s}-${e}; done; done
# for e in cpp dsl embedcpp modeling platform sdk java jee committers rcp; do for s in pkgs pkgsCross.aarch64-multiplatform; do echo; echo $s $e; nix build -f default.nix ${s}.eclipses.eclipse-${e} -o eclipse-${s}-${e}; done; done
let
platform_major = "4";
@ -64,6 +64,21 @@ in rec {
};
};
### Eclipse IDE for Embedded C/C++ Developers
eclipse-embedcpp = buildEclipse {
name = "eclipse-embedcpp-${platform_major}.${platform_minor}";
description = "Eclipse IDE for Embedded C/C++ Developers";
src =
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-embedcpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-c/dd/3PzTSnrtaa2gNw+crdNu/xA428hYr8YNeBSEyw=";
aarch64 = "sha256-tF6o3NpFNxXALf2UA8tLzFhqYe46cI2swvym8vDSxNI=";
}.${arch};
};
};
### Eclipse Modeling
eclipse-modeling = buildEclipse {

View File

@ -43,8 +43,9 @@ let
rev = "e43f383dae3a35237e42f6acfe1207a8e7e7bdf5";
hash = "sha256-NAMa78KhAuoJfp0Cb0Codz84sRfRQ1JhSLNYRI4GBPM=";
};
# possibly a real issue, but that version is not supported anymore
disabledTests = [ "test_should_highlight_bash_syntax_without_name" ];
doCheck = false;
});
};
};

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "rke";
version = "1.5.5";
version = "1.5.6";
src = fetchFromGitHub {
owner = "rancher";
repo = pname;
rev = "v${version}";
hash = "sha256-TPgXjM7RyjI8NmfiZHkHF3txfzAwjOg7kGODBj37JEI=";
hash = "sha256-yw7GacSvPKXStmYtG4oQQlIca5Svk4pHDliMDVhyPRI=";
};
vendorHash = "sha256-0H9K3/BwdSExADFHaYtn2RrHZ6AyEjzlBKYXL/Ow9JA=";

View File

@ -89,16 +89,16 @@ checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
[[package]]
name = "arc-swap"
version = "1.6.0"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
checksum = "7b3d0060af21e8d11a926981cc00c6c1541aa91dd64b9f881985c3da1094425f"
[[package]]
name = "article_scraper"
version = "2.0.0"
source = "git+https://gitlab.com/news-flash/article_scraper.git#0dcebe8b49b8d867810d0f7ff155e502f637bb96"
dependencies = [
"base64",
"base64 0.21.7",
"chrono",
"encoding_rs",
"escaper",
@ -139,7 +139,7 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb"
dependencies = [
"event-listener 5.1.0",
"event-listener 5.2.0",
"event-listener-strategy 0.5.0",
"futures-core",
"pin-project-lite",
@ -152,7 +152,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
dependencies = [
"concurrent-queue",
"event-listener 5.1.0",
"event-listener 5.2.0",
"event-listener-strategy 0.5.0",
"futures-core",
"pin-project-lite",
@ -259,7 +259,7 @@ dependencies = [
"async-signal",
"blocking",
"cfg-if",
"event-listener 5.1.0",
"event-listener 5.2.0",
"futures-lite",
"rustix",
"windows-sys 0.52.0",
@ -273,7 +273,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.51",
"syn 2.0.52",
]
[[package]]
@ -308,7 +308,7 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.51",
"syn 2.0.52",
]
[[package]]
@ -345,10 +345,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
[[package]]
name = "bigdecimal"
version = "0.4.2"
name = "base64"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c06619be423ea5bb86c95f087d5707942791a08a85530df0db2209a3ecfb8bc9"
checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
[[package]]
name = "bigdecimal"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9324c8014cd04590682b34f1e9448d38f0674d0f7b2dc553331016ef0e4e9ebc"
dependencies = [
"autocfg",
"libm",
@ -546,9 +552,9 @@ dependencies = [
[[package]]
name = "cc"
version = "1.0.88"
version = "1.0.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc"
checksum = "a0ba8f7aaa012f30d5b2861462f6708eccd49c3c39863fe083a308035f63d723"
[[package]]
name = "cfg-expr"
@ -583,7 +589,7 @@ dependencies = [
"js-sys",
"num-traits",
"wasm-bindgen",
"windows-targets 0.52.3",
"windows-targets 0.52.4",
]
[[package]]
@ -617,7 +623,7 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "013b56b25f5e10cae0fac4564fd64aa54766a860b896fc2d582f97616be6e92c"
dependencies = [
"base64",
"base64 0.21.7",
"chrono",
"log",
"reqwest",
@ -709,9 +715,9 @@ dependencies = [
[[package]]
name = "crossbeam-channel"
version = "0.5.11"
version = "0.5.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b"
checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95"
dependencies = [
"crossbeam-utils",
]
@ -836,7 +842,7 @@ dependencies = [
"diesel_table_macro_syntax",
"proc-macro2",
"quote",
"syn 2.0.51",
"syn 2.0.52",
]
[[package]]
@ -856,7 +862,7 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc5557efc453706fed5e4fa85006fe9817c224c3f480a34c7e5959fd700921c5"
dependencies = [
"syn 2.0.51",
"syn 2.0.52",
]
[[package]]
@ -956,7 +962,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
"syn 2.0.51",
"syn 2.0.52",
]
[[package]]
@ -977,7 +983,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.51",
"syn 2.0.52",
]
[[package]]
@ -1033,9 +1039,9 @@ dependencies = [
[[package]]
name = "event-listener"
version = "5.1.0"
version = "5.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7ad6fd685ce13acd6d9541a30f6db6567a7a24c9ffd4ba2955d29e3f22c8b27"
checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91"
dependencies = [
"concurrent-queue",
"parking",
@ -1058,7 +1064,7 @@ version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
dependencies = [
"event-listener 5.1.0",
"event-listener 5.2.0",
"pin-project-lite",
]
@ -1308,7 +1314,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.51",
"syn 2.0.52",
]
[[package]]
@ -1518,7 +1524,7 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
"syn 2.0.51",
"syn 2.0.52",
]
[[package]]
@ -1740,9 +1746,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]]
name = "hermit-abi"
version = "0.3.8"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "379dada1584ad501b383485dd706b8afb7a70fcbc7f4da7d780638a5a6124a60"
checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
[[package]]
name = "hex"
@ -1793,9 +1799,9 @@ dependencies = [
[[package]]
name = "http"
version = "0.2.11"
version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
dependencies = [
"bytes",
"fnv",
@ -1947,9 +1953,9 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
[[package]]
name = "indexmap"
version = "2.2.3"
version = "2.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177"
checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4"
dependencies = [
"equivalent",
"hashbrown",
@ -2046,9 +2052,9 @@ dependencies = [
[[package]]
name = "js-sys"
version = "0.3.68"
version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
dependencies = [
"wasm-bindgen",
]
@ -2187,9 +2193,9 @@ dependencies = [
[[package]]
name = "log"
version = "0.4.20"
version = "0.4.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
dependencies = [
"serde",
]
@ -2250,7 +2256,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c42f95f9d296f2dcb50665f507ed5a68a171453142663ce44d77a4eb217b053"
dependencies = [
"aes",
"base64",
"base64 0.21.7",
"block-modes",
"crc-any",
"des",
@ -2382,7 +2388,7 @@ version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "babaa4cdaadf81050c03f93f16375cf305a29b2d6f099d66ff40aae93afcfee2"
dependencies = [
"base64",
"base64 0.21.7",
"log",
"reqwest",
"serde",
@ -2404,9 +2410,9 @@ dependencies = [
[[package]]
name = "mio"
version = "0.8.10"
version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
dependencies = [
"libc",
"wasi",
@ -2474,7 +2480,7 @@ source = "git+https://gitlab.com/news_flash/news_flash.git#46cf25eff46655e314ae3
dependencies = [
"article_scraper",
"async-trait",
"base64",
"base64 0.21.7",
"bitflags 2.4.2",
"bytes",
"chrono",
@ -2522,7 +2528,7 @@ name = "news_flash_gtk"
version = "0.0.0"
dependencies = [
"ashpd",
"base64",
"base64 0.22.0",
"bytesize",
"chrono",
"color-backtrace",
@ -2580,7 +2586,7 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "488e5fb51484deb6bc5bc22f0b0db4902ae7e391d075f8d1a1b9a9674ea326d3"
dependencies = [
"base64",
"base64 0.21.7",
"log",
"reqwest",
"serde",
@ -2701,9 +2707,9 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
[[package]]
name = "opaque-debug"
version = "0.3.0"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
[[package]]
name = "openssl"
@ -2728,7 +2734,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.51",
"syn 2.0.52",
]
[[package]]
@ -3193,9 +3199,9 @@ dependencies = [
[[package]]
name = "regex-automata"
version = "0.4.5"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
dependencies = [
"aho-corasick",
"memchr",
@ -3215,7 +3221,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251"
dependencies = [
"async-compression",
"base64",
"base64 0.21.7",
"bytes",
"cookie",
"cookie_store",
@ -3287,7 +3293,7 @@ dependencies = [
"quote",
"rust-embed-utils",
"shellexpand",
"syn 2.0.51",
"syn 2.0.52",
"walkdir",
]
@ -3335,7 +3341,7 @@ version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
dependencies = [
"base64",
"base64 0.21.7",
]
[[package]]
@ -3446,7 +3452,7 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.51",
"syn 2.0.52",
]
[[package]]
@ -3468,7 +3474,7 @@ checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.51",
"syn 2.0.52",
]
[[package]]
@ -3696,9 +3702,9 @@ dependencies = [
[[package]]
name = "syn"
version = "2.0.51"
version = "2.0.52"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ab617d94515e94ae53b8406c628598680aa0c9587474ecbe58188f7b345d66c"
checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07"
dependencies = [
"proc-macro2",
"quote",
@ -3812,7 +3818,7 @@ checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.51",
"syn 2.0.52",
]
[[package]]
@ -3918,7 +3924,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.51",
"syn 2.0.52",
]
[[package]]
@ -4024,7 +4030,7 @@ dependencies = [
"serde",
"serde_spanned",
"toml_datetime",
"winnow 0.6.2",
"winnow 0.6.5",
]
[[package]]
@ -4052,7 +4058,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.51",
"syn 2.0.52",
]
[[package]]
@ -4240,9 +4246,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
name = "walkdir"
version = "2.4.0"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
dependencies = [
"same-file",
"winapi-util",
@ -4265,9 +4271,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
version = "0.2.91"
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@ -4275,24 +4281,24 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.91"
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
"syn 2.0.51",
"syn 2.0.52",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
version = "0.4.41"
version = "0.4.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
dependencies = [
"cfg-if",
"js-sys",
@ -4302,9 +4308,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.91"
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@ -4312,22 +4318,22 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.91"
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.51",
"syn 2.0.52",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.91"
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
[[package]]
name = "wasm-streams"
@ -4344,9 +4350,9 @@ dependencies = [
[[package]]
name = "web-sys"
version = "0.3.68"
version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
dependencies = [
"js-sys",
"wasm-bindgen",
@ -4434,7 +4440,7 @@ version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
dependencies = [
"windows-targets 0.52.3",
"windows-targets 0.52.4",
]
[[package]]
@ -4452,7 +4458,7 @@ version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
"windows-targets 0.52.3",
"windows-targets 0.52.4",
]
[[package]]
@ -4472,17 +4478,17 @@ dependencies = [
[[package]]
name = "windows-targets"
version = "0.52.3"
version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f"
checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
dependencies = [
"windows_aarch64_gnullvm 0.52.3",
"windows_aarch64_msvc 0.52.3",
"windows_i686_gnu 0.52.3",
"windows_i686_msvc 0.52.3",
"windows_x86_64_gnu 0.52.3",
"windows_x86_64_gnullvm 0.52.3",
"windows_x86_64_msvc 0.52.3",
"windows_aarch64_gnullvm 0.52.4",
"windows_aarch64_msvc 0.52.4",
"windows_i686_gnu 0.52.4",
"windows_i686_msvc 0.52.4",
"windows_x86_64_gnu 0.52.4",
"windows_x86_64_gnullvm 0.52.4",
"windows_x86_64_msvc 0.52.4",
]
[[package]]
@ -4493,9 +4499,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.52.3"
version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6"
checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
[[package]]
name = "windows_aarch64_msvc"
@ -4505,9 +4511,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
name = "windows_aarch64_msvc"
version = "0.52.3"
version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f"
checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
[[package]]
name = "windows_i686_gnu"
@ -4517,9 +4523,9 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
name = "windows_i686_gnu"
version = "0.52.3"
version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb"
checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
[[package]]
name = "windows_i686_msvc"
@ -4529,9 +4535,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
name = "windows_i686_msvc"
version = "0.52.3"
version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58"
checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
[[package]]
name = "windows_x86_64_gnu"
@ -4541,9 +4547,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
name = "windows_x86_64_gnu"
version = "0.52.3"
version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614"
checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
[[package]]
name = "windows_x86_64_gnullvm"
@ -4553,9 +4559,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.52.3"
version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c"
checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
[[package]]
name = "windows_x86_64_msvc"
@ -4565,9 +4571,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "windows_x86_64_msvc"
version = "0.52.3"
version = "0.52.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6"
checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
[[package]]
name = "winnow"
@ -4580,9 +4586,9 @@ dependencies = [
[[package]]
name = "winnow"
version = "0.6.2"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a4191c47f15cc3ec71fcb4913cb83d58def65dd3787610213c649283b5ce178"
checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
dependencies = [
"memchr",
]
@ -4657,7 +4663,7 @@ dependencies = [
"blocking",
"derivative",
"enumflags2",
"event-listener 5.1.0",
"event-listener 5.2.0",
"futures-core",
"futures-sink",
"futures-util",

View File

@ -25,13 +25,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "newsflash";
version = "3.1.5";
version = "3.1.6";
src = fetchFromGitLab {
owner = "news-flash";
repo = "news_flash_gtk";
rev = "refs/tags/v.${finalAttrs.version}";
hash = "sha256-6RkZdRQ/pNq6VkL9E2BaAWbKKGbCpEC+skGHPe3TwH8=";
hash = "sha256-zEf61aKtiuTCmhzkfVkTLtIRCb4DVXVtI+9Az9dU9HE=";
};
cargoDeps = rustPlatform.importCargoLock {

View File

@ -22,11 +22,11 @@
stdenv.mkDerivation rec {
pname = "filezilla";
version = "3.66.4";
version = "3.66.5";
src = fetchurl {
url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.xz";
hash = "sha256-pA8E4C76rntQ0VFe4cNsSw5EWBhWbEUORAv9bHDpsgM=";
hash = "sha256-khIoGbrmNBBwuktuy0V+ZzC0bn3ImUKZCQPymJA9Gzs=";
};
configureFlags = [

View File

@ -64,14 +64,14 @@ let
in
stdenv.mkDerivation rec {
pname = "telegram-desktop";
version = "4.14.15";
version = "4.15.1";
src = fetchFromGitHub {
owner = "telegramdesktop";
repo = "tdesktop";
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-706FAtXS541D7H/Qc86eC1FLUWu1/tZuCq3GgJ0L/Ds=";
hash = "sha256-UM2+yPIu/mzPUeH71mjTaeaRvtCKPrYUKXSOht51juY=";
};
patches = [

View File

@ -54,7 +54,19 @@ diff --git a/Telegram/lib_webview/webview/platform/mac/webview_mac.mm b/Telegram
index 738e574..80ff5f0 100644
--- a/Telegram/lib_webview/webview/platform/mac/webview_mac.mm
+++ b/Telegram/lib_webview/webview/platform/mac/webview_mac.mm
@@ -254,10 +254,12 @@ void *Instance::winId() {
@@ -314,9 +314,11 @@ Instance::Instance(Config config) {
_dataRequestHandler = std::move(config.dataRequestHandler);
[configuration setURLSchemeHandler:_handler forURLScheme:stdToNS(kDataUrlScheme)];
_webview = [[WKWebView alloc] initWithFrame:NSZeroRect configuration:configuration];
+#if 0
if (@available(macOS 13.3, *)) {
_webview.inspectable = config.debug ? YES : NO;
}
+#endif
[_manager addScriptMessageHandler:_handler name:@"external"];
[_webview setNavigationDelegate:_handler];
[_webview setUIDelegate:_handler];
@@ -658,10 +660,12 @@ void *Instance::winId() {
}
void Instance::setOpaqueBg(QColor opaqueBg) {

View File

@ -1,4 +1,12 @@
{ lib, buildPythonApplication, fetchFromGitHub, pythonOlder, python-telegram }:
{ lib
, buildPythonApplication
, fetchFromGitHub
, pythonOlder
, fetchpatch
, stdenv
, libnotify
, python-telegram
}:
buildPythonApplication rec {
pname = "tg";
@ -12,6 +20,20 @@ buildPythonApplication rec {
hash = "sha256-apHd26XnOz5nak+Kz8PJPsonQfTWDyPz7Mi/tWf7zwM=";
};
patches = [
# Fix sending messages
# https://github.com/paul-nameless/tg/pull/306
(fetchpatch {
url = "https://github.com/mindtheegab/tg/commit/13e2b266989d2d757a394b0fb8cb7fd6ccc2b70c.patch";
hash = "sha256-Wja6xBOlPuACzhbT8Yl3F8qSh3Kd9G1lnr9VarbPrfM=";
})
];
# Fix notifications on platforms other than darwin by providing notify-send
postPatch = lib.optionalString (!stdenv.isDarwin) ''
sed -i 's|^NOTIFY_CMD = .*|NOTIFY_CMD = "${libnotify}/bin/notify-send {title} {message} -i {icon_path}"|' tg/config.py
'';
propagatedBuildInputs = [ python-telegram ];
doCheck = false; # No tests

View File

@ -23,12 +23,12 @@ assert gpgmeSupport -> sslSupport;
stdenv.mkDerivation rec {
pname = "mutt";
version = "2.2.12";
version = "2.2.13";
outputs = [ "out" "doc" "info" ];
src = fetchurl {
url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
hash = "sha256-BDrzEvZLjlb3/Qv3f4SiBdTEmAML2VhkV2ZcR7sYzjg=";
hash = "sha256-6yP63cHMl9hnaT86Sp8wlJrZN2WtW2/a4nl6QAHFjvs=";
};
patches = [

View File

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
expect
which
coreutils
pinentry.tty
pinentry
git
gnutar
procps

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "obs-move-transition";
version = "2.10.0";
version = "2.10.2";
src = fetchFromGitHub {
owner = "exeldro";
repo = "obs-move-transition";
rev = version;
sha256 = "sha256-HMhIGOslAtk5npunRZkOcFQZDSIB7c8qcFW3l9kgkzo=";
sha256 = "sha256-gQAeQ3PdnCtnLUgt6utWKfFBfQlJj5/mjAxtlmaGQFw=";
};
nativeBuildInputs = [ cmake ];

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "obs-shaderfilter";
version = "2.3.0";
version = "2.3.1";
src = fetchFromGitHub {
owner = "exeldro";
repo = "obs-shaderfilter";
rev = version;
sha256 = "sha256-3xMCMsjnEF5aNKBNMhSMAgKuaDnNP+3+uN1u76+Te+8=";
sha256 = "sha256-J7tCEIB9zQ0zZFl1eSuEARd+KqpNClHfYx3wcLawFeM=";
};
nativeBuildInputs = [ cmake ];

View File

@ -5,14 +5,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "audiness";
version = "0.3.0";
version = "0.3.1";
pyproject = true;
src = fetchFromGitHub {
owner = "audiusGmbH";
repo = "audiness";
rev = "refs/tags/${version}";
hash = "sha256-PkzYsfEhwrMoB+a2eJMmt/PRCbjASQRm38reA8PP4aI=";
hash = "sha256-r+xWwXRKuTp5ifUUlF1K6BIVWh67hNLMBKBB7wnLLAM=";
};
nativeBuildInputs = with python3.pkgs; [

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation {
pname = "flatter";
version = "0-unstable-2023-08-10";
version = "0-unstable-2024-03-04";
src = fetchFromGitHub {
owner = "keeganryan";
repo = "flatter";
rev = "500e31df6b7308e8101b2a4a9cc816bf8f483417";
hash = "sha256-STYx7cXvkcF+KqrG32pN16HWfEScc0zxkmOmfv43zIw=";
rev = "c2ed0ee94b6d281df7bcbce31ca275197ef9a562";
hash = "sha256-1Pjn0lANXaMOqlwwdOx6X/7jtAvfa2ZWa0nDfS3T5XU=";
};
strictDeps = true;

View File

@ -1,14 +1,10 @@
{ lib
, fmt
, stdenv
, fetchFromGitHub
, cmake
, doxygen
, ninja
, gitpython
, boost
, coin3d
, doxygen
, eigen
, fetchFromGitHub
, fmt
, freecad # for passthru.tests
, gfortran
, gts
@ -17,38 +13,48 @@
, libXmu
, libf2c
, libredwg
, libsForQt5
, libspnav
, matplotlib
, medfile
, mpi
, ninja
, ode
, opencascade-occt
, pivy
, pkg-config
, ply
, pycollada
, pyside2
, pyside2-tools
, python
, pyyaml
, qtbase
, qttools
, qtwebengine
, qtx11extras
, qtxmlpatterns
, python3Packages
, runCommand # for passthru.tests
, scipy
, shiboken2
, soqt
, spaceNavSupport ? stdenv.isLinux
, stdenv
, swig
, vtk
, wrapQtAppsHook
, wrapGAppsHook
, xercesc
, zlib
}:
let
boost = python3Packages.boost;
inherit (libsForQt5)
qtbase
qttools
qtwebengine
qtx11extras
qtxmlpatterns
soqt
wrapQtAppsHook;
inherit (python3Packages)
gitpython
matplotlib
pivy
ply
pycollada
pyside2
pyside2-tools
python
pyyaml
scipy
shiboken2;
in
stdenv.mkDerivation (finalAttrs: {
pname = "freecad";
version = "0.21.2";

View File

@ -1,10 +1,9 @@
{ lib
, stdenv
, fetchzip
, cimg
, cmake
, coreutils
, curl
, fetchzip
, fftw
, gimp
, gimpPlugins
@ -14,14 +13,13 @@
, graphicsmagick
, libjpeg
, libpng
, libsForQt5
, libtiff
, ninja
, nix-update
, openexr
, pkg-config
, qtbase
, qttools
, wrapQtAppsHook
, stdenv
, writeShellScript
, zlib
, variant ? "standalone"
@ -38,6 +36,7 @@ let
};
standalone = {
extraDeps = []; # Just to keep uniformity and avoid test-for-null
description = "Versatile front-end to the image processing framework G'MIC";
};
};
@ -49,7 +48,7 @@ assert lib.assertMsg
"gmic-qt variant \"${variant}\" is not supported. Please use one of ${lib.concatStringsSep ", " (builtins.attrNames variants)}.";
assert lib.assertMsg
(builtins.all (d: d != null) variants.${variant}.extraDeps or [])
(builtins.all (d: d != null) variants.${variant}.extraDeps)
"gmic-qt variant \"${variant}\" is missing one of its dependencies.";
stdenv.mkDerivation (finalAttrs: {
@ -61,30 +60,29 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-/Hh5yzH//i01kyeoqETokvsKUOcY2iZsiYJBEmgw1rU=";
};
sourceRoot = "${finalAttrs.src.name}/gmic-qt";
nativeBuildInputs = [
cmake
pkg-config
libsForQt5.wrapQtAppsHook
ninja
wrapQtAppsHook
pkg-config
];
buildInputs = [
curl
fftw
gmic
graphicsmagick
libjpeg
libpng
libtiff
openexr
zlib
] ++ (with libsForQt5; [
qtbase
qttools
fftw
zlib
libjpeg
libtiff
libpng
openexr
graphicsmagick
curl
] ++ variants.${variant}.extraDeps or [];
preConfigure = ''
cd gmic-qt
'';
]) ++ variants.${variant}.extraDeps;
postPatch = ''
patchShebangs \
@ -93,9 +91,9 @@ stdenv.mkDerivation (finalAttrs: {
'';
cmakeFlags = [
(lib.cmakeFeature "GMIC_QT_HOST" (if variant == "standalone" then "none" else variant))
(lib.cmakeBool "ENABLE_SYSTEM_GMIC" true)
(lib.cmakeBool "ENABLE_DYNAMIC_LINKING" true)
(lib.cmakeBool "ENABLE_SYSTEM_GMIC" true)
(lib.cmakeFeature "GMIC_QT_HOST" (if variant == "standalone" then "none" else variant))
];
postFixup = lib.optionalString (variant == "gimp") ''
@ -105,8 +103,8 @@ stdenv.mkDerivation (finalAttrs: {
passthru = {
tests = {
# They need to be update in lockstep.
gimp-plugin = gimpPlugins.gmic;
# Needs to update them all in lockstep.
inherit cimg gmic;
};
@ -134,10 +132,7 @@ stdenv.mkDerivation (finalAttrs: {
inherit (variants.${variant}) description;
license = lib.licenses.gpl3Plus;
mainProgram = "gmic_qt";
maintainers = [
lib.maintainers.AndersonTorres
lib.maintainers.lilyinstarlight
];
maintainers = with lib.maintainers; [ AndersonTorres lilyinstarlight ];
platforms = lib.platforms.unix;
};
})

View File

@ -4,7 +4,7 @@
, makeBinaryWrapper
, libfido2
, dbus
, pinentry
, pinentry-gnome3
, nix-update-script
}:
@ -29,7 +29,7 @@ buildGoModule rec {
postInstall = ''
wrapProgram $out/bin/goldwarden \
--suffix PATH : ${lib.makeBinPath [dbus pinentry]}
--suffix PATH : ${lib.makeBinPath [dbus pinentry-gnome3]}
install -Dm644 $src/resources/com.quexten.goldwarden.policy -t $out/share/polkit-1/actions
'';

View File

@ -0,0 +1,114 @@
{ stdenv
, lib
, fetchurl
, dpkg
, autoPatchelfHook
, zlib
, libgcc
, fontconfig
, libX11
, lttng-ust
, icu
, libICE
, libSM
, libXcursor
, openssl
, imagemagick
}:
stdenv.mkDerivation (finalAttrs: {
pname = "lunacy";
version = "9.4.2.5022";
src = fetchurl {
url = "https://lcdn.icons8.com/setup/Lunacy_${finalAttrs.version}.deb";
hash = "sha256-69CO1SPdO+JhAH/G/DihyHDueQOLaaJCf32MjBc77j4=";
};
unpackCmd = ''
mkdir -p root
dpkg-deb -x $src root
'';
buildInputs = [
zlib
libgcc
stdenv.cc.cc
lttng-ust
fontconfig.lib
# Runtime deps
libICE
libSM
libX11
libXcursor
];
nativeBuildInputs = [
dpkg
autoPatchelfHook
];
# adds to the RPATHS of all shared objects (exe and libs)
appendRunpaths = map (pkg: (lib.getLib pkg) + "/lib") [
icu
openssl
stdenv.cc.libc
stdenv.cc.cc
] ++ [
# technically, this should be in runtimeDependencies but will not work as
# "lib" is appended to all elements in the array
"${placeholder "out"}/lib/lunacy"
];
# will add to the RPATH of executable only
runtimeDependencies = [
libICE
libSM
libX11
libXcursor
];
dontBuild = true;
dontStrip = true;
installPhase = ''
runHook preInstall
mkdir -p "$out/lib";
cp -R "opt/icons8/lunacy" "$out/lib"
cp -R "usr/share" "$out/share"
# Prepare the desktop icon, the upstream icon is 200x200 but the hicolor theme does not
# support this resolution. Nearest sizes are 192x192 and 256x256.
${imagemagick}/bin/convert "opt/icons8/lunacy/Assets/LunacyLogo.png" -resize 192x192 lunacy.png
install -D lunacy.png "$out/share/icons/hicolor/192x192/apps/${finalAttrs.pname}.png"
runHook postInstall
'';
postInstall = ''
substituteInPlace $out/share/applications/lunacy.desktop \
--replace "Exec=/opt/icons8/lunacy/Lunacy" "Exec=${finalAttrs.pname}" \
--replace "Icon=/opt/icons8/lunacy/Assets/LunacyLogo.png" "Icon=${finalAttrs.pname}"
'';
postFixup = ''
mkdir $out/bin
# Fixes runtime error regarding missing libSkiaSharp.so (which is in the same directory as the binary).
ln -s "$out/lib/lunacy/Lunacy" "$out/bin/${finalAttrs.pname}"
'';
meta = with lib; {
description = "Free design software that keeps your flow with AI tools and built-in graphics";
homepage = "https://icons8.com/lunacy";
changelog = "https://lunacy.docs.icons8.com/release-notes/";
license = licenses.unfree;
maintainers = [ maintainers.eliandoran ];
platforms = platforms.linux;
sourceProvenance = [ sourceTypes.binaryBytecode ];
mainProgram = "lunacy";
};
})

View File

@ -0,0 +1,78 @@
{ lib
, stdenv
, fetchFromGitLab
, meson
, ninja
, pkg-config
, rustPlatform
, rustc
, cargo
, wrapGAppsHook4
, desktop-file-utils
, libadwaita
, gst_all_1
, darwin
}:
stdenv.mkDerivation rec {
pname = "metronome";
version = "1.3.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "metronome";
rev = version;
hash = "sha256-Sn2Ua/XxPnJjcQvWeOPkphl+BE7/BdOrUIpf+tLt20U=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "metronome-${version}";
hash = "sha256-HYO/IY5yGW8JLBxD/SZz16GFnwvv77kFl/x+QXhV+V0=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
rustPlatform.cargoSetupHook
rustc
cargo
wrapGAppsHook4
desktop-file-utils
];
buildInputs = [
libadwaita
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-bad
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Foundation
];
# Workaround for the gettext-sys issue
# https://github.com/Koka/gettext-rs/issues/114
env.NIX_CFLAGS_COMPILE = lib.optionalString
(
stdenv.cc.isClang &&
lib.versionAtLeast stdenv.cc.version "16"
)
"-Wno-error=incompatible-function-pointer-types";
meta = with lib; {
description = "Keep the tempo";
longDescription = ''
Metronome beats the rhythm for you, you simply
need to tell it the required time signature and
beats per minutes. You can also tap to let the
application guess the required beats per minute.
'';
homepage = "https://gitlab.gnome.org/World/metronome";
license = licenses.gpl3Plus;
mainProgram = "metronome";
maintainers = with maintainers; [ aleksana ];
platforms = platforms.unix;
};
}

File diff suppressed because it is too large Load Diff

View File

@ -20,19 +20,19 @@
rustPlatform.buildRustPackage rec {
pname = "niri";
version = "0.1.2";
version = "0.1.3";
src = fetchFromGitHub {
owner = "YaLTeR";
repo = "niri";
rev = "v${version}";
hash = "sha256-vO6ak5rT6ntBC20vYC36zcEcHv7Cki9y8A+c7ThfsUg=";
hash = "sha256-VTtXEfxc3OCdtdYiEdtftOQ7gDJNb679Yw8v1Lu3lhY=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"smithay-0.3.0" = "sha256-ZEWamojE5ZRlhPVv/DK2Mj+QIz7zudw9+AxFD7Onr9Q=";
"smithay-0.3.0" = "sha256-sXdixfPLAUIIVK+PhqRuMZ7XKNJIGkWNlH8nBzXlxCU=";
};
};
@ -66,25 +66,24 @@ rustPlatform.buildRustPackage rec {
passthru.providedSessions = ["niri"];
postInstall = ''
mkdir -p $out/share/{systemd/user,wayland-sessions,xdg-desktop-portal}
cp ./resources/niri-session $out/bin/niri-session
cp ./resources/niri.service $out/share/systemd/user/niri.service
cp ./resources/niri-shutdown.target $out/share/systemd/user/niri-shutdown.target
cp ./resources/niri.desktop $out/share/wayland-sessions/niri.desktop
cp ./resources/niri-portals.conf $out/share/xdg-desktop-portal/niri-portals.conf
postPatch = ''
patchShebangs ./resources/niri-session
substituteInPlace ./resources/niri.service \
--replace-fail '/usr/bin' "$out/bin"
'';
postFixup = ''
sed -i "s#/usr#$out#" $out/share/systemd/user/niri.service
postInstall = ''
install -Dm0755 ./resources/niri-session -t $out/bin
install -Dm0644 resources/niri.desktop -t $out/share/wayland-sessions
install -Dm0644 resources/niri-portals.conf -t $out/share/xdg-desktop-portal
install -Dm0644 resources/niri{-shutdown.target,.service} -t $out/share/systemd/user
'';
meta = with lib; {
description = "A scrollable-tiling Wayland compositor";
homepage = "https://github.com/YaLTeR/niri";
license = licenses.gpl3Only;
maintainers = with maintainers; [ iogamaster ];
maintainers = with maintainers; [ iogamaster foo-dogsquared ];
mainProgram = "niri";
platforms = platforms.linux;
};

View File

@ -94,11 +94,12 @@ buildDotnetModule rec {
pushd ${src}/distribution/linux
install -D ./Ryujinx.desktop $out/share/applications/Ryujinx.desktop
install -D ./Ryujinx.sh $out/bin/Ryujinx.sh
install -D ./mime/Ryujinx.xml $out/share/mime/packages/Ryujinx.xml
install -D ../misc/Logo.svg $out/share/icons/hicolor/scalable/apps/Ryujinx.svg
substituteInPlace $out/share/applications/Ryujinx.desktop \
--replace "Ryujinx %f" "$out/bin/Ryujinx %f"
--replace "Ryujinx.sh %f" "$out/bin/Ryujinx.sh %f"
ln -s $out/bin/Ryujinx $out/bin/ryujinx

View File

@ -0,0 +1,66 @@
{ lib
, buildGo122Module
, copyDesktopItems
, fetchFromGitHub
, pkg-config
, wrapGAppsHook4
, gobject-introspection
, gtk4
, gtksourceview5
, libadwaita
, libxml2
, vte-gtk4
}:
buildGo122Module rec {
pname = "seabird";
version = "0.2.2";
src = fetchFromGitHub {
owner = "getseabird";
repo = "seabird";
rev = "v${version}";
hash = "sha256-wrZLWDTgcUS8snCqc5rInqitAkrsStL8zmc8vjl4ApQ=";
};
vendorHash = "sha256-z9l6g5NkAErRQo8oiqwKG9ssm8K2S+eSZBD0w4kO3kc=";
nativeBuildInputs = [
copyDesktopItems
libxml2
pkg-config
wrapGAppsHook4
];
buildInputs = [
gobject-introspection
gtk4
gtksourceview5
libadwaita
vte-gtk4
];
ldflags = [ "-s" "-w" ];
postPatch = ''
substituteInPlace main.go --replace-fail 'version = "dev"' 'version = "${version}"'
'';
preBuild = ''
go generate internal/icon/icon.go
'';
postInstall = ''
install -Dm644 internal/icon/seabird.svg $out/share/pixmaps/dev.skynomads.Seabird.svg
'';
desktopItems = [ "dev.skynomads.Seabird.desktop" ];
meta = with lib; {
description = "Native Kubernetes desktop client";
homepage = "https://getseabird.github.io";
license = licenses.mpl20;
maintainers = with maintainers; [ nicolas-goudry ];
mainProgram = "seabird";
};
}

View File

@ -15,25 +15,25 @@ let
supported = {
x86_64-linux = {
name = "x86_64";
hash = "sha256-WGEDvB6TJ8Y2Xl1VUB1JWVMK54OevvPoVGris3I27t4=";
hash = "sha256-CELUteYzy0oMxDonOot+DR5MgGjSRwLgRCbJRAaS/EY=";
};
i686-linux = {
name = "i386";
hash = "sha256-BOQ4yExDRGKuUvsPUUswElrps0SpXcDCHxy2tmGbV/I=";
hash = "sha256-lw3gqgCjmASkelj5lPDnltRJ1Cb+318QjrbirQ6oRFI=";
};
aarch64-linux = {
name = "arm64";
hash = "sha256-ZWzaWCUgV4x5Fbz+jphj771kIyLyeoRZKjgf8rmbFxQ=";
hash = "sha256-yq/L9k+22OWhwnAROJlsyYd/AH5SHJD231y6xd83N6g=";
};
armv7l-linux = {
name = "arm";
hash = "sha256-Qjb5P1XH/CoiLP9iqWyEX0YHUjDIuSdw5ej1bE61T48=";
hash = "sha256-FAnzZzz3tgSxgX5n3CUrCbD5lfub91cDkjdD/lVaf0g=";
};
};
platform = supported.${stdenv.system} or (throw "unsupported platform ${stdenv.system}");
version = "794a";
version = "794l";
url = "https://www.segger.com/downloads/jlink/JLink_Linux_V${version}_${platform.name}.tgz";

View File

@ -5,12 +5,12 @@
stdenv.mkDerivation (finalAttrs: {
pname = "unrar";
version = "6.2.12";
version = "7.0.7";
src = fetchzip {
url = "https://www.rarlab.com/rar/unrarsrc-${finalAttrs.version}.tar.gz";
stripRoot = false;
hash = "sha256-VAL3o9JGmkAcEssa/P/SL9nyxnigb7dX9YZBHrG9f0A=";
hash = "sha256-S7BMywydetDh1GINcK3k3fN9ciDoKTCAe/1tkgykoAQ=";
};
sourceRoot = finalAttrs.src.name;

View File

@ -0,0 +1,15 @@
{ unrar
, fetchzip
}:
unrar.overrideAttrs (finalAttrs: _: {
version = "6.2.12";
src = fetchzip {
url = "https://www.rarlab.com/rar/unrarsrc-${finalAttrs.version}.tar.gz";
stripRoot = false;
hash = "sha256-VAL3o9JGmkAcEssa/P/SL9nyxnigb7dX9YZBHrG9f0A=";
};
sourceRoot = finalAttrs.src.name;
})

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "uxn";
version = "1.0-unstable-2024-02-15";
version = "1.0-unstable-2024-03-08";
src = fetchFromSourcehut {
owner = "~rabbits";
repo = "uxn";
rev = "c37d2cd75c855d0932a93cd8fdadd1db00b05e48";
hash = "sha256-O8XN0+ixo2xMXtJkEoJAqrKZ1M4s4YoHSxKWGOUyl1k=";
rev = "b1549867e4a58e8ed0ac107bdf841bc879fa293f";
hash = "sha256-P2EekvFbRtLDwPXOhu40S9LL4ZOWerJs8z8Of2QM418=";
};
outputs = [ "out" "projects" ];

View File

@ -1,10 +1,10 @@
{
"darwin" : {
"hash" : "sha256-tFtoD8URMFfJ3HRkyKStuDStFkoRIV97y9kV4pbDPro=",
"version" : "0.2024.02.20.08.01.stable_01"
"darwin": {
"hash": "sha256-VHyEE0SziwDAzlv8VLt08tMXb20sqxTSj64hC+FyjUw=",
"version": "0.2024.03.05.08.02.stable_01"
},
"linux" : {
"hash" : "sha256-L8alnqSE4crrDozRfPaAAMkLc+5+8d9XBKd5ddsxmD0=",
"version" : "0.2024.02.20.08.01.stable_01"
"linux": {
"hash": "sha256-CI1bzdFles9XNvqmkyNq9zJBf4P6HF8QIo1FsSDydjQ=",
"version": "0.2024.03.05.08.02.stable_01"
}
}

View File

@ -1,4 +1,4 @@
{ lib, stdenvNoCC, fetchzip }:
{ lib, stdenvNoCC, fetchzip, texlive, callPackage }:
stdenvNoCC.mkDerivation rec {
pname = "junicode";
@ -9,7 +9,17 @@ stdenvNoCC.mkDerivation rec {
hash = "sha256-oOKg85Yz5/2/pvwjVqeQXE8xE7X+QJvPYwYN+E18oEc=";
};
outputs = [ "out" "doc" ];
outputs = [ "out" "doc" "tex" ];
patches = [ ./tex-font-path.patch ];
postPatch = ''
substituteInPlace TeX/junicode.sty \
--replace '@@@opentype_path@@@' "$out/share/fonts/opentype/" \
--replace '@@@truetype_path@@@' "$out/share/fonts/truetype/"
substituteInPlace TeX/junicodevf.sty \
--replace '@@@truetype_path@@@' "$out/share/fonts/truetype/"
'';
installPhase = ''
runHook preInstall
@ -20,9 +30,18 @@ stdenvNoCC.mkDerivation rec {
install -Dm 444 -t $doc/share/doc/${pname}-${version} docs/*.pdf
install -Dm 444 -t $tex/tex/latex/junicode TeX/junicode.sty
install -Dm 444 -t $tex/tex/latex/junicodevf TeX/junicodevf.{sty,lua}
runHook postInstall
'';
passthru = {
tlDeps = with texlive; [ xkeyval fontspec ];
tests = callPackage ./tests.nix { };
};
meta = {
homepage = "https://github.com/psb1558/Junicode-font";
description = "A Unicode font for medievalists";

View File

@ -0,0 +1,46 @@
\documentclass{article}
\usepackage{junicodevf}
\begin{document}
\begin{enumerate}
\item {\jBold Bold}
\item {\jBoldItalic BoldItalic}
\item {\jCond Cond}
\item {\jCondItalic CondItalic}
\item {\jCondLight CondLight}
\item {\jCondLightItalic CondLightItalic}
\item {\jCondMedium CondMedium}
\item {\jCondMediumItalic CondMediumItalic}
\item {\jExp Exp}
\item {\jExpItalic ExpItalic}
\item {\jExpBold ExpBold}
\item {\jExpBoldItalic ExpBoldItalic}
\item {\jExpMedium ExpMedium}
\item {\jExpMediumItalic ExpMediumItalic}
\item {\jExpSmbold ExpSmbold}
\item {\jExpSmboldItalic ExpSmboldItalic}
\item {\jItalic Italic}
\item {\jLight Light}
\item {\jLightItalic LightItalic}
\item {\jMedium Medium}
\item {\jMediumItalic MediumItalic}
\item {\jRegular Regular}
\item {\jSmbold Smbold}
\item {\jSmboldItalic SmboldItalic}
\item {\jSmCond SmCond}
\item {\jSmCondItalic SmCondItalic}
\item {\jSmCondLight SmCondLight}
\item {\jSmCondLightItalic SmCondLightItalic}
\item {\jSmCondMedium SmCondMedium}
\item {\jSmCondMediumItalic SmCondMediumItalic}
\item {\jSmExp SmExp}
\item {\jSmExpItalic SmExpItalic}
\item {\jSmExpBold SmExpBold}
\item {\jSmExpBoldItalic SmExpBoldItalic}
\item {\jSmExpMedium SmExpMedium}
\item {\jSmExpMediumItalic SmExpMediumItalic}
\item {\jSmExpSmbold SmExpSmbold}
\item {\jSmExpSmboldItalic SmExpSmboldItalic}
\end{enumerate}
\end{document}

View File

@ -0,0 +1,46 @@
\documentclass{article}
\usepackage[fonttype=@fonttype@]{junicode}
\begin{document}
\begin{enumerate}
\item {\jBold Bold}
\item {\jBoldItalic BoldItalic}
\item {\jCond Cond}
\item {\jCondItalic CondItalic}
\item {\jCondLight CondLight}
\item {\jCondLightItalic CondLightItalic}
\item {\jCondMedium CondMedium}
\item {\jCondMediumItalic CondMediumItalic}
\item {\jExp Exp}
\item {\jExpItalic ExpItalic}
\item {\jExpBold ExpBold}
\item {\jExpBoldItalic ExpBoldItalic}
\item {\jExpMedium ExpMedium}
\item {\jExpMediumItalic ExpMediumItalic}
\item {\jExpSmBold ExpSmBold}
\item {\jExpSmBoldItalic ExpSmBoldItalic}
\item {\jItalic Italic}
\item {\jLight Light}
\item {\jLightItalic LightItalic}
\item {\jMedium Medium}
\item {\jMediumItalic MediumItalic}
\item {\jRegular Regular}
\item {\jSmBold SmBold}
\item {\jSmBoldItalic SmBoldItalic}
\item {\jSmCond SmCond}
\item {\jSmCondItalic SmCondItalic}
\item {\jSmCondLight SmCondLight}
\item {\jSmCondLightItalic SmCondLightItalic}
\item {\jSmCondMedium SmCondMedium}
\item {\jSmCondMediumItalic SmCondMediumItalic}
\item {\jSmExp SmExp}
\item {\jSmExpItalic SmExpItalic}
\item {\jSmExpBold SmExpBold}
\item {\jSmExpBoldItalic SmExpBoldItalic}
\item {\jSmExpMedium SmExpMedium}
\item {\jSmExpMediumItalic SmExpMediumItalic}
\item {\jSmExpSmBold SmExpSmBold}
\item {\jSmExpSmBoldItalic SmExpSmBoldItalic}
\end{enumerate}
\end{document}

View File

@ -0,0 +1,35 @@
{ lib, runCommand, junicode, texliveBasic }:
let
texliveWithJunicode = texliveBasic.withPackages (p: [ p.xetex junicode ]);
texTest = { package, tex, fonttype, file }:
lib.attrsets.nameValuePair "${package}-${tex}-${fonttype}" (
runCommand "${package}-test-${tex}-${fonttype}.pdf"
{
nativeBuildInputs = [ texliveWithJunicode ];
inherit tex fonttype file;
} ''
substituteAll $file test.tex
HOME=$PWD $tex test.tex
cp test.pdf $out
'');
in
builtins.listToAttrs (
map
texTest
(lib.attrsets.cartesianProductOfSets {
tex = [ "xelatex" "lualatex" ];
fonttype = [ "ttf" "otf" ];
package = [ "junicode" ];
file = [ ./test.tex ];
})
++
[
(texTest {
package = "junicodevf";
fonttype = "ttf";
tex = "lualatex";
file = ./test-vf.tex;
})
]
)

View File

@ -0,0 +1,166 @@
Upstream style file relies on font files being present on the system
globally. This is not quite how Nix usually does thing, so this patch
changes the style file to instead look fonts up in hardcoded
locations, which are later patched up to refer to the package outputs,
thus ensuring the style always uses the fonts packaged with it.
diff --git a/TeX/junicode.sty b/TeX/junicode.sty
index 83bd45d..8fe671c 100644
--- a/TeX/junicode.sty
+++ b/TeX/junicode.sty
@@ -208,7 +208,14 @@
\RequirePackage{fontspec}
\defaultfontfeatures{Ligatures=TeX, Extension=.\junicode@fonttype}
-\defaultfontfeatures{Ligatures=TeX}
+
+\def\junicode@fonttype@otf{otf}
+
+\ifx\junicode@fonttype\junicode@fonttype@otf
+ \def\junicode@fontpath{@@@opentype_path@@@}
+\else
+ \def\junicode@fontpath{@@@truetype_path@@@}
+\fi
\ifxetex
\typeout{\junicode@regstylename}
@@ -219,6 +226,7 @@
ItalicFont = *-\junicode@italstylename,
BoldFont = *-\junicode@boldstylename,
BoldItalicFont = *-\junicode@boldstylename Italic,
+ Path = \junicode@fontpath,
]{Junicode}
\fi
\ifluatex
@@ -230,6 +238,7 @@
ItalicFont = *-\junicode@italstylename,
BoldFont = *-\junicode@boldstylename,
BoldItalicFont = *-\junicode@boldstylename Italic,
+ Path = \junicode@fontpath,
]{Junicode}
\fi
@@ -242,6 +251,7 @@
#3
Numbers = {\junicode@figurealign,\junicode@figurestyle},
SmallCapsFeatures = {Letters=SmallCaps},
+ Path = \junicode@fontpath,
]
}
\fi
@@ -252,6 +262,7 @@
#3
Numbers = {\junicode@figurealign,\junicode@figurestyle},
SmallCapsFeatures = {Letters=SmallCaps},
+ Path = \junicode@fontpath,
]
}
\fi
diff --git a/TeX/junicodevf.lua b/TeX/junicodevf.lua
index 7148668..acebe82 100644
--- a/TeX/junicodevf.lua
+++ b/TeX/junicodevf.lua
@@ -148,7 +148,7 @@ function mkfontcommands()
romfontcmd = "jRegular"
italfontcmd = "jItalic"
end
- tex.print("\\junicodevf@newfont{\\" .. romfontcmd .. "}{JunicodeVF}{\\" .. defcmd .. "}{\\" .. defsizecmd .. "}")
+ tex.print("\\junicodevf@newfont{\\" .. romfontcmd .. "}{JunicodeVF-Roman}{\\" .. defcmd .. "}{\\" .. defsizecmd .. "}")
tex.print("\\junicodevf@newfont{\\" .. italfontcmd .. "}{JunicodeVF-Italic}{\\" .. defcmd .. "}{\\" .. defsizecmd .. "}")
end
end
diff --git a/TeX/junicodevf.sty b/TeX/junicodevf.sty
index c01ccaf..07a99ad 100644
--- a/TeX/junicodevf.sty
+++ b/TeX/junicodevf.sty
@@ -168,11 +168,13 @@ mkwidthcommands(wdindex, adjustment)}}
% DECLARE THE FONTS
-\setmainfont{Junicode VF}[
- ItalicFont = {*-Italic},
- BoldFont = {*},
- BoldItalicFont = {*-Italic},
+\setmainfont{JunicodeVF-Roman}[
+ ItalicFont = {JunicodeVF-Italic},
+ BoldFont = {JunicodeVF-Roman},
+ BoldItalicFont = {JunicodeVF-Italic},
Renderer = HarfBuzz,
+ Extension = .ttf,
+ Path = @@@truetype_path@@@,
Numbers = {\junicodevf@figurealign,\junicodevf@figurestyle},
\MainDef,
UprightFeatures = {\MainRegDef
@@ -188,6 +190,8 @@ mkwidthcommands(wdindex, adjustment)}}
\newcommand*{\junicodevf@newfont}[4]{
\setfontface#1{#2}[
Renderer = HarfBuzz,
+ Extension = .ttf,
+ Path = @@@truetype_path@@@,
Numbers = {\junicodevf@figurealign,\junicodevf@figurestyle},
SmallCapsFont = {*},
SmallCapsFeatures = {Letters=SmallCaps},
@@ -200,43 +204,59 @@ mkwidthcommands(wdindex, adjustment)}}
% ENLARGED FACES
-\setfontface\EnlargedOne{JunicodeVF}[
+\setfontface\EnlargedOne{JunicodeVF-Roman}[
Renderer = HarfBuzz,
+ Extension = .ttf,
+ Path = @@@truetype_path@@@,
\ENLAOneSizeDef
]
\setfontface\EnlargedOneItalic{JunicodeVF-Italic}[
Renderer = HarfBuzz,
+ Extension = .ttf,
+ Path = @@@truetype_path@@@,
\ENLAOneSizeDef
]
-\setfontface\EnlargedTwo{JunicodeVF}[
+\setfontface\EnlargedTwo{JunicodeVF-Roman}[
Renderer = HarfBuzz,
+ Extension = .ttf,
+ Path = @@@truetype_path@@@,
\ENLATwoSizeDef
]
\setfontface\EnlargedTwoItalic{JunicodeVF-Italic}[
Renderer = HarfBuzz,
+ Extension = .ttf,
+ Path = @@@truetype_path@@@,
\ENLATwoSizeDef
]
-\setfontface\EnlargedThree{JunicodeVF}[
+\setfontface\EnlargedThree{JunicodeVF-Roman}[
Renderer = HarfBuzz,
+ Extension = .ttf,
+ Path = @@@truetype_path@@@,
\ENLAThreeSizeDef
]
\setfontface\EnlargedThreeItalic{JunicodeVF-Italic}[
Renderer = HarfBuzz,
+ Extension = .ttf,
+ Path = @@@truetype_path@@@,
\ENLAThreeSizeDef
]
-\setfontface\EnlargedFour{JunicodeVF}[
+\setfontface\EnlargedFour{JunicodeVF-Roman}[
Renderer = HarfBuzz,
+ Extension = .ttf,
+ Path = @@@truetype_path@@@,
\ENLAFourSizeDef
]
\setfontface\EnlargedFourItalic{JunicodeVF-Italic}[
Renderer = HarfBuzz,
+ Extension = .ttf,
+ Path = @@@truetype_path@@@,
\ENLAFourSizeDef
]

View File

@ -1,24 +1,24 @@
let version = "3.3.0"; in
let version = "3.3.1"; in
{ fetchurl }: {
versionUsed = version;
"${version}-x86_64-darwin" = fetchurl {
url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-x64-release.zip";
sha256 = "1cwxvn7321444mkpcv1vix5bi2ianiadvrjib6z5irdj8pbwlkih";
sha256 = "1jihiryf8lm4mc5wrnhjwlyazpmhk3n40f8z7r25xnz7glafwvg5";
};
"${version}-aarch64-darwin" = fetchurl {
url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-macos-arm64-release.zip";
sha256 = "1clang815wwy6szwl1rkjzl9d6zard15d1c2p6i7xpvvk3rb6m5j";
sha256 = "1d6404r9vhp8q5r4nf3hlcgyvxlyxv63jzd4zlmdxghvm68kkv01";
};
"${version}-aarch64-linux" = fetchurl {
url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-arm64-release.zip";
sha256 = "00mjnzld4zbk37x7g7428by3dwpkc7nhja4p6dlhl1xj2lb4qs0r";
sha256 = "08amw2mw2zfpd7savydxsv8ncy8yk76ak1aixgb1csyh8pn4pagc";
};
"${version}-x86_64-linux" = fetchurl {
url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-x64-release.zip";
sha256 = "1bdwdjjnfjrwcfg2iy76bh939kkgw25130if7fxl3jay0sj6pgry";
sha256 = "0mnplv2vzzfvg7a7xj8vrc75lvsj9xksbwzd3cc7s0xjxvyic40v";
};
"${version}-i686-linux" = fetchurl {
url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${version}/sdk/dartsdk-linux-ia32-release.zip";
sha256 = "0r9ypqd5b0l31bklm9q3g1aw9i1qyfkxr9vdn5wwfkicvqjiffs2";
sha256 = "1ndj3nlw6qd94w3h4kw7jyihm71jlp3y0kc0ybgwh2r22dd2r2yd";
};
}

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "openfpgaloader";
version = "0.11.0";
version = "0.12.0";
src = fetchFromGitHub {
owner = "trabucayre";
repo = "openFPGALoader";
rev = "v${finalAttrs.version}";
hash = "sha256-OiyuhDrK4w13lRmgfmMlZ+1gvRZCJxsOF6MzLy3CFpg=";
hash = "sha256-fe0g8+q/4r7h++7/Bk7pbOJn1CsAc+2IzXN6lqtY2vY=";
};
nativeBuildInputs = [

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "joker";
version = "1.3.4";
version = "1.3.5";
src = fetchFromGitHub {
rev = "v${version}";
owner = "candid82";
repo = "joker";
sha256 = "sha256-sueFfR5KVj6HXR+5XWowL0Zjbuu7K+p/+skcTaXlOMc=";
sha256 = "sha256-aBZ0KlXWKAF70xFxc+WWXucLPnxyaCxu97IYkPuKcCA=";
};
vendorHash = "sha256-rxWYNGFbFUKjy232DOhVlh341GV2VKLngJKM+DEd27o=";
vendorHash = "sha256-k17BthjOjZs0WB88AVVIM00HcSZl2S5u8n9eB2NFdrk=";
doCheck = false;

View File

@ -34,7 +34,16 @@
}:
let
common = { version, hash }: stdenv.mkDerivation {
common = { version, hash, imguiVersion, imguiHash }:
let
imgui.src = fetchFromGitHub {
owner = "ocornut";
repo = "imgui";
rev = "v${imguiVersion}";
hash = imguiHash;
};
in
stdenv.mkDerivation {
pname = "ogre";
inherit version;
@ -45,6 +54,12 @@ let
inherit hash;
};
postPatch = ''
mkdir -p build
cp -R ${imgui.src} build/imgui-${imguiVersion}
chmod -R u+w build/imgui-${imguiVersion}
'';
nativeBuildInputs = [
cmake
pkg-config
@ -80,11 +95,10 @@ let
];
cmakeFlags = [
"-DOGRE_BUILD_COMPONENT_OVERLAY_IMGUI=FALSE"
"-DOGRE_BUILD_DEPENDENCIES=OFF"
"-DOGRE_BUILD_SAMPLES=${toString withSamples}"
(lib.cmakeBool "OGRE_BUILD_DEPENDENCIES" false)
(lib.cmakeBool "OGRE_BUILD_SAMPLES" withSamples)
] ++ lib.optionals stdenv.isDarwin [
"-DOGRE_BUILD_LIBS_AS_FRAMEWORKS=FALSE"
(lib.cmakeBool "OGRE_BUILD_LIBS_AS_FRAMEWORKS" false)
];
meta = {
@ -100,10 +114,16 @@ in
ogre_14 = common {
version = "14.1.2";
hash = "sha256-qPoC5VXA9IC1xiFLrvE7cqCZFkuiEM0OMowUXDlmhF4=";
# https://github.com/OGRECave/ogre/blob/v14.1.2/Components/Overlay/CMakeLists.txt
imguiVersion = "1.89.8";
imguiHash = "sha256-pkEm7+ZBYAYgAbMvXhmJyxm6DfyQWkECTXcTHTgfvuo=";
};
ogre_13 = common {
version = "13.6.5";
hash = "sha256-8VQqePrvf/fleHijVIqWWfwOusGjVR40IIJ13o+HwaE=";
# https://github.com/OGRECave/ogre/blob/v13.6.5/Components/Overlay/CMakeLists.txt
imguiVersion = "1.87";
imguiHash = "sha256-H5rqXZFw+2PfVMsYvAK+K+pxxI8HnUC0GlPhooWgEYM=";
};
}

View File

@ -263,6 +263,7 @@ stdenv.mkDerivation rec {
moveToOutput "mkspecs/modules" "$dev"
fixQtModulePaths "$dev/mkspecs/modules"
fixQtBuiltinPaths "$out" '*.pr?'
'' + lib.optionalString stdenv.isLinux ''
# FIXME: not sure why this isn't added automatically?
patchelf --add-rpath "${libmysqlclient}/lib/mariadb" $out/${qtPluginPrefix}/sqldrivers/libqsqlmysql.so

View File

@ -6,8 +6,6 @@
, graphviz
, gtest
, valgrind
# One of "11" or "17"; default in source is CXX 11
, cxxStandard ? "11"
, buildDocs ? true
, buildTests ? !stdenv.hostPlatform.isStatic && !stdenv.isDarwin
, buildExamples ? true
@ -49,8 +47,9 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeBool "RAPIDJSON_BUILD_DOC" buildDocs)
(lib.cmakeBool "RAPIDJSON_BUILD_TESTS" buildTests)
(lib.cmakeBool "RAPIDJSON_BUILD_EXAMPLES" buildExamples)
(lib.cmakeBool "RAPIDJSON_BUILD_CXX11" (cxxStandard == "11"))
(lib.cmakeBool "RAPIDJSON_BUILD_CXX17" (cxxStandard == "17"))
# gtest 1.13+ requires C++14 or later.
(lib.cmakeBool "RAPIDJSON_BUILD_CXX11" false)
(lib.cmakeBool "RAPIDJSON_BUILD_CXX17" true)
] ++ lib.optionals buildTests [
(lib.cmakeFeature "GTEST_INCLUDE_DIR" "${lib.getDev gtest}")
];
@ -77,6 +76,5 @@ stdenv.mkDerivation (finalAttrs: {
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ Madouura ];
broken = (cxxStandard != "11" && cxxStandard != "17");
};
})

View File

@ -1,31 +1,36 @@
{ lib
, fetchPypi
, buildPythonPackage
, python-crontab
, case
, celery
, cron-descriptor
, django-timezone-field
, tzdata
, ephem
, pytest-timeout
, fetchPypi
, pytest-django
, case
, pytest-timeout
, pytestCheckHook
, python-crontab
, pythonOlder
, setuptools
, tzdata
}:
buildPythonPackage rec {
pname = "django-celery-beat";
version = "2.5.0";
format = "setuptools";
version = "2.6.0";
pyproject = true;
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-zQpH9ZWEAvUawMcVvJQq4z17ULTkjLqRvD8nEr5QXfE=";
hash = "sha256-91stEpcx8SFL6Dg+GPrmv+rNtV3/shFs6EkiLAEG+a0=";
};
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
cron-descriptor
python-crontab
@ -54,6 +59,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Celery Periodic Tasks backed by the Django ORM";
homepage = "https://github.com/celery/django-celery-beat";
changelog = "https://github.com/celery/django-celery-beat/releases/tag/v${version}";
license = licenses.bsd3;
maintainers = with maintainers; [ onny ];
};

View File

@ -8,12 +8,12 @@
buildPythonPackage rec {
pname = "grpcio-health-checking";
version = "1.62.0";
version = "1.62.1";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-f8JjBFMP2KwGukvtvcGUpWPFXiGKv/QJy68d5xkUk3s=";
hash = "sha256-nlYYCpQbHTKgd9dJHgYR0Eg8OWNYr9U0m/ABUmEuRYM=";
};
propagatedBuildInputs = [

View File

@ -8,12 +8,12 @@
buildPythonPackage rec {
pname = "grpcio-reflection";
version = "1.62.0";
version = "1.62.1";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-rxcHOZ7yghx5Xss3lVC/Wnb7ZAmxSeuzRjEM/QHaKYo=";
hash = "sha256-q9RTABmRhxAxMV7y2Cr/6TCAwEM/o6AHvjS/Qn4oqIo=";
};
nativeBuildInputs = [

View File

@ -16,12 +16,12 @@
buildPythonPackage rec {
pname = "mplhep";
version = "0.3.35";
version = "0.3.41";
format = "pyproject";
src = fetchPypi {
inherit pname version;
hash = "sha256-0l89Vh/vmi8kHeNer2ExGE1ehn1Kw3AbEUm8C55a92w=";
hash = "sha256-1L9e2A2u+4+QEWJW2ikuENLD0x5Khjfr7I6p+Vt4nwE=";
};
nativeBuildInputs = [

View File

@ -1,20 +1,24 @@
{ lib
, buildPythonPackage
, fetchPypi
, fetchFromGitHub
, substituteAll
, pythonOlder
, addOpenGLRunpath
, setuptools
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "pynvml";
version = "11.5.0";
format = "setuptools";
pyproject = true;
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
hash = "sha256-0CeyG5WxCIufwngRf59ht8Z/jjOnh+n4P3NfD3GsMtA=";
src = fetchFromGitHub {
owner = "gpuopenanalytics";
repo = "pynvml";
rev = "refs/tags/${version}";
hash = "sha256-K3ZENjgi+TVDxr55dRK1y8SwzfgVIzcnD4oEI+KHRa4=";
};
patches = [
@ -24,12 +28,22 @@ buildPythonPackage rec {
})
];
doCheck = false; # no tests in PyPi dist
nativeBuildInputs = [
setuptools
];
pythonImportsCheck = [ "pynvml" "pynvml.smi" ];
nativeCheckInputs = [
pytestCheckHook
];
# OSError: /run/opengl-driver/lib/libnvidia-ml.so.1: cannot open shared object file: No such file or directory
doCheck = false;
meta = with lib; {
description = "Python bindings for the NVIDIA Management Library";
homepage = "https://www.nvidia.com";
homepage = "https://github.com/gpuopenanalytics/pynvml";
license = licenses.bsd3;
maintainers = [ maintainers.bcdarwin ];
};

View File

@ -531,7 +531,9 @@ let
packagesWithBuildInputs = {
# sort -t '=' -k 2
asciicast = with pkgs; [ xz.dev bzip2.dev zlib.dev icu.dev ];
island = [ pkgs.gsl.dev ];
svKomodo = [ pkgs.which ];
ulid = [ pkgs.zlib.dev ];
nat = [ pkgs.which ];
nat_templatebrains = [ pkgs.which ];
pbdZMQ = [ pkgs.zeromq ] ++ lib.optionals stdenv.isDarwin [ pkgs.darwin.binutils ];
@ -889,6 +891,7 @@ let
"scholar"
"stepR"
"styler"
"teal_code"
"TreeTools"
"TreeSearch"
"ACNE"

View File

@ -0,0 +1,30 @@
From 93acbc13cf271faf6025e96991eb3ab65062f90f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
Date: Sat, 9 Mar 2024 09:35:24 +0100
Subject: [PATCH] fix compilation with clang
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
---
librz/analysis/p/analysis_xtensa.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/librz/analysis/p/analysis_xtensa.c b/librz/analysis/p/analysis_xtensa.c
index 4a32d2037c..f7331ae376 100644
--- a/librz/analysis/p/analysis_xtensa.c
+++ b/librz/analysis/p/analysis_xtensa.c
@@ -21,7 +21,8 @@ typedef struct {
static bool xtensa_init(void **user) {
XtensaContext *ctx = RZ_NEW0(XtensaContext);
rz_return_val_if_fail(ctx, false);
- memcpy(ctx->length_table, (int[16]){ 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 8, 8 }, sizeof(ctx->length_table));
+ int temp_length_table[16] = { 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 8, 8 };
+ memcpy(ctx->length_table, temp_length_table, sizeof(ctx->length_table));
ctx->insn_buffer = NULL;
ctx->slot_buffer = NULL;
*user = ctx;
--
2.43.1

View File

@ -1,6 +1,5 @@
{ lib
, fetchFromGitHub
, fetchpatch
, stdenv
# for passthru.plugins
, pkgs
@ -23,25 +22,16 @@
let cutter = stdenv.mkDerivation rec {
pname = "cutter";
version = "2.3.2";
version = "2.3.4";
src = fetchFromGitHub {
owner = "rizinorg";
repo = "cutter";
rev = "v${version}";
hash = "sha256-88yIqFYIv7o6aC2YSJwWJ46fZJBnOmifv+SirsfS4tw=";
hash = "sha256-TSEi1mXVvvaGo4koo3EnN/veXPUHF747g+gifnl4IDQ=";
fetchSubmodules = true;
};
patches = [
# tracking: https://github.com/rizinorg/cutter/pull/3268
(fetchpatch {
name = "cutter-simplify-python-binding-include-handling.patch";
url = "https://github.com/rizinorg/cutter/compare/7256fbb00e92ab12a24d14a92364db482ed295cb..ca5949d9d7c907185cf3d062d9fa71c34c5960d4.diff";
hash = "sha256-bqV2FTA8lMNpHBDXdenNx+1cLYa7MH47XKo1YatmLV4=";
})
];
nativeBuildInputs = [
cmake
pkg-config

View File

@ -1,13 +1,13 @@
{ lib
, pkgs # for passthru.plugins
, stdenv
, fetchpatch
, fetchurl
, pkg-config
, libusb-compat-0_1
, readline
, libewf
, perl
, pcre2
, zlib
, openssl
, file
@ -22,15 +22,16 @@
, ninja
, capstone
, tree-sitter
, zstd
}:
let rizin = stdenv.mkDerivation rec {
pname = "rizin";
version = "0.6.3";
version = "0.7.2";
src = fetchurl {
url = "https://github.com/rizinorg/rizin/releases/download/v${version}/rizin-src-v${version}.tar.xz";
hash = "sha256-lfZMarnm2qnp+lY0OY649s206/LoFNouTLlp0x9FCcI=";
hash = "sha256-/P8/tFrit14/YEvHoIB24yLm4U3veQmBhjeAZcyzWCo=";
};
mesonFlags = [
@ -39,11 +40,13 @@ let rizin = stdenv.mkDerivation rec {
"-Duse_sys_libzip=enabled"
"-Duse_sys_zlib=enabled"
"-Duse_sys_lz4=enabled"
"-Duse_sys_libzstd=enabled"
"-Duse_sys_lzma=enabled"
"-Duse_sys_xxhash=enabled"
"-Duse_sys_openssl=enabled"
"-Duse_sys_libmspack=enabled"
"-Duse_sys_tree_sitter=enabled"
"-Duse_sys_pcre2=enabled"
# this is needed for wrapping (adding plugins) to work
"-Dportable=true"
];
@ -55,12 +58,8 @@ let rizin = stdenv.mkDerivation rec {
# caching it. This patch replaces the entire logic to only look at
# the env var NIX_RZ_PREFIX
./librz-wrapper-support.patch
# Fix tree-sitter 0.20.9 build failure: https://github.com/rizinorg/rizin/pull/4165
(fetchpatch {
name = "tree-sitter-0.20.9.patch";
url = "https://github.com/rizinorg/rizin/commit/1bb08712dbc9e062bb439a65dcebeb4221ded699.patch";
hash = "sha256-mE0eQAFhyxX5bwrz+S1IVl6HNV9ITQ+tRRvGLLif5VI=";
})
./0001-fix-compilation-with-clang.patch
];
@ -96,6 +95,7 @@ let rizin = stdenv.mkDerivation rec {
readline
libusb-compat-0_1
libewf
pcre2
perl
zlib
lz4
@ -104,6 +104,7 @@ let rizin = stdenv.mkDerivation rec {
tree-sitter
xxHash
xz
zstd
];
postPatch = ''

View File

@ -8,28 +8,41 @@
, openssl
}:
stdenv.mkDerivation rec {
let
libquickjs = fetchFromGitHub {
owner = "frida";
repo = "quickjs";
rev = "c81f05c9859cea5f83a80057416a0c7affe9b876";
hash = "sha256-nAws0ae9kAwvCFcw/yR7XRMwU8EbHoq7kp7iBFpZEZc=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "jsdec";
version = "0.6.0";
version = "0.7.0";
src = fetchFromGitHub {
owner = "rizinorg";
repo = "jsdec";
rev = "v${version}";
hash = "sha256-iVaxxPBIJRhZrmejAOL/Fb4k66mGsZOBs7UikgMj5WA=";
rev = "v${finalAttrs.version}";
hash = "sha256-UuFA0YKH+0n4Ec3CTiSUFlKXMY4k+tooaEFJYrj6Law=";
};
nativeBuildInputs = [ meson ninja pkg-config ];
preConfigure = ''
cd p
postUnpack = ''
cp -r --no-preserve=mode ${libquickjs} $sourceRoot/subprojects/libquickjs
'';
mesonFlags = [ "-Djsc_folder=.." ];
postPatch = ''
cp subprojects/packagefiles/libquickjs/* subprojects/libquickjs
'';
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ openssl rizin ];
meta = with lib; {
description = "Simple decompiler for Rizin";
homepage = src.meta.homepage;
homepage = finalAttrs.src.meta.homepage;
changelog = "${finalAttrs.src.meta.homepage}/releases/tag/${finalAttrs.src.rev}";
license = with licenses; [ asl20 bsd3 mit ];
maintainers = with maintainers; [ chayleaf ];
};
}
})

View File

@ -1,7 +1,6 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, cmake
# buildInputs
, rizin
@ -15,25 +14,18 @@
, qtsvg
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rz-ghidra";
version = "0.6.0";
version = "0.7.0";
src = fetchFromGitHub {
owner = "rizinorg";
repo = "rz-ghidra";
rev = "v${version}";
hash = "sha256-tQAurouRr6fP1tbIkfd0a9UfeYcwiU1BpjOTcooXkT0=";
rev = "v${finalAttrs.version}";
hash = "sha256-W9VcKrDAh7GNRbE4eyWbtHlsYLmrjBBgVvWNyMUhlDk=";
fetchSubmodules = true;
};
patches = [
(fetchpatch {
url = "https://github.com/rizinorg/rz-ghidra/pull/327/commits/eba20e2c743ed3dfc5d1be090a5018f7267baa49.patch";
hash = "sha256-aoXFClXZBcOnHl+6lLYrnui7sRb3cRJQhQfNDLxHtcs=";
})
];
nativeBuildInputs = [ cmake ];
buildInputs = [
openssl
@ -59,9 +51,10 @@ stdenv.mkDerivation rec {
# errors out with undefined symbols from Cutter
broken = enableCutterPlugin && stdenv.isDarwin;
description = "Deep ghidra decompiler and sleigh disassembler integration for rizin";
homepage = src.meta.homepage;
homepage = finalAttrs.src.meta.homepage;
changelog = "${finalAttrs.src.meta.homepage}/releases/tag/${finalAttrs.src.rev}";
license = licenses.lgpl3;
maintainers = with maintainers; [ chayleaf ];
inherit (rizin.meta) platforms;
};
}
})

View File

@ -5,15 +5,15 @@
stdenvNoCC.mkDerivation rec {
pname = "rizin-sigdb";
version = "unstable-2023-02-13";
version = "unstable-2023-08-23";
src = fetchFromGitHub {
owner = "rizinorg";
# sigdb-source: source files (.pat and etc), around 2.5gb total
# sigdb: built and deflated .sig files, around 50mb total
repo = "sigdb";
rev = "829baf835e3515923266898fd597f7f75046ebd2";
hash = "sha256-zvGna2CEsDctc9P7hWTaz7kdtxAtPsXHNWOrRQ9ocdc=";
rev = "4addbed50cd3b50eeef5a41d72533d079ebbfbf8";
hash = "sha256-Fy92MTuLswEgQ/XEUExqdU1Z4a5MP2Ahzi/gGxd5BtA=";
};
buildPhase = ''

View File

@ -6,13 +6,13 @@
buildGoModule rec {
pname = "melange";
version = "0.6.5";
version = "0.6.9";
src = fetchFromGitHub {
owner = "chainguard-dev";
repo = pname;
rev = "v${version}";
hash = "sha256-Itb1FMdn/k5HBeJ4RGjsH0f5VVL8xeNiGo9tjkeec3Q=";
hash = "sha256-txyfoGl0MPMHQFOhdCQPVSLveYBVFIiDxJct1W6xYKM=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@ -25,7 +25,7 @@ buildGoModule rec {
'';
};
vendorHash = "sha256-qI7BAd0H5k6AjVZIjm5gd6+TF4YUXufskKinfj8y+So=";
vendorHash = "sha256-uMdphe78cEwypVZOyIvFgUJQuVQ3scd6SQc8y5Sqjdo=";
subPackages = [ "." ];

View File

@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "reindeer";
version = "unstable-2024-02-20";
version = "unstable-2024-03-06";
src = fetchFromGitHub {
owner = "facebookincubator";
repo = pname;
rev = "40e0e40eac95c859a36b4a0fe8ad8f1363620fb0";
sha256 = "sha256-bxRxFxoBt1nOXKBaYQcDYV2KB4OAnhJCaQ8iWvve8sw=";
rev = "3ec771e9608a01c90d6aac92aa77145551786c64";
sha256 = "sha256-cClbSJuEs4yIjx+13GSIevZO2PWEEHVDaMEmf729keA=";
};
cargoSha256 = "sha256-sQk8HXPb0tnafOdVQrtpZmn0QaoNNxBj63QW7P6tZkU=";
cargoSha256 = "sha256-plkn+snWUaOH6ZxaPUbCvnNOky+eL6oY4ZHwv+qyNiE=";
nativeBuildInputs = [ pkg-config ];
buildInputs =

View File

@ -2,14 +2,14 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-tally";
version = "1.0.39";
version = "1.0.40";
src = fetchCrate {
inherit pname version;
hash = "sha256-7YUS+MaUmZ9dopeailASZQdmJiyVLwdXV0agA1upXsE=";
hash = "sha256-X+Tbse4svpGCQuspmfMv3iMJRCbX4LVB+rfYrFlOy98=";
};
cargoHash = "sha256-eEfuFYl949Ps9cstO61j4GTdMHk2SjpRpWxK4onTgfw=";
cargoHash = "sha256-+/6Cwonu/W17ZhAqp902hUeonPZ4DOuC+Z4Ix16pNkY=";
buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [
DiskArbitration

View File

@ -1,16 +1,16 @@
{ lib
, stdenv
, fetchurl
, fetchFromGitLab
, makeWrapper
, pkg-config
, nasm
, makeDesktopItem
, copyDesktopItems
, alsa-lib
, flac
, gtk2
, libvorbis
, libvpx
, libGLU
, libGL
, SDL2
, SDL2_mixer
@ -18,29 +18,23 @@
, Cocoa
, GLUT
, OpenGL
, graphicsmagick
}:
let
desktopItem = makeDesktopItem {
name = "eduke32";
exec = "@out@/bin/${wrapper}";
comment = "Duke Nukem 3D port";
desktopName = "Enhanced Duke Nukem 3D";
genericName = "Duke Nukem 3D port";
categories = [ "Game" ];
};
wrapper = "eduke32-wrapper";
swWrapper = "voidsw-wrapper";
in stdenv.mkDerivation rec {
in stdenv.mkDerivation (finalAttrs: {
pname = "eduke32";
version = "20230926";
rev = "10459";
revExtra = "8feaf6c25";
version = "0-unstable-2024-02-17";
src = fetchurl {
url = "https://dukeworld.com/eduke32/synthesis/${version}-${rev}-${revExtra}/eduke32_src_${version}-${rev}-${revExtra}.tar.xz";
hash = "sha256-GQOpDQm2FeaOMyYu9L5zhrM6XFvZAHMAwn1tSK7RCB8=";
src = fetchFromGitLab {
domain = "voidpoint.io";
owner = "terminx";
repo = "eduke32";
rev = "8afa42e388e0434b38979fdddc763363717a2727";
hash = "sha256-dyZ4JtDBxsTDe9uQDWxJe7M74X7m+5wpEHm+i+s9hwo=";
};
buildInputs = [
@ -53,7 +47,6 @@ in stdenv.mkDerivation rec {
alsa-lib
gtk2
libGL
libGLU
] ++ lib.optionals stdenv.isDarwin [
AGL
Cocoa
@ -61,21 +54,24 @@ in stdenv.mkDerivation rec {
OpenGL
];
nativeBuildInputs = [ makeWrapper pkg-config ]
++ lib.optional (stdenv.hostPlatform.system == "i686-linux") nasm;
nativeBuildInputs = [
makeWrapper
pkg-config
copyDesktopItems
graphicsmagick
] ++ lib.optionals (stdenv.hostPlatform.system == "i686-linux") [
nasm
];
postPatch = ''
substituteInPlace source/imgui/src/imgui_impl_sdl2.cpp \
--replace '#include <SDL.h>' '#include <SDL2/SDL.h>' \
--replace '#include <SDL_syswm.h>' '#include <SDL2/SDL_syswm.h>' \
--replace '#include <SDL_vulkan.h>' '#include <SDL2/SDL_vulkan.h>'
--replace-fail '#include <SDL.h>' '#include <SDL2/SDL.h>' \
--replace-fail '#include <SDL_syswm.h>' '#include <SDL2/SDL_syswm.h>' \
--replace-fail '#include <SDL_vulkan.h>' '#include <SDL2/SDL_vulkan.h>'
'' + lib.optionalString stdenv.isLinux ''
substituteInPlace source/build/src/glbuild.cpp \
--replace libGLU.so ${libGLU}/lib/libGLU.so
for f in glad.c glad_wgl.c ; do
substituteInPlace source/glad/src/$f \
--replace libGL.so ${libGL}/lib/libGL.so
--replace-fail libGL.so ${libGL}/lib/libGL.so
done
'';
@ -86,38 +82,72 @@ in stdenv.mkDerivation rec {
"LTO=0"
];
buildFlags = [
"duke3d"
"sw"
];
desktopItems = [
(makeDesktopItem {
name = "eduke32";
icon = "eduke32";
exec = "${wrapper}";
comment = "Duke Nukem 3D port";
desktopName = "Enhanced Duke Nukem 3D";
genericName = "Duke Nukem 3D port";
categories = [ "Game" ];
})
(makeDesktopItem {
name = "voidsw";
icon = "voidsw";
exec = "${swWrapper}";
comment = "Shadow Warrior eduke32 source port";
desktopName = "VoidSW";
genericName = "Shadow Warrior source port";
categories = [ "Game" ];
})
];
enableParallelBuilding = true;
installPhase = ''
runHook preInstall
install -Dm755 -t $out/bin eduke32 mapster32
install -Dm755 -t $out/bin eduke32 mapster32 voidsw wangulator
'' + lib.optionalString stdenv.isLinux ''
makeWrapper $out/bin/eduke32 $out/bin/${wrapper} \
--set-default EDUKE32_DATA_DIR /var/lib/games/eduke32 \
--add-flags '-g "$EDUKE32_DATA_DIR/DUKE3D.GRP"'
cp -rv ${desktopItem}/share $out
substituteInPlace $out/share/applications/eduke32.desktop \
--subst-var out
makeWrapper $out/bin/voidsw $out/bin/${swWrapper} \
--set-default EDUKE32_DATA_DIR /var/lib/games/eduke32 \
--add-flags '-g"$EDUKE32_DATA_DIR/SW.GRP"'
mkdir -p $out/share/icons/hicolor/scalable/apps
gm convert "./source/duke3d/rsrc/game_icon.ico[10]" $out/share/icons/hicolor/scalable/apps/eduke32.png
install -Dm644 ./source/sw/rsrc/game_icon.svg $out/share/icons/hicolor/scalable/apps/voidsw.svg
'' + lib.optionalString stdenv.isDarwin ''
mkdir -p $out/Applications/EDuke32.app/Contents/MacOS
mkdir -p $out/Applications/Mapster32.app/Contents/MacOS
mkdir -p $out/Applications/VoidSW.app/Contents/MacOS
mkdir -p $out/Applications/Wangulator.app/Contents/MacOS
cp -r platform/Apple/bundles/EDuke32.app/* $out/Applications/EDuke32.app/
cp -r platform/Apple/bundles/Mapster32.app/* $out/Applications/Mapster32.app/
cp -r platform/Apple/bundles/VoidSW.app/* $out/Applications/VoidSW.app/
cp -r platform/Apple/bundles/Wangulator.app/* $out/Applications/Wangulator.app/
ln -sf $out/bin/eduke32 $out/Applications/EDuke32.app/Contents/MacOS/eduke32
ln -sf $out/bin/mapster32 $out/Applications/Mapster32.app/Contents/MacOS/mapster32
ln -sf $out/bin/voidsw $out/Applications/VoidSW.app/Contents/MacOS/voidsw
ln -sf $out/bin/wangulator $out/Applications/Wangulator.app/Contents/MacOS/wangulator
'' + ''
runHook postInstall
'';
meta = with lib; {
meta = {
description = "Enhanched port of Duke Nukem 3D for various platforms";
homepage = "http://eduke32.com";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ mikroskeem sander ];
platforms = platforms.all;
license = with lib.licenses; [ gpl2Plus ];
maintainers = with lib.maintainers; [ mikroskeem sander ];
platforms = lib.platforms.all;
};
}
})

View File

@ -27,5 +27,6 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/MindFlavor/prometheus_wireguard_exporter";
license = licenses.mit;
maintainers = with maintainers; [ ma27 globin ];
mainProgram = "prometheus_wireguard_exporter";
};
}

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "amazon-ec2-utils";
version = "2.1.0";
version = "2.2.0";
src = fetchFromGitHub {
owner = "amazonlinux";
repo = "amazon-ec2-utils";
rev = "refs/tags/v${version}";
hash = "sha256-Yr6pVwyvyVGV4xrjL7VFSkRH8d1w8VLPMTVjXfneJUM=";
hash = "sha256-plTBh2LAXkYVSxN0IZJQuPr7QxD7+OAqHl/Zl8JPCmg=";
};
outputs = [ "out" "man" ];

View File

@ -3,7 +3,7 @@
, fetchFromGitHub
, autoreconfHook
, fuse
, unrar
, unrar_6
}:
stdenv.mkDerivation rec {
@ -23,10 +23,10 @@ stdenv.mkDerivation rec {
'';
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ fuse unrar ];
buildInputs = [ fuse unrar_6 ];
configureFlags = [
"--with-unrar=${unrar.src}/unrar"
"--with-unrar=${unrar_6.src}/unrar"
"--disable-static-unrar"
];

View File

@ -5,21 +5,21 @@
buildGoModule rec {
pname = "ntfy-sh";
version = "2.8.0";
version = "2.9.0";
src = fetchFromGitHub {
owner = "binwiederhier";
repo = "ntfy";
rev = "v${version}";
hash = "sha256-YO6nf1tY+tEgPlvq7JDgeG0ywE8+HEpZH7ToFzvYfvY=";
hash = "sha256-nCW7D2iQEv9NeIvVn1+REacspchzJ7SJgl0glEWkAoE=";
};
vendorHash = "sha256-Gvk/EI5b6AIYBCKYqSFKva0SfiWI/oNCeq7cTyVRpwY=";
vendorHash = "sha256-nnAw3BIiPMNa/7WSH8vurt8GUFM7Bf80CmtH4WjfC6Q=";
ui = buildNpmPackage {
inherit src version;
pname = "ntfy-sh-ui";
npmDepsHash = "sha256-G2yEIiKc/gxcUPS+97B68C/HukabGZAX2XY1gstGBvg=";
npmDepsHash = "sha256-+4VL+bY3Nz5LT5ZyW9aJlrl3NsfOGv6CaiwLqpC5ywo=";
prePatch = ''
cd web/

View File

@ -9,14 +9,14 @@
rustPlatform.buildRustPackage rec {
pname = "star-history";
version = "1.0.18";
version = "1.0.19";
src = fetchCrate {
inherit pname version;
sha256 = "sha256-PKQyGDSLFRf5eEUICdtDAkbzfljdj0HN40c7+V21wHI=";
sha256 = "sha256-sjVxYo5Sx6fmlLflg3y754jnFbnA5x/X5NINM3omPVY=";
};
cargoHash = "sha256-LriRO5XdcTqp+7quV11RwjNQgfzQsc5EV8GNwkuwz8s=";
cargoHash = "sha256-aeRAXUdpv94WW1E/bWvJnwHOxYn9bALXvTb5RVjcozQ=";
nativeBuildInputs = [ pkg-config ];

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "exploitdb";
version = "2024-03-07";
version = "2024-03-09";
src = fetchFromGitLab {
owner = "exploit-database";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-f+xg4uR//1ffssH2PAN9ta/osCrY7+s6SI1Kfvfq8cQ=";
hash = "sha256-IkCswvoCEqlTckXILYToXpIJpHM7MIcVK1MySAJK63A=";
};
nativeBuildInputs = [

View File

@ -6,6 +6,7 @@
, wheel
, nss
, nix-update-script
, stdenv
}:
buildPythonApplication rec {
@ -26,7 +27,12 @@ buildPythonApplication rec {
wheel
];
makeWrapperArgs = [ "--prefix" "LD_LIBRARY_PATH" ":" (lib.makeLibraryPath [ nss ]) ];
makeWrapperArgs = [
"--prefix"
(if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH")
":"
(lib.makeLibraryPath [ nss ])
];
passthru.updateScript = nix-update-script { };

View File

@ -1,100 +1,120 @@
{ fetchurl, mkDerivation, fetchpatch, stdenv, lib, pkg-config, autoreconfHook, wrapGAppsHook
, libgpg-error, libassuan, qtbase, wrapQtAppsHook
, ncurses, gtk2, gcr
, withLibsecret ? true, libsecret
, enabledFlavors ? [ "curses" "tty" "gtk2" "emacs" ]
++ lib.optionals stdenv.isLinux [ "gnome3" ]
++ lib.optionals (!stdenv.isDarwin) [ "qt" ]
{ stdenv
, lib
, fetchurl
, fetchpatch
, pkg-config
, autoreconfHook
, wrapGAppsHook
, libgpg-error
, libassuan
, libsForQt5
, ncurses
, gtk2
, gcr
, withLibsecret ? true
, libsecret
}:
assert lib.isList enabledFlavors && enabledFlavors != [];
let
pinentryMkDerivation =
if (builtins.elem "qt" enabledFlavors)
then mkDerivation
else stdenv.mkDerivation;
enableFeaturePinentry = f:
let
flag = flavorInfo.${f}.flag or null;
in
lib.optionalString (flag != null)
(lib.enableFeature (lib.elem f enabledFlavors) ("pinentry-" + flag));
flavorInfo = {
curses = { bin = "curses"; flag = "curses"; buildInputs = [ ncurses ]; };
tty = { bin = "tty"; flag = "tty"; };
gtk2 = { bin = "gtk-2"; flag = "gtk2"; buildInputs = [ gtk2 ]; };
gnome3 = { bin = "gnome3"; flag = "gnome3"; buildInputs = [ gcr ]; nativeBuildInputs = [ wrapGAppsHook ]; };
qt = { bin = "qt"; flag = "qt"; buildInputs = [ qtbase ]; nativeBuildInputs = [ wrapQtAppsHook ]; };
emacs = { bin = "emacs"; flag = "emacs"; buildInputs = []; };
tty = { flag = "tty"; };
curses = {
flag = "curses";
buildInputs = [ ncurses ];
};
gtk2 = {
flag = "gtk2";
buildInputs = [ gtk2 ];
};
gnome3 = {
flag = "gnome3";
buildInputs = [ gcr ];
nativeBuildInputs = [ wrapGAppsHook ];
};
qt = {
flag = "qt";
buildInputs = [ libsForQt5.qtbase ];
nativeBuildInputs = [ libsForQt5.wrapQtAppsHook ];
};
emacs = { flag = "emacs"; };
};
buildPinentry = pinentryExtraPname: buildFlavors:
let
enableFeaturePinentry = f:
lib.enableFeature (lib.elem f buildFlavors) ("pinentry-" + flavorInfo.${f}.flag);
pinentryMkDerivation =
if (lib.elem "qt" buildFlavors)
then libsForQt5.mkDerivation
else stdenv.mkDerivation;
in
pinentryMkDerivation rec {
pname = "pinentry-${pinentryExtraPname}";
version = "1.2.1";
src = fetchurl {
url = "mirror://gnupg/pinentry/pinentry-${version}.tar.bz2";
hash = "sha256-RXoYXlqFI4+5RalV3GNSq5YtyLSHILYvyfpIx1QKQGc=";
};
nativeBuildInputs = [ pkg-config autoreconfHook ]
++ lib.concatMap (f: flavorInfo.${f}.nativeBuildInputs or [ ]) buildFlavors;
buildInputs = [ libgpg-error libassuan ]
++ lib.optional withLibsecret libsecret
++ lib.concatMap (f: flavorInfo.${f}.buildInputs or [ ]) buildFlavors;
dontWrapGApps = true;
dontWrapQtApps = true;
patches = [
./autoconf-ar.patch
] ++ lib.optionals (lib.elem "gtk2" buildFlavors) [
(fetchpatch {
url = "https://salsa.debian.org/debian/pinentry/raw/debian/1.1.0-1/debian/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch";
sha256 = "15r1axby3fdlzz9wg5zx7miv7gqx2jy4immaw4xmmw5skiifnhfd";
})
];
configureFlags = [
"--with-libgpg-error-prefix=${libgpg-error.dev}"
"--with-libassuan-prefix=${libassuan.dev}"
(lib.enableFeature withLibsecret "libsecret")
] ++ (map enableFeaturePinentry (lib.attrNames flavorInfo));
postInstall =
lib.optionalString (lib.elem "gnome3" buildFlavors) ''
wrapGApp $out/bin/pinentry-gnome3
'' + lib.optionalString (lib.elem "qt" buildFlavors) ''
wrapQtApp $out/bin/pinentry-qt
'';
passthru = { flavors = buildFlavors; };
meta = with lib; {
homepage = "https://gnupg.org/software/pinentry/index.html";
description = "GnuPGs interface to passphrase input";
license = licenses.gpl2Plus;
platforms =
if elem "gnome3" buildFlavors then platforms.linux else
if elem "qt" buildFlavors then (remove "aarch64-darwin" platforms.all) else
platforms.all;
longDescription = ''
Pinentry provides a console and (optional) GTK and Qt GUIs allowing users
to enter a passphrase when `gpg' or `gpg2' is run and needs it.
'';
maintainers = with maintainers; [ fpletz ];
mainProgram = "pinentry";
};
};
in
pinentryMkDerivation rec {
pname = "pinentry";
version = "1.2.1";
src = fetchurl {
url = "mirror://gnupg/pinentry/${pname}-${version}.tar.bz2";
sha256 = "sha256-RXoYXlqFI4+5RalV3GNSq5YtyLSHILYvyfpIx1QKQGc=";
};
nativeBuildInputs = [ pkg-config autoreconfHook ]
++ lib.concatMap(f: flavorInfo.${f}.nativeBuildInputs or []) enabledFlavors;
buildInputs = [ libgpg-error libassuan ]
++ lib.optional withLibsecret libsecret
++ lib.concatMap(f: flavorInfo.${f}.buildInputs or []) enabledFlavors;
dontWrapGApps = true;
dontWrapQtApps = true;
patches = [
./autoconf-ar.patch
] ++ lib.optionals (lib.elem "gtk2" enabledFlavors) [
(fetchpatch {
url = "https://salsa.debian.org/debian/pinentry/raw/debian/1.1.0-1/debian/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch";
sha256 = "15r1axby3fdlzz9wg5zx7miv7gqx2jy4immaw4xmmw5skiifnhfd";
})
];
configureFlags = [
"--with-libgpg-error-prefix=${libgpg-error.dev}"
"--with-libassuan-prefix=${libassuan.dev}"
(lib.enableFeature withLibsecret "libsecret")
] ++ (map enableFeaturePinentry (lib.attrNames flavorInfo));
postInstall =
lib.concatStrings (lib.flip map enabledFlavors (f:
let
binary = "pinentry-" + flavorInfo.${f}.bin;
in ''
moveToOutput bin/${binary} ${placeholder f}
ln -sf ${placeholder f}/bin/${binary} ${placeholder f}/bin/pinentry
'' + lib.optionalString (f == "gnome3") ''
wrapGApp ${placeholder f}/bin/${binary}
'' + lib.optionalString (f == "qt") ''
wrapQtApp ${placeholder f}/bin/${binary}
'')) + ''
ln -sf ${placeholder (lib.head enabledFlavors)}/bin/pinentry-${flavorInfo.${lib.head enabledFlavors}.bin} $out/bin/pinentry
'';
outputs = [ "out" ] ++ enabledFlavors;
passthru = { flavors = enabledFlavors; };
meta = with lib; {
homepage = "http://gnupg.org/aegypten2/";
description = "GnuPGs interface to passphrase input";
license = licenses.gpl2Plus;
platforms = platforms.all;
longDescription = ''
Pinentry provides a console and (optional) GTK and Qt GUIs allowing users
to enter a passphrase when `gpg' or `gpg2' is run and needs it.
'';
maintainers = with maintainers; [ ttuegel fpletz ];
};
{
pinentry-curses = buildPinentry "curses" [ "curses" "tty" ];
pinentry-gtk2 = buildPinentry "gtk2" [ "gtk2" "curses" "tty" ];
pinentry-gnome3 = buildPinentry "gnome3" [ "gnome3" "curses" "tty" ];
pinentry-qt = buildPinentry "qt" [ "qt" "curses" "tty" ];
pinentry-emacs = buildPinentry "emacs" [ "emacs" "curses" "tty" ];
pinentry-all = buildPinentry "all" [ "curses" "tty" "gtk2" "gnome3" "qt" "emacs" ];
}

View File

@ -5,14 +5,14 @@
rustPlatform.buildRustPackage rec {
pname = "hayagriva";
version = "0.5.1";
version = "0.5.2";
src = fetchCrate {
inherit pname version;
hash = "sha256-nXfoPAUU8pDUj8MdpiYbN9ToJbWk4CsUTGehgGDvykg=";
hash = "sha256-hE0Oi+0vDQGDEOYtHiPit1RrrkrlLZs20nEHOm/bp5M=";
};
cargoHash = "sha256-xKCnHqQn4mNvZ9LBgDnD4VDlUBgRO1SYLmvqq11GFsc=";
cargoHash = "sha256-WZbbjLDHYJTiuM0Lh9YfVvLTvK/jfO8fRbLqZ8XOLGg=";
buildFeatures = [ "cli" ];

View File

@ -902,12 +902,23 @@ mapAliases ({
timescaledb = postgresqlPackages.timescaledb;
tsearch_extras = postgresqlPackages.tsearch_extras;
# pinentry was using multiple outputs, this emulates the old interface for i.e. home-manager
# soon: throw "'pinentry' has been removed. Pick an appropriate variant like 'pinentry-curses' or 'pinentry-gnome3'";
pinentry = pinentry-all // {
curses = pinentry-curses;
gtk2 = pinentry-gtk2;
gnome2 = pinentry-gnome3;
qt = pinentry-qt;
emacs = pinentry-emacs;
flavors = [ "curses" "gtk2" "gnome2" "qt" "emacs" ];
}; # added 2024-01-15
pinentry_curses = throw "'pinentry_curses' has been renamed to/replaced by 'pinentry-curses'"; # Converted to throw 2023-09-10
pinentry_emacs = throw "'pinentry_emacs' has been renamed to/replaced by 'pinentry-emacs'"; # Converted to throw 2023-09-10
pinentry_gnome = throw "'pinentry_gnome' has been renamed to/replaced by 'pinentry-gnome'"; # Converted to throw 2023-09-10
pinentry_gtk2 = throw "'pinentry_gtk2' has been renamed to/replaced by 'pinentry-gtk2'"; # Converted to throw 2023-09-10
pinentry_qt = throw "'pinentry_qt' has been renamed to/replaced by 'pinentry-qt'"; # Converted to throw 2023-09-10
pinentry_qt5 = pinentry-qt; # Added 2020-02-11
PlistCpp = plistcpp; # Added 2024-01-05
pocket-updater-utility = pupdate; # Added 2024-01-25
poetry2nix = throw "poetry2nix is now maintained out-of-tree. Please use https://github.com/nix-community/poetry2nix/"; # Added 2023-10-26

View File

@ -5528,8 +5528,6 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) Cocoa;
};
gmic-qt = libsForQt5.callPackage ../tools/graphics/gmic-qt { };
gpg-tui = callPackage ../tools/security/gpg-tui {
inherit (darwin.apple_sdk.frameworks) AppKit Foundation;
inherit (darwin) libobjc libresolv;
@ -11995,13 +11993,13 @@ with pkgs;
piknik = callPackage ../tools/networking/piknik { };
pinentry = libsForQt5.callPackage ../tools/security/pinentry { };
pinentry-curses = (lib.getOutput "curses" pinentry);
pinentry-emacs = (lib.getOutput "emacs" pinentry);
pinentry-gtk2 = (lib.getOutput "gtk2" pinentry);
pinentry-qt = (lib.getOutput "qt" pinentry);
pinentry-gnome = (lib.getOutput "gnome3" pinentry);
inherit (callPackages ../tools/security/pinentry { })
pinentry-curses
pinentry-emacs
pinentry-gtk2
pinentry-gnome3
pinentry-qt
pinentry-all;
pinentry_mac = callPackage ../tools/security/pinentry/mac.nix {
inherit (darwin.apple_sdk.frameworks) Cocoa;
@ -14667,8 +14665,6 @@ with pkgs;
unnaturalscrollwheels = callPackage ../tools/inputmethods/unnaturalscrollwheels { };
unrar = callPackage ../tools/archivers/unrar { };
unrar-wrapper = python3Packages.callPackage ../tools/archivers/unrar-wrapper { };
uptime-kuma = callPackage ../servers/monitoring/uptime-kuma { };
@ -28085,7 +28081,9 @@ with pkgs;
goverview = callPackage ../tools/security/goverview { };
go-tools = callPackage ../development/tools/go-tools { };
go-tools = callPackage ../development/tools/go-tools {
buildGoModule = buildGo122Module;
};
gotest = callPackage ../development/tools/gotest { };
@ -30337,7 +30335,9 @@ with pkgs;
bgpq4 = callPackage ../tools/networking/bgpq4 { };
blackbox = callPackage ../applications/version-management/blackbox { };
blackbox = callPackage ../applications/version-management/blackbox {
pinentry = pinentry-curses;
};
bleachbit = callPackage ../applications/misc/bleachbit { };
@ -31635,22 +31635,6 @@ with pkgs;
fragments = callPackage ../applications/networking/p2p/fragments { };
freecad = libsForQt5.callPackage ../applications/graphics/freecad {
boost = python3Packages.boost;
inherit (python3Packages)
gitpython
matplotlib
pivy
ply
pycollada
pyside2
pyside2-tools
python
pyyaml
scipy
shiboken2;
};
freedv = callPackage ../applications/radio/freedv {
inherit (darwin.apple_sdk.frameworks) AppKit AVFoundation Cocoa CoreMedia;
codec2 = codec2.override {
@ -41254,7 +41238,9 @@ with pkgs;
linkchecker = callPackage ../tools/networking/linkchecker { };
tomb = callPackage ../os-specific/linux/tomb { };
tomb = callPackage ../os-specific/linux/tomb {
pinentry = pinentry-curses;
};
sccache = callPackage ../development/tools/misc/sccache { };

View File

@ -14972,7 +14972,9 @@ self: super: with self; {
treq = callPackage ../development/python-modules/treq { };
trezor-agent = callPackage ../development/python-modules/trezor-agent { };
trezor-agent = callPackage ../development/python-modules/trezor-agent {
pinentry = pkgs.pinentry-curses;
};
trezor = callPackage ../development/python-modules/trezor { };