mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 15:03:28 +00:00
Merge #263535: staging-next 2023-10-26
This commit is contained in:
commit
a7a8f8253d
@ -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 Meson’s `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`
|
||||
|
@ -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.
|
||||
|
@ -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"
|
||||
|
@ -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";
|
||||
|
@ -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,
|
||||
|
|
@ -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).
|
||||
|
@ -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\" =
|
||||
|
@ -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 ;"}
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
@ -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() {
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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/";
|
||||
|
@ -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;
|
||||
|
@ -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 ];
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
];
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
})
|
||||
];
|
||||
|
@ -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 = ''
|
||||
|
@ -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 = [
|
||||
|
@ -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";
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
'';
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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" ];
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
21
pkgs/applications/gis/grass/clang-integer-conversion.patch
Normal file
21
pkgs/applications/gis/grass/clang-integer-conversion.patch
Normal 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."),
|
@ -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"
|
||||
'';
|
||||
|
||||
|
@ -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
|
@ -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=";
|
||||
})
|
||||
];
|
||||
|
@ -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
|
||||
|
1053
pkgs/applications/graphics/rnote/Cargo.lock
generated
1053
pkgs/applications/graphics/rnote/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -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; {
|
||||
|
@ -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 = ''
|
||||
|
@ -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..."
|
||||
|
@ -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
|
||||
'';
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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 = ''
|
||||
|
@ -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);
|
@ -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
|
||||
|
13
pkgs/applications/misc/mupdf/0003-Fix-cpp-build.patch
Normal file
13
pkgs/applications/misc/mupdf/0003-Fix-cpp-build.patch
Normal 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
|
@ -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";
|
||||
};
|
||||
|
@ -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"
|
||||
|
@ -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";
|
||||
})
|
||||
];
|
||||
|
@ -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";
|
||||
};
|
||||
|
@ -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 =
|
||||
''
|
||||
|
@ -1,4 +1,5 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, mkDerivationWith
|
||||
, fetchFromGitHub
|
||||
, python3Packages
|
||||
@ -6,6 +7,8 @@
|
||||
}:
|
||||
|
||||
mkDerivationWith python3Packages.buildPythonApplication rec {
|
||||
inherit stdenv;
|
||||
|
||||
pname = "webmacs";
|
||||
version = "0.8";
|
||||
|
||||
|
@ -6,7 +6,6 @@
|
||||
, qtbase
|
||||
, qttools
|
||||
, qtmultimedia
|
||||
, qtquick1
|
||||
, qtquickcontrols
|
||||
, openssl
|
||||
, protobuf
|
||||
@ -38,7 +37,6 @@ mkDerivation rec {
|
||||
qtbase
|
||||
qttools
|
||||
qtmultimedia
|
||||
qtquick1
|
||||
qtquickcontrols
|
||||
openssl
|
||||
protobuf
|
||||
|
@ -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";
|
||||
|
@ -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"];
|
||||
})
|
||||
|
@ -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=";
|
||||
})
|
||||
];
|
||||
|
@ -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 [
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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"
|
||||
|
@ -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; {
|
||||
|
@ -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 ++
|
||||
|
@ -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
|
||||
|
@ -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 = ''
|
||||
|
@ -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"
|
@ -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";
|
||||
})
|
||||
];
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -3,7 +3,6 @@
|
||||
, fetchFromGitHub
|
||||
, mkDerivation
|
||||
, qtbase
|
||||
, qtquick1
|
||||
, qmltermwidget
|
||||
, qtquickcontrols2
|
||||
, qtgraphicaleffects
|
||||
@ -28,7 +27,6 @@ mkDerivation rec {
|
||||
|
||||
buildInputs = [
|
||||
qtbase
|
||||
qtquick1
|
||||
qmltermwidget
|
||||
qtquickcontrols2
|
||||
qtgraphicaleffects
|
||||
|
@ -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;
|
||||
|
@ -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 [
|
||||
|
@ -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; {
|
||||
|
@ -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=";
|
||||
})
|
||||
];
|
||||
|
@ -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
|
||||
|
@ -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=";
|
||||
})
|
||||
];
|
||||
|
@ -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 [
|
||||
|
@ -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 = ''
|
||||
|
@ -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
|
||||
|
@ -3,6 +3,7 @@
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, file
|
||||
, libGL
|
||||
, libjpeg
|
||||
, mesa
|
||||
, pango
|
||||
@ -31,6 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
buildInputs = [
|
||||
file
|
||||
libGL
|
||||
libjpeg
|
||||
mesa
|
||||
pango
|
||||
|
@ -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
|
||||
|
@ -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/";
|
||||
|
@ -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 = ''
|
||||
|
@ -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";
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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; })
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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}
|
||||
|
||||
|
@ -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"])
|
||||
|
@ -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
|
||||
|
@ -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[@]}"} \
|
||||
|
@ -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
|
||||
|
||||
'';
|
||||
}
|
||||
|
@ -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'"
|
||||
|
@ -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"; \
|
||||
|
@ -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=""
|
||||
|
@ -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}"
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user