Merge #263535: staging-next 2023-10-26

This commit is contained in:
Vladimír Čunát 2023-11-16 22:06:22 +01:00
commit a7a8f8253d
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
641 changed files with 10229 additions and 6576 deletions

View File

@ -1,25 +1,83 @@
# Meson {#meson}
Overrides the configure phase to run meson to generate Ninja files. To run these files, you should accompany Meson with ninja. By default, `enableParallelBuilding` is enabled as Meson supports parallel building almost everywhere.
[Meson](https://mesonbuild.com/) is an open source meta build system meant to be
fast and user-friendly.
## Variables controlling Meson {#variables-controlling-meson}
In Nixpkgs, meson comes with a setup hook that overrides the configure, check,
and install phases.
### `mesonFlags` {#mesonflags}
Being a meta build system, meson needs an accompanying backend. In the context
of Nixpkgs, the typical companion backend is [Ninja](#ninja), that provides a
setup hook registering ninja-based build and install phases.
Controls the flags passed to meson.
## Variables controlling Meson {#meson-variables-controlling}
### `mesonBuildType` {#mesonbuildtype}
### Meson Exclusive Variables {#meson-exclusive-variables}
Which [`--buildtype`](https://mesonbuild.com/Builtin-options.html#core-options) to pass to Meson. We default to `plain`.
#### `mesonFlags` {#meson-flags}
### `mesonAutoFeatures` {#mesonautofeatures}
Controls the flags passed to `meson setup` during configure phase.
What value to set [`-Dauto_features=`](https://mesonbuild.com/Builtin-options.html#core-options) to. We default to `enabled`.
#### `mesonWrapMode` {#meson-wrap-mode}
### `mesonWrapMode` {#mesonwrapmode}
Which value is passed as
[`-Dwrap_mode=`](https://mesonbuild.com/Builtin-options.html#core-options)
to. In Nixpkgs the default value is `nodownload`, so that no subproject will be
downloaded (since network access is already disabled during deployment in
Nixpkgs).
What value to set [`-Dwrap_mode=`](https://mesonbuild.com/Builtin-options.html#core-options) to. We default to `nodownload` as we disallow network access.
Note: Meson allows pre-population of subprojects that would otherwise be
downloaded.
### `dontUseMesonConfigure` {#dontusemesonconfigure}
#### `mesonBuildType` {#meson-build-type}
Disables using Mesons `configurePhase`.
Which value is passed as
[`--buildtype`](https://mesonbuild.com/Builtin-options.html#core-options) to
`meson setup` during configure phase. In Nixpkgs the default value is `plain`.
#### `mesonAutoFeatures` {#meson-auto-features}
Which value is passed as
[`-Dauto_features=`](https://mesonbuild.com/Builtin-options.html#core-options)
to `meson setup` during configure phase. In Nixpkgs the default value is
`enabled`, meaning that every feature declared as "auto" by the meson scripts
will be enabled.
#### `mesonCheckFlags` {#meson-check-flags}
Controls the flags passed to `meson test` during check phase.
#### `mesonInstallFlags` {#meson-install-flags}
Controls the flags passed to `meson install` during install phase.
#### `mesonInstallTags` {#meson-install-tags}
A list of installation tags passed to Meson's commandline option
[`--tags`](https://mesonbuild.com/Installing.html#installation-tags) during
install phase.
Note: `mesonInstallTags` should be a list of strings, that will be converted to
a comma-separated string that is recognized to `--tags`.
Example: `mesonInstallTags = [ "emulator" "assembler" ];` will be converted to
`--tags emulator,assembler`.
#### `dontUseMesonConfigure` {#dont-use-meson-configure}
When set to true, don't use the predefined `mesonConfigurePhase`.
#### `dontUseMesonCheck` {#dont-use-meson-check}
When set to true, don't use the predefined `mesonCheckPhase`.
#### `dontUseMesonInstall` {#dont-use-meson-install}
When set to true, don't use the predefined `mesonInstallPhase`.
### Honored variables {#meson-honored-variables}
The following variables commonly used by `stdenv.mkDerivation` are honored by
Meson setup hook.
- `prefixKey`
- `enableParallelBuilding`

View File

@ -1,3 +1,5 @@
# ninja {#ninja}
Overrides the build, install, and check phase to run ninja instead of make. You can disable this behavior with the `dontUseNinjaBuild`, `dontUseNinjaInstall`, and `dontUseNinjaCheck`, respectively. Parallel building is enabled by default in Ninja.
Note that if the [Meson setup hook](#meson) is also active, Ninja's install and check phases will be disabled in favor of Meson's.

View File

@ -43,6 +43,10 @@ rec {
elaborate = args': let
args = if lib.isString args' then { system = args'; }
else args';
# TODO: deprecate args.rustc in favour of args.rust after 23.05 is EOL.
rust = assert !(args ? rust && args ? rustc); args.rust or args.rustc or {};
final = {
# Prefer to parse `config` as it is strictly more informative.
parsed = parse.mkSystemFromString (if args ? config then args.config else args.system);
@ -159,9 +163,101 @@ rec {
({
linux-kernel = args.linux-kernel or {};
gcc = args.gcc or {};
rustc = args.rustc or {};
} // platforms.select final)
linux-kernel gcc rustc;
linux-kernel gcc;
# TODO: remove after 23.05 is EOL, with an error pointing to the rust.* attrs.
rustc = args.rustc or {};
rust = rust // {
# Once args.rustc.platform.target-family is deprecated and
# removed, there will no longer be any need to modify any
# values from args.rust.platform, so we can drop all the
# "args ? rust" etc. checks, and merge args.rust.platform in
# /after/.
platform = rust.platform or {} // {
# https://doc.rust-lang.org/reference/conditional-compilation.html#target_arch
arch =
/**/ if rust ? platform then rust.platform.arch
else if final.isAarch32 then "arm"
else if final.isMips64 then "mips64" # never add "el" suffix
else if final.isPower64 then "powerpc64" # never add "le" suffix
else final.parsed.cpu.name;
# https://doc.rust-lang.org/reference/conditional-compilation.html#target_os
os =
/**/ if rust ? platform then rust.platform.os or "none"
else if final.isDarwin then "macos"
else final.parsed.kernel.name;
# https://doc.rust-lang.org/reference/conditional-compilation.html#target_family
target-family =
/**/ if args ? rust.platform.target-family then args.rust.platform.target-family
else if args ? rustc.platform.target-family
then
(
# Since https://github.com/rust-lang/rust/pull/84072
# `target-family` is a list instead of single value.
let
f = args.rustc.platform.target-family;
in
if builtins.isList f then f else [ f ]
)
else lib.optional final.isUnix "unix"
++ lib.optional final.isWindows "windows";
# https://doc.rust-lang.org/reference/conditional-compilation.html#target_vendor
vendor = let
inherit (final.parsed) vendor;
in rust.platform.vendor or {
"w64" = "pc";
}.${vendor.name} or vendor.name;
};
# The name of the rust target, even if it is custom. Adjustments are
# because rust has slightly different naming conventions than we do.
rustcTarget = let
inherit (final.parsed) cpu kernel abi;
cpu_ = rust.platform.arch or {
"armv7a" = "armv7";
"armv7l" = "armv7";
"armv6l" = "arm";
"armv5tel" = "armv5te";
"riscv64" = "riscv64gc";
}.${cpu.name} or cpu.name;
vendor_ = final.rust.platform.vendor;
in rust.config
or "${cpu_}-${vendor_}-${kernel.name}${lib.optionalString (abi.name != "unknown") "-${abi.name}"}";
# The name of the rust target if it is standard, or the json file
# containing the custom target spec.
rustcTargetSpec =
/**/ if rust ? platform
then builtins.toFile (final.rust.rustcTarget + ".json") (builtins.toJSON rust.platform)
else final.rust.rustcTarget;
# The name of the rust target if it is standard, or the
# basename of the file containing the custom target spec,
# without the .json extension.
#
# This is the name used by Cargo for target subdirectories.
cargoShortTarget =
lib.removeSuffix ".json" (baseNameOf "${final.rust.rustcTargetSpec}");
# When used as part of an environment variable name, triples are
# uppercased and have all hyphens replaced by underscores:
#
# https://github.com/rust-lang/cargo/pull/9169
# https://github.com/rust-lang/cargo/issues/8285#issuecomment-634202431
cargoEnvVarTarget =
lib.strings.replaceStrings ["-"] ["_"]
(lib.strings.toUpper final.rust.cargoShortTarget);
# True if the target is no_std
# https://github.com/rust-lang/rust/blob/2e44c17c12cec45b6a682b1e53a04ac5b5fcc9d2/src/bootstrap/config.rs#L415-L421
isNoStdTarget =
builtins.any (t: lib.hasInfix t final.rust.rustcTarget) ["-none" "nvptx" "switch" "-uefi"];
};
linuxArch =
if final.isAarch32 then "arm"

View File

@ -19616,6 +19616,13 @@
fingerprint = "FD0A C425 9EF5 4084 F99F 9B47 2ACC 9749 7C68 FAD4";
}];
};
YellowOnion = {
name = "Daniel Hill";
email = "daniel@gluo.nz";
github = "YellowOnion";
githubId = 364160;
matrix = "@woobilicious:matrix.org";
};
yesbox = {
email = "jesper.geertsen.jonsson@gmail.com";
github = "yesbox";

View File

@ -1,9 +1,9 @@
name,src,ref,server,version,luaversion,maintainers
alt-getopt,,,,,,arobyn
bit32,,,,5.3.0-1,5.1,lblasc
argparse,https://github.com/luarocks/argparse.git,,,,,
basexx,https://github.com/teto/basexx.git,,,,,
binaryheap,https://github.com/Tieske/binaryheap.lua,,,,,vcunat
argparse,,,,,,
basexx,,,,,,
binaryheap,,,,,,vcunat
busted,,,,,,
cassowary,,,,,,marsam alerque
cldr,,,,,,alerque
@ -12,8 +12,7 @@ cosmo,,,,,,marsam
coxpcall,,,,1.17.0-1,,
cqueues,,,,,,vcunat
cyan,,,,,,
cyrussasl,https://github.com/JorjBauer/lua-cyrussasl.git,,,,,
digestif,https://github.com/astoff/digestif.git,,,0.2-1,5.3,
digestif,https://github.com/astoff/digestif.git,,,,5.3,
dkjson,,,,,,
fennel,,,,,,misterio77
fifo,,,,,,
@ -24,7 +23,7 @@ http,,,,0.3-0,,vcunat
inspect,,,,,,
jsregexp,,,,,,
ldbus,,,http://luarocks.org/dev,,,
ldoc,https://github.com/stevedonovan/LDoc.git,,,,,
ldoc,,,,,,
lgi,,,,,,
linenoise,https://github.com/hoelzro/lua-linenoise.git,,,,,
ljsyscall,,,,,5.1,lblasc
@ -40,7 +39,7 @@ lrexlib-posix,,,,,,
lua-cjson,,,,,,
lua-cmsgpack,,,,,,
lua-curl,,,,,,
lua-iconv,,,,,,
lua-ffi-zlib,,,,,,
lua-lsp,,,,,,
lua-messagepack,,,,,,
lua-protobuf,,,,,,lockejan
@ -83,30 +82,30 @@ luaunit,,,,,,lockejan
luautf8,,,,,,pstn
luazip,,,,,,
lua-yajl,,,,,,pstn
lua-iconv,,,,7.0.0,,
luuid,,,,,,
luv,,,,1.44.2-1,,
lush.nvim,https://github.com/rktjmp/lush.nvim,,,,,teto
lyaml,,,,,,lblasc
magick,,,,,,donovanglover
magick,,,,,5.1,donovanglover
markdown,,,,,,
mediator_lua,,,,,,
middleclass,,,,,,
mpack,,,,,,
moonscript,https://github.com/leafo/moonscript.git,dev-1,,,,arobyn
nui-nvim,,,,,,mrcjkb
nui.nvim,,,,,,mrcjkb
nvim-client,https://github.com/neovim/lua-client.git,,,,,
nvim-cmp,https://github.com/hrsh7th/nvim-cmp,,,,,
penlight,https://github.com/lunarmodules/Penlight.git,,,,,alerque
plenary.nvim,https://github.com/nvim-lua/plenary.nvim.git,,,,5.1,
rapidjson,https://github.com/xpol/lua-rapidjson.git,,,,,
rest.nvim,,,,,5.1,teto
readline,,,,,,
rustaceanvim,,,,,,mrcjkb
say,https://github.com/Olivine-Labs/say.git,,,,,
serpent,,,,,,lockejan
sqlite,,,,,,
std._debug,https://github.com/lua-stdlib/_debug.git,,,,,
std.normalize,https://github.com/lua-stdlib/normalize.git,,,,,
std.normalize,,,,,,
stdlib,,,,41.2.2,,vyp
teal-language-server,,,http://luarocks.org/dev,,,
telescope.nvim,,,,,5.1,

1 name src ref server version luaversion maintainers
2 alt-getopt arobyn
3 bit32 5.3.0-1 5.1 lblasc
4 argparse https://github.com/luarocks/argparse.git
5 basexx https://github.com/teto/basexx.git
6 binaryheap https://github.com/Tieske/binaryheap.lua vcunat
7 busted
8 cassowary marsam alerque
9 cldr alerque
12 coxpcall 1.17.0-1
13 cqueues vcunat
14 cyan
15 cyrussasl digestif https://github.com/JorjBauer/lua-cyrussasl.git https://github.com/astoff/digestif.git 5.3
digestif https://github.com/astoff/digestif.git 0.2-1 5.3
16 dkjson
17 fennel misterio77
18 fifo
23 inspect
24 jsregexp
25 ldbus http://luarocks.org/dev
26 ldoc https://github.com/stevedonovan/LDoc.git
27 lgi
28 linenoise https://github.com/hoelzro/lua-linenoise.git
29 ljsyscall 5.1 lblasc
39 lua-cjson
40 lua-cmsgpack
41 lua-curl
42 lua-iconv lua-ffi-zlib
43 lua-lsp
44 lua-messagepack
45 lua-protobuf lockejan
82 luautf8 pstn
83 luazip
84 lua-yajl pstn
85 lua-iconv 7.0.0
86 luuid
87 luv 1.44.2-1
88 lush.nvim https://github.com/rktjmp/lush.nvim teto
89 lyaml lblasc
90 magick 5.1 donovanglover
91 markdown
92 mediator_lua
93 middleclass
94 mpack
95 moonscript https://github.com/leafo/moonscript.git dev-1 arobyn
96 nui-nvim nui.nvim mrcjkb
97 nvim-client https://github.com/neovim/lua-client.git
98 nvim-cmp https://github.com/hrsh7th/nvim-cmp
99 penlight https://github.com/lunarmodules/Penlight.git alerque
100 plenary.nvim https://github.com/nvim-lua/plenary.nvim.git 5.1
101 rapidjson https://github.com/xpol/lua-rapidjson.git
102 rest.nvim 5.1 teto
readline
103 rustaceanvim mrcjkb
104 say https://github.com/Olivine-Labs/say.git
105 serpent lockejan
106 sqlite
107 std._debug https://github.com/lua-stdlib/_debug.git
108 std.normalize https://github.com/lua-stdlib/normalize.git
109 stdlib 41.2.2 vyp
110 teal-language-server http://luarocks.org/dev
111 telescope.nvim 5.1

View File

@ -270,6 +270,18 @@
- `fileSystems.<name>.autoResize` now uses `systemd-growfs` to resize the file system online in stage 2. This means that `f2fs` and `ext2` can no longer be auto resized, while `xfs` and `btrfs` now can be.
- `fuse3` has been updated from 3.11.0 to 3.16.2; see [ChangeLog.rst](https://github.com/libfuse/libfuse/blob/fuse-3.16.2/ChangeLog.rst#libfuse-3162-2023-10-10) for an overview of the changes.
Unsupported mount options are no longer silently accepted [(since 3.15.0)](https://github.com/libfuse/libfuse/blob/fuse-3.16.2/ChangeLog.rst#libfuse-3150-2023-06-09). The [affected mount options](https://github.com/libfuse/libfuse/commit/dba6b3983af34f30de01cf532dff0b66f0ed6045) are: `atime`, `diratime`, `lazytime`, `nolazytime`, `relatime`, `norelatime`, `strictatime`.
For example,
```bash
$ sshfs 127.0.0.1:/home/test/testdir /home/test/sshfs_mnt -o atime`
```
would previously terminate successfully with the mount point established, now it outputs the error message ``fuse: unknown option(s): `-o atime'`` and terminates with exit status 1.
- `nixos-rebuild {switch,boot,test,dry-activate}` now runs the system activation inside `systemd-run`, creating an ephemeral systemd service and protecting the system switch against issues like network disconnections during remote (e.g. SSH) sessions. This has the side effect of running the switch in an isolated environment, that could possible break post-switch scripts that depends on things like environment variables being set. If you want to opt-out from this behavior for now, you may set the `NIXOS_SWITCH_USE_DIRTY_ENV` environment variable before running `nixos-rebuild`. However, keep in mind that this option will be removed in the future.
- The `services.vaultwarden.config` option default value was changed to make Vaultwarden only listen on localhost, following the [secure defaults for most NixOS services](https://github.com/NixOS/nixpkgs/issues/100192).

View File

@ -257,6 +257,7 @@ foreach my $path (glob "/sys/class/{block,mmc_host}/*") {
# Add bcache module, if needed.
my @bcacheDevices = glob("/dev/bcache*");
@bcacheDevices = grep(!qr#dev/bcachefs.*#, @bcacheDevices);
if (scalar @bcacheDevices > 0) {
push @initrdAvailableKernelModules, "bcache";
}
@ -467,6 +468,19 @@ EOF
# boot.tmp.useTmpfs option in configuration.nix (managed declaratively).
next if ($mountPoint eq "/tmp" && $fsType eq "tmpfs");
# This should work for single and multi-device systems.
# still needs subvolume support
if ($fsType eq "bcachefs") {
my ($status, @info) = runCommand("bcachefs fs usage $rootDir$mountPoint");
my $UUID = $info[0];
if ($status == 0 && $UUID =~ /^Filesystem:[ \t\n]*([0-9a-z-]+)/) {
$stableDevPath = "UUID=$1";
} else {
print STDERR "warning: can't find bcachefs mount UUID falling back to device-path";
}
}
# Emit the filesystem.
$fileSystems .= <<EOF;
fileSystems.\"$mountPoint\" =

View File

@ -115,8 +115,7 @@ in {
environment.systemPackages = [ cfg.package ]
++ lib.optional cfg.jack.enable jack-libs;
systemd.packages = [ cfg.package ]
++ lib.optional cfg.pulse.enable cfg.package.pulse;
systemd.packages = [ cfg.package ];
# PipeWire depends on DBUS but doesn't list it. Without this booting
# into a terminal results in the service crashing with an error.
@ -130,9 +129,13 @@ in {
systemd.user.sockets.pipewire.enable = !cfg.systemWide;
systemd.user.services.pipewire.enable = !cfg.systemWide;
# Mask pw-pulse if it's not wanted
systemd.user.services.pipewire-pulse.enable = cfg.pulse.enable;
systemd.user.sockets.pipewire-pulse.enable = cfg.pulse.enable;
systemd.sockets.pipewire.wantedBy = lib.mkIf cfg.socketActivation [ "sockets.target" ];
systemd.user.sockets.pipewire.wantedBy = lib.mkIf cfg.socketActivation [ "sockets.target" ];
systemd.user.sockets.pipewire-pulse.wantedBy = lib.mkIf (cfg.socketActivation && cfg.pulse.enable) ["sockets.target"];
systemd.user.sockets.pipewire-pulse.wantedBy = lib.mkIf cfg.socketActivation [ "sockets.target" ];
services.udev.packages = [ cfg.package ];
@ -140,14 +143,14 @@ in {
environment.etc."alsa/conf.d/49-pipewire-modules.conf" = mkIf cfg.alsa.enable {
text = ''
pcm_type.pipewire {
libs.native = ${cfg.package.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;
libs.native = ${cfg.package}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;
${optionalString enable32BitAlsaPlugins
"libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;"}
"libs.32Bit = ${pkgs.pkgsi686Linux.pipewire}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;"}
}
ctl_type.pipewire {
libs.native = ${cfg.package.lib}/lib/alsa-lib/libasound_module_ctl_pipewire.so ;
libs.native = ${cfg.package}/lib/alsa-lib/libasound_module_ctl_pipewire.so ;
${optionalString enable32BitAlsaPlugins
"libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_ctl_pipewire.so ;"}
"libs.32Bit = ${pkgs.pkgsi686Linux.pipewire}/lib/alsa-lib/libasound_module_ctl_pipewire.so ;"}
}
'';
};

View File

@ -1,4 +1,4 @@
if [ -e .attrs.sh ]; then source .attrs.sh; fi
if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
source $stdenv/setup
doSub() {

View File

@ -1,6 +1,6 @@
set -e
if [ -e .attrs.sh ]; then source .attrs.sh; fi
if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
source $stdenv/setup
mkdir -p $out/bin

View File

@ -6,23 +6,39 @@ let
bootFs = filterAttrs (n: fs: (fs.fsType == "bcachefs") && (utils.fsNeededForBoot fs)) config.fileSystems;
mountCommand = pkgs.runCommand "mount.bcachefs" {} ''
mkdir -p $out/bin
cat > $out/bin/mount.bcachefs <<EOF
#!/bin/sh
exec "/bin/bcachefs" mount "\$@"
EOF
chmod +x $out/bin/mount.bcachefs
'';
commonFunctions = ''
prompt() {
local name="$1"
printf "enter passphrase for $name: "
}
tryUnlock() {
local name="$1"
local path="$2"
local success=false
local target
local uuid=$(echo -n $path | sed -e 's,UUID=\(.*\),\1,g')
printf "waiting for device to appear $path"
for try in $(seq 10); do
if [ -e $path ]; then
success=true
break
else
target=$(blkid --uuid $uuid)
if [ $? == 0 ]; then
success=true
break
fi
fi
echo -n "."
sleep 1
done
printf "\n"
if [ $success == true ]; then
path=$target
fi
if bcachefs unlock -c $path > /dev/null 2> /dev/null; then # test for encryption
prompt $name
until bcachefs unlock $path 2> /dev/null; do # repeat until successfully unlocked
@ -30,6 +46,8 @@ let
prompt $name
done
printf "unlocking successful.\n"
else
echo "Cannot unlock device $uuid with path $path" >&2
fi
}
'';
@ -77,13 +95,11 @@ in
{
config = mkIf (elem "bcachefs" config.boot.supportedFilesystems) (mkMerge [
{
# We do not want to include bachefs in the fsPackages for systemd-initrd
# because we provide the unwrapped version of mount.bcachefs
# through the extraBin option, which will make it available for use.
system.fsPackages = lib.optional (!config.boot.initrd.systemd.enable) pkgs.bcachefs-tools;
environment.systemPackages = lib.optional (config.boot.initrd.systemd.enable) pkgs.bcachefs-tools;
# needed for systemd-remount-fs
system.fsPackages = [ pkgs.bcachefs-tools ];
# use kernel package with bcachefs support until it's in mainline
# TODO replace with requireKernelConfig
boot.kernelPackages = pkgs.linuxPackages_testing_bcachefs;
systemd.services = lib.mapAttrs' (mkUnits "") (lib.filterAttrs (n: fs: (fs.fsType == "bcachefs") && (!utils.fsNeededForBoot fs)) config.fileSystems);
@ -92,15 +108,14 @@ in
(mkIf ((elem "bcachefs" config.boot.initrd.supportedFilesystems) || (bootFs != {})) {
# chacha20 and poly1305 are required only for decryption attempts
boot.initrd.availableKernelModules = [ "bcachefs" "sha256" "chacha20" "poly1305" ];
boot.initrd.systemd.extraBin = {
# do we need this? boot/systemd.nix:566 & boot/systemd/initrd.nix:357
"bcachefs" = "${pkgs.bcachefs-tools}/bin/bcachefs";
"mount.bcachefs" = "${mountCommand}/bin/mount.bcachefs";
"mount.bcachefs" = "${pkgs.bcachefs-tools}/bin/mount.bcachefs";
};
boot.initrd.extraUtilsCommands = lib.mkIf (!config.boot.initrd.systemd.enable) ''
copy_bin_and_libs ${pkgs.bcachefs-tools}/bin/bcachefs
copy_bin_and_libs ${mountCommand}/bin/mount.bcachefs
copy_bin_and_libs ${pkgs.bcachefs-tools}/bin/mount.bcachefs
'';
boot.initrd.extraUtilsCommandsTest = lib.mkIf (!config.boot.initrd.systemd.enable) ''
$out/bin/bcachefs version

View File

@ -1,7 +1,6 @@
{ stdenv
, lib
, fetchFromGitHub
, fetchpatch
, cmake
, makeWrapper
, wrapGAppsHook
@ -15,6 +14,8 @@
, lv2
, lilv
, mpg123
, opusfile
, rapidjson
, serd
, sord
, sqlite
@ -61,13 +62,13 @@
stdenv.mkDerivation rec {
pname = "audacity";
version = "3.3.3";
version = "3.4.1";
src = fetchFromGitHub {
owner = pname;
repo = pname;
owner = "audacity";
repo = "audacity";
rev = "Audacity-${version}";
hash = "sha256-m38Awdv2ew+MKqd68x/ZsRBwidM2KJ3BRykIKgnFSx4=";
hash = "sha256-g9VdwVRrZrIKd4VUU12C691aM2ilgTJdW5Ic7sokk4M=";
};
postPatch = ''
@ -109,8 +110,10 @@ stdenv.mkDerivation rec {
lilv
lv2
mpg123
opusfile
pcre
portmidi
rapidjson
serd
sord
soundtouch

View File

@ -121,6 +121,13 @@ in clangStdenv.mkDerivation {
./autogen.sh
'';
postPatch = ''
# Fix the build on c++17 compiler:
# https://github.com/DeaDBeeF-Player/deadbeef/issues/3012
# TODO: remove after 1.9.5 release.
substituteInPlace plugins/adplug/Makefile.am --replace 'adplug_la_CXXFLAGS = ' 'adplug_la_CXXFLAGS = -std=c++11 '
'';
meta = with lib; {
description = "Ultimate Music Player for GNU/Linux";
homepage = "http://deadbeef.sourceforge.net/";

View File

@ -1,6 +1,7 @@
{ stdenv
, lib
, fetchFromGitHub
, fetchpatch
, autoconf
, automake
, which
@ -33,7 +34,13 @@ stdenv.mkDerivation rec {
hash = "sha256-aAJ+k+kkOS6k835mEW7BvgAIYGhUHxf7Q4P5cKO8XTk=";
};
patches = lib.optionals mbrolaSupport [
patches = [
# Fix build with Clang 16.
(fetchpatch {
url = "https://github.com/espeak-ng/espeak-ng/commit/497c6217d696c1190c3e8b992ff7b9110eb3bedd.patch";
hash = "sha256-KfzqnRyQfz6nuMKnsHoUzb9rn9h/Pg54mupW1Cr+Zx0=";
})
] ++ lib.optionals mbrolaSupport [
# Hardcode correct mbrola paths.
(substituteAll {
src = ./mbrola.patch;

View File

@ -1,29 +1,19 @@
{ stdenv, lib, fetchFromGitHub, fetchpatch, buildPackages, pkg-config, cmake
{ stdenv, lib, fetchFromGitHub, buildPackages, pkg-config, cmake
, alsa-lib, glib, libjack2, libsndfile, libpulseaudio
, AppKit, AudioUnit, CoreAudio, CoreMIDI, CoreServices
}:
stdenv.mkDerivation rec {
pname = "fluidsynth";
version = "2.3.3";
version = "2.3.4";
src = fetchFromGitHub {
owner = "FluidSynth";
repo = "fluidsynth";
rev = "v${version}";
sha256 = "sha256-RqhlpvMbRSwdcY2uuFAdJnihN3aObcLVMuvCZ294dgo=";
hash = "sha256-3qLmo9Ibl44v6Jj5Ix17ixwqfPt3ITTXUqBETF5pzE4=";
};
patches = [
# Fixes bad CMAKE_INSTALL_PREFIX + CMAKE_INSTALL_LIBDIR concatenation for Darwin install name dir
# Remove when PR merged & in release
(fetchpatch {
name = "0001-Fix-incorrect-way-of-turning-CMAKE_INSTALL_LIBDIR-absolute.patch";
url = "https://github.com/FluidSynth/fluidsynth/pull/1261/commits/03cd38dd909fc24aa39553d869afbb4024416de8.patch";
hash = "sha256-nV+MbFttnbNBO4zWnPLpnnEuoiESkV9BGFlUS9tQQfk=";
})
];
outputs = [ "out" "dev" "man" ];
nativeBuildInputs = [ buildPackages.stdenv.cc pkg-config cmake ];

View File

@ -6,6 +6,7 @@
, automake
, gnome2
, gtk2
, libGL
, libjack2
, libtool
, libxml2
@ -27,6 +28,7 @@ stdenv.mkDerivation rec {
audiofile
gnome2.gtkglext
gtk2
libGL
libjack2
libtool
libxml2

View File

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, faust, meson, ninja, pkg-config
, boost, cairo, fftw, ladspa-sdk, libxcb, lv2, xcbutilwm
, boost, cairo, fftw, ladspa-sdk, libxcb, lv2, xcbutilwm, xorg
, zita-convolver, zita-resampler
}:
@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
libxcb
lv2
xcbutilwm
xorg.xcbutil
zita-convolver
zita-resampler
];

View File

@ -21,11 +21,11 @@ assert withConplay -> !libOnly;
stdenv.mkDerivation rec {
pname = "${lib.optionalString libOnly "lib"}mpg123";
version = "1.31.3";
version = "1.32.3";
src = fetchurl {
url = "mirror://sourceforge/mpg123/mpg123-${version}.tar.bz2";
hash = "sha256-HKd9Omml/4RbegU294P+5VThBBE5prl49q/hT1gUrRo=";
hash = "sha256-LZkTpX1O6PSXoYLG6CWCYCQJeCpPtIHpif7r9ENYZ7Q=";
};
outputs = [ "out" "dev" "man" ] ++ lib.optional withConplay "conplay";

View File

@ -30,8 +30,9 @@ stdenv.mkDerivation {
];
patches = [
# https://github.com/paulnasca/paulstretch_cpp/pull/12
(fetchpatch {
url = "https://github.com/paulnasca/paulstretch_cpp/pull/12.patch";
url = "https://github.com/paulnasca/paulstretch_cpp/commit/d8671b36135fe66839b11eadcacb474cc8dae0d1.patch";
sha256 = "0lx1rfrs53afkiz1drp456asqgj5yv6hx3lkc01165cv1jsbw6q4";
})
];

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, xorg, cairo, lv2, libjack2, mesa, pkg-config }:
{ lib, stdenv, fetchFromGitHub, xorg, cairo, libGL, lv2, libjack2, mesa, pkg-config }:
stdenv.mkDerivation rec {
pname = "stone-phaser";
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ];
buildInputs = [
xorg.libX11 cairo lv2 libjack2 mesa
xorg.libX11 cairo libGL lv2 libjack2 mesa
];
postPatch = ''

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, boost, cairo, lv2, pkg-config }:
{ lib, stdenv, fetchFromGitHub, boost, cairo, libGL, lv2, pkg-config }:
stdenv.mkDerivation rec {
pname = "string-machine";
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ];
buildInputs = [
boost cairo lv2
boost cairo libGL lv2
];
makeFlags = [

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, libogg, libvorbis, libao, pkg-config, curl
{ lib, stdenv, fetchurl, fetchpatch, libogg, libvorbis, libao, pkg-config, curl, libiconv
, speex, flac
, autoreconfHook }:
@ -11,8 +11,18 @@ stdenv.mkDerivation rec {
sha256 = "1c7h4ivgfdyygz2hyh6nfibxlkz8kdk868a576qkkjgj5gn78xyv";
};
patches = lib.optionals stdenv.cc.isClang [
# Fixes a call to undeclared function `utf8_decode`.
# https://github.com/xiph/vorbis-tools/pull/33
(fetchpatch {
url = "https://github.com/xiph/vorbis-tools/commit/8a645f78b45ae7e370c0dc2a52d0f2612aa6110b.patch";
hash = "sha256-RkT9Xa0pRu/oO9E9qhDa17L0luWgYHI2yINIkPZanmI=";
})
];
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ libogg libvorbis libao curl speex flac ];
buildInputs = [ libogg libvorbis libao curl speex flac ]
++ lib.optionals stdenv.isDarwin [ libiconv ];
meta = with lib; {
description = "Extra tools for Ogg-Vorbis audio codec";

View File

@ -1,5 +1,5 @@
{ autoreconfHook, boost180, cargo, coreutils, curl, cxx-rs, db62, fetchFromGitHub
, git, hexdump, lib, libevent, libsodium, makeWrapper, rust, rustPlatform
, git, hexdump, lib, libevent, libsodium, makeWrapper, rustPlatform
, pkg-config, Security, stdenv, testers, tl-expected, utf8cpp, util-linux, zcash, zeromq
}:
@ -57,7 +57,7 @@ rustPlatform.buildRustPackage.override { inherit stdenv; } rec {
configureFlags = [
"--disable-tests"
"--with-boost-libdir=${lib.getLib boost180}/lib"
"RUST_TARGET=${rust.toRustTargetSpec stdenv.hostPlatform}"
"RUST_TARGET=${stdenv.hostPlatform.rust.rustcTargetSpec}"
];
enableParallelBuilding = true;

View File

@ -212,7 +212,7 @@ rec {
# having no RC generated should autodisable init.vim wrapping
nvim_autowrap = runTest nvim_via_override ''
! grep "-u" ${nvimShouldntWrap}/bin/nvim
! grep ${nvimShouldntWrap}/bin/nvim
'';

View File

@ -7,8 +7,10 @@
, neovimUtils
, vimUtils
, perl
, lndir
}:
neovim:
neovim-unwrapped:
let
wrapper = {
@ -62,7 +64,7 @@ let
# wrapper with most arguments we need, excluding those that cause problems to
# generate rplugin.vim, but still required for the final wrapper.
finalMakeWrapperArgs =
[ "${neovim}/bin/nvim" "${placeholder "out"}/bin/nvim" ]
[ "${neovim-unwrapped}/bin/nvim" "${placeholder "out"}/bin/nvim" ]
++ [ "--set" "NVIM_SYSTEM_RPLUGIN_MANIFEST" "${placeholder "out"}/rplugin.vim" ]
++ lib.optionals wrapRc [ "--add-flags" "-u ${writeText "init.vim" neovimRcContent}" ]
++ commonWrapperArgs
@ -72,36 +74,45 @@ let
in
assert withPython2 -> throw "Python2 support has been removed from the neovim wrapper, please remove withPython2 and python2Env.";
symlinkJoin {
name = "neovim-${lib.getVersion neovim}${extraName}";
stdenv.mkDerivation (finalAttrs: {
name = "neovim-${lib.getVersion neovim-unwrapped}${extraName}";
__structuredAttrs = true;
dontUnpack = true;
inherit viAlias vimAlias withNodeJs withPython3 withPerl;
inherit wrapRc providerLuaRc packpathDirs;
inherit python3Env rubyEnv;
withRuby = rubyEnv != null;
inherit wrapperArgs;
# Remove the symlinks created by symlinkJoin which we need to perform
# extra actions upon
postBuild = lib.optionalString stdenv.isLinux ''
rm $out/share/applications/nvim.desktop
substitute ${neovim}/share/applications/nvim.desktop $out/share/applications/nvim.desktop \
substitute ${neovim-unwrapped}/share/applications/nvim.desktop $out/share/applications/nvim.desktop \
--replace 'Name=Neovim' 'Name=Neovim wrapper'
''
+ lib.optionalString withPython3 ''
+ lib.optionalString finalAttrs.withPython3 ''
makeWrapper ${python3Env.interpreter} $out/bin/nvim-python3 --unset PYTHONPATH
''
+ lib.optionalString (rubyEnv != null) ''
ln -s ${rubyEnv}/bin/neovim-ruby-host $out/bin/nvim-ruby
+ lib.optionalString (finalAttrs.rubyEnv != null) ''
ln -s ${finalAttrs.rubyEnv}/bin/neovim-ruby-host $out/bin/nvim-ruby
''
+ lib.optionalString withNodeJs ''
+ lib.optionalString finalAttrs.withNodeJs ''
ln -s ${nodePackages.neovim}/bin/neovim-node-host $out/bin/nvim-node
''
+ lib.optionalString withPerl ''
+ lib.optionalString finalAttrs.withPerl ''
ln -s ${perlEnv}/bin/perl $out/bin/nvim-perl
''
+ lib.optionalString vimAlias ''
+ lib.optionalString finalAttrs.vimAlias ''
ln -s $out/bin/nvim $out/bin/vim
''
+ lib.optionalString viAlias ''
+ lib.optionalString finalAttrs.viAlias ''
ln -s $out/bin/nvim $out/bin/vi
''
+ lib.optionalString (manifestRc != null) (let
manifestWrapperArgs =
[ "${neovim}/bin/nvim" "${placeholder "out"}/bin/nvim-wrapper" ] ++ commonWrapperArgs;
[ "${neovim-unwrapped}/bin/nvim" "${placeholder "out"}/bin/nvim-wrapper" ] ++ commonWrapperArgs;
in ''
echo "Generating remote plugin manifest"
export NVIM_RPLUGIN_MANIFEST=$out/rplugin.vim
@ -139,26 +150,33 @@ let
makeWrapper ${lib.escapeShellArgs finalMakeWrapperArgs} ${wrapperArgsStr}
'';
paths = [ neovim ];
buildPhase = ''
runHook preBuild
mkdir -p $out
for i in ${neovim-unwrapped}; do
lndir -silent $i $out
done
runHook postBuild
'';
preferLocalBuild = true;
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = [ makeWrapper lndir ];
passthru = {
inherit providerLuaRc packpathDirs;
unwrapped = neovim;
unwrapped = neovim-unwrapped;
initRc = neovimRcContent;
tests = callPackage ./tests {
};
};
meta = neovim.meta // {
meta = neovim-unwrapped.meta // {
# To prevent builds on hydra
hydraPlatforms = [];
# prefer wrapper over the package
priority = (neovim.meta.priority or 0) - 1;
priority = (neovim-unwrapped.meta.priority or 0) - 1;
};
};
});
in
lib.makeOverridable wrapper

View File

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, qmake, qtbase, qtxmlpatterns, qtsvg, qtscxml
, qtquick1, libGLU }:
, libGLU }:
stdenv.mkDerivation rec {
pname = "qxmledit";
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ qmake ];
buildInputs = [ qtbase qtxmlpatterns qtsvg qtscxml qtquick1 libGLU ];
buildInputs = [ qtbase qtxmlpatterns qtsvg qtscxml libGLU ];
qmakeFlags = [ "CONFIG+=release" ];

View File

@ -1,12 +1,12 @@
{ lib, fetchFromGitHub }:
rec {
version = "9.0.1897";
version = "9.0.2048";
src = fetchFromGitHub {
owner = "vim";
repo = "vim";
rev = "v${version}";
hash = "sha256-ywxJ9evXWbqZ6o6EqDIQWK16J05McAdvPl0Y9cW5Zvc=";
hash = "sha256-zR2iPiD4/gf5BnxYoe3cx2ebGWE1P2bY4Cg15gveFgg=";
};
enableParallelBuilding = true;

View File

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchurl
, fetchpatch
, autoreconfHook
, SDL
, SDL_net
@ -23,6 +24,14 @@ stdenv.mkDerivation rec {
hash = "sha256-wNE91+0u02O2jeYVR1eB6JHNWC6BYrXDZpE3UCIiJgo=";
};
patches = [
(fetchpatch {
url = "https://github.com/joncampbell123/dosbox-x/commit/006d5727d36d1ec598e387f2f1a3c521e3673dcb.patch";
includes = [ "src/gui/render_templates_sai.h" ];
hash = "sha256-HSO29/LgZRKQ3HQBA0QF5henG8pCSoe1R2joYNPcUcE=";
})
];
nativeBuildInputs = [
autoreconfHook
copyDesktopItems

View File

@ -0,0 +1,21 @@
diff -ur a/db/drivers/mysql/db.c b/db/drivers/mysql/db.c
--- a/db/drivers/mysql/db.c 1969-12-31 19:00:01.000000000 -0500
+++ b/db/drivers/mysql/db.c 2023-11-09 23:26:25.329700495 -0500
@@ -52,9 +52,16 @@
db_get_login2("mysql", name, &user, &password, &host, &port);
+ const char* errstr;
+ unsigned int port_number = (unsigned int)strtonum(port, 0, 65536, &errstr);
+ if (errstr != NULL) {
+ db_d_append_error("%s", errstr);
+ return DB_FAILED;
+ }
+
connection = mysql_init(NULL);
res = mysql_real_connect(connection, host, user, password,
- connpar.dbname, port, NULL, 0);
+ connpar.dbname, port_number, NULL, 0);
if (res == NULL) {
db_d_append_error("%s\n%s", _("Connection failed."),

View File

@ -81,12 +81,13 @@ stdenv.mkDerivation (finalAttrs: {
strictDeps = true;
# On Darwin the installer tries to symlink the help files into a system
# directory
patches = [ ./no_symbolic_links.patch ];
patches = lib.optionals stdenv.isDarwin [
# Fix conversion of const char* to unsigned int.
./clang-integer-conversion.patch
];
# Correct mysql_config query
patchPhase = ''
postPatch = ''
substituteInPlace configure --replace "--libmysqld-libs" "--libs"
'';

View File

@ -1,37 +0,0 @@
diff --git a/include/Make/Install.make b/include/Make/Install.make
index 0aba138..8ba74bc 100644
--- a/include/Make/Install.make
+++ b/include/Make/Install.make
@@ -116,11 +116,6 @@ real-install: | $(INST_DIR) $(UNIX_BIN)
-$(INSTALL) config.status $(INST_DIR)/config.status
-$(CHMOD) -R a+rX $(INST_DIR) 2>/dev/null
-ifneq ($(findstring darwin,$(ARCH)),)
- @# enable OSX Help Viewer
- @/bin/ln -sfh "$(INST_DIR)/docs/html" /Library/Documentation/Help/GRASS-$(GRASS_VERSION_MAJOR).$(GRASS_VERSION_MINOR)
-endif
-
$(INST_DIR) $(UNIX_BIN):
$(MAKE_DIR_CMD) $@
diff --git a/macosx/app/build_html_user_index.sh b/macosx/app/build_html_user_index.sh
index 04e63eb..c9d9c2c 100755
--- a/macosx/app/build_html_user_index.sh
+++ b/macosx/app/build_html_user_index.sh
@@ -140,7 +140,6 @@ else
# echo "<tr><td valign=\"top\"><a href=\"$HTMLDIRG/$i\">$BASENAME</a></td> <td>$SHORTDESC</td></tr>" >> $FULLINDEX
# make them local to user to simplify page links
echo "<tr><td valign=\"top\"><a href=\"global_$i\">$BASENAME</a></td> <td>$SHORTDESC</td></tr>" >> $FULLINDEX
- ln -sf "$HTMLDIRG/$i" global_$i
done
done
fi
@@ -183,8 +182,3 @@ echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
</html>" > $i.html
done
-# add Help Viewer links in user docs folder
-
-mkdir -p $HOME/Library/Documentation/Help/
-ln -sfh ../../GRASS/$GRASS_MMVER/Modules/docs/html $HOME/Library/Documentation/Help/GRASS-$GRASS_MMVER-addon
-ln -sfh $GISBASE/docs/html $HOME/Library/Documentation/Help/GRASS-$GRASS_MMVER

View File

@ -26,8 +26,9 @@ stdenv.mkDerivation rec {
patches = [
(fetchpatch {
# https://github.com/autotrace/autotrace/pull/105
name = "imagemagick7-support.patch";
url = "https://github.com/autotrace/autotrace/pull/105.patch";
url = "https://github.com/autotrace/autotrace/compare/170488e1871d50aad7a800b901e33ded7d31773a...c26a2a059926c595a00839c8d9961e9381206579.patch";
hash = "sha256-Q82LRF/BsJ/Ii2s+7yaYHs9agMKYVYIMnbwqz8P92s0=";
})
];

View File

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchurl
, libGL
, libjpeg
, libexif
, giflib
@ -17,6 +18,7 @@
, sane-backends
, libXpm
, libepoxy
, pixman
, poppler
, mesa
, lirc
@ -42,6 +44,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config which ];
buildInputs = [
libGL
libexif
libjpeg
libpng
@ -56,6 +59,7 @@ stdenv.mkDerivation rec {
libdrm
libXpm
libepoxy
pixman
poppler
lirc
mesa

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,7 @@
, cargo
, cmake
, desktop-file-utils
, dos2unix
, glib
, gstreamer
, gtk4
@ -25,21 +26,21 @@
stdenv.mkDerivation rec {
pname = "rnote";
version = "0.7.1";
version = "0.8.2";
src = fetchFromGitHub {
owner = "flxzt";
repo = "rnote";
rev = "v${version}";
hash = "sha256-QcgmL6lLi/3QXnlcEsVyTqNUfjSm+R+nhRzRvw8M9Qc=";
hash = "sha256-cIy2+Q6HSLwbT0XXDK88Z0mdu46vWSZNTVl8MphXhw0=";
};
cargoDeps = rustPlatform.importCargoLock {
lockFile = ./Cargo.lock;
outputHashes = {
"ink-stroke-modeler-rs-0.1.0" = "sha256-1abfrPehOGc/ye/iFIwYPd6HJX6P8OP2vGBSJfeo+c8=";
"librsvg-2.56.2" = "sha256-uCHKDC4nc7J0k9qsmzF6etkWOoNq51Dddd9uQw5DOT0=";
"piet-0.6.2" = "sha256-If0qiZkgXeLvsrECItV9/HmhTk1H52xmVO7cUsD9dcU=";
"ink-stroke-modeler-rs-0.1.0" = "sha256-WfZwezohm8+ZXiKZlssTX+b/Izk1M4jFwxQejeTfc6M=";
"librsvg-2.57.0-beta.2" = "sha256-8k5KWhm9PIpdmf2DByTyrqX5mGAa+a7ZDGmVO2ERhTU=";
"piet-0.6.2" = "sha256-WrQok0T7uVQEp8SvNWlgqwQHfS7q0510bnP1ecr+s1Q=";
};
};
@ -47,6 +48,7 @@ stdenv.mkDerivation rec {
appstream-glib # For appstream-util
cmake
desktop-file-utils # For update-desktop-database
dos2unix
meson
ninja
pkg-config
@ -79,10 +81,9 @@ stdenv.mkDerivation rec {
];
postPatch = ''
pushd build-aux
chmod +x cargo_build.py meson_post_install.py
patchShebangs cargo_build.py meson_post_install.py
popd
dos2unix build-aux/*.py # FIXME remove once updated to 0.9.0
chmod +x build-aux/*.py
patchShebangs build-aux
'';
meta = with lib; {

View File

@ -2,7 +2,7 @@
, extra-cmake-modules, kdoctools
, qtscript, qtsvg, qtquickcontrols, qtwebengine
, krunner, shared-mime-info, kparts, knewstuff
, gpsd, perl, protobuf3_21
, gpsd, perl, protobuf_21
}:
mkDerivation {
@ -15,7 +15,7 @@ mkDerivation {
outputs = [ "out" "dev" ];
nativeBuildInputs = [ extra-cmake-modules kdoctools perl ];
propagatedBuildInputs = [
protobuf3_21 qtscript qtsvg qtquickcontrols qtwebengine shared-mime-info krunner kparts
protobuf_21 qtscript qtsvg qtquickcontrols qtwebengine shared-mime-info krunner kparts
knewstuff gpsd
];
preConfigure = ''

View File

@ -1,4 +1,4 @@
if [ -e .attrs.sh ]; then source .attrs.sh; fi
if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
source $stdenv/setup
echo "unpacking $src..."

View File

@ -5,7 +5,6 @@
, openssl
, gtk3
, stdenv
, rust
}:
rustPlatform.buildRustPackage rec {
@ -28,7 +27,7 @@ rustPlatform.buildRustPackage rec {
# default installPhase don't install assets
installPhase = ''
runHook preInstall
make install PREFIX="$out" TARGET="target/${rust.toRustTarget stdenv.hostPlatform}/release/effitask"
make install PREFIX="$out" TARGET="target/${stdenv.hostPlatform.rust.rustcTarget}/release/effitask"
runHook postInstall
'';

View File

@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec {
] ++ (with python3.pkgs; [
setuptools-scm
sphinx
sphinxcontrib_newsfeed
sphinxcontrib-newsfeed
]);
propagatedBuildInputs = with python3.pkgs;[
@ -62,7 +62,7 @@ python3.pkgs.buildPythonApplication rec {
--fish <(_KHAL_COMPLETE=fish_source $out/bin/khal)
# man page
PATH="${python3.withPackages (ps: with ps; [ sphinx sphinxcontrib_newsfeed ])}/bin:$PATH" \
PATH="${python3.withPackages (ps: with ps; [ sphinx sphinxcontrib-newsfeed ])}/bin:$PATH" \
make -C doc man
installManPage doc/build/man/khal.1

View File

@ -16,11 +16,10 @@ stdenv.mkDerivation rec {
patches = [
(fetchpatch {
name = "system-makedeps.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/system-makedeps.patch?h=llpp&id=0d2913056aaf3dbf7431e57b7b08b55568ba076c";
hash = "sha256-t9PLXsM8+exCeYqJBe0LSDK0D2rpktmozS8qNcEAcHo=";
name = "system-makedeps-and-ocaml5.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/system-makedeps-and-ocaml5.patch?h=llpp&id=32955e115f914bb96348d288f9af9c6e3e80a02b";
hash = "sha256-3rcPsR+M8Jx7M8GHUIsw0WNBvp6aE7BcPr4yk2vT9Ik=";
})
./fix-mupdf.patch
];
postPatch = ''

View File

@ -1,13 +0,0 @@
--- a/link.c
+++ b/link.c
@@ -1522,8 +1522,9 @@ static void *mainloop (void UNUSED_ATTR *unused)
if (pdf && nameddest && *nameddest) {
fz_point xy;
struct pagedim *pdim;
- int pageno = pdf_lookup_anchor (state.ctx, pdf, nameddest,
+ fz_location location = fz_resolve_link (state.ctx, state.doc, nameddest,
&xy.x, &xy.y);
+ int pageno = location.page;
pdim = pdimofpageno (pageno);
xy = fz_transform_point (xy, pdim->ctm);
printd ("a %d %d %d", pageno, (int) xy.x, (int) xy.y);

View File

@ -23,6 +23,7 @@
, glib
, graphene
, gtk4
, libGL
, libadwaita
, libdrm
, mesa
@ -92,6 +93,7 @@ stdenv.mkDerivation rec {
glib
graphene
gtk4
libGL
libadwaita
libdrm
mesa

View File

@ -0,0 +1,13 @@
diff --git a/scripts/wrap/cpp.py b/scripts/wrap/cpp.py
index 51ac5f1..b5c0b5a 100644
--- a/scripts/wrap/cpp.py
+++ b/scripts/wrap/cpp.py
@@ -4595,7 +4595,7 @@ def cpp_source(
*/
typedef unsigned long size_t;
'''))
- if state.state_.macos:
+ if state.state_.linux or state.state_.macos:
f.write( textwrap.dedent('''
/*
Workaround on MacOS: we need to define fixed-size int types

View File

@ -1,7 +1,6 @@
{ stdenv
, lib
, fetchurl
, fetchpatch
, fetchFromGitHub
, copyDesktopItems
, makeDesktopItem
@ -26,19 +25,26 @@
, enableGL ? true
, freeglut
, libGLU
, enableOcr ? false
, leptonica
, tesseract
, enableCxx ? false
, python3
, enablePython ? false
, which
, swig
, xcbuild
, gitUpdater
# for passthru.tests
, cups-filters
, python3
, zathura
, mupdf
}:
let
# OpenJPEG version is hardcoded in package source
openJpegVersion = with stdenv;
lib.versions.majorMinor (lib.getVersion openjpeg);
assert enablePython -> enableCxx;
let
freeglut-mupdf = freeglut.overrideAttrs (old: rec {
pname = "freeglut-mupdf";
@ -53,35 +59,46 @@ let
in
stdenv.mkDerivation rec {
version = "1.23.0";
version = "1.23.5";
pname = "mupdf";
src = fetchurl {
url = "https://mupdf.com/downloads/archive/${pname}-${version}-source.tar.gz";
sha256 = "sha256-3kFAaS5pMULDEeAwrBVuOO4XXXq2wb4QxcmuljhGFk4=";
sha256 = "sha256-blZ5zfqu+cfoniljlSIM4sEz7T3K1RpHhmczbG6uxwY=";
};
patches = [ ./0001-Use-command-v-in-favor-of-which.patch
./0002-Add-Darwin-deps.patch
./0003-Fix-cpp-build.patch
];
postPatch = ''
sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c
substituteInPlace Makerules --replace "(shell pkg-config" "(shell $PKG_CONFIG"
'';
# Use shared libraries to decrease size
buildFlags = [ "shared" ];
patchShebangs scripts/mupdfwrap.py
# slip in makeFlags when building bindings
sed -i -e 's/^\( *make_args *=\)/\1 """ $(echo ''${makeFlagsArray[@]@Q})"""/' scripts/wrap/__main__.py
# fix libclang unnamed struct format
for wrapper in ./scripts/wrap/{cpp,state}.py; do
substituteInPlace "$wrapper" --replace 'struct (unnamed' '(unnamed struct'
done
'';
makeFlags = [
"prefix=$(out)"
"shared=yes"
"USE_SYSTEM_LIBS=yes"
"PKG_CONFIG=${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config"
] ++ lib.optionals (!enableX11) [ "HAVE_X11=no" ]
++ lib.optionals (!enableGL) [ "HAVE_GLUT=no" ];
++ lib.optionals (!enableGL) [ "HAVE_GLUT=no" ]
++ lib.optionals (enableOcr) [ "USE_TESSERACT=yes" ];
nativeBuildInputs = [ pkg-config ]
++ lib.optional (enableGL || enableX11) copyDesktopItems
++ lib.optionals (enableCxx || enablePython) [ python3 python3.pkgs.setuptools python3.pkgs.libclang ]
++ lib.optionals (enablePython) [ which swig ]
++ lib.optional stdenv.isDarwin desktopToDarwinBundle;
buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg gumbo ]
@ -89,11 +106,12 @@ stdenv.mkDerivation rec {
++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]
++ lib.optionals enableCurl [ curl openssl ]
++ lib.optionals enableGL (
if stdenv.isDarwin then
with darwin.apple_sdk.frameworks; [ GLUT OpenGL ]
else
[ freeglut-mupdf libGLU ]
)
if stdenv.isDarwin then
with darwin.apple_sdk.frameworks; [ GLUT OpenGL ]
else
[ freeglut-mupdf libGLU ]
)
++ lib.optionals enableOcr [ leptonica tesseract ]
;
outputs = [ "bin" "dev" "out" "man" "doc" ];
@ -102,6 +120,12 @@ stdenv.mkDerivation rec {
rm -rf thirdparty/{curl,freetype,glfw,harfbuzz,jbig2dec,libjpeg,openjpeg,zlib}
'';
postBuild = lib.optionalString (enableCxx || enablePython) ''
for dir in build/*; do
./scripts/mupdfwrap.py -d "$dir" -b ${lib.optionalString (enableCxx) "01"}${lib.optionalString (enablePython) "23"}
done
'';
desktopItems = [
(makeDesktopItem {
name = pname;
@ -136,7 +160,7 @@ stdenv.mkDerivation rec {
Name: mupdf
Description: Library for rendering PDF documents
Version: ${version}
Libs: -L$out/lib -lmupdf -lmupdf-third
Libs: -L$out/lib -lmupdf
Cflags: -I$dev/include
EOF
@ -148,7 +172,16 @@ stdenv.mkDerivation rec {
ln -s "$bin/bin/mupdf-gl" "$bin/bin/mupdf"
'' else lib.optionalString (enableX11) ''
ln -s "$bin/bin/mupdf-x11" "$bin/bin/mupdf"
'');
'') + (lib.optionalString (enableCxx) ''
cp platform/c++/include/mupdf/*.h $out/include/mupdf
cp build/*/libmupdfcpp.so $out/lib
'') + (lib.optionalString (enablePython) (''
mkdir -p $out/${python3.sitePackages}/mupdf
cp build/*/_mupdf.so $out/${python3.sitePackages}
cp build/*/mupdf.py $out/${python3.sitePackages}/mupdf/__init__.py
'' + lib.optionalString (stdenv.isDarwin) ''
install_name_tool -add_rpath $out/lib $out/${python3.sitePackages}/_mupdf.so
''));
enableParallelBuilding = true;
@ -156,6 +189,7 @@ stdenv.mkDerivation rec {
tests = {
inherit cups-filters zathura;
inherit (python3.pkgs) pikepdf pymupdf;
mupdf-all = mupdf.override { enableCurl = true; enableGL = true; enableOcr = true; enableCxx = true; enablePython = true; };
};
updateScript = gitUpdater {
@ -169,7 +203,7 @@ stdenv.mkDerivation rec {
description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
changelog = "https://git.ghostscript.com/?p=mupdf.git;a=blob_plain;f=CHANGES;hb=${version}";
license = licenses.agpl3Plus;
maintainers = with maintainers; [ vrthra fpletz ];
maintainers = with maintainers; [ vrthra fpletz lilyinstarlight ];
platforms = platforms.unix;
mainProgram = "mupdf";
};

View File

@ -58,7 +58,8 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
substituteInPlace pdf_viewer_build_config.pro \
--replace "-lmupdf-threads" "-lgumbo -lharfbuzz -lfreetype -ljbig2dec -ljpeg -lopenjp2"
--replace "-lmupdf-threads" "-lgumbo -lharfbuzz -lfreetype -ljbig2dec -ljpeg -lopenjp2" \
--replace "-lmupdf-third" ""
substituteInPlace pdf_viewer/main.cpp \
--replace "/usr/share/sioyek" "$out/share" \
--replace "/etc/sioyek" "$out/etc"

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation {
# Fix dbus interface headers. See
# https://github.com/davidbrazdil/volnoti/pull/10
(fetchpatch {
url = "https://github.com/davidbrazdil/volnoti/pull/10.patch";
url = "https://github.com/davidbrazdil/volnoti/commit/623ad8ea5c3ac8720d00a2ced4b6163aae38c119.patch";
sha256 = "046zfdjmvhb7jrsgh04vfgi35sgy1zkrhd3bzdby3nvds1wslfam";
})
];

View File

@ -41,6 +41,10 @@ stdenv.mkDerivation rec {
PKG_CONFIG_ZATHURA_PLUGINDIR= "lib/zathura";
postPatch = ''
sed -i -e '/^mupdfthird =/d' -e 's/, mupdfthird//g' meson.build
'';
passthru.updateScript = gitUpdater {
url = "https://git.pwmt.org/pwmt/zathura-pdf-mupdf.git";
};

View File

@ -20,7 +20,6 @@
, runtimeShell
, systemLocale ? config.i18n.defaultLocale or "en_US"
, patchelfUnstable # have to use patchelfUnstable to support --no-clobber-old-sections
, makeWrapper
}:
let
@ -58,20 +57,6 @@ let
source = lib.findFirst (sourceMatches mozLocale) defaultSource sources;
pname = "firefox-${channel}-bin-unwrapped";
# FIXME: workaround for not being able to pass flags to patchelf
# Remove after https://github.com/NixOS/nixpkgs/pull/256525
wrappedPatchelf = stdenv.mkDerivation {
pname = "patchelf-wrapped";
inherit (patchelfUnstable) version;
nativeBuildInputs = [ makeWrapper ];
buildCommand = ''
mkdir -p $out/bin
makeWrapper ${patchelfUnstable}/bin/patchelf $out/bin/patchelf --append-flags "--no-clobber-old-sections"
'';
};
in
stdenv.mkDerivation {
@ -79,7 +64,7 @@ stdenv.mkDerivation {
src = fetchurl { inherit (source) url sha256; };
nativeBuildInputs = [ wrapGAppsHook autoPatchelfHook wrappedPatchelf ];
nativeBuildInputs = [ wrapGAppsHook autoPatchelfHook patchelfUnstable ];
buildInputs = [
gtk3
adwaita-icon-theme
@ -93,8 +78,10 @@ stdenv.mkDerivation {
pciutils
];
appendRunpaths = [
"${pipewire.lib}/lib"
"${pipewire}/lib"
];
# Firefox uses "relrhack" to manually process relocations from a fixed offset
patchelfFlags = [ "--no-clobber-old-sections" ];
installPhase =
''

View File

@ -1,4 +1,5 @@
{ lib
, stdenv
, mkDerivationWith
, fetchFromGitHub
, python3Packages
@ -6,6 +7,8 @@
}:
mkDerivationWith python3Packages.buildPythonApplication rec {
inherit stdenv;
pname = "webmacs";
version = "0.8";

View File

@ -6,7 +6,6 @@
, qtbase
, qttools
, qtmultimedia
, qtquick1
, qtquickcontrols
, openssl
, protobuf
@ -38,7 +37,6 @@ mkDerivation rec {
qtbase
qttools
qtmultimedia
qtquick1
qtquickcontrols
openssl
protobuf

View File

@ -3,14 +3,14 @@
, fetchFromGitHub
, cmake
, openssl
, protobuf3_21
, protobuf_21
, catch2
, boost181
, icu
}:
let
boost = boost181.override { enableStatic = true; };
protobuf = protobuf3_21.override { enableShared = false; };
protobuf = protobuf_21.override { enableShared = false; };
in
stdenv.mkDerivation (finalAttrs: {
pname = "localproxy";

View File

@ -20,8 +20,9 @@ stdenv.mkDerivation rec {
# https://github.com/neomutt/neomutt/issues/3773#issuecomment-1493295144
./fix-open-very-large-mailbox.patch
(fetchpatch {
# https://github.com/neomutt/neomutt/pull/3933
name = "disable-incorrect-tests.patch";
url = "https://github.com/neomutt/neomutt/pull/3933.patch";
url = "https://github.com/neomutt/neomutt/compare/f624551b86cdb53224b5b48304a808ca2815111e...a9a1d99e6c0fdf367188125451300fa89d3e801a.patch";
hash = "sha256-Plei063T8XyXF4/7/nAb6/4OyXz72vBAXHwls9WL1vM=";
excludes = [".github/workflows/macos.yml"];
})

View File

@ -16,8 +16,9 @@ let
patches = [
# gradle 7 support
# https://github.com/freenet/fred/pull/827
(fetchpatch {
url = "https://github.com/freenet/fred/pull/827.patch";
url = "https://github.com/freenet/fred/commit/8991303493f2c0d9933f645337f0a7a5a979e70a.patch";
sha256 = "sha256-T1zymxRTADVhhwp2TyB+BC/J4gZsT/CUuMrT4COlpTY=";
})
];

View File

@ -190,6 +190,8 @@ stdenv.mkDerivation rec {
"-DTARGET_OS_IPHONE=0"
"-DTARGET_OS_WATCH=0"
"-include AudioToolbox/AudioToolbox.h"
] ++ lib.optionals stdenv.cc.isClang [
"-Wno-error=incompatible-function-pointer-types"
]);
NIX_LDFLAGS = lib.optionals stdenv.isDarwin [

View File

@ -30,6 +30,12 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ perl ];
patches = [
# https://github.com/WayneD/rsync/issues/511#issuecomment-1774612577
# original source: https://build.opensuse.org/package/view_file/network/rsync/rsync-fortified-strlcpy-fix.patch?expand=1&rev=3f8dd2f4a404c96c0f69176e60893714
./rsync-fortified-strlcpy-fix.patch
];
buildInputs = [ libiconv zlib popt ]
++ lib.optional enableACLs acl
++ lib.optional enableZstd zstd

View File

@ -0,0 +1,49 @@
From 1f83963f59960150e8c46112daa8411324c1f209 Mon Sep 17 00:00:00 2001
From: Jiri Slaby <jslaby@suse.cz>
Date: Fri, 18 Aug 2023 08:26:20 +0200
Subject: [PATCH] exclude: fix crashes with fortified strlcpy()
Fortified (-D_FORTIFY_SOURCE=2 for gcc) builds make strlcpy() crash when
its third parameter (size) is larger than the buffer:
$ rsync -FFXHav '--filter=merge global-rsync-filter' Align-37-43/ xxx
sending incremental file list
*** buffer overflow detected ***: terminated
It's in the exclude code in setup_merge_file():
strlcpy(y, save, MAXPATHLEN);
Note the 'y' pointer was incremented, so it no longer points to memory
with MAXPATHLEN "owned" bytes.
Fix it by remembering the number of copied bytes into the 'save' buffer
and use that instead of MAXPATHLEN which is clearly incorrect.
Fixes #511.
---
exclude.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/exclude.c b/exclude.c
index ffe55b167..1a5de3b9e 100644
--- a/exclude.c
+++ b/exclude.c
@@ -720,7 +720,8 @@ static BOOL setup_merge_file(int mergelist_num, filter_rule *ex,
parent_dirscan = True;
while (*y) {
char save[MAXPATHLEN];
- strlcpy(save, y, MAXPATHLEN);
+ /* copylen is strlen(y) which is < MAXPATHLEN. +1 for \0 */
+ size_t copylen = strlcpy(save, y, MAXPATHLEN) + 1;
*y = '\0';
dirbuf_len = y - dirbuf;
strlcpy(x, ex->pattern, MAXPATHLEN - (x - buf));
@@ -734,7 +735,7 @@ static BOOL setup_merge_file(int mergelist_num, filter_rule *ex,
lp->head = NULL;
}
lp->tail = NULL;
- strlcpy(y, save, MAXPATHLEN);
+ strlcpy(y, save, copylen);
while ((*x++ = *y++) != '/') {}
}
parent_dirscan = False;

View File

@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
"-DUSE_POPPLER=${if usePoppler then "ON" else "OFF"}"
"-DUSE_MUPDF=${if useMupdf then "ON" else "OFF"}"
"-DUSE_QTPDF=OFF"
"-DLINK_MUPDF_THIRD=ON"
"-DLINK_MUPDF_THIRD=OFF"
"-DUSE_EXTERNAL_RENDERER=${if useExternalRenderer then "ON" else "OFF"}"
"-DLINK_MUJS=OFF"
"-DLINK_GUMBO=ON"

View File

@ -33,6 +33,10 @@ let
"-DBUILD_SUPERLU=OFF"
];
env = lib.optionalAttrs stdenv.cc.isClang {
NIX_CFLAGS_COMPILE = "-Wno-error=implicit-int";
};
buildInputs = [
blas
superlu
@ -92,6 +96,10 @@ stdenv.mkDerivation (finalAttrs: {
"-DENABLE_TESTS=1"
];
env = lib.optionalAttrs stdenv.cc.isClang {
NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-function-pointer-types";
};
doCheck = true;
meta = with lib; {

View File

@ -12,7 +12,7 @@
zlibSupport ? true, zlib,
libuniqueSupport ? true, libunique,
libpngSupport ? true, libpng,
openglSupport ? !stdenv.isDarwin
openglSupport ? !stdenv.isDarwin, libGL
}:
let
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
buildInputs = with lib;
[ gtk2 fftw ] ++
optional openglSupport gnome2.gtkglext ++
optionals openglSupport [ gnome2.gtkglext libGL ] ++
optional openexrSupport openexr ++
optional libXmuSupport xorg.libXmu ++
optional fitsSupport cfitsio ++

View File

@ -44,6 +44,10 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
env = lib.optionalAttrs stdenv.isDarwin {
NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
};
# NOTE(jleightcap): the `make check` target only runs a "Hello, World"-esque sanity check.
# the tests in the doInstallCheck phase run a full regression test suite.
# however, these tests currently fail upstream on aarch64

View File

@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
sha256 = "1ish0dw0nf9gyghxsdhpy1jjiy5wp54c993swp85xp7m6vdx6l0y";
};
patches = [
# Fix implicit declaration of `isatty`, which is an error with newer versions of clang.
./fix-missing-header.patch
];
enableParallelBuilding = true;
configurePhase = ''

View File

@ -0,0 +1,11 @@
diff -ur a/aigunconstraint.c b/aigunconstraint.c
--- a/aigunconstraint.c 2013-10-06 09:08:03.000000000 -0400
+++ b/aigunconstraint.c 2023-10-27 08:55:01.678566389 -0400
@@ -26,6 +26,7 @@
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
+#include <unistd.h>
static const char * USAGE =
"usage: aigunconstraint [-h][-v] [<input> [<output>]]\n"

View File

@ -19,13 +19,13 @@ stdenv.mkDerivation rec {
# https://github.com/vprover/vampire/pull/54
(fetchpatch {
name = "fix-apple-cygwin-defines.patch";
url = "https://github.com/vprover/vampire/pull/54.patch";
url = "https://github.com/vprover/vampire/commit/b4bddd3bcac6a7688742da75c369b7b3213f6d1c.patch";
sha256 = "0i6nrc50wlg1dqxq38lkpx4rmfb3lf7s8f95l4jkvqp0nxa20cza";
})
# https://github.com/vprover/vampire/pull/55
(fetchpatch {
name = "fix-wait-any.patch";
url = "https://github.com/vprover/vampire/pull/55.patch";
url = "https://github.com/vprover/vampire/commit/6da10eabb333aec54cdf13833ea33cb851159543.patch";
sha256 = "1pwfpwpl23bqsgkmmvw6bnniyvp5j9v8l3z9s9pllfabnfcrcz9l";
})
];

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libiconv }:
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, libiconv }:
stdenv.mkDerivation rec {
pname = "readstat";
@ -11,6 +11,13 @@ stdenv.mkDerivation rec {
sha256 = "sha256-4lRJgZPB2gfaQ9fQKvDDpGhy1eDNT/nT1QmeZlCmCis=";
};
patches = [
(fetchpatch {
url = "https://github.com/WizardMac/ReadStat/commit/211c342a1cfe46fb7fb984730dd7a29ff4752f35.patch";
hash = "sha256-nkaEgusylVu7NtzSzBklBuOnqO9qJPovf0qn9tTE6ls=";
})
];
nativeBuildInputs = [ pkg-config autoreconfHook ];
buildInputs = [ libiconv ];
@ -22,5 +29,6 @@ stdenv.mkDerivation rec {
description = "Command-line tool (+ C library) for converting SAS, Stata, and SPSS files";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ swflint ];
platforms = lib.platforms.all;
};
}

View File

@ -104,11 +104,11 @@ stdenv.mkDerivation rec {
sha256 = "sha256-GqMgoi0tsP7zcCcPumhdsbvhPB6fgw1ufx6gHlc6iSc=";
})
# https://github.com/sagemath/sage/pull/36006, positively reviewed
# https://github.com/sagemath/sage/pull/36006, landed in 10.2.beta2
(fetchpatch {
name = "gmp-6.3-upgrade.patch";
url = "https://github.com/sagemath/sage/commit/d88bc3815c0901bfdeaa3e4a31107c084199f614.diff";
sha256 = "sha256-dXaEwk2wXxmx02sCw4Vu9mF0ZrydhFD4LRwNAiQsPgM=";
url = "https://github.com/sagemath/sage/commit/5e841de46c3baa99cd1145b36ff9163e9340a55c.diff";
sha256 = "sha256-fJPDryLtGBQz9qHDiCkBwjiW2lN6v7HiHgxY7CTeHcs=";
})
# https://github.com/sagemath/sage/pull/36279, landed in 10.2.beta4
@ -117,6 +117,20 @@ stdenv.mkDerivation rec {
url = "https://github.com/sagemath/sage/commit/0fcf88935908440930c5f79202155aca4ad57518.diff";
sha256 = "sha256-mvqAHaTCXsxPv901L8HSTnrfghfXYdq0wfLoP/cYQZI=";
})
# https://github.com/sagemath/sage/pull/35658, landed in 10.1.beta2
(fetchpatch {
name = "sphinx-7-upgrade.patch";
url = "https://github.com/sagemath/sage/commit/cacd9a89b5c4fdcf84a8dd2b7d5bdc10cc78109a.diff";
sha256 = "sha256-qJvliTJjR3XBc5pH6Q0jtm8c4bhtZcTcF3O04Ro1uaU=";
})
# https://github.com/sagemath/sage/pull/36296, landed in 10.2.beta4
(fetchpatch {
name = "duplicate-args-region_plot.patch";
url = "https://github.com/sagemath/sage/commit/461727b453712550a2c5dc0ae11933523255aaed.diff";
sha256 = "sha256-mC8084VQoUBk4hocALF+Y9Cwb38Zt360eldi/SSjna8=";
})
];
patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;

View File

@ -3,7 +3,6 @@
, fetchFromGitHub
, mkDerivation
, qtbase
, qtquick1
, qmltermwidget
, qtquickcontrols2
, qtgraphicaleffects
@ -28,7 +27,6 @@ mkDerivation rec {
buildInputs = [
qtbase
qtquick1
qmltermwidget
qtquickcontrols2
qtgraphicaleffects

View File

@ -4,14 +4,14 @@
stdenv.mkDerivation rec {
pname = "xterm";
version = "384";
version = "388";
src = fetchurl {
urls = [
"ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz"
"https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz"
];
hash = "sha256-Me+HB0DOrgIMPEtKlgHH9Hv9RmcsGq8tITpWXWTLw3M=";
hash = "sha256-rEKTReb5N6WUWonUJaJl/ubCFfxmnb3GoDJuIfTF9nQ=";
};
strictDeps = true;

View File

@ -27,6 +27,10 @@ stdenv.mkDerivation rec {
)
'';
env = lib.optionalAttrs stdenv.cc.isClang {
NIX_CFLAGS_COMPILE = "-Wno-implicit-function-declaration";
};
postInstall = ''
wrapProgram $out/bin/cvssync --prefix PATH : ${lib.makeBinPath [ rsync ]}
wrapProgram $out/bin/cvsconvert --prefix PATH : $out/bin:${lib.makeBinPath [

View File

@ -40,6 +40,10 @@ stdenv.mkDerivation rec {
"AR=${stdenv.cc.targetPrefix}ar"
];
env = lib.optionalAttrs stdenv.cc.isClang {
NIX_CFLAGS_COMPILE = "-Wno-implicit-function-declaration";
};
doCheck = false; # fails 1 of 1 tests
meta = with lib; {

View File

@ -23,13 +23,15 @@ buildGoModule rec {
patches = [
# Fix `fish` completions
# https://github.com/github/hub/pull/3036
(fetchpatch {
url = "https://github.com/github/hub/pull/3036.patch";
url = "https://github.com/github/hub/commit/439b7699e79471fc789929bcdea2f30bd719963e.patch";
hash = "sha256-pR/OkGa2ICR4n1pLNx8E2UTtLeDwFtXxeeTB94KFjC4=";
})
# Fix `bash` completions
# https://github.com/github/hub/pull/2948
(fetchpatch {
url = "https://github.com/github/hub/pull/2948.patch";
url = "https://github.com/github/hub/commit/64b291006f208fc7db1d5be96ff7db5535f1d853.patch";
hash = "sha256-jGFFIvSKEIpTQY0Wz63cqciUk25MzPHv5Z1ox8l7wmo=";
})
];

View File

@ -17,6 +17,7 @@
, gjs
, gtk4
, gst_all_1
, libGL
, libadwaita
, appstream-glib
, libsoup
@ -55,6 +56,7 @@ stdenv.mkDerivation rec {
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-ugly
gtk4
libGL
libadwaita
libsoup
wayland

View File

@ -116,7 +116,7 @@ in stdenv.mkDerivation {
# Remove with the next release: https://github.com/xbmc/xbmc/pull/23453
(fetchpatch {
name = "Fix fmt10 compat";
url = "https://github.com/xbmc/xbmc/pull/23453.patch";
url = "https://github.com/xbmc/xbmc/compare/acca69baa2eae65123e78ee2f77249181725ef5d...26c164a28cfd18ceef7a1f2bbba5bf8a4a5a750c.patch";
hash = "sha256-zMUparbQ8gfgeXj8W3MDmPi5OgLNz/zGCJINU7H6Rx0=";
})
];

View File

@ -31,6 +31,10 @@ stdenv.mkDerivation rec {
postPatch = ''
sed -i 's/{UNITTEST++_INCLUDE_DIR}/ENV{UNITTEST++_INCLUDE_DIR}/g' tests/CMakeLists.txt
'' + lib.optionalString stdenv.isDarwin ''
# Darwin requires both Magick++ and MagickCore or it will fail to link.
substituteInPlace src/CMakeLists.txt \
--replace 'target_link_libraries(openshot PUBLIC ImageMagick::Magick++)' 'target_link_libraries(openshot PUBLIC ImageMagick::Magick++ ImageMagick::MagickCore)'
'';
nativeBuildInputs = lib.optionals stdenv.isLinux [

View File

@ -62,7 +62,7 @@ rustPlatform.buildRustPackage rec {
(placeholder "out")
"--set"
"bin-src"
"target/${rust.lib.toRustTargetSpecShort stdenv.hostPlatform}/release/cosmic-settings"
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-settings"
];
postInstall = ''

View File

@ -10,6 +10,7 @@
, git
, hyprland-protocols
, jq
, libGL
, libdrm
, libexecinfo
, libinput
@ -88,6 +89,7 @@ stdenv.mkDerivation (finalAttrs: {
cairo
git
hyprland-protocols
libGL
libdrm
libinput
libxkbcommon

View File

@ -3,6 +3,7 @@
, fetchFromGitHub
, cmake
, file
, libGL
, libjpeg
, mesa
, pango
@ -31,6 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
file
libGL
libjpeg
mesa
pango

View File

@ -6,6 +6,7 @@
, ninja
, cairo
, fribidi
, libGL
, libdatrie
, libjpeg
, libselinux
@ -44,6 +45,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
cairo
fribidi
libGL
libdatrie
libjpeg
libselinux

View File

@ -1,4 +1,4 @@
{ i3lock-color, lib, stdenv, fetchFromGitHub, fetchpatch }:
{ i3lock-color, lib, stdenv, fetchFromGitHub, fetchpatch, libGL }:
i3lock-color.overrideAttrs (oldAttrs : rec {
pname = "i3lock-blur";
@ -21,6 +21,8 @@ i3lock-color.overrideAttrs (oldAttrs : rec {
})
];
buildInputs = oldAttrs.buildInputs ++ [ libGL ];
meta = with lib; {
description = "An improved screenlocker based upon XCB and PAM with background blurring filter";
homepage = "https://github.com/karulont/i3lock-blur/";

View File

@ -1,6 +1,6 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libxcb,
xcbutilkeysyms , xcbutilimage, pam, libX11, libev, cairo, libxkbcommon,
libxkbfile, libjpeg_turbo, xcbutilxrm
libxkbfile, libjpeg_turbo, xcbutilxrm, xorg
}:
stdenv.mkDerivation rec {
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ libxcb xcbutilkeysyms xcbutilimage pam libX11
libev cairo libxkbcommon libxkbfile libjpeg_turbo xcbutilxrm ];
libev cairo libxkbcommon libxkbfile libjpeg_turbo xcbutilxrm xorg.xcbutil ];
makeFlags = [ "all" ];
preInstall = ''

View File

@ -1,5 +1,5 @@
{ stdenv, lib, fetchFromGitHub, meson, ninja, pkg-config, libxcb, xcbutilkeysyms, xcbutilimage,
xcbutilxrm, pam, libX11, libev, cairo, libxkbcommon, libxkbfile }:
xcbutilxrm, pam, libX11, libev, cairo, libxkbcommon, libxkbfile, xorg }:
stdenv.mkDerivation rec {
pname = "i3lock";
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ libxcb xcbutilkeysyms xcbutilimage xcbutilxrm
pam libX11 libev cairo libxkbcommon libxkbfile ];
pam libX11 libev cairo libxkbcommon libxkbfile xorg.xcbutil ];
meta = with lib; {
description = "A simple screen locker like slock";

View File

@ -1,5 +1,5 @@
{ lib, fetchFromGitHub, rustPlatform
, xorg, python3, pkg-config, cairo, libxkbcommon }:
, xorg, python3, pkg-config, cairo, expat, libxkbcommon }:
rustPlatform.buildRustPackage rec {
pname = "wmfocus";
@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-4eoV/viI7Q7I7mIqcHVAyPf/y2RWaWX0B+mLZWMEbcI=";
nativeBuildInputs = [ python3 pkg-config ];
buildInputs = [ cairo libxkbcommon xorg.xcbutilkeysyms ];
buildInputs = [ cairo expat libxkbcommon xorg.xcbutilkeysyms ];
# For now, this is the only available featureset. This is also why the file is
# in the i3 folder, even though it might be useful for more than just i3

View File

@ -1,6 +1,7 @@
{ lib
, rustPlatform
, fetchFromGitHub
, libGL
, libinput
, libxkbcommon
, mesa
@ -22,6 +23,7 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "sha256-zSq6YBlm6gJXGlF9xZ8gWSTMewdNqrJzwP58a0x8QIU=";
buildInputs = [
libGL
libxkbcommon
mesa
pango

View File

@ -1,6 +1,6 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, substituteAll, swaybg
, meson, ninja, pkg-config, wayland-scanner, scdoc
, wayland, libxkbcommon, pcre2, json_c, libevdev
, libGL, wayland, libxkbcommon, pcre2, json_c, libevdev
, pango, cairo, libinput, gdk-pixbuf, librsvg
, wlroots, wayland-protocols, libdrm
, nixosTests
@ -56,7 +56,7 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
wayland libxkbcommon pcre2 json_c libevdev
libGL wayland libxkbcommon pcre2 json_c libevdev
pango cairo libinput gdk-pixbuf librsvg
wayland-protocols libdrm
(wlroots.override { inherit (finalAttrs) enableXWayland; })

View File

@ -8,6 +8,7 @@
, wf-config
, cairo
, doctest
, libGL
, libdrm
, libexecinfo
, libevdev
@ -44,6 +45,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
wf-config
libGL
libdrm
libexecinfo
libevdev

View File

@ -1,6 +1,6 @@
{ lib, stdenv, fetchurl, fetchpatch2
, meson, ninja, pkg-config, python3, wayland-scanner
, cairo, libdrm, libevdev, libinput, libxkbcommon, mesa, seatd, wayland
, cairo, libGL, libdrm, libevdev, libinput, libxkbcommon, mesa, seatd, wayland
, wayland-protocols, xcbutilcursor
, demoSupport ? true
@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
depsBuildBuild = [ pkg-config ];
nativeBuildInputs = [ meson ninja pkg-config python3 wayland-scanner ];
buildInputs = [
cairo libdrm libevdev libinput libxkbcommon mesa seatd wayland
cairo libGL libdrm libevdev libinput libxkbcommon mesa seatd wayland
wayland-protocols
] ++ lib.optional hdrSupport libdisplay-info
++ lib.optional jpegSupport libjpeg

View File

@ -1,4 +1,4 @@
{ lib, stdenv, buildPackages }:
{ lib, stdenv, coreutils, jq, python3, nix, xz }:
# This function is for creating a flat-file binary cache, i.e. the kind created by
# nix copy --to file:///some/path and usable as a substituter (with the file:// prefix).
@ -19,15 +19,10 @@ stdenv.mkDerivation {
preferLocalBuild = true;
PATH = lib.makeBinPath (with buildPackages; [ coreutils jq python3 nix xz ]);
nativeBuildInputs = [ coreutils jq python3 nix xz ];
builder = builtins.toFile "builder" ''
. .attrs.sh
export out=''${outputs[out]}
mkdir $out
mkdir $out/nar
buildCommand = ''
mkdir -p $out/nar
python ${./make-binary-cache.py}

View File

@ -3,7 +3,7 @@ import json
import os
import subprocess
with open(".attrs.json", "r") as f:
with open(os.environ["NIX_ATTRS_JSON_FILE"], "r") as f:
closures = json.load(f)["closure"]
os.chdir(os.environ["out"])

View File

@ -10,6 +10,13 @@ for flag in ${NIX_HARDENING_ENABLE_@suffixSalt@-}; do
hardeningEnableMap["$flag"]=1
done
# fortify3 implies fortify enablement - make explicit before
# we filter unsupported flags because unsupporting fortify3
# doesn't mean we should unsupport fortify too
if [[ -n "${hardeningEnableMap[fortify3]-}" ]]; then
hardeningEnableMap["fortify"]=1
fi
# Remove unsupported flags.
for flag in @hardening_unsupported_flags@; do
unset -v "hardeningEnableMap[$flag]"
@ -19,7 +26,7 @@ for flag in @hardening_unsupported_flags@; do
fi
done
# make fortify and fortify3 mutually exclusive
# now make fortify and fortify3 mutually exclusive
if [[ -n "${hardeningEnableMap[fortify3]-}" ]]; then
unset -v "hardeningEnableMap['fortify']"
fi

View File

@ -246,7 +246,7 @@ if [[ -e @out@/nix-support/cc-wrapper-hook ]]; then
fi
if (( "${NIX_CC_USE_RESPONSE_FILE:-@use_response_file_by_default@}" >= 1 )); then
responseFile=$(mktemp --tmpdir cc-params.XXXXXX)
responseFile=$(mktemp "${TMPDIR:-/tmp}/cc-params.XXXXXX")
trap 'rm -f -- "$responseFile"' EXIT
printf "%q\n" \
${extraBefore+"${extraBefore[@]}"} \

View File

@ -4,7 +4,7 @@
# "nix-store --load-db" and "nix-store --register-validity
# --hash-given".
{ stdenv, buildPackages }:
{ stdenv, coreutils, jq }:
{ rootPaths }:
@ -19,18 +19,24 @@ stdenv.mkDerivation {
preferLocalBuild = true;
PATH = "${buildPackages.coreutils}/bin:${buildPackages.jq}/bin";
nativeBuildInputs = [ coreutils jq ];
builder = builtins.toFile "builder"
empty = rootPaths == [];
buildCommand =
''
. .attrs.sh
out=''${outputs[out]}
mkdir $out
jq -r ".closure | map(.narSize) | add" < .attrs.json > $out/total-nar-size
jq -r '.closure | map([.path, .narHash, .narSize, "", (.references | length)] + .references) | add | map("\(.)\n") | add' < .attrs.json | head -n -1 > $out/registration
jq -r .closure[].path < .attrs.json > $out/store-paths
if [[ -n "$empty" ]]; then
echo 0 > $out/total-nar-size
touch $out/registration $out/store-paths
else
jq -r ".closure | map(.narSize) | add" < "$NIX_ATTRS_JSON_FILE" > $out/total-nar-size
jq -r '.closure | map([.path, .narHash, .narSize, "", (.references | length)] + .references) | add | map("\(.)\n") | add' < "$NIX_ATTRS_JSON_FILE" | head -n -1 > $out/registration
jq -r '.closure[].path' < "$NIX_ATTRS_JSON_FILE" > $out/store-paths
fi
'';
}

View File

@ -1,4 +1,4 @@
if [ -e .attrs.sh ]; then source .attrs.sh; fi
if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
source "$stdenv/setup"
echo "exporting \`$url' (revision $rev) into \`$out'"

View File

@ -1,4 +1,4 @@
if [ -e .attrs.sh ]; then source .attrs.sh; fi
if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
source $stdenv/setup
(echo "#!$SHELL"; \

View File

@ -1,4 +1,4 @@
if [ -e .attrs.sh ]; then source .attrs.sh; fi
if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
source $stdenv/setup
tagtext=""

View File

@ -1,4 +1,4 @@
if [ -e .attrs.sh ]; then source .attrs.sh; fi
if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
source "${stdenv}/setup"
echo "exporting ${repository}/${imageName} (tag: ${tag}) into ${out}"
mkdir -p "${out}"

View File

@ -1,4 +1,4 @@
if [ -e .attrs.sh ]; then source .attrs.sh; fi
if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
source $stdenv/setup
echo "Cloning Fossil $url [$rev] into $out"

View File

@ -3,7 +3,7 @@
# - revision specified and remote has a HEAD
# - revision specified and remote without HEAD
#
if [ -e .attrs.sh ]; then source .attrs.sh; fi
if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
source $stdenv/setup
echo "exporting $url (rev $rev) into $out"

View File

@ -1,4 +1,4 @@
if [ -e .attrs.sh ]; then source .attrs.sh; fi
if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
source $stdenv/setup
echo "getting $url${rev:+ ($rev)} into $out"

View File

@ -1,4 +1,4 @@
if [ -e .attrs.sh ]; then source .attrs.sh; fi
if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
source $stdenv/setup
# Curl flags to handle redirects, not use EPSV, handle cookies for

View File

@ -1,4 +1,4 @@
if [ -e .attrs.sh ]; then source .attrs.sh; fi
if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
source $stdenv/setup
set -x

View File

@ -1,4 +1,4 @@
if [ -e .attrs.sh ]; then source .attrs.sh; fi
if [ -e "$NIX_ATTRS_SH_FILE" ]; then . "$NIX_ATTRS_SH_FILE"; elif [ -f .attrs.sh ]; then . .attrs.sh; fi
source $stdenv/setup
echo "exporting $url (r$rev) into $out"

Some files were not shown because too many files have changed in this diff Show More