Merge staging-next into staging
This commit is contained in:
@@ -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.
|
||||
@@ -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.
|
||||
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -115,6 +115,7 @@ with lib.maintainers;
|
||||
happysalada
|
||||
minijackson
|
||||
yurrriq
|
||||
savtrip
|
||||
];
|
||||
github = "beam";
|
||||
scope = "Maintain BEAM-related packages and modules.";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -18,7 +18,7 @@ in
|
||||
virtualHosts.${name} = {
|
||||
enableACME = false;
|
||||
forceSSL = false;
|
||||
enableSSL = false;
|
||||
onlySSL = false;
|
||||
|
||||
locations."/_matrix" = {
|
||||
proxyPass = "http://[::1]:6167";
|
||||
|
||||
@@ -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/,,
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
};
|
||||
})
|
||||
@@ -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="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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; };
|
||||
|
||||
@@ -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="
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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"
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,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;
|
||||
}
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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"
|
||||
];
|
||||
|
||||
@@ -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
|
||||
|
||||
Generated
+27
-172
@@ -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",
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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"
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 =
|
||||
|
||||
@@ -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; [
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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}
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -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; {
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user