Merge staging-next into staging

This commit is contained in:
Wolfgang Walther
2025-10-24 09:27:24 +02:00
309 changed files with 4534 additions and 5446 deletions
-329
View File
@@ -1,329 +0,0 @@
Setting up a cross compiler with Nix
"Cross compilation" means compiling a program on one machine for another
type of machine. A typical use of cross compilation is to compile programs
for embedded devices. These devices often don't have the computing power
and memory to compile programs natively.
For a fully working cross compiler the following are needed:
* cross binutils: assembler, archiver, linker, etcetera that understand
the format of the target system
* cross compiler: a compiler that can generate binary code and object files
for the target platform
* cross C library: a library to link object files with to create fully
functional programs
Cross compilers are difficult to set up. A lot of people report that they
cannot succeed in building a cross toolchain successfully. The answers
usually consist of "download this pre-built toolchain", which is equally
unhelpful.
A toolchain is set up in five steps:
1. build binutils to that can run on the host platform, but generate code
for the target platform
2. build Linux kernel headers for the target platform
3. build a minimal C only version of GCC, that can run on the host platform
and generate code for the target platform
4. build a C library for the target platform. This includes the dynamic
linker, C library, etc.
5. build a full GCC
****
NB:
Keep in mind that many programs are not very well suited for cross
compilation. Either they are not intended to run on other platforms,
because the code is highly platform specific, or the configuration process
is not written with cross compilation in mind.
Nix will not solve these problems for you!
***
This document describes to set up a cross compiler to generate code for
arm-linux with uClibc and runs on i686-linux. The "stdenv" used is the
default from the standard Nix packages collection.
Step 1: build binutils for arm-linux in the stdenv for i686-linux
---
{stdenv, fetchurl, noSysDirs}:
stdenv.mkDerivation {
name = "binutils-2.16.1-arm";
builder = ./builder.sh;
src = fetchurl {
url = "http://ftp.nluug.nl/gnu/binutils/binutils-2.16.1.tar.bz2";
hash = "sha256-14pv+YKrL3NyFwbnv9MoWsZHgEZk5+pHhuZtAfkcVsU=";
};
inherit noSysDirs;
configureFlags = [ "--target=arm-linux" ];
}
---
This will compile binutils that will run on i686-linux, but knows the
format used by arm-linux.
Step 2: build kernel headers for the target architecture
default.nix for kernel-headers-arm:
---
{stdenv, fetchurl}:
assert stdenv.buildPlatform.system == "i686-linux";
stdenv.mkDerivation {
name = "linux-headers-2.6.13.1-arm";
builder = ./builder.sh;
src = fetchurl {
url = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.13.1.tar.bz2";
hash = "sha256-qtICDjfiA1HxWBrHqtB5DCv9s9/HyznKV1C6IxCrHYs=";
};
}
---
builder.sh for kernel-headers-arm:
---
source $stdenv/setup
buildPhase() {
make include/linux/version.h
}
buildPhase=buildPhase
installPhase() {
mkdir $out
mkdir $out/include
#cd $out/include
#ln -s asm-arm asm
make include/asm ARCH=arm
cp -prvd include/linux include/asm include/asm-arm include/asm-generic $out/include
echo -n > $out/include/linux/autoconf.h
}
installPhase=installPhase
genericBuild
---
Step 3: build a minimal GCC
Extra/different parameters include the target platform and the kernel
headers argument (this needs a major cleanup, as well as the name, it
needs to be different!). Profiled compilers are disabled. The tarball
used here is just gcc-core. For some reason it doesn't install nicely
if the whole tarball is used (or is this some braino on my side? -- AH).
Only C is used, because for other languages (such as C++) extra libraries
need to be compiled, for which libraries compiled for the target system
are needed.
There is a bit of evilness going on. The cross compiled utilities need
to be either copied to or be linked from the output tree of the compiler.
(Is this really true? Back this up with arguments! -- AH)
Symbolic links are not something we want inside the Nix store.
---
{ stdenv, fetchurl, noSysDirs
, langC ? true, langCC ? true, langF77 ? false
, profiledCompiler ? false
, binutilsArm
, kernelHeadersArm
}:
assert langC;
stdenv.mkDerivation {
name = "gcc-4.0.2-arm";
builder = ./builder.sh;
src = fetchurl {
url = "ftp://ftp.nluug.nl/pub/gnu/gcc/gcc-4.0.2/gcc-core-4.0.2.tar.bz2";
hash = "sha256-LANmXRS7/fN2zF5JUJVd8OjNA5aCDsGLQKhSpxWA3Qk=";
};
# !!! apply only if noSysDirs is set
patches = [./no-sys-dirs.patch ./gcc-inhibit.patch];
inherit noSysDirs langC langCC langF77 profiledCompiler;
buildInputs = [binutilsArm];
inherit kernelHeadersArm binutilsArm;
platform = "arm-linux";
}
---
The builder.sh for a cross-compiler. Note that the binutils are prefixed
with the architecture name, so arm-linux-ld instead of ld, etc. This is
necessary because when we cross-compile a lot of programs look for these
tools with these specific names. The standard gcc-wrapper does not take this
into account yet.
---
source $stdenv/setup
export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy
mkdir $NIX_FIXINC_DUMMY
if test "$noSysDirs" = "1"; then
if test "$noSysDirs" = "1"; then
# Figure out what extra flags to pass to the gcc compilers
# being generated to make sure that they use our glibc.
if test -e $NIX_CC/nix-support/orig-glibc; then
glibc=$(cat $NIX_CC/nix-support/orig-glibc)
# Ugh. Copied from gcc-wrapper/builder.sh. We can't just
# source in $NIX_CC/nix-support/add-flags, since that
# would cause *this* GCC to be linked against the
# *previous* GCC. Need some more modularity there.
extraCFlags="-B$glibc/lib -isystem $glibc/include"
extraLDFlags="-B$glibc/lib -L$glibc/lib -Wl,-s \
-Wl,-dynamic-linker,$glibc/lib/ld-linux.so.2"
# Oh, what a hack. I should be shot for this.
# In stage 1, we should link against the previous GCC, but
# not afterwards. Otherwise we retain a dependency.
# However, ld-wrapper, which adds the linker flags for the
# previous GCC, is also used in stage 2/3. We can prevent
# it from adding them by NIX_GLIBC_FLAGS_SET, but then
# gcc-wrapper will also not add them, thereby causing
# stage 1 to fail. So we use a trick to only set the
# flags in gcc-wrapper.
hook=$(pwd)/ld-wrapper-hook
echo "NIX_GLIBC_FLAGS_SET=1" > $hook
export NIX_LD_WRAPPER_START_HOOK=$hook
fi
export NIX_EXTRA_CFLAGS=$extraCFlags
export NIX_EXTRA_LDFLAGS=$extraLDFlags
export CFLAGS=$extraCFlags
export CXXFLAGS=$extraCFlags
export LDFLAGS=$extraLDFlags
fi
else
patches=""
fi
preConfigure=preConfigure
preConfigure() {
# Determine the frontends to build.
langs="c"
if test -n "$langCC"; then
langs="$langs,c++"
fi
if test -n "$langF77"; then
langs="$langs,f77"
fi
# Cross compiler evilness
mkdir -p $out
mkdir -p $out/arm-linux
mkdir -p $out/arm-linux/bin
ln -s $binutilsArm/arm-linux/bin/as $out/arm-linux/bin/as
ln -s $binutilsArm/arm-linux/bin/ld $out/arm-linux/bin/ld
ln -s $binutilsArm/arm-linux/bin/ar $out/arm-linux/bin/ar
ln -s $binutilsArm/arm-linux/bin/ranlib $out/arm-linux/bin/ranlib
# Perform the build in a different directory.
mkdir ../build
cd ../build
configureScript=../$sourceRoot/configure
configureFlags="--enable-languages=$langs --target=$platform --disable-threads --disable-libmudflap --disable-shared --with-headers=$kernelHeadersArm/include --disable-multilib"
}
postInstall=postInstall
postInstall() {
# Remove precompiled headers for now. They are very big and
# probably not very useful yet.
find $out/include -name "*.gch" -exec rm -rf {} \; -prune
# Remove `fixincl' to prevent a retained dependency on the
# previous gcc.
rm -rf $out/libexec/gcc/*/*/install-tools
}
#if test -z "$profiledCompiler"; then
#makeFlags="bootstrap"
#else
#makeFlags="profiledbootstrap"
#fi
genericBuild
---
Step 4: build a C library for the target platform.
The previous steps are enough to compile a C library. In our case we take
uClibc. It's intended to be a small sized replacement for glibc. It is widely
used in embedded environments.
...
Step 5: Build a compiler to link with the newly built C library.
...
If we restrict the compiler to just C programs it is relatively easy,
since we only need to wrap the GCC we built in the previous step with all
the right tools and the right C library. Successfully compiled programs with
this compiler and verified to be working on a HP Jornada 820 running Linux
are "patch", "make" and "wget".
If we want to build C++ programs it gets a lot more difficult. GCC has a
three step compilation process. In the first step a simple compiler, called
xgcc, that can compile only C programs is built. With that compiler it
compiles itself two more times: one time to build a full compiler, and another
time to build a full compiler once again with the freshly built compiler from
step 2. In the second and third step support for C++ is compiled, if this
is configured.
One of the libraries that has to be built for C++ support step is libstdc++.
This library uses xgcc, even when cross compiling, since libstdc++ has to be
compiled for arm-linux.
One of the compiler flags that GCC uses for this compiler is called X_CFLAGS.
This is used by the Nix build process to set the dynamic linker, glibc
in the case of i686-linux using the default Nix packages collection.
Obviously, since we need to compile libstc++ for arm-linux with uClibc linking
will not be done correctly: you can't link object files built for arm-linux
with a glibc built for i686-linux.
Setting X_CFLAGS to use the uClibc libraries and dynamic linker will fail
too. Earlier on in the build process these flags are used to compile important
files like libgcc.a by the host system gcc, which does need to be linked
to glibc. To make this work correctly you will need to carefully juggle
with compilation flags. This is still work in progress for Nix.
---
After successfully completing the whole toolchain you can start building
packages with the newly built tools. To make everything build correctly
you will need a stdenv for your target platform. Setting up this platform
will take some effort. Right now there is a very experimental setup for
arm-linux, which needs to be cleaned up before it is production ready.
Please note that many packages are not well suited for cross-compilation.
Even though the package itself might be very well portable often the
buildscripts are not. One thing that we have seen that causes frequent
build failures is the use of the LD variable. This is often set to 'ld'
and not $(CROSS)-ld.
+4
View File
@@ -320,6 +320,10 @@
- `searx` was updated to use `envsubst` instead of `sed` for parsing secrets from environment variables.
If your previous configuration included a secret reference like `server.secret_key = "@SEARX_SECRET_KEY@"`, you must migrate to the new envsubst syntax: `server.secret_key = "$SEARX_SECRET_KEY"`.
- `jellyfin` was updated to `10.11.x`, which includes heavy backend changes.
Make sure to backup your data and configuration directories
and read the [Jellyfin 10.11.0 release announcement](https://jellyfin.org/posts/jellyfin-release-10.11.0/).
- `versionCheckHook`: Packages that previously relied solely on `pname` to locate the program used to version check, but have a differing `meta.mainProgram` entry, might now fail.
-5
View File
@@ -620,11 +620,6 @@ lib.mapAttrs mkLicense (
fullName = "Unspecified free software license";
};
freeimage = {
spdxId = "FreeImage";
fullName = "FreeImage Public License v1.0";
};
fsl11Mit = {
fullName = "Functional Source License, Version 1.1, MIT Future License";
spdxId = "FSL-1.1-MIT";
+18
View File
@@ -10956,6 +10956,12 @@
githubId = 993484;
name = "Greg Hale";
};
imatpot = {
email = "nixpkgs@brnk.vc";
github = "imatpot";
githubId = 39416660;
name = "Mladen Branković";
};
imgabe = {
email = "gabrielpmonte@hotmail.com";
github = "ImGabe";
@@ -14734,6 +14740,13 @@
githubId = 54189319;
name = "Lilly Cham";
};
lilyball = {
email = "lily@ballards.net";
github = "lilyball";
githubId = 714;
matrix = "@esperlily:matrix.org";
name = "Lily Ballard";
};
limeytexan = {
email = "limeytexan@gmail.com";
github = "limeytexan";
@@ -23078,6 +23091,11 @@
githubId = 99875823;
name = "Michael Savedra";
};
savtrip = {
github = "savtrip";
githubId = 42227195;
name = "Sav Tripodi";
};
savyajha = {
email = "savya.jha@hawkradius.com";
github = "savyajha";
+1
View File
@@ -115,6 +115,7 @@ with lib.maintainers;
happysalada
minijackson
yurrriq
savtrip
];
github = "beam";
scope = "Maintain BEAM-related packages and modules.";
+1 -1
View File
@@ -64,7 +64,7 @@ in
];
# Needs to verify the user of the processes.
PrivateUsers = "full";
PrivateUsers = false;
# Needs to access other processes to modify their scheduling modes.
ProcSubset = "all";
ProtectProc = "default";
@@ -324,7 +324,7 @@ let
mapAttrsToList (
vhostName: vhost:
let
onlySSL = vhost.onlySSL || vhost.enableSSL;
onlySSL = vhost.onlySSL;
hasSSL = onlySSL || vhost.addSSL || vhost.forceSSL;
# First evaluation of defaultListen based on a set of listen lines.
@@ -1324,18 +1324,6 @@ in
];
config = mkIf cfg.enable {
warnings =
let
deprecatedSSL =
name: config:
optional config.enableSSL ''
config.services.nginx.virtualHosts.<name>.enableSSL is deprecated,
use config.services.nginx.virtualHosts.<name>.onlySSL instead.
'';
in
flatten (mapAttrsToList deprecatedSSL virtualHosts);
assertions =
let
hostOrAliasIsNull = l: l.root == null || l.alias == null;
@@ -1352,7 +1340,7 @@ in
with host;
count id [
addSSL
(onlySSL || enableSSL)
onlySSL
forceSSL
rejectSSL
] <= 1
@@ -170,12 +170,6 @@ with lib;
'';
};
enableSSL = mkOption {
type = types.bool;
visible = false;
default = false;
};
forceSSL = mkOption {
type = types.bool;
default = false;
@@ -145,6 +145,11 @@ let
in
{
meta = {
maintainers = with lib.maintainers; [ armelclo ];
};
options = {
services.xserver.desktopManager.phosh = {
enable = lib.mkOption {
@@ -183,8 +188,11 @@ in
config = lib.mkIf cfg.enable {
# Inspired by https://gitlab.gnome.org/World/Phosh/phosh/-/blob/main/data/phosh.service
# Parts taken from nixos/modules/services/wayland/cage.nix
systemd.services.phosh = {
wantedBy = [ "graphical.target" ];
after = [ "getty@tty1.service" ];
conflicts = [ "getty@tty1.service" ];
serviceConfig = {
ExecStart = "${cfg.package}/bin/phosh-session";
User = cfg.user;
@@ -193,7 +201,7 @@ in
WorkingDirectory = "~";
Restart = "always";
TTYPath = "/dev/tty7";
TTYPath = "/dev/tty1";
TTYReset = "yes";
TTYVHangup = "yes";
TTYVTDisallocate = "yes";
@@ -204,7 +212,7 @@ in
StandardError = "journal";
# Log this user with utmp, letting it show up with commands 'w' and 'who'.
UtmpIdentifier = "tty7";
UtmpIdentifier = "tty1";
UtmpMode = "user";
};
environment = {
@@ -224,6 +232,16 @@ in
};
};
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-phosh
pkgs.xdg-desktop-portal-gnome
pkgs.xdg-desktop-portal-gtk
];
configPackages = lib.mkDefault [ pkgs.phosh ];
};
environment.systemPackages = [
pkgs.phoc
cfg.package
+8 -7
View File
@@ -4,12 +4,12 @@
name = "jellyfin";
meta.maintainers = with lib.maintainers; [ minijackson ];
nodes.machine =
{ ... }:
{
services.jellyfin.enable = true;
environment.systemPackages = with pkgs; [ ffmpeg ];
};
nodes.machine = {
services.jellyfin.enable = true;
environment.systemPackages = with pkgs; [ ffmpeg ];
# Jellyfin fails to start if the data dir doesn't have at least 2GiB of free space
virtualisation.diskSize = 3 * 1024;
};
# Documentation of the Jellyfin API: https://api.jellyfin.org/
# Beware, this link can be resource intensive
@@ -30,6 +30,7 @@
machine.wait_for_unit("jellyfin.service")
machine.wait_for_open_port(8096)
machine.wait_until_succeeds("journalctl --since -1m --unit jellyfin --grep 'Startup complete'")
machine.succeed("curl --fail http://localhost:8096/")
machine.wait_until_succeeds("curl --fail http://localhost:8096/health | grep Healthy")
@@ -105,7 +106,7 @@
folders_str = machine.succeed(api_get("/Library/VirtualFolders"))
folders = json.loads(folders_str)
print(folders)
return all(folder["RefreshStatus"] == "Idle" for folder in folders)
return all(folder.get("RefreshStatus") == "Idle" for folder in folders)
retry(is_refreshed)
+1 -1
View File
@@ -18,7 +18,7 @@ in
virtualHosts.${name} = {
enableACME = false;
forceSSL = false;
enableSSL = false;
onlySSL = false;
locations."/_matrix" = {
proxyPass = "http://[::1]:6167";
+46 -39
View File
@@ -7,20 +7,25 @@
gettext,
pkg-config,
cscope,
ruby,
ruby_3_4,
tcl,
perl,
luajit,
darwin,
libiconv,
python3,
enablePython ? false,
rcodesign,
}:
let
inherit (lib) optional optionals optionalString;
in
# Try to match MacVim's documented script interface compatibility
let
#perl = perl540;
# Ruby 3.3
#ruby = ruby_3_3;
# Ruby 3.4
ruby = ruby_3_4;
# Building requires a few system tools to be in PATH.
# Some of these we could patch into the relevant source files (such as xcodebuild and
@@ -35,13 +40,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "macvim";
version = "179";
version = "181";
src = fetchFromGitHub {
owner = "macvim-dev";
repo = "macvim";
rev = "release-${finalAttrs.version}";
hash = "sha256-L9LVXyeA09aMtNf+b/Oo+eLpeVEKTD1/oNWCiFn5FbU=";
hash = "sha256-Wdq+eXSaGs+y+75ZbxoNAcyopRkWRHHRm05T0SHBrow=";
};
enableParallelBuilding = true;
@@ -49,7 +54,8 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
pkg-config
buildSymlinks
];
]
++ optional stdenv.isAarch64 rcodesign;
buildInputs = [
gettext
ncurses
@@ -58,8 +64,8 @@ stdenv.mkDerivation (finalAttrs: {
ruby
tcl
perl
python3
];
]
++ optional enablePython python3;
patches = [ ./macvim.patch ];
@@ -71,14 +77,22 @@ stdenv.mkDerivation (finalAttrs: {
"--enable-multibyte"
"--enable-nls"
"--enable-luainterp=dynamic"
]
++ optionals enablePython [
"--enable-python3interp=dynamic"
]
++ [
"--enable-perlinterp=dynamic"
"--enable-rubyinterp=dynamic"
"--enable-tclinterp=yes"
"--without-local-dir"
"--with-luajit"
"--with-lua-prefix=${luajit}"
]
++ optionals enablePython [
"--with-python3-command=${python3}/bin/python3"
]
++ [
"--with-ruby-command=${ruby}/bin/ruby"
"--with-tclsh=${tcl}/bin/tclsh"
"--with-tlib=ncurses"
@@ -92,6 +106,13 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
echo "Patching file src/MacVim/MacVim.xcodeproj/project.pbxproj"
sed -e '/Sparkle\.framework/d' -i src/MacVim/MacVim.xcodeproj/project.pbxproj
''
# Xcode 26.0 sets *_DEPLOYMENT_TARGET env vars for all platforms in shell script build phases.
# This breaks invocations of clang in those phases, as they target the wrong platform.
# Note: The shell script build phase in question uses /bin/zsh.
+ ''
substituteInPlace src/MacVim/MacVim.xcodeproj/project.pbxproj \
--replace-fail 'make \' $'for x in ''${(k)parameters}; do if [[ $x = *_DEPLOYMENT_TARGET ]]; then [[ $x = MACOSX_DEPLOYMENT_TARGET ]] || unset $x; fi; done\nmake \\'
'';
# This is unfortunate, but we need to use the same compiler as Xcode, but Xcode doesn't provide a
@@ -101,7 +122,7 @@ stdenv.mkDerivation (finalAttrs: {
let
# ideally we'd recurse, but we don't need that right now
inputs = [ ncurses ] ++ perl.propagatedBuildInputs;
ldflags = map (drv: "-L${lib.getLib drv}/lib") inputs;
ldflags = map (drv: "-L${lib.getLib drv}/lib") inputs ++ [ "-headerpad_max_install_names" ];
cppflags = map (drv: "-isystem ${lib.getDev drv}/include") inputs;
in
''
@@ -131,7 +152,7 @@ stdenv.mkDerivation (finalAttrs: {
# as the scheme seems to have the wrong default.
+ ''
configureFlagsArray+=(
XCODEFLAGS="-scheme MacVim -derivedDataPath $NIX_BUILD_TOP/derivedData"
XCODEFLAGS="-scheme MacVim -derivedDataPath $NIX_BUILD_TOP/derivedData LDFLAGS='\$(inherited) -headerpad_max_install_names' ENABLE_CODE_COVERAGE=NO"
--with-xcodecfg="Release"
)
'';
@@ -149,9 +170,9 @@ stdenv.mkDerivation (finalAttrs: {
# Xcode project or pass it as a flag to xcodebuild as well.
postConfigure = ''
substituteInPlace src/auto/config.mk \
--replace " -L${stdenv.cc.libc}/lib" "" \
--replace " -L${darwin.libunwind}/lib" "" \
--replace " -L${libiconv}/lib" ""
--replace-warn " -L${stdenv.cc.libc}/lib" "" \
--replace-warn " -L${darwin.libunwind}/lib" "" \
--replace-warn " -L${libiconv}/lib" ""
# All the libraries we stripped have -osx- in their name as of this time.
# Assert now that this pattern no longer appears in config.mk.
@@ -191,12 +212,21 @@ stdenv.mkDerivation (finalAttrs: {
libperl=$(dirname $(find ${perl} -name "libperl.dylib"))
install_name_tool -add_rpath ${luajit}/lib $exe
install_name_tool -add_rpath ${tcl}/lib $exe
''
+ optionalString enablePython ''
install_name_tool -add_rpath ${python3}/lib $exe
''
+ ''
install_name_tool -add_rpath $libperl $exe
install_name_tool -add_rpath ${ruby}/lib $exe
# Remove manpages from tools we aren't providing
find $out/Applications/MacVim.app/Contents/man -name evim.1 -delete
find $out/Applications/MacVim.app/Contents/man \( -name evim.1 -or -name eview.1 \) -delete
rm $out/Applications/MacVim.app/Contents/man/man1/mvim.1
''
+ optionalString stdenv.isAarch64 ''
# Resign the binary and set the linker-signed flag.
rcodesign sign --code-signature-flags linker-signed $exe
'';
# We rely on the user's Xcode install to build. It may be located in an arbitrary place, and
@@ -212,33 +242,10 @@ stdenv.mkDerivation (finalAttrs: {
description = "Vim - the text editor - for macOS";
homepage = "https://macvim.org/";
license = licenses.vim;
maintainers = [ ];
maintainers = with maintainers; [ lilyball ];
platforms = platforms.darwin;
hydraPlatforms = [ ]; # hydra can't build this as long as we rely on Xcode and sandboxProfile
# Needs updating to a newer MacVim for Python and Ruby version support
broken = true;
knownVulnerabilities = [
"CVE-2023-46246"
"CVE-2023-48231"
"CVE-2023-48232"
"CVE-2023-48233"
"CVE-2023-48234"
"CVE-2023-48235"
"CVE-2023-48236"
"CVE-2023-48237"
"CVE-2023-48706"
"CVE-2023-5344"
"CVE-2023-5441"
"CVE-2023-5535"
"CVE-2024-22667"
"CVE-2024-41957"
"CVE-2024-41965"
"CVE-2024-43374"
"CVE-2024-47814"
"CVE-2025-1215"
"CVE-2025-22134"
"CVE-2025-24014"
"CVE-2025-26603"
"CVE-2025-29768"
"CVE-2025-53905"
"CVE-2025-53906"
@@ -199,16 +199,3 @@ index 6e33142..6185f45 100644
#ifdef AMIGA
# include "os_amiga.h"
#endif
diff --git a/src/vimtutor b/src/vimtutor
index 3b154f2..e89f260 100755
--- a/src/vimtutor
+++ b/src/vimtutor
@@ -16,7 +16,7 @@ seq="vim vim81 vim80 vim8 vim74 vim73 vim72 vim71 vim70 vim7 vim6 vi"
if test "$1" = "-g"; then
# Try to use the GUI version of Vim if possible, it will fall back
# on Vim if Gvim is not installed.
- seq="gvim gvim81 gvim80 gvim8 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq"
+ seq="mvim gvim gvim81 gvim80 gvim8 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq"
shift
fi
@@ -18552,6 +18552,19 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
vim-hy = buildVimPlugin {
pname = "vim-hy";
version = "2024-10-06";
src = fetchFromGitHub {
owner = "hylang";
repo = "vim-hy";
rev = "ab1699bfa636e7355ac0030189331251c49c7d61";
sha256 = "09v83a6ybj73043acpm2nps5s56sqg2pz456b4qgz2r7zjlgx5r9";
};
meta.homepage = "https://github.com/hylang/vim-hy/";
meta.hydraPlatforms = [ ];
};
vim-hybrid = buildVimPlugin {
pname = "vim-hybrid";
version = "2016-01-05";
@@ -1424,6 +1424,7 @@ https://github.com/ntk148v/vim-horizon/,,
https://github.com/jonsmithers/vim-html-template-literals/,,
https://github.com/humanoid-colors/vim-humanoid-colorscheme/,,
https://github.com/vim-utils/vim-husk/,,
https://github.com/hylang/vim-hy/,HEAD,
https://github.com/w0ng/vim-hybrid/,,
https://github.com/kristijanhusak/vim-hybrid-material/,,
https://github.com/noc7c9/vim-iced-coffee-script/,,
+12 -2
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
cmake,
ninja,
qtbase,
@@ -19,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "CopyQ";
version = "11.0.0";
version = "13.0.0";
src = fetchFromGitHub {
owner = "hluk";
repo = "CopyQ";
rev = "v${version}";
hash = "sha256-/t+8YsqeX0tlxwQDDNTalttCDIgGhpLbzYe3UqY04xM=";
hash = "sha256-wxjUL5mGXAMNVGP+dAh1NrE9tw71cJW9zmLsaCVphTo=";
};
nativeBuildInputs = [
@@ -48,12 +49,21 @@ stdenv.mkDerivation rec {
kdePackages.kconfig
kdePackages.kstatusnotifieritem
kdePackages.knotifications
kdePackages.kguiaddons
];
cmakeFlags = [
(lib.cmakeBool "WITH_QT6" true)
];
patches = [
# https://github.com/hluk/CopyQ/pull/3268
(fetchpatch2 {
url = "https://github.com/hluk/CopyQ/commit/103903593c37c9db5406d276e0097fbf18d2a8c4.patch?full_index=1";
hash = "sha256-zywE6ntMw+WvTyilXwvd4lfQRAAB9R/AGpwtwwPFZZE=";
})
];
meta = {
homepage = "https://hluk.github.io/CopyQ";
description = "Clipboard Manager with Advanced Features";
+4
View File
@@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
hash = "sha256-B3RcYr/b8pZTJV35BWuqmWbq+C2WkkcwBR0oNaUXPRw=";
};
patches = [
./remove-Werror.patch
];
nativeBuildInputs = [
qmake
pkg-config
@@ -0,0 +1,12 @@
diff --git a/kiwix-desktop.pro b/kiwix-desktop.pro
index c1f4f93..bf10828 100644
--- a/kiwix-desktop.pro
+++ b/kiwix-desktop.pro
@@ -27,7 +27,6 @@ QMAKE_CXXFLAGS += -std=c++17
QMAKE_LFLAGS += -std=c++17
!win32 {
- QMAKE_CXXFLAGS += -Werror
equals(QT_MAJOR_VERSION, 6):equals(QT_MINOR_VERSION, 6) {
# Fail the build on errors, except for 'template-id-cdtor' due to a problem with Qt headers.
# This can be removed when the Ubuntu package is fixed.
@@ -353,6 +353,15 @@
"spdx": "MPL-2.0",
"vendorHash": "sha256-u/ycUCnEYlCBrDcI0VCkob4CGXrXYdGWwiw5EeJyuiw="
},
"e-breuninger_netbox": {
"hash": "sha256-iCaCt8ZbkxCk43QEyj3PeHYuKPCPVU2oQ78aumH/l6k=",
"homepage": "https://registry.terraform.io/providers/e-breuninger/netbox",
"owner": "e-breuninger",
"repo": "terraform-provider-netbox",
"rev": "v5.0.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-Q3H/6mpkWn1Gw0NRMtKtkBRGHjPJZGBFdGwfalyQ4Z0="
},
"equinix_equinix": {
"hash": "sha256-QE8ukiQHZqhSsZyFnInIpnGvsSlFuFMun7paK/Z3HTM=",
"homepage": "https://registry.terraform.io/providers/equinix/equinix",
@@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d12bd0db..f904000b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -19,7 +19,7 @@
## along with this program. If not, see <http://www.gnu.org/licenses/>.
##
-cmake_minimum_required(VERSION 2.8.6)
+cmake_minimum_required(VERSION 3.10)
project(DSView)
@@ -31,6 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
patches = [
# Fix absolute install paths
./install.patch
./cmake4.patch
];
# /build/source/libsigrok4DSL/strutil.c:343:19: error: implicit declaration of function 'strcasecmp'; did you mean 'g_strcasecmp'? []
@@ -37,7 +37,6 @@ let
plugins = lib.mergeAttrsList [
{ hy3 = import ./hy3.nix; }
{ hycov = import ./hycov.nix; }
{ hypr-dynamic-cursors = import ./hypr-dynamic-cursors.nix; }
{ hyprfocus = import ./hyprfocus.nix; }
{ hyprgrass = import ./hyprgrass.nix; }
@@ -45,6 +44,7 @@ let
{ hyprsplit = import ./hyprsplit.nix; }
(import ./hyprland-plugins.nix)
(lib.optionalAttrs config.allowAliases {
hycov = throw "hyprlandPlugins.hycov has been removed because it has been marked as broken since September 2024."; # Added 2025-10-12
hyprscroller = throw "hyprlandPlugins.hyprscroller has been removed as the upstream project is deprecated. Consider using `hyprlandPlugins.hyprscrolling`."; # Added 2025-05-09
})
];
@@ -1,32 +0,0 @@
{
lib,
mkHyprlandPlugin,
cmake,
fetchFromGitHub,
nix-update-script,
}:
mkHyprlandPlugin (finalAttrs: {
pluginName = "hycov";
version = "0.41.2.1";
src = fetchFromGitHub {
owner = "DreamMaoMao";
repo = "hycov";
tag = finalAttrs.version;
hash = "sha256-NRnxbkuiq1rQ+uauo7D+CEe73iGqxsWxTQa+1SEPnXQ=";
};
nativeBuildInputs = [ cmake ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Clients overview for Hyprland plugin";
homepage = "https://github.com/DreamMaoMao/hycov";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ donovanglover ];
platforms = lib.platforms.linux;
broken = true; # Doesn't work after Hyprland v0.41.2 https://gitee.com/DreamMaoMao/hycov/issues/IANYC8#note_31512295_link
};
})
+10 -10
View File
@@ -1,28 +1,28 @@
{
"stable": {
"linux": {
"version": "8.11.12",
"version": "8.11.14",
"sources": {
"x86_64": {
"url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.11.12.x64.tar.gz",
"hash": "sha256-znzmaEYOLVw6nUBk20oMdSngkO8iiSTHvM1y/t3Z55Y="
"url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.11.14.x64.tar.gz",
"hash": "sha256-LdGw2AVDiQXwGAz9abEeoCosQUdr5q978OMo+kXATIc="
},
"aarch64": {
"url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.11.12.arm64.tar.gz",
"hash": "sha256-ENuvB8GExhHWjJ97JV0qc2cIn9HqXb202dzIxu1fz2A="
"url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.11.14.arm64.tar.gz",
"hash": "sha256-U+wJEH5NwWuPV+Oy6RJ+dki4lJB2A9aOVjvRSkm6zfY="
}
}
},
"darwin": {
"version": "8.11.12",
"version": "8.11.14",
"sources": {
"x86_64": {
"url": "https://downloads.1password.com/mac/1Password-8.11.12-x86_64.zip",
"hash": "sha256-mr7DsYIEh21pHQX0cq9JlTZ4lHhkyYHCmwMaxEiK+5g="
"url": "https://downloads.1password.com/mac/1Password-8.11.14-x86_64.zip",
"hash": "sha256-GXbwYxFNw6R8UdKxPL6k2lQF4uabFRgaEKNaFzecnZ0="
},
"aarch64": {
"url": "https://downloads.1password.com/mac/1Password-8.11.12-aarch64.zip",
"hash": "sha256-34ylS5Xq9By6nuUkEmLoi0wR5hAQx1vBhrYFq4mjSDs="
"url": "https://downloads.1password.com/mac/1Password-8.11.14-aarch64.zip",
"hash": "sha256-rViZC9b6kOaqkNNJibABmWu0Z5PEtBQE0jGtaUdd4LY="
}
}
}
+3 -3
View File
@@ -8,13 +8,13 @@
}:
stdenv.mkDerivation {
pname = "airwindows";
version = "0-unstable-2025-10-05";
version = "0-unstable-2025-10-18";
src = fetchFromGitHub {
owner = "airwindows";
repo = "airwindows";
rev = "5889ed48beefd556adca76ed3e4b1b4982531dbd";
hash = "sha256-zpuzKpuYGe0xpUrBeWpaCYEBy9mGOX5R3LAeiWPCQ3s=";
rev = "1b0b4d56623e464db038e88cb87d1703b5aa0c63";
hash = "sha256-u83unbD3qf3OudMeOq20Iw2K3SOsKrGLekYCiVZTzF8=";
};
# we patch helpers because honestly im spooked out by where those variables
+2 -2
View File
@@ -7,11 +7,11 @@
let
pname = "altair";
version = "8.2.5";
version = "8.3.0";
src = fetchurl {
url = "https://github.com/imolorhe/altair/releases/download/v${version}/altair_${version}_x86_64_linux.AppImage";
sha256 = "sha256-P0CVJFafrsvWzDWyJZEds812m3yUDpo4eocysEIQqrw=";
sha256 = "sha256-uLqtrF5WWJ5+6bN/h4u/vdvTlbQtZID1osujfuJad4U=";
};
appimageContents = appimageTools.extract { inherit pname version src; };
+3
View File
@@ -79,6 +79,9 @@ stdenv.mkDerivation rec {
postPatch = ''
echo "find_package(Threads)" >> cmake/options.cmake
substituteInPlace src/libs/ec/abstracts/CMakeLists.txt \
--replace-fail "CMAKE_MINIMUM_REQUIRED (VERSION 2.8)" "CMAKE_MINIMUM_REQUIRED (VERSION 3.10)"
'';
# aMule will try to `dlopen' libupnp and libixml, so help it
@@ -354,5 +354,183 @@
"hash": "sha256-o4tCuCAIgAYg/Li3wTs12mVWr5C/4vbwu1zi+kJ9d6w=",
"version": "11417.121.6"
}
},
"26.0": {
"CarbonHeaders": {
"hash": "sha256-nIPXnLr21yVnpBhx9K5q3l/nPARA6JL/dED08MeyhP8=",
"version": "18.1"
},
"CommonCrypto": {
"hash": "sha256-+qAwL6+s7di9cX/qXtapLkjCFoDuZaSYltRJEG4qekM=",
"version": "600035"
},
"IOAudioFamily": {
"hash": "sha256-A3iiAjjP29VdjMj40tLS5Q/ni4qeh9bBpnmNzeG2pIY=",
"version": "700.2"
},
"IOBDStorageFamily": {
"hash": "sha256-OcQUJ3nEfrpvWX/npnedJ4PECIGWFSLiM0PKoiH911w=",
"version": "26"
},
"IOCDStorageFamily": {
"hash": "sha256-p/2qM5zjXFDRb/DISpEHxQEdvmuLlRGt/Ygc71Yu2rI=",
"version": "62"
},
"IODVDStorageFamily": {
"hash": "sha256-1Sa8aZBGNtqJBNHva+YXxET6Wcdm2PgVrTzYT/8qrN4=",
"version": "46"
},
"IOFWDVComponents": {
"hash": "sha256-WkfkWnzRupEh20U7vjsTta89clhus6GTkOpXQWXw/bM=",
"version": "208"
},
"IOFireWireAVC": {
"hash": "sha256-qR9lSTa7PN5Z9Nis4tfuXlcZGMIU48dete/NPD0UBbE=",
"version": "436"
},
"IOFireWireFamily": {
"hash": "sha256-hmErAXjLWIelqJaCrB8J4IiIxyB7S6EHFY+AY9YhmKQ=",
"version": "492"
},
"IOFireWireSBP2": {
"hash": "sha256-Xk+PDnUaO9q46nQwHwTKf/QXtGclfs0wTWiUbcV7e4s=",
"version": "454"
},
"IOFireWireSerialBusProtocolTransport": {
"hash": "sha256-cM/VFhVWNVwdJYk+mme0UYttQd7eJwd7Hlo7KNRyHY0=",
"version": "262"
},
"IOGraphics": {
"hash": "sha256-iysZE42mOKZbFxSZBNspaBTCRKEKK38DFGBxZWQxZxI=",
"version": "599"
},
"IOHIDFamily": {
"hash": "sha256-YLnabX90g4Q8LxjwVuJF6KODCDxychWV+VJaNG9d8fI=",
"version": "2222.0.24"
},
"IOKitUser": {
"hash": "sha256-ngwi8YMUqE0q8j7Lr5cqJwi2V+IDu3ie3bduotHIUJU=",
"version": "100222.0.4"
},
"IONetworkingFamily": {
"hash": "sha256-ZF5ML41Y1l1liQn32qTkcl4mMvx9Xdizb9VgvTzVTL4=",
"version": "186"
},
"IOSerialFamily": {
"hash": "sha256-wVS4QTx6MBOS0VrwyCZ3s5Usezwaf8rWzmNnfdDTXTU=",
"version": "93"
},
"IOStorageFamily": {
"hash": "sha256-1FKSF622qeXPGngA3UmQ2M/IU1pdlMoYBPbXytUFDaQ=",
"version": "331"
},
"IOUSBFamily": {
"hash": "sha256-Z0E3TfKP49toYo1Fo9kElRap8CZ+mVDHy5RIexgJTpA=",
"version": "630.4.5"
},
"Libc": {
"hash": "sha256-k+HQ+qgye0ORFm0hU8WzE4ysbbEoFZ7wcbVl5giDH/E=",
"version": "1725.0.11"
},
"Libinfo": {
"hash": "sha256-4InBEPi0n2EMo/8mIBib1Im4iTKRcRJ4IlAcLCigVGk=",
"version": "600"
},
"Libm": {
"hash": "sha256-p4BndAag9d0XSMYWQ+c4myGv5qXbKx5E1VghudSbpTk=",
"version": "2026"
},
"Libnotify": {
"hash": "sha256-p8cJZlBYOFmI1NDHXGYjgcv8z9Ldc1amZuYlxxJfeVY=",
"version": "344.0.1"
},
"Librpcsvc": {
"hash": "sha256-UWYdCQ9QsBqwM01bWr+igINAHSdSluB/FrOclC5AjTI=",
"version": "31"
},
"Libsystem": {
"hash": "sha256-/NlSwPaoTVx+bl9hYsfz3C5MuLdqGv4vdAh0KDbDKmY=",
"version": "1356"
},
"OpenDirectory": {
"hash": "sha256-6fSl8PasCZSBfe0ftaePcBuSEO3syb6kK+mfDI6iR7A=",
"version": "146"
},
"Security": {
"hash": "sha256-oxOvZsDoNYZNiWf+MASHrR4Q2o5oaqvK2We51hH7CO8=",
"version": "61901.0.87.0.1"
},
"architecture": {
"hash": "sha256-PRNUrhzSOrwmxSPkKmV0LV7yEIik65sdkfKdBqcwFhU=",
"version": "282"
},
"configd": {
"hash": "sha256-58or+OQP788UgQKO7Y8k8pY/enaSqH971ks7xCPu8fA=",
"version": "1385.0.7"
},
"copyfile": {
"hash": "sha256-I9uDi5BDQKa7mO3XpHxv0d6PiROW2ueZ3vGfrsG0OJo=",
"version": "230.0.1.0.1"
},
"dtrace": {
"hash": "sha256-5HpH6Cg8vWWzOX5ADD//izKDvqGnzV05Giju8lmGeyA=",
"version": "413"
},
"dyld": {
"hash": "sha256-jzoFLwbms0rUwzyjYif/r6Rmr4kyn+as/bhc4paEPeY=",
"version": "1323.3"
},
"eap8021x": {
"hash": "sha256-17bseWT4OWMA8hF+YSDDjxhVyJpbpP2xwv8dGti1YoM=",
"version": "368.0.3"
},
"hfs": {
"hash": "sha256-OkgqZ03gwn2hTuHxZrPDmQOrY4Dwu7MrX+BfG+PTgvE=",
"version": "704.0.3.0.2"
},
"launchd": {
"hash": "sha256-8mW9bnuHmRXCx9py8Wy28C5b2QPICW0rlAps5njYa00=",
"version": "842.1.4"
},
"libclosure": {
"hash": "sha256-pvwfcbeEJmTEPdt6/lgVswiabLRG+sMN6VT5FwG7C4Q=",
"version": "96"
},
"libdispatch": {
"hash": "sha256-L0+Ho9dAlMXVpqFEGIcIMsJc0gULckRulUImNEZe5MU=",
"version": "1542.0.4"
},
"libmalloc": {
"hash": "sha256-482hgm1ESr3LWC/JhuQNGNu9smsa2Eap49/eH+YNAio=",
"version": "792.1.1"
},
"libplatform": {
"hash": "sha256-wGZ2Im81mRXx6epgj/tbOJpg89CEbAr0Z8oFEpkyNMU=",
"version": "359.1.2"
},
"libpthread": {
"hash": "sha256-VuMpQjxuMsdHsFq0q6QIWSWi88gVF2jNzIfti20Gkbw=",
"version": "539"
},
"mDNSResponder": {
"hash": "sha256-iRqCpPAQDRjgRbRz3s6q2oyzq6xo+w4FTBai79104Zo=",
"version": "2881.0.25"
},
"objc4": {
"hash": "sha256-Nlgr36yLvGkUJIEFQ5w8FAB0r2syEsRTw0KuUShNT8E=",
"version": "950"
},
"ppp": {
"hash": "sha256-FzHZ05o7JxwgTqz0e3D68b/DiLu2x2ErzGMh0U78fLo=",
"version": "1020.1.1"
},
"removefile": {
"hash": "sha256-Z5UD0mk/s80CQB0PZWDzSl2JWXmnVmwUvlNb28+hR3k=",
"version": "84"
},
"xnu": {
"hash": "sha256-Cuf7kPtsn4CPXqyZmxVsJlA5i+Ikryp8ezJyGrvT63c=",
"version": "12377.1.9"
}
}
}
@@ -14,5 +14,13 @@
],
"version": "15.5",
"hash": "sha256-HBiSJuw1XBUK5R/8Sj65c3rftSEvQl/O9ZZVp/g1Amo="
},
"26": {
"urls": [
"https://swcdn.apple.com/content/downloads/27/62/093-35114-A_AAH24ZZQB5/yn87ru9qe9225m8hwq2ic3hjy5yc5vw7h9/CLTools_macOSNMOS_SDK.pkg",
"https://web.archive.org/web/20250915230423/https://swcdn.apple.com/content/downloads/27/62/093-35114-A_AAH24ZZQB5/yn87ru9qe9225m8hwq2ic3hjy5yc5vw7h9/CLTools_macOSNMOS_SDK.pkg"
],
"version": "26.0",
"hash": "sha256-54UtisDXHCxs7vO4fZSWOYwxLbdouLxWwGisez+tlAc="
}
}
+5
View File
@@ -38,6 +38,11 @@ stdenv.mkDerivation (finalAttrs: {
louvain-community
];
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail "cmake_minimum_required(VERSION 3.3 FATAL_ERROR)" "cmake_minimum_required(VERSION 3.10)"
'';
meta = with lib; {
description = "CNF minimizer and minimal independent set calculator";
homepage = "https://github.com/meelgroup/arjun";
-35
View File
@@ -1,35 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 12d6e557c..cc004555d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -321,11 +321,6 @@ if(NOT TARGET nonstd::span-lite)
endif()
-af_dep_check_and_populate(${assets_prefix}
- URI https://github.com/arrayfire/assets.git
- REF master
-)
-set(ASSETS_DIR ${${assets_prefix}_SOURCE_DIR})
# when crosscompiling use the bin2cpp file from the native bin directory
if(CMAKE_CROSSCOMPILING)
@@ -473,18 +468,6 @@ install(FILES ${ArrayFire_BINARY_DIR}/include/af/version.h
DESTINATION "${AF_INSTALL_INC_DIR}/af/"
COMPONENT headers)
-# install the examples irrespective of the AF_BUILD_EXAMPLES value
-# only the examples source files are installed, so the installation of these
-# source files does not depend on AF_BUILD_EXAMPLES
-# when AF_BUILD_EXAMPLES is OFF, the examples source is installed without
-# building the example executables
-install(DIRECTORY examples/ #NOTE The slash at the end is important
- DESTINATION ${AF_INSTALL_EXAMPLE_DIR}
- COMPONENT examples)
-
-install(DIRECTORY ${ASSETS_DIR}/examples/ #NOTE The slash at the end is important
- DESTINATION ${AF_INSTALL_EXAMPLE_DIR}
- COMPONENT examples)
install(DIRECTORY "${ArrayFire_SOURCE_DIR}/LICENSES/"
DESTINATION LICENSES
@@ -1,31 +0,0 @@
diff --git a/CMakeModules/AFconfigure_deps_vars.cmake b/CMakeModules/AFconfigure_deps_vars.cmake
index aac332f5a..e9e711159 100644
--- a/CMakeModules/AFconfigure_deps_vars.cmake
+++ b/CMakeModules/AFconfigure_deps_vars.cmake
@@ -94,7 +94,7 @@ macro(af_dep_check_and_populate dep_prefix)
URL ${adcp_args_URI}
URL_HASH ${adcp_args_REF}
DOWNLOAD_COMMAND \"\"
- UPDATE_DISCONNECTED ON
+ UPDATE_COMMAND \"\"
SOURCE_DIR "${ArrayFire_SOURCE_DIR}/extern/${dep_prefix}-src"
BINARY_DIR "${ArrayFire_BINARY_DIR}/extern/${dep_prefix}-build"
SUBBUILD_DIR "${ArrayFire_BINARY_DIR}/extern/${dep_prefix}-subbuild"
@@ -104,7 +104,7 @@ macro(af_dep_check_and_populate dep_prefix)
QUIET
URL ${adcp_args_URI}
DOWNLOAD_COMMAND \"\"
- UPDATE_DISCONNECTED ON
+ UPDATE_COMMAND \"\"
SOURCE_DIR "${ArrayFire_SOURCE_DIR}/extern/${dep_prefix}-src"
BINARY_DIR "${ArrayFire_BINARY_DIR}/extern/${dep_prefix}-build"
SUBBUILD_DIR "${ArrayFire_BINARY_DIR}/extern/${dep_prefix}-subbuild"
@@ -116,7 +116,7 @@ macro(af_dep_check_and_populate dep_prefix)
GIT_REPOSITORY ${adcp_args_URI}
GIT_TAG ${adcp_args_REF}
DOWNLOAD_COMMAND \"\"
- UPDATE_DISCONNECTED ON
+ UPDATE_COMMAND \"\"
SOURCE_DIR "${ArrayFire_SOURCE_DIR}/extern/${dep_prefix}-src"
BINARY_DIR "${ArrayFire_BINARY_DIR}/extern/${dep_prefix}-build"
SUBBUILD_DIR "${ArrayFire_BINARY_DIR}/extern/${dep_prefix}-subbuild"
-248
View File
@@ -1,248 +0,0 @@
{
blas,
boost,
clblast,
cmake,
config,
cudaPackages,
fetchFromGitHub,
fftw,
fftwFloat,
fmt_9,
forge,
freeimage,
gtest,
lapack,
lib,
libGL,
mesa,
ocl-icd,
opencl-clhpp,
pkg-config,
python3,
span-lite,
stdenv,
# NOTE: We disable tests by default, because they cannot be run easily on
# non-NixOS systems when either CUDA or OpenCL support is enabled (CUDA and
# OpenCL need access to drivers that are installed outside of Nix on
# non-NixOS systems).
doCheck ? false,
cpuSupport ? true,
cudaSupport ? config.cudaSupport,
# OpenCL needs mesa which is broken on Darwin
openclSupport ? !stdenv.hostPlatform.isDarwin,
# This argument lets one run CUDA & OpenCL tests on non-NixOS systems by
# telling Nix where to find the drivers. If you know the version of the
# Nvidia driver that is installed on your system, you can do:
#
# arrayfire.override {
# nvidiaComputeDrivers =
# callPackage
# (prev.linuxPackages.nvidiaPackages.mkDriver {
# version = cudaVersion; # our driver version
# sha256_64bit = cudaHash; # sha256 of the .run binary
# useGLVND = false;
# useProfiles = false;
# useSettings = false;
# usePersistenced = false;
# ...
# })
# { libsOnly = true; };
# }
nvidiaComputeDrivers ? null,
fetchpatch,
}:
# ArrayFire compiles with 64-bit BLAS, but some tests segfault or throw
# exceptions, which means that it isn't really supported yet...
assert blas.isILP64 == false;
stdenv.mkDerivation rec {
pname = "arrayfire";
version = "3.9.0";
src = fetchFromGitHub {
owner = "arrayfire";
repo = "arrayfire";
rev = "v3.9.0";
hash = "sha256-80fxdkaeAQ5u0X/UGPaI/900cdkZ/vXNcOn5tkZ+C3Y=";
};
# We cannot use the clfft from Nixpkgs because ArrayFire maintain a fork
# of clfft where they've modified the CMake build system, and the
# CMakeLists.txt of ArrayFire assumes that we're using that fork.
#
# This can be removed once ArrayFire upstream their changes.
clfft = fetchFromGitHub {
owner = "arrayfire";
repo = "clfft";
rev = "760096b37dcc4f18ccd1aac53f3501a83b83449c";
sha256 = "sha256-vJo1YfC2AJIbbRj/zTfcOUmi0Oj9v64NfA9MfK8ecoY=";
};
glad = fetchFromGitHub {
owner = "arrayfire";
repo = "glad";
rev = "ef8c5508e72456b714820c98e034d9a55b970650";
sha256 = "sha256-u9Vec7XLhE3xW9vzM7uuf+b18wZsh/VMtGbB6nMVlno=";
};
threads = fetchFromGitHub {
owner = "arrayfire";
repo = "threads";
rev = "4d4a4f0384d1ac2f25b2c4fc1d57b9e25f4d6818";
sha256 = "sha256-qqsT9woJDtQvzuV323OYXm68pExygYs/+zZNmg2sN34=";
};
test-data = fetchFromGitHub {
owner = "arrayfire";
repo = "arrayfire-data";
rev = "a5f533d7b864a4d8f0dd7c9aaad5ff06018c4867";
sha256 = "sha256-AWzhsrDXyZrQN2bd0Ng/XlE8v02x7QWTiFTyaAuRXSw=";
};
# ArrayFire fails to compile with newer versions of spdlog, so we can't use
# the one in Nixpkgs. Once they upgrade, we can switch to using spdlog from
# Nixpkgs.
spdlog = fetchFromGitHub {
owner = "gabime";
repo = "spdlog";
rev = "v1.9.2";
hash = "sha256-GSUdHtvV/97RyDKy8i+ticnSlQCubGGWHg4Oo+YAr8Y=";
};
cmakeFlags = [
"-DBUILD_TESTING=ON"
# We do not build examples, because building tests already takes long enough...
"-DAF_BUILD_EXAMPLES=OFF"
# No need to build forge, because it's a separate package
"-DAF_BUILD_FORGE=OFF"
"-DAF_COMPUTE_LIBRARY='FFTW/LAPACK/BLAS'"
# Prevent ArrayFire from trying to download some matrices from the Internet
"-DAF_TEST_WITH_MTX_FILES=OFF"
# Have to use the header-only version, because we're not using the version
# from Nixpkgs. Otherwise, libaf.so won't be able to find the shared
# library, because ArrayFire's CMake files do not run the install step of
# spdlog.
"-DAF_WITH_SPDLOG_HEADER_ONLY=ON"
(if cpuSupport then "-DAF_BUILD_CPU=ON" else "-DAF_BUILD_CPU=OFF")
(if openclSupport then "-DAF_BUILD_OPENCL=ON" else "-DAF_BUILD_OPENCL=OFF")
(if cudaSupport then "-DAF_BUILD_CUDA=ON" else "-DAF_BUILD_CUDA=OFF")
]
++ lib.optionals cudaSupport [
# ArrayFire use deprecated FindCUDA in their CMake files, so we help CMake
# locate cudatoolkit.
"-DCUDA_LIBRARIES_PATH=${cudaPackages.cudatoolkit}/lib"
];
# ArrayFire have a repo with assets for the examples. Since we don't build
# the examples anyway, remove the dependency on assets.
patches = [
./no-assets.patch
./no-download.patch
# Fix for newer opencl-clhpp. Remove with the next release.
(fetchpatch {
url = "https://github.com/arrayfire/arrayfire/pull/3562.patch";
hash = "sha256-AdWlpcRTn9waNAaVpZfK6sJ/xBQLiBC4nBeEYiGNN50";
})
];
postPatch = ''
mkdir -p ./extern/af_glad-src
mkdir -p ./extern/af_threads-src
mkdir -p ./extern/af_test_data-src
mkdir -p ./extern/ocl_clfft-src
mkdir -p ./extern/spdlog-src
cp -R --no-preserve=mode,ownership ${glad}/* ./extern/af_glad-src/
cp -R --no-preserve=mode,ownership ${threads}/* ./extern/af_threads-src/
cp -R --no-preserve=mode,ownership ${test-data}/* ./extern/af_test_data-src/
cp -R --no-preserve=mode,ownership ${clfft}/* ./extern/ocl_clfft-src/
cp -R --no-preserve=mode,ownership ${spdlog}/* ./extern/spdlog-src/
# libaf.so (the unified backend) tries to load the right shared library at
# runtime, and the search paths are hard-coded... We tweak them to point to
# the installation directory in the Nix store.
substituteInPlace src/api/unified/symbol_manager.cpp \
--replace '"/opt/arrayfire-3/lib/",' \
"\"$out/lib/\", \"/opt/arrayfire-3/lib/\","
'';
inherit doCheck;
checkPhase =
let
LD_LIBRARY_PATH = builtins.concatStringsSep ":" (
[
"${forge}/lib"
"${freeimage}/lib"
]
++ lib.optional cudaSupport "${cudaPackages.cudatoolkit}/lib64"
# On non-NixOS systems, help the tests find Nvidia drivers
++ lib.optional (nvidiaComputeDrivers != null) "${nvidiaComputeDrivers}/lib"
);
ctestFlags = builtins.concatStringsSep " " (
# We have to run with "-j1" otherwise various segfaults occur on non-NixOS systems.
[
"--output-on-errors"
"-j1"
]
# See https://github.com/arrayfire/arrayfire/issues/3484
++ lib.optional openclSupport "-E '(inverse_dense|cholesky_dense)'"
);
in
''
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
''
+
# On non-NixOS systems, help the tests find Nvidia drivers
lib.optionalString (openclSupport && nvidiaComputeDrivers != null) ''
export OCL_ICD_VENDORS=${nvidiaComputeDrivers}/etc/OpenCL/vendors
''
+ ''
# Note: for debugging, enable AF_TRACE=all
AF_PRINT_ERRORS=1 ctest ${ctestFlags}
'';
buildInputs = [
blas
boost.dev
boost.out
clblast
fftw
fftwFloat
# We need fmt_9 because ArrayFire fails to compile with newer versions.
fmt_9
forge
freeimage
gtest
lapack
libGL
ocl-icd
opencl-clhpp
span-lite
]
++ lib.optionals cudaSupport [
cudaPackages.cudatoolkit
cudaPackages.cudnn
cudaPackages.cuda_cccl
]
++ lib.optionals openclSupport [
mesa
];
nativeBuildInputs = [
cmake
pkg-config
python3
];
meta = with lib; {
description = "General-purpose library for parallel and massively-parallel computations";
longDescription = ''
A general-purpose library that simplifies the process of developing software that targets parallel and massively-parallel architectures including CPUs, GPUs, and other hardware acceleration devices.";
'';
license = licenses.bsd3;
homepage = "https://arrayfire.com/";
platforms = platforms.linux;
maintainers = with maintainers; [
chessai
twesterhout
];
broken = true;
};
}
+6
View File
@@ -20,6 +20,12 @@ stdenv.mkDerivation (finalAttrs: {
sha256 = "0ipqna7a9mxqm0fl9ggwhbc7i9yxz3jfyi0w3dymjp40v7jw1n20";
};
postPatch = ''
substituteInPlace CMakeLists.txt --replace-fail \
'cmake_minimum_required(VERSION 2.8)' \
'cmake_minimum_required(VERSION 3.5)'
'';
nativeBuildInputs = [
cmake
pkg-config
-52
View File
@@ -1,52 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
gtk2,
gtk3,
pkg-config,
wrapGAppsHook3,
}:
stdenv.mkDerivation rec {
pname = "awf";
version = "1.4.0";
src = fetchFromGitHub {
owner = "valr";
repo = "awf";
rev = "v${version}";
sha256 = "0jl2kxwpvf2n8974zzyp69mqhsbjnjcqm39y0jvijvjb1iy8iman";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
wrapGAppsHook3
];
buildInputs = [
gtk2
gtk3
];
autoreconfPhase = ''
patchShebangs ./autogen.sh
./autogen.sh
'';
meta = with lib; {
description = "Widget Factory";
longDescription = ''
A widget factory is a theme preview application for gtk2 and
gtk3. It displays the various widget types provided by gtk2/gtk3
in a single window allowing to see the visual effect of the
applied theme.
'';
homepage = "https://github.com/valr/awf";
license = licenses.gpl3;
platforms = platforms.all;
maintainers = with maintainers; [ michalrus ];
};
}
@@ -7,13 +7,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "bash-pinyin-completion-rs";
version = "0.3.2";
version = "1.0.0";
src = fetchFromGitHub {
owner = "AOSC-Dev";
repo = "bash-pinyin-completion-rs";
tag = "v${finalAttrs.version}";
hash = "sha256-r+B11TgMOhwslqygv72S9uhF7v79MAzUu5XHlD/P3HY=";
hash = "sha256-VXIIG+ZGb4fS3LSIkGW744ui4AKTdQCjrNlObH/YZVY=";
};
strictDeps = true;
+4 -4
View File
@@ -108,23 +108,23 @@ let
if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel_nojdk-${version}-linux-x86_64";
hash = "sha256-CYL1paAtzTbfl7TfsqwJry/dkoTO/yZdHrX0NSA1+Ig=";
hash = "sha256-94KFvsS7fInXFTQZPzMq6DxnHQrRktljwACyAz8adSw=";
}
else if stdenv.hostPlatform.system == "aarch64-linux" then
fetchurl {
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel_nojdk-${version}-linux-arm64";
hash = "sha256-6DzTEx218/Qq38eMWvXOX/t9VJDyPczz6Edh4eHdOfg=";
hash = "sha256-wfuZLSHa77wr0A4ZLF5DqH7qyOljYNXM2a5imoS+nGQ";
}
else if stdenv.hostPlatform.system == "x86_64-darwin" then
fetchurl {
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-darwin-x86_64";
hash = "sha256-Ut00wXzJezqlvf49RcTjk4Im8j3Qv7R77t1iWpU/HwU=";
hash = "sha256-qAb9s6R5+EbqVfWHUT7sk1sOrbDEPv4EhgXH7nC46Zw=";
}
else
fetchurl {
# stdenv.hostPlatform.system == "aarch64-darwin"
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-darwin-arm64";
hash = "sha256-ArEXuX0JIa5NT04R0n4sCTA4HfQW43NDXV0EGcaibyQ=";
hash = "sha256-4bRp4OvkRIvhpZ2r/eFJdwrByECHy3rncDEM1tClFYo=";
};
nativeBuildInputs = defaultShellUtils;
@@ -1,62 +0,0 @@
{
lib,
stdenv,
fetchurl,
cmake,
gfortran,
# Whether to build with ILP64 interface
blas64 ? false,
}:
stdenv.mkDerivation rec {
pname = "blas";
version = "3.12.0";
src = fetchurl {
url = "http://www.netlib.org/blas/${pname}-${version}.tgz";
sha256 = "sha256-zMQbXQiOUNsAMDF66bDJrzdXEME5KsrR/iCWAtpaWq0=";
};
passthru = { inherit blas64; };
nativeBuildInputs = [
cmake
gfortran
];
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ] ++ lib.optional blas64 "-DBUILD_INDEX64=ON";
# CMake 4 is no longer retro compatible with versions < 3.5
postPatch = ''
substituteInPlace CMakeLists.txt --replace-fail \
"cmake_minimum_required(VERSION 3.2)" \
"cmake_minimum_required(VERSION 3.5)"
'';
postInstall =
let
canonicalExtension =
if stdenv.hostPlatform.isLinux then
"${stdenv.hostPlatform.extensions.sharedLibrary}.${lib.versions.major version}"
else
stdenv.hostPlatform.extensions.sharedLibrary;
in
lib.optionalString blas64 ''
ln -s $out/lib/libblas64${canonicalExtension} $out/lib/libblas${canonicalExtension}
'';
preFixup = lib.optionalString stdenv.hostPlatform.isDarwin ''
for fn in $(find $out/lib -name "*.so*"); do
if [ -L "$fn" ]; then continue; fi
install_name_tool -id "$fn" "$fn"
done
'';
meta = with lib; {
description = "Basic Linear Algebra Subprograms";
license = licenses.publicDomain;
maintainers = [ maintainers.markuskowa ];
homepage = "http://www.netlib.org/blas/";
platforms = platforms.unix;
};
}
+8
View File
@@ -44,6 +44,14 @@ stdenv.mkDerivation rec {
})
];
# CMake 4 is no longer retro compatible with versions < 3.5
# cmake_minimum_required was already to an upper version, but not cmake_policy
postPatch = ''
substituteInPlace CMakeLists.txt --replace-fail \
"cmake_policy(VERSION 3.1)" \
""
'';
nativeBuildInputs = [
cmake
pkg-config
+3 -1
View File
@@ -28,7 +28,9 @@ stdenv.mkDerivation (finalAttrs: {
# TODO: check with other distros and report upstream
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "-m64" ""
--replace-fail "-m64" "" \
--replace-fail 'cmake_minimum_required(VERSION 3.1 FATAL_ERROR)' \
'cmake_minimum_required(VERSION 3.5 FATAL_ERROR)'
'';
nativeBuildInputs = [ cmake ];
+6
View File
@@ -23,6 +23,12 @@ stdenv.mkDerivation rec {
buildInputs = [ zlib ];
postPatch = ''
substituteInPlace CMakeLists.txt --replace-fail \
'cmake_minimum_required(VERSION 2.8.12)' \
'cmake_minimum_required(VERSION 3.5)'
'';
passthru.tests.version = testers.testVersion {
package = bustools;
command = "bustools version";
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-binstall";
version = "1.15.6";
version = "1.15.7";
src = fetchFromGitHub {
owner = "cargo-bins";
repo = "cargo-binstall";
rev = "v${version}";
hash = "sha256-TzO7xz58nvuT6r8SN0cUKdW0x1yR1FlpsnGhU67SNOA=";
hash = "sha256-EQhEI4MqYNwjqb8awROTLfxjGsoPKeT7VHt642uSgCc=";
};
cargoHash = "sha256-cYjsSPHcWYobosSlB2tLda3NSGUTxE5DyA4AxAF8C/8=";
cargoHash = "sha256-a9X8L4AZWhlcQ5lVo0I1GL2wpCjOClNuZLy+GwHJDcA=";
nativeBuildInputs = [
pkg-config
+3 -3
View File
@@ -8,13 +8,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "chhoto-url";
version = "6.3.2";
version = "6.4.0";
src = fetchFromGitHub {
owner = "SinTan1729";
repo = "chhoto-url";
tag = finalAttrs.version;
hash = "sha256-k5fxU3HWhlYlBjmHNsj4lin7LHdwswbwm5bCVmCMjg8=";
hash = "sha256-IghMhr1ksoTWPvuQ66XfXWrNgPAmS39OqjdhwpElD3U=";
};
sourceRoot = "${finalAttrs.src.name}/actix";
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
--replace-fail "./resources/" "${placeholder "out"}/share/chhoto-url/resources/"
'';
cargoHash = "sha256-oR1SCEbMMDfQyvhoUJzBiK4VHCZwx+o/PaZBfxPB2K8=";
cargoHash = "sha256-cxw0Gg80UHvkjBXGt7tKMEinfhS2aT4fZ7oDzNNHnX8=";
postInstall = ''
mkdir -p $out/share/chhoto-url
+3
View File
@@ -28,6 +28,9 @@ stdenv.mkDerivation rec {
postPatch = ''
sed -i '/-m64/d;/-m32/d' CMakeLists.txt
substituteInPlace CMakeLists.txt --replace-fail \
'cmake_minimum_required( VERSION 2.6 )' \
'cmake_minimum_required( VERSION 3.5 ) '
'';
nativeBuildInputs = [ cmake ];
+2 -2
View File
@@ -1,6 +1,6 @@
import ./generic.nix {
version = "25.9.2.1-stable";
hash = "sha256-BygRxiDhhs91/UPWY7f3jAGyTtyAj98RdDXLwjs8Abo=";
version = "25.9.4.58-stable";
hash = "sha256-HRbqVSyDuvhkv0+PSgps9AXKdLlukrLA65OLx5gZ3c0=";
lts = false;
nixUpdateExtraArgs = [
"--version-regex"
+2 -2
View File
@@ -9,13 +9,13 @@
stdenvNoCC.mkDerivation rec {
pname = "cloudlog";
version = "2.7.1";
version = "2.7.5";
src = fetchFromGitHub {
owner = "magicbug";
repo = "Cloudlog";
rev = version;
hash = "sha256-My0z4MW/9O0+ErIh7SEWU3KGJ4UQDmhwJICtBgQ4+q8=";
hash = "sha256-Lb20SrwFQybMNmxgmztAm2/9PBcukgt03W93C743oM8=";
};
postPatch = ''
+4 -4
View File
@@ -5,7 +5,7 @@
"packages": {
"": {
"dependencies": {
"codebuff": "^1.0.501"
"codebuff": "^1.0.502"
}
},
"node_modules/chownr": {
@@ -18,9 +18,9 @@
}
},
"node_modules/codebuff": {
"version": "1.0.501",
"resolved": "https://registry.npmjs.org/codebuff/-/codebuff-1.0.501.tgz",
"integrity": "sha512-ZTvQce7Qj5tjWt63AJujjGkCDLLWAXm3vrKOKlfUKXPXJQfbM8TYljB2+fnMEkjgShZ3Fg+nSEIb1q7hcuBTbQ==",
"version": "1.0.502",
"resolved": "https://registry.npmjs.org/codebuff/-/codebuff-1.0.502.tgz",
"integrity": "sha512-gI1e7Hf+gnZux9O+NjhkGrR9kXltycLEvwMmULJ+2t72mk1bvDrCjRuzIZ5AFWxUeZsCj/rVtBpoJail9Qz7Og==",
"cpu": [
"x64",
"arm64"
+3 -3
View File
@@ -6,14 +6,14 @@
buildNpmPackage rec {
pname = "codebuff";
version = "1.0.501";
version = "1.0.502";
src = fetchzip {
url = "https://registry.npmjs.org/codebuff/-/codebuff-${version}.tgz";
hash = "sha256-WW599dxu7LdL2pU0nb4zZb3ek67MlTpJ/H9aa7SWhi8=";
hash = "sha256-2bskaDG7T/27Re1X4ZXsUrcu1WBb1+iuVcAOqWBRw8w=";
};
npmDepsHash = "sha256-M8BD9XMnn6ETifLl0j4fe2+UDaAGOA9mN2SsmXSfMPM=";
npmDepsHash = "sha256-zqtV6AB2N8M9WqVc1JpfEOIoAyxoVEY3zO7WQiwwpQc=";
postPatch = ''
cp ${./package-lock.json} package-lock.json
+6
View File
@@ -21,6 +21,12 @@ stdenv.mkDerivation rec {
postPatch = ''
sed -i -e '/add_subdirectory(tests)/d' lib/CMakeLists.txt
# CMake 3.2.2 is deprecated and no longer supported by CMake > 4
# https://github.com/NixOS/nixpkgs/issues/445447
substituteInPlace CMakeLists.txt --replace-fail \
"cmake_minimum_required(VERSION 3.2.2)" \
"cmake_minimum_required(VERSION 3.10)"
'';
env.NIX_CFLAGS_COMPILE = "-Wno-error";
+8
View File
@@ -27,6 +27,14 @@ stdenv.mkDerivation rec {
./01-fix-sleep_for.patch
];
# CMake 2.8.7 is deprecated and is no longer supported by CMake > 4
# https://github.com/NixOS/nixpkgs/issues/445447
postPatch = ''
substituteInPlace CMakeLists.txt tacopie/CMakeLists.txt --replace-fail \
"cmake_minimum_required(VERSION 2.8.7)" \
"cmake_minimum_required(VERSION 3.10)"
'';
meta = with lib; {
description = "C++11 Lightweight Redis client: async, thread-safe, no dependency, pipelining, multi-platform";
homepage = "https://github.com/cpp-redis/cpp_redis";
+3 -3
View File
@@ -9,16 +9,16 @@
buildGo125Module (finalAttrs: {
pname = "crush";
version = "0.11.2";
version = "0.12.1";
src = fetchFromGitHub {
owner = "charmbracelet";
repo = "crush";
tag = "v${finalAttrs.version}";
hash = "sha256-vBjyykNSQ6Mq7OMRS0cCSHa8LUrIcfk9cr66ViU9z54=";
hash = "sha256-uESS76cPJ/sYGbsTpaUKlF8g0y2+LYbF4zd7dAoKWWU=";
};
vendorHash = "sha256-KaEPF4h5XqCjh91/KmB+AoiQK+fUmGEP0Lnyfe2qEZc=";
vendorHash = "sha256-lqoAPp8EW2tW+QjwCuBgxZDbKT3XMvP3qwx/yES1mx4=";
# rename TestMain to prevent it from running, as it panics in the sandbox.
postPatch = ''
+2 -2
View File
@@ -8,13 +8,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "crystal-dock";
version = "2.14";
version = "2.15";
src = fetchFromGitHub {
owner = "dangvd";
repo = "crystal-dock";
rev = "v${finalAttrs.version}";
hash = "sha256-szW3zIgwy0a9NmEax6xemeCdjs3//r7BRfUDeLv+VxE=";
hash = "sha256-XFq4T39El5MjaWRSnaimonjdj+HGOAydNmEOehgGWX4=";
};
nativeBuildInputs = [
+5
View File
@@ -55,6 +55,11 @@ stdenv.mkDerivation rec {
cmakeFlags = [ "-DUSE_HAMLIB=ON" ] ++ lib.optional enableDigitalLab "-DENABLE_DIGITAL_LAB=ON";
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail "cmake_minimum_required (VERSION 2.8)" "cmake_minimum_required (VERSION 3.10)"
'';
postFixup = lib.optionalString stdenv.hostPlatform.isDarwin ''
install_name_tool -change libliquid.dylib ${lib.getLib liquid-dsp}/lib/libliquid.dylib ''${out}/bin/CubicSDR
'';
@@ -2,20 +2,19 @@
stdenv,
lib,
fetchFromGitLab,
qtserialport,
qt6,
cmake,
wrapQtAppsHook,
}:
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "cutecom";
version = "0.51.0+patch";
version = "0.60.0-RC1";
src = fetchFromGitLab {
owner = "cutecom";
repo = "cutecom";
rev = "70d0c497acf8f298374052b2956bcf142ed5f6ca";
sha256 = "X8jeESt+x5PxK3rTNC1h1Tpvue2WH09QRnG2g1eMoEE=";
tag = "v${finalAttrs.version}";
sha256 = "sha256-Co0bUW7klSPf1VfBt7oT2DlQmf6CLELS0oapIyjpx8w=";
};
postPatch = ''
@@ -23,10 +22,11 @@ stdenv.mkDerivation {
--replace "/Applications" "$out/Applications"
'';
buildInputs = [ qtserialport ];
buildInputs = [ qt6.qtserialport ];
nativeBuildInputs = [
cmake
wrapQtAppsHook
qt6.wrapQtAppsHook
];
postInstall =
@@ -43,12 +43,12 @@ stdenv.mkDerivation {
cp cutecom.1 "$out/share/man/man1"
'';
meta = with lib; {
meta = {
description = "Graphical serial terminal";
homepage = "https://gitlab.com/cutecom/cutecom/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ bennofs ];
platforms = platforms.unix;
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ bennofs ];
platforms = lib.platforms.unix;
mainProgram = "cutecom";
};
}
})
+2 -2
View File
@@ -10,11 +10,11 @@
stdenv.mkDerivation rec {
pname = "cytoscape";
version = "3.10.3";
version = "3.10.4";
src = fetchurl {
url = "https://github.com/cytoscape/cytoscape/releases/download/${version}/${pname}-unix-${version}.tar.gz";
sha256 = "sha256-62i3F6uGNoC8z55iUIYQDAimWcQocsZ52USdpruZRLQ=";
sha256 = "sha256-gHCU97AfBzo4r+F+Fc5lHd+kQtj/NsoCNipAhv5O7sE=";
};
patches = [
+8
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
# nativeBuildInputs
cmake,
@@ -71,6 +72,13 @@ stdenv.mkDerivation (finalAttrs: {
'';
};
patches = [
(fetchpatch2 {
url = "https://github.com/dolphin-emu/dolphin/commit/8edef722ce1aae65d5a39faf58753044de48b6e0.patch?full_index=1";
hash = "sha256-QEG0p+AzrExWrOxL0qRPa+60GlL0DlLyVBrbG6pGuog=";
})
];
strictDeps = true;
nativeBuildInputs = [
@@ -1,7 +1,7 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "Biome (JS/TS) wrapper plugin";
hash = "sha256-GHl8Uo2U6K1yirfjwuD43ixkVtGdbZ2qxk0cySRLXys=";
hash = "sha256-Ht63tW4FqykpuNlWtyw3cHD2HXs0b6U6Zo9Rd9AXqD8=";
initConfig = {
configExcludes = [ "**/node_modules" ];
configKey = "biome";
@@ -16,6 +16,6 @@ mkDprintPlugin {
};
pname = "dprint-plugin-biome";
updateUrl = "https://plugins.dprint.dev/dprint/biome/latest.json";
url = "https://plugins.dprint.dev/biome-0.10.5.wasm";
version = "0.10.5";
url = "https://plugins.dprint.dev/biome-0.10.6.wasm";
version = "0.10.6";
}
+5 -8
View File
@@ -13,7 +13,6 @@
}:
let
enableFeature = yes: if yes then "ON" else "OFF";
versions = lib.importJSON ./versions.json;
in
stdenv.mkDerivation (finalAttrs: {
@@ -47,14 +46,12 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optionals withOdbc [ unixODBC ];
cmakeFlags = [
"-DDUCKDB_EXTENSION_CONFIGS=${finalAttrs.src}/.github/config/in_tree_extensions.cmake"
"-DBUILD_ODBC_DRIVER=${enableFeature withOdbc}"
"-DJDBC_DRIVER=${enableFeature withJdbc}"
"-DOVERRIDE_GIT_DESCRIBE=v${finalAttrs.version}-0-g${finalAttrs.rev}"
]
++ lib.optionals finalAttrs.doInstallCheck [
(lib.cmakeFeature "DUCKDB_EXTENSION_CONFIGS" "${finalAttrs.src}/.github/config/in_tree_extensions.cmake")
(lib.cmakeBool "BUILD_ODBC_DRIVER" withOdbc)
(lib.cmakeBool "JDBC_DRIVER" withJdbc)
(lib.cmakeFeature "OVERRIDE_GIT_DESCRIBE" "v${finalAttrs.version}-0-g${finalAttrs.rev}")
# development settings
"-DBUILD_UNITTESTS=ON"
(lib.cmakeBool "BUILD_UNITTESTS" finalAttrs.doInstallCheck)
];
doInstallCheck = true;
+3 -3
View File
@@ -1,5 +1,5 @@
{
"version": "1.3.2",
"rev": "0b83e5d2f68bc02dfefde74b846bd039f078affa",
"hash": "sha256-6NMQ893g+nOiH8dnb63oa+fZMNXs8N6tJv+Er4x547U="
"version": "1.4.1",
"rev": "b390a7c3760bd95926fe8aefde20d04b349b472e",
"hash": "sha256-w/mELyRs4B9hJngi1MLed0fHRq/ldkkFV+SDkSxs3O8="
}
+10 -3
View File
@@ -10,18 +10,18 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "eas-cli";
version = "16.4.0";
version = "16.23.1";
src = fetchFromGitHub {
owner = "expo";
repo = "eas-cli";
rev = "v${finalAttrs.version}";
hash = "sha256-cHayMBhqiLY//t/ljjwJm4qMuVn531z7x2cqJE4z6hQ=";
hash = "sha256-hMUDtl5lMAZzlvPdzO7J3JTw0B5/fjssuqQlg1MUO3w=";
};
yarnOfflineCache = fetchYarnDeps {
yarnLock = finalAttrs.src + "/yarn.lock"; # Point to the root lockfile
hash = "sha256-qDUwAdShpKjIUyYvtA6/hgGdO1z1xLqdsJkL3oqkMSw=";
hash = "sha256-ybctj6TgW9JluDIsSaNm18wUXSBPuIT45te5HoQuz5s=";
};
nativeBuildInputs = [
@@ -31,6 +31,13 @@ stdenvNoCC.mkDerivation (finalAttrs: {
jq
];
postPatch = ''
# Disable Nx integration in Lerna to avoid the native pseudo terminal panic in the sandbox.
tmpfile="$(mktemp)"
jq '.useNx = false' lerna.json > "$tmpfile"
mv "$tmpfile" lerna.json
'';
# yarnInstallHook strips out build outputs within packages/eas-cli resulting in most commands missing from eas-cli.
installPhase = ''
runHook preInstall
@@ -1,12 +0,0 @@
--- a/resources/systems/linux/es_find_rules.xml 2024-09-13 16:19:36.000000000 +0300
+++ b/resources/systems/linux/es_find_rules.xml 2024-11-26 23:08:49.204498848 +0200
@@ -41,6 +41,9 @@
<entry>/usr/lib64/libretro</entry>
<!-- Manjaro repository -->
<entry>/usr/lib/libretro</entry>
+ <!-- NixOS and Nixpkgs repository -->
+ <entry>/run/current-system/sw/lib/retroarch/cores</entry>
+ <entry>~/.nix-profile/lib/retroarch/cores</entry>
</rule>
</core>
<emulator name="3DSEN-WINDOWS">
@@ -1,74 +0,0 @@
{
lib,
stdenv,
fetchzip,
cmake,
pkg-config,
alsa-lib,
bluez,
curl,
ffmpeg,
freeimage,
freetype,
gettext,
harfbuzz,
icu,
libgit2,
poppler,
pugixml,
SDL2,
libGL,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "emulationstation-de";
version = "3.2.0";
src = fetchzip {
url = "https://gitlab.com/es-de/emulationstation-de/-/archive/v${finalAttrs.version}/emulationstation-de-v${finalAttrs.version}.tar.gz";
hash = "sha256-tW8+7ImcJ3mBhoIHVE8h4cba+4SQLP55kiFYE7N8jyI=";
};
patches = [
./001-add-nixpkgs-retroarch-cores.patch
];
postPatch = ''
# ldd-based detection fails for cross builds
substituteInPlace CMake/Packages/FindPoppler.cmake \
--replace-fail 'GET_PREREQUISITES("''${POPPLER_LIBRARY}" POPPLER_PREREQS 1 0 "" "")' ""
'';
nativeBuildInputs = [
cmake
gettext # msgfmt
pkg-config
];
buildInputs = [
alsa-lib
bluez
curl
ffmpeg
freeimage
freetype
harfbuzz
icu
libgit2
poppler
pugixml
SDL2
libGL
];
cmakeFlags = [ (lib.cmakeBool "APPLICATION_UPDATER" false) ];
meta = {
description = "ES-DE (EmulationStation Desktop Edition) is a frontend for browsing and launching games from your multi-platform collection";
homepage = "https://es-de.org";
maintainers = with lib.maintainers; [ ivarmedi ];
license = lib.licenses.mit;
platforms = lib.platforms.linux;
mainProgram = "es-de";
};
})
@@ -1,87 +0,0 @@
{
lib,
SDL2,
alsa-lib,
boost,
callPackage,
cmake,
curl,
freeimage,
freetype,
libGL,
libGLU,
libvlc,
pkg-config,
rapidjson,
stdenv,
}:
let
sources = callPackage ./sources.nix { };
in
stdenv.mkDerivation {
inherit (sources.emulationstation) pname version src;
postUnpack = ''
pushd $sourceRoot/external/pugixml
cp --verbose --archive ${sources.pugixml.src}/* .
chmod --recursive 744 .
popd
'';
nativeBuildInputs = [
SDL2
cmake
pkg-config
];
buildInputs = [
SDL2
alsa-lib
boost
curl
freeimage
freetype
libGL
libGLU
libvlc
rapidjson
];
cmakeFlags = [ (lib.cmakeBool "GL" true) ];
strictDeps = true;
installPhase = ''
runHook preInstall
install -Dm755 ../emulationstation $out/bin/emulationstation
mkdir -p $out/share/emulationstation/
cp -r ../resources $out/share/emulationstation/
runHook postInstall
'';
# es-core/src/resources/ResourceManager.cpp: resources are searched at the
# same place of binaries.
postFixup = ''
pushd $out
ln -s $out/share/emulationstation/resources $out/bin/
popd
'';
passthru = {
inherit sources;
};
meta = {
homepage = "https://github.com/RetroPie/EmulationStation";
description = "Flexible emulator front-end supporting keyboardless navigation and custom system themes (forked by RetroPie)";
license = with lib.licenses; [ mit ];
mainProgram = "emulationstation";
maintainers = with lib.maintainers; [
edwtjo
];
platforms = lib.platforms.linux;
};
}
@@ -1,35 +0,0 @@
{ fetchFromGitHub }:
{
emulationstation =
let
self = {
pname = "emulationstation";
version = "2.11.2";
src = fetchFromGitHub {
owner = "RetroPie";
repo = "EmulationStation";
rev = "v${self.version}";
hash = "sha256-f2gRkp+3Pp2qnvg2RBzaHPpzhAnwx0+5x1Pe3kD90xE=";
};
};
in
self;
pugixml =
let
self = {
pname = "pugixml";
version = "1.8.1";
src = fetchFromGitHub {
owner = "zeux";
repo = "pugixml";
rev = "v${self.version}";
hash = "sha256-LbjTN1hnIbqI79C+gCdwuDG0+B/5yXf7hg0Q+cDFIf4=";
};
};
in
self;
}
+3 -3
View File
@@ -13,19 +13,19 @@
buildPythonPackage rec {
pname = "esphome-dashboard";
version = "20250814.0";
version = "20251013.0";
pyproject = true;
src = fetchFromGitHub {
owner = "esphome";
repo = "dashboard";
rev = "refs/tags/${version}";
hash = "sha256-WQsyv3s3LKKOwYEkX5GcAPnbH061q1ts7TU4HU6I8CI=";
hash = "sha256-PZf9YLtHqeR+5BRVv1yOMVt6NVlbJTj98ukGnO0RV0Q=";
};
npmDeps = fetchNpmDeps {
inherit src;
hash = "sha256-ShuJPS7qP2XZ3lwJrFeKRkQwX7tvyiC/0L7sGn0cMn8=";
hash = "sha256-wWDM4ODlZAjjDonzS4czdBPBaRS0Px2KUlE4AfsqNIQ=";
};
build-system = [ setuptools ];
+7 -2
View File
@@ -34,14 +34,14 @@ let
in
python.pkgs.buildPythonApplication rec {
pname = "esphome";
version = "2025.9.3";
version = "2025.10.2";
pyproject = true;
src = fetchFromGitHub {
owner = "esphome";
repo = "esphome";
tag = version;
hash = "sha256-9x4uf0gHCGYLq0gr0MoAp0sk9p82zdH41PaELph0fv0=";
hash = "sha256-aHDBRZ6o671zriV/rwgsZ57y91Z8Lwx/iiPhIHPzKbs=";
};
patches = [
@@ -171,6 +171,11 @@ python.pkgs.buildPythonApplication rec {
# tries to import platformio, which is wrapped in an fhsenv
"test_clean_build"
"test_clean_build_empty_cache_dir"
"test_clean_all"
"test_clean_all_partial_exists"
# tries to use esptool, which is wrapped in an fhsenv
"test_upload_using_esptool_path_conversion"
"test_upload_using_esptool_with_file_path"
# AssertionError: Expected 'run_external_command' to have been called once. Called 0 times.
"test_run_platformio_cli_sets_environment_variables"
];
+3 -3
View File
@@ -8,15 +8,15 @@
let
pname = "everest";
version = "5806";
version = "5935";
phome = "$out/lib/Celeste";
in
stdenvNoCC.mkDerivation {
inherit pname version;
src = fetchzip {
url = "https://github.com/EverestAPI/Everest/releases/download/stable-1.5806.0/main.zip";
url = "https://github.com/EverestAPI/Everest/releases/download/stable-1.5935.0/main.zip";
extension = "zip";
hash = "sha256-Hw/BNvWfhdO7bvYrY/Px12BRG1SYcCBeAXBH4QnKyeY=";
hash = "sha256-XYvXrfHSjSShAg3r2qikt1CPXldYvsU1EvRJNzJoGTU=";
};
buildInputs = [
icu
+27 -172
View File
@@ -1,4 +1,14 @@
[
{
"pname": "DotNet.ReproducibleBuilds",
"version": "1.2.25",
"hash": "sha256-Vl9RPq9vCO4bjulPZiOr3gDVKlr9vnuKIIX3KWlRxvw="
},
{
"pname": "DotNet.ReproducibleBuilds.Isolated",
"version": "1.2.25",
"hash": "sha256-NpGbG9rnKKN6ejz1xqUa2AYx8mGSv+ZHbducFGhhrwA="
},
{
"pname": "DotNetZip",
"version": "1.16.0",
@@ -24,16 +34,6 @@
"version": "3.0.2",
"hash": "sha256-iAX3oCX2092oKXEASUhMkh2A1kh1cBRSkkMJ6BmszRA="
},
{
"pname": "Microsoft.AspNetCore.App.Ref",
"version": "3.0.1",
"hash": "sha256-y4VQ8teCZOnCJyg0rh3s1SbbqfoEclB5T6lCfMrxWUw="
},
{
"pname": "Microsoft.AspNetCore.App.Ref",
"version": "3.1.10",
"hash": "sha256-51D1XkqFMPHJzOmt1HQ0Bf1n9K0auwEyxTJuqA/8xHY="
},
{
"pname": "Microsoft.AspNetCore.App.Ref",
"version": "5.0.0",
@@ -49,21 +49,6 @@
"version": "7.0.20",
"hash": "sha256-OEDXXjQ1HDRPiA4Y1zPr1xUeH6wlzTCJpts+DZL61wI="
},
{
"pname": "Microsoft.AspNetCore.App.Ref",
"version": "8.0.20",
"hash": "sha256-A6300qL9iP7iuY4wF9QkmOcuvoJFB0H64BAM5oGZF/4="
},
{
"pname": "Microsoft.AspNetCore.App.Runtime.linux-x64",
"version": "3.0.3",
"hash": "sha256-CbtnZSF+lvyeIfEUC8a0Jf4EMvYAxa9mvWF9lyLymMk="
},
{
"pname": "Microsoft.AspNetCore.App.Runtime.linux-x64",
"version": "3.1.32",
"hash": "sha256-OV3Ie8JGTEwNI4Y6DJFh+ZUrBTwrSdFjEbfljfAwn3s="
},
{
"pname": "Microsoft.AspNetCore.App.Runtime.linux-x64",
"version": "5.0.17",
@@ -79,11 +64,6 @@
"version": "7.0.20",
"hash": "sha256-vq59xMfrET8InzUhkAsbs2xp3ML+SO9POsbwAiYKzkA="
},
{
"pname": "Microsoft.AspNetCore.App.Runtime.linux-x64",
"version": "8.0.20",
"hash": "sha256-rToqTSs66gvIi2I69+0/qjhKAXk5/rRQUh0KetP3ZxE="
},
{
"pname": "Microsoft.Build.Tasks.Git",
"version": "1.1.0",
@@ -129,26 +109,6 @@
"version": "3.1.16",
"hash": "sha256-42cFtaZFzM93I0gZjuDbcEYWM5Pld+kx2MkWu0J66ww="
},
{
"pname": "Microsoft.NET.Sdk.IL",
"version": "8.0.0",
"hash": "sha256-guQcVwSaVwJ0uJvUYZqk1bZ9ATLBk3zWHZmTW7EV1KM="
},
{
"pname": "Microsoft.NETCore.App",
"version": "2.1.0",
"hash": "sha256-RJksv5W7LhWJYGmkwYHfiU0s9XLCvT05KxSMz6U1/OE="
},
{
"pname": "Microsoft.NETCore.App.Host.linux-x64",
"version": "3.0.3",
"hash": "sha256-hIdA8ncOXoDM6/ryKCTVz/vZrqFLffxAgpN/qfl2L6Y="
},
{
"pname": "Microsoft.NETCore.App.Host.linux-x64",
"version": "3.1.32",
"hash": "sha256-ajR6pZv0zuzWDyxEnWtAuhasV5biV5lvweEbefTISiM="
},
{
"pname": "Microsoft.NETCore.App.Host.linux-x64",
"version": "5.0.17",
@@ -164,21 +124,6 @@
"version": "7.0.20",
"hash": "sha256-Y1Dg8Sqhya86xD+9aJOuznT4mJUyFmoF/YZc0+5LBdc="
},
{
"pname": "Microsoft.NETCore.App.Host.linux-x64",
"version": "8.0.20",
"hash": "sha256-NlwDtSJmxP+9oIqWEMKU12o96g9TzQAEt//votxI2PU="
},
{
"pname": "Microsoft.NETCore.App.Ref",
"version": "3.0.0",
"hash": "sha256-PHovvd+mPN9HoCF0rFEnS015p7Yj76+e9cfSU4JAI+I="
},
{
"pname": "Microsoft.NETCore.App.Ref",
"version": "3.1.0",
"hash": "sha256-nuAvHwmJ2s3Ob1qNDH1+uV3awOZaWlaV3FenTmPUWyM="
},
{
"pname": "Microsoft.NETCore.App.Ref",
"version": "5.0.0",
@@ -194,21 +139,6 @@
"version": "7.0.20",
"hash": "sha256-W9RU3bja4BQLAbsaIhANQPJJh6DycDiBR+WZ3mK6Zrs="
},
{
"pname": "Microsoft.NETCore.App.Ref",
"version": "8.0.20",
"hash": "sha256-1YXXJaiMZOIbLduuWyFGSWt6hOxKa3URNsPDfiMrnDM="
},
{
"pname": "Microsoft.NETCore.App.Runtime.linux-x64",
"version": "3.0.3",
"hash": "sha256-mxA9JF2WyEDV8yahdwhe4qfCTbIFroUfmMzPBa91b/o="
},
{
"pname": "Microsoft.NETCore.App.Runtime.linux-x64",
"version": "3.1.32",
"hash": "sha256-h4HjfRnvH81dW84S3TCPcCfxeQLiLN7b1ZleRNsprFY="
},
{
"pname": "Microsoft.NETCore.App.Runtime.linux-x64",
"version": "5.0.17",
@@ -224,36 +154,11 @@
"version": "7.0.20",
"hash": "sha256-L+WaGvoXVMT3tZ7R5xFE06zaLcC3SI7LEf4ATBkUAGQ="
},
{
"pname": "Microsoft.NETCore.App.Runtime.linux-x64",
"version": "8.0.20",
"hash": "sha256-BkV2ZjBpQvLhijWFSwWDpr5m2ffNlCtYJA5TUTro6no="
},
{
"pname": "Microsoft.NETCore.DotNetAppHost",
"version": "2.1.0",
"hash": "sha256-LV8pnNFsKGFONyCTGsd8qB5A+EUIiyvbYWAr0eOEFoI="
},
{
"pname": "Microsoft.NETCore.DotNetHostPolicy",
"version": "2.1.0",
"hash": "sha256-FqQm4BLznzRmF1nhk3nEwrdeAdCY35eBmHk6/4+MCPY="
},
{
"pname": "Microsoft.NETCore.DotNetHostResolver",
"version": "2.1.0",
"hash": "sha256-5nQTmMhaEvbuT+1f7u0t0tEK3SCVUeXhsExq8tiYBI0="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "1.1.0",
"hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "2.1.0",
"hash": "sha256-v09ltBAKTX8iAKuU2nCl+Op/ilVJQ0POZUh2z+u0rVo="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "3.1.0",
@@ -269,11 +174,6 @@
"version": "1.1.0",
"hash": "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="
},
{
"pname": "Microsoft.NETCore.Targets",
"version": "2.1.0",
"hash": "sha256-+KdWdA9I392SRqMb9KaiiRZatfvJ9RcdbtyGUkpHW7U="
},
{
"pname": "Microsoft.NETFramework.ReferenceAssemblies",
"version": "1.0.3",
@@ -331,33 +231,28 @@
},
{
"pname": "Mono.Cecil",
"version": "0.11.5",
"hash": "sha256-nPFwbzW08gnCjadBdgi+16MHYhsPAXnFIliveLxGaNA="
"version": "0.11.6",
"hash": "sha256-0qI4MqqpSLqaAazEK1cm40xfmVlY8bMNRcDnxws6ctU="
},
{
"pname": "MonoMod.Backports",
"version": "1.1.0",
"hash": "sha256-ruRX10/u+lRfMKr0UMbCVYS/nUK5fzV4+8ujJXBnles="
"version": "1.1.2",
"hash": "sha256-oXhcnMo0rDZDcpmhGVhQhax0lFeb9DT3GfSooesOo38="
},
{
"pname": "MonoMod.Core",
"version": "1.0.0",
"hash": "sha256-Y55fgMd0d35qztqqC0drzn3NdSMYLiWie8IL9LbmFnc="
"version": "1.3.0",
"hash": "sha256-B/pb8hor4npd3YSkvEF8FEO7xbbcHIfLapTUcrd5qRY="
},
{
"pname": "MonoMod.ILHelpers",
"version": "1.0.0",
"hash": "sha256-N6ybnOMkEtxXy/PdJAEkqHggHYSLETbCMF+mgNGXAvo="
},
{
"pname": "MonoMod.Patcher",
"version": "25.0.0-prerelease.1",
"hash": "sha256-+5kddzc3FheDIRNoTPWQREc1ufVFjfPFiiKrXTPCTWQ="
"version": "1.1.0",
"hash": "sha256-seoET5fqsyOY8g7DfNpLQHNTdUVY3U/xCoYFC4UrOKw="
},
{
"pname": "MonoMod.RuntimeDetour",
"version": "25.0.0",
"hash": "sha256-yyP3kTN+OcOoO8xmHZfebKB/EtWNi7V6aJnXUTjVU/8="
"version": "25.3.0",
"hash": "sha256-ZDS2MYHwL+cGuGycqivqfS/i+Uglx203SGtFx3vCSOA="
},
{
"pname": "MonoMod.RuntimeDetour.HookGen",
@@ -366,8 +261,8 @@
},
{
"pname": "MonoMod.Utils",
"version": "25.0.0",
"hash": "sha256-PL7/F0zXnLRb5icD5zl/QCeMyTEsJZKOvSBvM1t8BEY="
"version": "25.0.8",
"hash": "sha256-k2Nh8btGmOhKCEmCnO7t5pQszrzH0Lok5mgwWBRXviE="
},
{
"pname": "NETStandard.Library",
@@ -499,36 +394,6 @@
"version": "4.3.0",
"hash": "sha256-SrHqT9wrCBsxILWtaJgGKd6Odmxm8/Mh7Kh0CUkZVzA="
},
{
"pname": "runtime.linux-x64.Microsoft.NETCore.App",
"version": "2.1.0",
"hash": "sha256-qFtPLe3t/V9DZTaYhAO6MbVsyzH4hcQQUvyIJ6ywbEw="
},
{
"pname": "runtime.linux-x64.Microsoft.NETCore.DotNetAppHost",
"version": "2.1.0",
"hash": "sha256-NMuEFKc68Vn4bVoX6kdGSQeyDpktUYliUg6Lbj4E8FU="
},
{
"pname": "runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy",
"version": "2.1.0",
"hash": "sha256-U/WlbUpImqPjZf075WgBOb1o1i1H3VOL4QbzHfQ9Itk="
},
{
"pname": "runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver",
"version": "2.1.0",
"hash": "sha256-vcB6FY1GDP+kTsmp9OXpPg50sXKqOSJzWUSuNlN1+rs="
},
{
"pname": "runtime.linux-x64.Microsoft.NETCore.ILAsm",
"version": "6.0.0",
"hash": "sha256-i/UcSf9HhYBtscSZKsaPReL/ntN8EQhmEpFIkEfoGhQ="
},
{
"pname": "runtime.linux-x64.Microsoft.NETCore.ILDAsm",
"version": "6.0.0",
"hash": "sha256-flN7eEFoqIUmbuGHgVu/R1F7trwjOXwxmBVw/+Jv2Hg="
},
{
"pname": "runtime.native.System",
"version": "4.3.0",
@@ -659,11 +524,6 @@
"version": "4.3.0",
"hash": "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="
},
{
"pname": "System.Collections.Immutable",
"version": "6.0.0",
"hash": "sha256-DKEbpFqXCIEfqp9p3ezqadn5b/S1YTk32/EQK+tEScs="
},
{
"pname": "System.Collections.Immutable",
"version": "8.0.0",
@@ -774,11 +634,6 @@
"version": "4.3.0",
"hash": "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus="
},
{
"pname": "System.Numerics.Vectors",
"version": "4.4.0",
"hash": "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U="
},
{
"pname": "System.Numerics.Vectors",
"version": "4.5.0",
@@ -864,11 +719,6 @@
"version": "4.3.0",
"hash": "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="
},
{
"pname": "System.Runtime.CompilerServices.Unsafe",
"version": "4.5.3",
"hash": "sha256-lnZMUqRO4RYRUeSO8HSJ9yBHqFHLVbmenwHWkIU20ak="
},
{
"pname": "System.Runtime.CompilerServices.Unsafe",
"version": "6.0.0",
@@ -1029,6 +879,11 @@
"version": "4.3.0",
"hash": "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="
},
{
"pname": "Vezel.Zig.Toolsets.linux-x64",
"version": "0.14.1.1",
"hash": "sha256-H32XG4157eWqa6qcVtd4t6Ef35MzYnXqr62FcwMAxSo="
},
{
"pname": "YamlDotNet",
"version": "16.1.3",
+20 -4
View File
@@ -11,7 +11,7 @@
let
pname = "everest";
version = "5806";
version = "5935";
phome = "$out/lib/Celeste";
in
buildDotnetModule {
@@ -20,11 +20,11 @@ buildDotnetModule {
src = fetchFromGitHub {
owner = "EverestAPI";
repo = "Everest";
rev = "e47f67fc8c4b0b60b0a75112c5c90704ed371040";
rev = "6a6da718227b357f5b997499e454d5dc5c3e2788";
fetchSubmodules = true;
# TODO: use leaveDotGit = true and modify external/MonoMod in postFetch to please SourceLink
# Microsoft.SourceLink.Common.targets(53,5): warning : Source control information is not available - the generated source link is empty.
hash = "sha256-scizz5U9DQaeJsh0dg7Lllycd/D3Ezu8QNYPPZFGJhY=";
hash = "sha256-qSDcwqjJeb2pNbyriZ/9Gk72DyR5KdIoncXol7JZvFg=";
};
nativeBuildInputs = [ autoPatchelfHook ];
@@ -44,9 +44,25 @@ buildDotnetModule {
autoPatchelf lib-ext/piton/piton-linux_x64
'';
dotnet-sdk = dotnetCorePackages.sdk_9_0;
dotnet-sdk =
with dotnetCorePackages;
sdk_9_0
// {
inherit
(combinePackages [
sdk_9_0
sdk_8_0
])
packages
targetPackages
;
};
nugetDeps = ./deps.json;
# Workaround from https://github.com/NixOS/nixpkgs/issues/454432
# Necessitated by https://github.com/MonoMod/MonoMod/pull/246
dotnetRestoreFlags = [ "--force-evaluate" ];
# Needed for ILAsm projects: https://github.com/NixOS/nixpkgs/issues/370754#issuecomment-2571475814
linkNugetPackages = true;
-1
View File
@@ -19,6 +19,5 @@ version=$(echo "$latest" | jq -r .version)
url=$(echo "$latest" | jq -r .mainDownload)
update-source-version everest $version --rev=$commit
echo > "$(dirname "$(nix-instantiate --eval --strict -A everest.meta.position | sed -re 's/^"(.*):[0-9]+"$/\1/')")/deps.json"
"$(nix-build --attr everest.fetch-deps --no-out-link)"
update-source-version everest-bin $version "" $url
+10
View File
@@ -0,0 +1,10 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 748f412..d8821ee 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.10)
project(ffts C ASM)
+4
View File
@@ -20,6 +20,10 @@ stdenv.mkDerivation {
cmakeFlags = [ "-DENABLE_SHARED=ON" ];
patches = [
./cmake4.patch
];
meta = {
description = "Fastest Fourier Transform in the South";
homepage = "https://github.com/linkotec/ffts";
+3 -3
View File
@@ -6,15 +6,15 @@
}:
rustPlatform.buildRustPackage rec {
pname = "firezone-gateway";
version = "1.4.16";
version = "1.4.17";
src = fetchFromGitHub {
owner = "firezone";
repo = "firezone";
tag = "gateway-${version}";
hash = "sha256-Tu0Bq/Axj05dCRCd1eB7CiOXQ5n4i8hnE3ZiGCQ5ZdY=";
hash = "sha256-dVqZs5Xie9lc3F6wVMdxRHeoM7y/e9TvwjzfikenQ6w=";
};
cargoHash = "sha256-wlf+TtrRG7hHNav7WqLn2DSX9QkKFVzyiKP5CRdXlNY=";
cargoHash = "sha256-J2IqqFBuoTkbO0nMJbY680G2HTAtC1To/nMra2PCopY=";
sourceRoot = "${src.name}/rust";
buildAndTestSubdir = "gateway";
RUSTFLAGS = "--cfg system_certs";
+3 -4
View File
@@ -9,16 +9,15 @@
readline,
zlib,
}:
stdenv.mkDerivation rec {
pname = "foma";
version = "0.10.0alpha-unstable-2024-03-13";
version = "0.10.0alpha-unstable-2025-09-10";
src = fetchFromGitHub {
owner = "mhulden";
repo = "foma";
rev = "e0d8122bda4bbd56f18510bdfe840617f9736ae7";
hash = "sha256-UbwuHTilKWo4sVD3igcSlTqH78N6JQFvRD35QwfoX10=";
rev = "91f91866af843aec487313d028dbd1f76b5fb1a5";
hash = "sha256-CXRZNcEgsjD/9PowNynPyfLVbk8KDe3T52UetYMwC6w=";
};
sourceRoot = "${src.name}/foma";
@@ -1,31 +0,0 @@
diff --git a/CMakeModules/ForgeConfigureDepsVars.cmake b/CMakeModules/ForgeConfigureDepsVars.cmake
index ee5c2fc..2f75181 100644
--- a/CMakeModules/ForgeConfigureDepsVars.cmake
+++ b/CMakeModules/ForgeConfigureDepsVars.cmake
@@ -84,7 +84,7 @@ macro(fg_dep_check_and_populate dep_prefix)
URL ${fdcp_args_URI}
URL_HASH ${fdcp_args_REF}
DOWNLOAD_COMMAND \"\"
- UPDATE_DISCONNECTED ON
+ UPDATE_COMMAND \"\"
SOURCE_DIR "${Forge_SOURCE_DIR}/extern/${dep_prefix}-src"
BINARY_DIR "${Forge_BINARY_DIR}/extern/${dep_prefix}-build"
SUBBUILD_DIR "${Forge_BINARY_DIR}/extern/${dep_prefix}-subbuild"
@@ -94,7 +94,7 @@ macro(fg_dep_check_and_populate dep_prefix)
QUIET
URL ${fdcp_args_URI}
DOWNLOAD_COMMAND \"\"
- UPDATE_DISCONNECTED ON
+ UPDATE_COMMAND \"\"
SOURCE_DIR "${Forge_SOURCE_DIR}/extern/${dep_prefix}-src"
BINARY_DIR "${Forge_BINARY_DIR}/extern/${dep_prefix}-build"
SUBBUILD_DIR "${Forge_BINARY_DIR}/extern/${dep_prefix}-subbuild"
@@ -106,7 +106,7 @@ macro(fg_dep_check_and_populate dep_prefix)
GIT_REPOSITORY ${fdcp_args_URI}
GIT_TAG ${fdcp_args_REF}
DOWNLOAD_COMMAND \"\"
- UPDATE_DISCONNECTED ON
+ UPDATE_COMMAND \"\"
SOURCE_DIR "${Forge_SOURCE_DIR}/extern/${dep_prefix}-src"
BINARY_DIR "${Forge_BINARY_DIR}/extern/${dep_prefix}-build"
SUBBUILD_DIR "${Forge_BINARY_DIR}/extern/${dep_prefix}-subbuild"
-86
View File
@@ -1,86 +0,0 @@
{
boost,
cmake,
expat,
fetchFromGitHub,
fontconfig,
freeimage,
freetype,
glfw3,
glm,
lib,
libGLU,
libGL,
libgbm,
opencl-clhpp,
pkg-config,
stdenv,
SDL2,
}:
stdenv.mkDerivation rec {
pname = "forge";
version = "1.0.8";
src = fetchFromGitHub {
owner = "arrayfire";
repo = "forge";
rev = "v1.0.8";
sha256 = "sha256-lSZAwcqAHiuZkpYcVfwvZCfNmEF3xGN9S/HuZQrGeKU=";
};
glad = fetchFromGitHub {
owner = "arrayfire";
repo = "glad";
rev = "b94680aee5b8ce01ae1644c5f2661769366c765a";
hash = "sha256-CrZy76gOGMpy9f1NuMK4tokZ57U//zYeNH5ZYY0SC2U=";
};
# This patch ensures that Forge does not try to fetch glad from GitHub and
# uses our sources that we've checked out via Nix.
patches = [ ./no-download-glad.patch ];
postPatch = ''
mkdir -p ./extern
cp -R --no-preserve=mode,ownership ${glad} ./extern/fg_glad-src
ln -s ${opencl-clhpp} ./extern/cl2hpp
'';
cmakeFlags = [ "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" ];
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
boost.out
boost.dev
expat
fontconfig
freeimage
freetype
glfw3
glm
libGL
libGLU
opencl-clhpp
SDL2
libgbm
];
meta = with lib; {
description = "OpenGL interop library that can be used with ArrayFire or any other application using CUDA or OpenCL compute backend";
longDescription = ''
An OpenGL interop library that can be used with ArrayFire or any other application using CUDA or OpenCL compute backend.
The goal of Forge is to provide high performance OpenGL visualizations for C/C++ applications that use CUDA/OpenCL.
Forge uses OpenGL >=3.3 forward compatible contexts, so please make sure you have capable hardware before trying it out.
'';
license = licenses.bsd3;
homepage = "https://arrayfire.com/";
platforms = platforms.linux;
maintainers = with maintainers; [
chessai
twesterhout
];
};
}
+9
View File
@@ -12,6 +12,7 @@
bash,
brotli,
buildGoModule,
fetchpatch,
forgejo,
git,
gzip,
@@ -83,6 +84,14 @@ buildGoModule rec {
patches = [
./static-root-path.patch
]
++ lib.optionals lts [
(fetchpatch {
# fix for go 1.25.2 stricter ipv6 parsing, remove for LTS > 11.0.6
name = "fix-test-ipv6-go125.patch";
url = "https://codeberg.org/forgejo/forgejo/commit/0d9a8e3fa2cf9228290ed1a9a5767e6ba204edd7.patch";
hash = "sha256-AM4/kgCXSU5Bj8aOObm6qyeL1SEpeFhmlT42lMJ2o08=";
})
];
postPatch = ''
@@ -0,0 +1,40 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
udev,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "framework-tool-tui";
version = "0.5.1";
src = fetchFromGitHub {
owner = "grouzen";
repo = "framework-tool-tui";
tag = "v${finalAttrs.version}";
hash = "sha256-R4/VeymmthI96PJt7XsKRYz1Y8QW/lV90HvJgt+e+hI=";
};
cargoHash = "sha256-tDNYkV5MWb4+co/gwjpAt/M7yJbEWrryieJoBuXmY8M=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ udev ];
meta = {
description = "TUI for controlling and monitoring Framework Computers hardware";
longDescription = ''
A snappy TUI dashboard for controlling and monitoring your Framework Laptop hardware
charging, privacy, lighting, USB PD ports, and more.
'';
homepage = "https://github.com/grouzen/framework-tool-tui";
changelog = "https://github.com/grouzen/framework-tool-tui/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
platforms = [ "x86_64-linux" ];
maintainers = with lib.maintainers; [
griffi-gh
autra
];
mainProgram = "framework-tool-tui";
};
})
@@ -1,13 +0,0 @@
diff -rupN --no-dereference freeimage-svn-r1909-FreeImage-trunk/Source/FreeImage/PluginICO.cpp freeimage-svn-r1909-FreeImage-trunk-new/Source/FreeImage/PluginICO.cpp
--- freeimage-svn-r1909-FreeImage-trunk/Source/FreeImage/PluginICO.cpp 2023-09-28 19:34:45.524031668 +0200
+++ freeimage-svn-r1909-FreeImage-trunk-new/Source/FreeImage/PluginICO.cpp 2023-09-28 19:34:47.717009813 +0200
@@ -301,6 +301,9 @@ LoadStandardIcon(FreeImageIO *io, fi_han
int width = bmih.biWidth;
int height = bmih.biHeight / 2; // height == xor + and mask
unsigned bit_count = bmih.biBitCount;
+ if (bit_count != 1 && bit_count != 2 && bit_count != 4 && bit_count != 8 && bit_count != 16 && bit_count != 24 && bit_count != 32) {
+ return NULL;
+ }
unsigned line = CalculateLine(width, bit_count);
unsigned pitch = CalculatePitch(line);
@@ -1,14 +0,0 @@
diff -rupN --no-dereference freeimage-svn-r1909-FreeImage-trunk/Source/FreeImage/PSDParser.cpp freeimage-svn-r1909-FreeImage-trunk-new/Source/FreeImage/PSDParser.cpp
--- freeimage-svn-r1909-FreeImage-trunk/Source/FreeImage/PSDParser.cpp 2023-09-28 19:34:47.287014100 +0200
+++ freeimage-svn-r1909-FreeImage-trunk-new/Source/FreeImage/PSDParser.cpp 2023-09-28 19:34:47.832008666 +0200
@@ -780,6 +780,10 @@ int psdThumbnail::Read(FreeImageIO *io,
FreeImage_Unload(_dib);
}
+ if (_WidthBytes != _Width * _BitPerPixel / 8) {
+ throw "Invalid PSD image";
+ }
+
if(_Format == 1) {
// kJpegRGB thumbnail image
_dib = FreeImage_LoadFromHandle(FIF_JPEG, io, handle);
@@ -1,21 +0,0 @@
diff -rupN --no-dereference freeimage-svn-r1909-FreeImage-trunk/Source/FreeImage/PSDParser.cpp freeimage-svn-r1909-FreeImage-trunk-new/Source/FreeImage/PSDParser.cpp
--- freeimage-svn-r1909-FreeImage-trunk/Source/FreeImage/PSDParser.cpp 2023-09-28 19:34:47.936007630 +0200
+++ freeimage-svn-r1909-FreeImage-trunk-new/Source/FreeImage/PSDParser.cpp 2023-09-28 19:34:47.940007590 +0200
@@ -1466,6 +1466,7 @@ FIBITMAP* psdParser::ReadImageData(FreeI
const unsigned dstBpp = (depth == 1) ? 1 : FreeImage_GetBPP(bitmap)/8;
const unsigned dstLineSize = FreeImage_GetPitch(bitmap);
BYTE* const dst_first_line = FreeImage_GetScanLine(bitmap, nHeight - 1);//<*** flipped
+ const unsigned dst_buffer_size = dstLineSize * nHeight;
BYTE* line_start = new BYTE[lineSize]; //< fileline cache
@@ -1481,6 +1482,9 @@ FIBITMAP* psdParser::ReadImageData(FreeI
const unsigned channelOffset = GetChannelOffset(bitmap, c) * bytes;
BYTE* dst_line_start = dst_first_line + channelOffset;
+ if (channelOffset + lineSize > dst_buffer_size) {
+ throw "Invalid PSD image";
+ }
for(unsigned h = 0; h < nHeight; ++h, dst_line_start -= dstLineSize) {//<*** flipped
io->read_proc(line_start, lineSize, 1, handle);
ReadImageLine(dst_line_start, line_start, lineSize, dstBpp, bytes);
@@ -1,19 +0,0 @@
diff -rupN --no-dereference freeimage-svn-r1909-FreeImage-trunk/Source/Metadata/Exif.cpp freeimage-svn-r1909-FreeImage-trunk-new/Source/Metadata/Exif.cpp
--- freeimage-svn-r1909-FreeImage-trunk/Source/Metadata/Exif.cpp 2023-09-28 19:34:45.003036859 +0200
+++ freeimage-svn-r1909-FreeImage-trunk-new/Source/Metadata/Exif.cpp 2023-09-28 19:34:47.505011926 +0200
@@ -770,8 +770,13 @@ jpeg_read_exif_dir(FIBITMAP *dib, const
//
const WORD entriesCount0th = ReadUint16(msb_order, ifd0th);
-
- DWORD next_offset = ReadUint32(msb_order, DIR_ENTRY_ADDR(ifd0th, entriesCount0th));
+
+ const BYTE* de_addr = DIR_ENTRY_ADDR(ifd0th, entriesCount0th);
+ if(de_addr+4 >= (BYTE*)(dwLength + ifd0th - tiffp)) {
+ return TRUE; //< no thumbnail
+ }
+
+ DWORD next_offset = ReadUint32(msb_order, de_addr);
if((next_offset == 0) || (next_offset >= dwLength)) {
return TRUE; //< no thumbnail
}
@@ -1,15 +0,0 @@
diff -rupN --no-dereference freeimage-svn-r1909-FreeImage-trunk/Source/FreeImage/PluginTIFF.cpp freeimage-svn-r1909-FreeImage-trunk-new/Source/FreeImage/PluginTIFF.cpp
--- freeimage-svn-r1909-FreeImage-trunk/Source/FreeImage/PluginTIFF.cpp 2023-09-28 19:34:47.713009853 +0200
+++ freeimage-svn-r1909-FreeImage-trunk-new/Source/FreeImage/PluginTIFF.cpp 2023-09-28 19:34:48.043006563 +0200
@@ -2142,6 +2142,11 @@ Load(FreeImageIO *io, fi_handle handle,
uint32_t tileRowSize = (uint32_t)TIFFTileRowSize(tif);
uint32_t imageRowSize = (uint32_t)TIFFScanlineSize(tif);
+ if (width / tileWidth * tileRowSize * 8 > bitspersample * samplesperpixel * width) {
+ free(tileBuffer);
+ throw "Corrupted tiled TIFF file";
+ }
+
// In the tiff file the lines are saved from up to down
// In a DIB the lines must be saved from down to up
@@ -1,14 +0,0 @@
diff -rupN --no-dereference freeimage-svn-r1909-FreeImage-trunk/Source/FreeImage/PluginTIFF.cpp freeimage-svn-r1909-FreeImage-trunk-new/Source/FreeImage/PluginTIFF.cpp
--- freeimage-svn-r1909-FreeImage-trunk/Source/FreeImage/PluginTIFF.cpp 2023-09-28 19:34:47.501011966 +0200
+++ freeimage-svn-r1909-FreeImage-trunk-new/Source/FreeImage/PluginTIFF.cpp 2023-09-28 19:34:47.610010879 +0200
@@ -372,6 +372,10 @@ static void
ReadPalette(TIFF *tiff, uint16_t photometric, uint16_t bitspersample, FIBITMAP *dib) {
RGBQUAD *pal = FreeImage_GetPalette(dib);
+ if (!pal) {
+ return;
+ }
+
switch(photometric) {
case PHOTOMETRIC_MINISBLACK: // bitmap and greyscale image types
case PHOTOMETRIC_MINISWHITE:
@@ -1,14 +0,0 @@
diff -rupN --no-dereference freeimage-svn-r1909-FreeImage-trunk/Source/FreeImage/PluginJPEG.cpp freeimage-svn-r1909-FreeImage-trunk-new/Source/FreeImage/PluginJPEG.cpp
--- freeimage-svn-r1909-FreeImage-trunk/Source/FreeImage/PluginJPEG.cpp 2024-03-10 14:22:17.818579271 +0100
+++ freeimage-svn-r1909-FreeImage-trunk-new/Source/FreeImage/PluginJPEG.cpp 2024-03-10 14:22:18.776573816 +0100
@@ -1086,6 +1086,10 @@ Load(FreeImageIO *io, fi_handle handle,
jpeg_read_header(&cinfo, TRUE);
+ if (cinfo.image_width > JPEG_MAX_DIMENSION || cinfo.image_height > JPEG_MAX_DIMENSION) {
+ throw FI_MSG_ERROR_DIB_MEMORY;
+ }
+
// step 4: set parameters for decompression
unsigned int scale_denom = 1; // fraction by which to scale image
@@ -1,16 +0,0 @@
diff -rupN --no-dereference freeimage-svn-r1909-FreeImage-trunk/Source/FreeImage/PluginTIFF.cpp freeimage-svn-r1909-FreeImage-trunk-new/Source/FreeImage/PluginTIFF.cpp
--- freeimage-svn-r1909-FreeImage-trunk/Source/FreeImage/PluginTIFF.cpp 2024-03-10 14:22:18.669574426 +0100
+++ freeimage-svn-r1909-FreeImage-trunk-new/Source/FreeImage/PluginTIFF.cpp 2024-03-10 14:22:18.673574403 +0100
@@ -1484,6 +1484,12 @@ Load(FreeImageIO *io, fi_handle handle,
(int)bitspersample, (int)samplesperpixel, (int)photometric);
throw (char*)NULL;
}
+ if (planar_config == PLANARCONFIG_SEPARATE && bitspersample < 8) {
+ FreeImage_OutputMessageProc(s_format_id,
+ "Unable to handle this format: bitspersample = 8, TIFFTAG_PLANARCONFIG = PLANARCONFIG_SEPARATE"
+ );
+ throw (char*)NULL;
+ }
// ---------------------------------------------------------------------------------
@@ -1,15 +0,0 @@
Fix build with libtiff 4.4.0 by not using a private libtiff API.
Patch by Kurt Schwehr: https://sourceforge.net/p/freeimage/discussion/36109/thread/2018fdc6e7/
diff -ru a/Source/Metadata/XTIFF.cpp b/Source/Metadata/XTIFF.cpp
--- a/Source/Metadata/XTIFF.cpp
+++ b/Source/Metadata/XTIFF.cpp
@@ -749,7 +749,7 @@
continue;
}
// type of storage may differ (e.g. rationnal array vs float array type)
- if((unsigned)_TIFFDataSize(tif_tag_type) != FreeImage_TagDataWidth(tag_type)) {
+ if((unsigned)TIFFFieldSetGetSize(fld) != FreeImage_TagDataWidth(tag_type)) {
// skip tag or _TIFFmemcpy will fail
continue;
}
-170
View File
@@ -1,170 +0,0 @@
{
lib,
stdenv,
fetchsvn,
cctools,
libtiff,
libpng,
zlib,
libwebp,
libraw,
openexr,
openjpeg,
libjpeg,
jxrlib,
pkg-config,
fixDarwinDylibNames,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "freeimage";
version = "3.18.0-unstable-2024-04-18";
src = fetchsvn {
url = "svn://svn.code.sf.net/p/freeimage/svn/";
rev = "1911";
hash = "sha256-JznVZUYAbsN4FplnuXxCd/ITBhH7bfGKWXep2A6mius=";
};
sourceRoot = "${finalAttrs.src.name}/FreeImage/trunk";
# Ensure that the bundled libraries are not used at all
prePatch = ''
rm -rf Source/Lib* Source/OpenEXR Source/ZLib
'';
# Tell patch to work with trailing carriage returns
patchFlags = [
"-p1"
"--binary"
];
patches = [
./unbundle.diff
./CVE-2020-24292.patch
./CVE-2020-24293.patch
./CVE-2020-24295.patch
./CVE-2021-33367.patch
./CVE-2021-40263.patch
./CVE-2021-40266.patch
./CVE-2023-47995.patch
./CVE-2023-47997.patch
];
postPatch = ''
# To support cross compilation, use the correct `pkg-config`.
substituteInPlace Makefile.fip \
--replace "pkg-config" "$PKG_CONFIG"
substituteInPlace Makefile.gnu \
--replace "pkg-config" "$PKG_CONFIG"
''
+ lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) ''
# Upstream Makefile hardcodes i386 and x86_64 architectures only
substituteInPlace Makefile.osx --replace "x86_64" "arm64"
'';
nativeBuildInputs = [
pkg-config
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
cctools
fixDarwinDylibNames
];
buildInputs = [
libtiff
libtiff.dev_private
libpng
zlib
libwebp
libraw
openexr
openjpeg
libjpeg
libjpeg.dev_private
jxrlib
];
postBuild = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
make -f Makefile.fip
'';
INCDIR = "${placeholder "out"}/include";
INSTALLDIR = "${placeholder "out"}/lib";
preInstall = ''
mkdir -p $INCDIR $INSTALLDIR
''
# Workaround for Makefiles.osx not using ?=
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
makeFlagsArray+=( "INCDIR=$INCDIR" "INSTALLDIR=$INSTALLDIR" )
'';
postInstall =
lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
make -f Makefile.fip install
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
ln -s $out/lib/libfreeimage.3.dylib $out/lib/libfreeimage.dylib
'';
enableParallelBuilding = true;
meta = {
description = "Open Source library for accessing popular graphics image file formats";
homepage = "http://freeimage.sourceforge.net/";
license = with lib.licenses; [
freeimage
gpl2Only
gpl3Only
];
knownVulnerabilities = [
"CVE-2024-31570"
"CVE-2024-28584"
"CVE-2024-28583"
"CVE-2024-28582"
"CVE-2024-28581"
"CVE-2024-28580"
"CVE-2024-28579"
"CVE-2024-28578"
"CVE-2024-28577"
"CVE-2024-28576"
"CVE-2024-28575"
"CVE-2024-28574"
"CVE-2024-28573"
"CVE-2024-28572"
"CVE-2024-28571"
"CVE-2024-28570"
"CVE-2024-28569"
"CVE-2024-28568"
"CVE-2024-28567"
"CVE-2024-28566"
"CVE-2024-28565"
"CVE-2024-28564"
"CVE-2024-28563"
"CVE-2024-28562"
"CVE-2024-9029"
# "CVE-2023-47997"
"CVE-2023-47996"
# "CVE-2023-47995"
"CVE-2023-47994"
"CVE-2023-47993"
"CVE-2023-47992"
# "CVE-2021-40266"
"CVE-2021-40265"
"CVE-2021-40264"
# "CVE-2021-40263"
"CVE-2021-40262"
# "CVE-2021-33367"
# "CVE-2020-24295"
"CVE-2020-24294"
# "CVE-2020-24293"
# "CVE-2020-24292"
"CVE-2020-21426"
"CVE-2019-12214"
"CVE-2019-12212"
];
maintainers = [ ];
platforms = with lib.platforms; unix;
};
})
File diff suppressed because one or more lines are too long
@@ -1,33 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
freeimage,
libGL,
}:
stdenv.mkDerivation rec {
version = "1.0.6";
pname = "gamecube-tools";
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [
freeimage
libGL
];
src = fetchFromGitHub {
owner = "devkitPro";
repo = "gamecube-tools";
rev = "v${version}";
sha256 = "sha256-GsTmwyxBc36Qg+UGy+cRAjGW1eh1XxV0s94B14ZJAjU=";
};
meta = with lib; {
description = "Tools for gamecube/wii projects";
homepage = "https://github.com/devkitPro/gamecube-tools/";
license = licenses.gpl2;
maintainers = with maintainers; [ tomsmeets ];
};
}
+2 -2
View File
@@ -23,14 +23,14 @@
python3Packages.buildPythonApplication rec {
pname = "gearlever";
version = "3.4.2";
version = "3.4.5";
pyproject = false; # Built with meson
src = fetchFromGitHub {
owner = "mijorus";
repo = "gearlever";
tag = version;
hash = "sha256-IC3ueAplQc5McGoJkHjjCAGvnLCH9+DUrB3cuKfwMno=";
hash = "sha256-C/YNnpLlA+5xzgLRLWEWAhDGLZP42N/uCbCPg3owgBk=";
};
postPatch =
+2 -2
View File
@@ -6,14 +6,14 @@
python3Packages.buildPythonApplication rec {
pname = "ghmap";
version = "1.0.4";
version = "1.0.6";
pyproject = true;
src = fetchFromGitHub {
owner = "uhourri";
repo = "ghmap";
tag = "v${version}";
hash = "sha256-liwkJfNp2Ozph3ummrh2GEshIlmVsG8Y8Pmm4lw2Ya8=";
hash = "sha256-mNWBClKs5QnjwMMWS/OaxgD0g0D0bWRx8ecyG3+zy+s=";
};
build-system = with python3Packages; [
+23 -20
View File
@@ -2,53 +2,56 @@
lib,
fetchFromGitHub,
buildGoModule,
oath-toolkit,
openldap,
versionCheckHook,
}:
buildGoModule rec {
buildGoModule (finalAttrs: {
pname = "glauth";
version = "2.3.2";
version = "2.4.0";
src = fetchFromGitHub {
owner = "glauth";
repo = "glauth";
rev = "v${version}";
hash = "sha256-FOhtL8nIm5kuKRxFtkrDyUU2z1K22ZdHaes3GY0KmfQ=";
tag = "v${finalAttrs.version}";
hash = "sha256-UUTL+ZnHRSYuD/TUYpsuo+Nu90kpA8ZL4XaGz6in3ME=";
};
vendorHash = "sha256-MfauZRufl3kxr1fqatxTmiIvLJ+5JhbpSnbTHiujME8=";
vendorHash = "sha256-Lijy0LFy0PgWogdzYRNPFOkLym6Gf9qG4R+Bm91eYJg=";
nativeCheckInputs = [
oath-toolkit
openldap
];
postPatch = ''
substituteInPlace v2/internal/version/const.go \
--replace-fail '"v2.3.1"' '"v${finalAttrs.version}"'
'';
modRoot = "v2";
# Builds without go workspace fail with mysterious errors
overrideModAttrs = _: {
buildPhase = ''
go work vendor -e -v
'';
};
# Disable go workspaces to fix build.
env.GOWORK = "off";
# Based on ldflags in <glauth>/Makefile.
ldflags = [
"-s"
"-w"
"-X main.GitClean=1"
"-X main.LastGitTag=v${version}"
"-X main.GitTagIsCommit=1"
];
# Tests fail in the sandbox.
doCheck = false;
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
versionCheckProgramArg = "--version";
meta = with lib; {
description = "Lightweight LDAP server for development, home use, or CI";
homepage = "https://github.com/glauth/glauth";
changelog = "https://github.com/glauth/glauth/releases/tag/v${finalAttrs.version}";
license = licenses.mit;
maintainers = with maintainers; [
bjornfor
christoph-heiss
xddxdd
];
mainProgram = "glauth";
};
}
})
+3 -2
View File
@@ -87,6 +87,9 @@ stdenv.mkDerivation rec {
./gsutil-disable-updates.patch
];
# Prevent Python from writing bytecode to ensure build determinism
PYTHONDONTWRITEBYTECODE = "1";
installPhase = ''
runHook preInstall
@@ -161,8 +164,6 @@ stdenv.mkDerivation rec {
installCheckPhase = ''
# Avoid trying to write logs to homeless-shelter
export HOME=$(mktemp -d)
# Prevent Python from writing bytecode to ensure build determinism
export PYTHONDONTWRITEBYTECODE=1
$out/bin/gcloud version --format json | jq '."Google Cloud SDK"' | grep "${version}"
$out/bin/gsutil version | grep -w "$(cat platform/gsutil/VERSION)"
'';
@@ -78,11 +78,12 @@ symlinkJoin {
]
++ comps;
# Prevent Python from writing bytecode to ensure build determinism
PYTHONDONTWRITEBYTECODE = "1";
postBuild = ''
sed -i ';' $out/google-cloud-sdk/bin/.gcloud-wrapped
sed -i -e "s#${google-cloud-sdk}#$out#" "$out/google-cloud-sdk/bin/gcloud"
# Prevent Python from writing bytecode to ensure build determinism
export PYTHONDONTWRITEBYTECODE=1
${installCheck}
'';
}
+3
View File
@@ -41,6 +41,9 @@ stdenv.mkDerivation rec {
postPatch = ''
substituteInPlace src/general/config.h --replace-fail "CUSTOM-BUILD" "${version}"
substituteInPlace CMakeLists.txt \
--replace-fail "cmake_minimum_required (VERSION 3.1)" "cmake_minimum_required(VERSION 3.10)"
'';
meta = with lib; {
+4 -1
View File
@@ -48,7 +48,10 @@ buildGoModule rec {
homepage = "https://github.com/charmbracelet/gum";
changelog = "https://github.com/charmbracelet/gum/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ maaslalani ];
maintainers = with lib.maintainers; [
maaslalani
savtrip
];
mainProgram = "gum";
};
}
+1 -1
View File
@@ -170,7 +170,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://harelang.org/";
description = "Systems programming language designed to be simple, stable, and robust";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ onemoresuza ];
maintainers = [ ];
mainProgram = "hare";
inherit (harec.meta) platforms badPlatforms;
};
+1 -1
View File
@@ -74,7 +74,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://harelang.org/";
description = "Bootstrapping Hare compiler written in C for POSIX systems";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ onemoresuza ];
maintainers = [ ];
mainProgram = "harec";
# The upstream developers do not like proprietary operating systems; see
# https://harelang.org/platforms/

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