Merge master into staging-next
This commit is contained in:
@@ -102,6 +102,7 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @NixOS/nix-team @raitobeza
|
||||
/nixos/default.nix @infinisil
|
||||
/nixos/lib/from-env.nix @infinisil
|
||||
/nixos/lib/eval-config.nix @infinisil
|
||||
/nixos/modules/misc/ids.nix @R-VdP
|
||||
/nixos/modules/system/activation/bootspec.nix @grahamc @cole-h @raitobezarius
|
||||
/nixos/modules/system/activation/bootspec.cue @grahamc @cole-h @raitobezarius
|
||||
|
||||
|
||||
@@ -55,6 +55,8 @@
|
||||
|
||||
- [Bat](https://github.com/sharkdp/bat), a {manpage}`cat(1)` clone with wings. Available as [programs.bat](options.html#opt-programs.bat).
|
||||
|
||||
- [µStreamer](https://github.com/pikvm/ustreamer), a lightweight MJPEG-HTTP streamer. Available as [services.ustreamer](options.html#opt-services.ustreamer).
|
||||
|
||||
- [Whoogle Search](https://github.com/benbusby/whoogle-search), a self-hosted, ad-free, privacy-respecting metasearch engine. Available as [services.whoogle-search](options.html#opt-services.whoogle-search.enable).
|
||||
|
||||
- [agorakit](https://github.com/agorakit/agorakit), an organization tool for citizens' collectives. Available with [services.agorakit](options.html#opt-services.agorakit.enable).
|
||||
|
||||
@@ -11,7 +11,7 @@ in
|
||||
config = lib.mkIf cfg.enable {
|
||||
boot.kernelModules = [ "uinput" ];
|
||||
|
||||
users.groups.uinput.gid = config.ids.gids.uinput;
|
||||
users.groups.uinput = { };
|
||||
|
||||
services.udev.extraRules = ''
|
||||
SUBSYSTEM=="misc", KERNEL=="uinput", MODE="0660", GROUP="uinput", OPTIONS+="static_node=uinput"
|
||||
|
||||
@@ -2,12 +2,15 @@
|
||||
# central list to prevent id collisions.
|
||||
|
||||
# IMPORTANT!
|
||||
# We only add static uids and gids for services where it is not feasible
|
||||
# to change uids/gids on service start, for example a service with a lot of
|
||||
# files. Please also check if the service is applicable for systemd's
|
||||
# DynamicUser option and does not need a uid/gid allocation at all.
|
||||
# Systemd can also change ownership of service directories using the
|
||||
# RuntimeDirectory/StateDirectory options.
|
||||
#
|
||||
# https://github.com/NixOS/rfcs/blob/master/rfcs/0052-dynamic-ids.md
|
||||
#
|
||||
# Use of static ids is deprecated within NixOS. Dynamic allocation is
|
||||
# required, barring special circumstacnes. Please check if the service
|
||||
# is applicable for systemd's DynamicUser option and does not need a
|
||||
# uid/gid allocation at all. Systemd can also change ownership of
|
||||
# service directories using the RuntimeDirectory/StateDirectory
|
||||
# options.
|
||||
|
||||
{ lib, ... }:
|
||||
|
||||
@@ -355,7 +358,6 @@ in
|
||||
rstudio-server = 324;
|
||||
localtimed = 325;
|
||||
automatic-timezoned = 326;
|
||||
whisparr = 328;
|
||||
|
||||
# When adding a uid, make sure it doesn't match an existing gid.
|
||||
#
|
||||
@@ -683,8 +685,6 @@ in
|
||||
rstudio-server = 324;
|
||||
localtimed = 325;
|
||||
automatic-timezoned = 326;
|
||||
uinput = 327;
|
||||
whisparr = 328;
|
||||
|
||||
# When adding a gid, make sure it doesn't match an existing
|
||||
# uid. Users and groups with the same name should have equal
|
||||
|
||||
@@ -1417,6 +1417,7 @@
|
||||
./services/video/mirakurun.nix
|
||||
./services/video/photonvision.nix
|
||||
./services/video/mediamtx.nix
|
||||
./services/video/ustreamer.nix
|
||||
./services/video/v4l2-relayd.nix
|
||||
./services/video/wivrn.nix
|
||||
./services/wayland/cage.nix
|
||||
|
||||
@@ -64,10 +64,10 @@ in
|
||||
whisparr = {
|
||||
group = cfg.group;
|
||||
home = cfg.dataDir;
|
||||
uid = config.ids.uids.whisparr;
|
||||
isSystemUser = true;
|
||||
};
|
||||
};
|
||||
|
||||
users.groups = lib.mkIf (cfg.group == "whisparr") { whisparr.gid = config.ids.gids.whisparr; };
|
||||
users.groups.whisparr = lib.mkIf (cfg.group == "whisparr") { };
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
utils,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
getExe
|
||||
mkEnableOption
|
||||
mkIf
|
||||
mkOption
|
||||
mkPackageOption
|
||||
optionals
|
||||
types
|
||||
;
|
||||
|
||||
cfg = config.services.ustreamer;
|
||||
in
|
||||
{
|
||||
options.services.ustreamer = {
|
||||
enable = mkEnableOption "µStreamer, a lightweight MJPEG-HTTP streamer";
|
||||
|
||||
package = mkPackageOption pkgs "ustreamer" { };
|
||||
|
||||
autoStart = mkOption {
|
||||
description = ''
|
||||
Wether to start µStreamer on boot. Disabling this will use socket
|
||||
activation. The service will stop gracefully after some inactivity.
|
||||
Disabling this will set `--exit-on-no-clients=300`
|
||||
'';
|
||||
type = types.bool;
|
||||
default = true;
|
||||
example = false;
|
||||
};
|
||||
|
||||
listenAddress = mkOption {
|
||||
description = ''
|
||||
Address to expose the HTTP server. This accepts values for
|
||||
ListenStream= defined in {manpage}`systemd.socket(5)`
|
||||
'';
|
||||
type = types.str;
|
||||
default = "0.0.0.0:8080";
|
||||
example = "/run/ustreamer.sock";
|
||||
};
|
||||
|
||||
device = mkOption {
|
||||
description = ''
|
||||
The v4l2 device to stream.
|
||||
'';
|
||||
type = types.path;
|
||||
default = "/dev/video0";
|
||||
example = "/dev/v4l/by-id/usb-0000_Dummy_abcdef-video-index0";
|
||||
};
|
||||
|
||||
extraArgs = mkOption {
|
||||
description = ''
|
||||
Extra arguments to pass to `ustreamer`. See {manpage}`ustreamer(1)`
|
||||
'';
|
||||
type = with types; listOf str;
|
||||
default = [ ];
|
||||
example = [ "--resolution=1920x1080" ];
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.ustreamer.extraArgs =
|
||||
[
|
||||
"--device=${cfg.device}"
|
||||
]
|
||||
++ optionals (!cfg.autoStart) [
|
||||
"--exit-on-no-clients=300"
|
||||
];
|
||||
|
||||
systemd.services."ustreamer" = {
|
||||
description = "µStreamer, a lightweight MJPEG-HTTP streamer";
|
||||
after = [ "network.target" ];
|
||||
requires = [ "ustreamer.socket" ];
|
||||
wantedBy = mkIf cfg.autoStart [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = utils.escapeSystemdExecArgs (
|
||||
[
|
||||
(getExe cfg.package)
|
||||
"--systemd"
|
||||
]
|
||||
++ cfg.extraArgs
|
||||
);
|
||||
Restart = if cfg.autoStart then "always" else "on-failure";
|
||||
|
||||
DynamicUser = true;
|
||||
SupplementaryGroups = [ "video" ];
|
||||
|
||||
NoNewPrivileges = true;
|
||||
ProcSubset = "pid";
|
||||
ProtectProc = "noaccess";
|
||||
ProtectClock = "yes";
|
||||
DeviceAllow = [ cfg.device ];
|
||||
};
|
||||
};
|
||||
|
||||
systemd.sockets."ustreamer" = {
|
||||
wantedBy = [ "sockets.target" ];
|
||||
partOf = [ "ustreamer.service" ];
|
||||
socketConfig = {
|
||||
ListenStream = cfg.listenAddress;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -5,29 +5,18 @@ let
|
||||
|
||||
inherit (lib) mkOption types;
|
||||
|
||||
podmanPackage = pkgs.podman.override {
|
||||
extraPackages = cfg.extraPackages ++ [
|
||||
"/run/wrappers" # setuid shadow
|
||||
config.systemd.package # To allow systemd-based container healthchecks
|
||||
] ++ lib.optional (config.boot.supportedFilesystems.zfs or false) config.boot.zfs.package;
|
||||
extraRuntimes = [ pkgs.runc ]
|
||||
++ lib.optionals (config.virtualisation.containers.containersConf.settings.network.default_rootless_network_cmd or "" == "slirp4netns") (with pkgs; [
|
||||
slirp4netns
|
||||
]);
|
||||
};
|
||||
|
||||
# Provides a fake "docker" binary mapping to podman
|
||||
dockerCompat = pkgs.runCommand "${podmanPackage.pname}-docker-compat-${podmanPackage.version}"
|
||||
dockerCompat = pkgs.runCommand "${cfg.package.pname}-docker-compat-${cfg.package.version}"
|
||||
{
|
||||
outputs = [ "out" "man" ];
|
||||
inherit (podmanPackage) meta;
|
||||
inherit (cfg.package) meta;
|
||||
preferLocalBuild = true;
|
||||
} ''
|
||||
mkdir -p $out/bin
|
||||
ln -s ${podmanPackage}/bin/podman $out/bin/docker
|
||||
ln -s ${cfg.package}/bin/podman $out/bin/docker
|
||||
|
||||
mkdir -p $man/share/man/man1
|
||||
for f in ${podmanPackage.man}/share/man/man1/*; do
|
||||
for f in ${cfg.package.man}/share/man/man1/*; do
|
||||
basename=$(basename $f | sed s/podman/docker/g)
|
||||
ln -s $f $man/share/man/man1/$basename
|
||||
done
|
||||
@@ -137,13 +126,21 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
package = lib.mkOption {
|
||||
type = types.package;
|
||||
default = podmanPackage;
|
||||
internal = true;
|
||||
description = ''
|
||||
The final Podman package (including extra packages).
|
||||
package = (lib.mkPackageOption pkgs "podman" {
|
||||
extraDescription = ''
|
||||
This package will automatically include extra packages and runtimes.
|
||||
'';
|
||||
}) // {
|
||||
apply = pkg: pkg.override {
|
||||
extraPackages = cfg.extraPackages ++ [
|
||||
"/run/wrappers" # setuid shadow
|
||||
config.systemd.package # To allow systemd-based container healthchecks
|
||||
] ++ lib.optional (config.boot.supportedFilesystems.zfs or false) config.boot.zfs.package;
|
||||
extraRuntimes = [ pkgs.runc ]
|
||||
++ lib.optionals (config.virtualisation.containers.containersConf.settings.network.default_rootless_network_cmd or "" == "slirp4netns") (with pkgs; [
|
||||
slirp4netns
|
||||
]);
|
||||
};
|
||||
};
|
||||
|
||||
defaultNetwork.settings = lib.mkOption {
|
||||
|
||||
@@ -46,22 +46,13 @@ import ./make-test-python.nix (
|
||||
'';
|
||||
in
|
||||
{
|
||||
environment.systemPackages = [ pkgs.ustreamer ];
|
||||
networking.firewall.enable = false;
|
||||
systemd.services.ustreamer = {
|
||||
description = "ustreamer service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
DynamicUser = true;
|
||||
ExecStart = "${pkgs.ustreamer}/bin/ustreamer --host=0.0.0.0 --port 8000 --device /dev/video9 --device-timeout=8";
|
||||
PrivateTmp = true;
|
||||
BindReadOnlyPaths = "/dev/video9";
|
||||
SupplementaryGroups = [
|
||||
"video"
|
||||
];
|
||||
Restart = "always";
|
||||
};
|
||||
services.ustreamer = {
|
||||
enable = true;
|
||||
device = "/dev/video9";
|
||||
extraArgs = [ "--device-timeout=8" ];
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ 8080 ];
|
||||
|
||||
boot.extraModulePackages = [ config.boot.kernelPackages.akvcam ];
|
||||
boot.kernelModules = [ "akvcam" ];
|
||||
boot.extraModprobeConfig = ''
|
||||
@@ -74,10 +65,10 @@ import ./make-test-python.nix (
|
||||
start_all()
|
||||
|
||||
camera.wait_for_unit("ustreamer.service")
|
||||
camera.wait_for_open_port(8000)
|
||||
camera.wait_for_open_port(8080)
|
||||
|
||||
client.wait_for_unit("multi-user.target")
|
||||
client.succeed("curl http://camera:8000")
|
||||
client.succeed("curl http://camera:8080")
|
||||
'';
|
||||
}
|
||||
)
|
||||
|
||||
@@ -1381,10 +1381,10 @@ in
|
||||
dependencies = [ self.vim-floaterm ];
|
||||
};
|
||||
|
||||
lightline-bufferline = super.lightline-bufferline.overrideAttrs {
|
||||
lightline-bufferline = super.lightline-bufferline.overrideAttrs (oa: {
|
||||
# Requires web-devicons but mini.icons can mock them up
|
||||
nativeCheckInputs = [ self.nvim-web-devicons ];
|
||||
};
|
||||
nativeCheckInputs = oa.nativeCheckInputs ++ [ self.nvim-web-devicons ];
|
||||
});
|
||||
|
||||
lir-nvim = super.lir-nvim.overrideAttrs {
|
||||
dependencies = [ self.plenary-nvim ];
|
||||
@@ -2118,10 +2118,10 @@ in
|
||||
];
|
||||
};
|
||||
|
||||
nvim-nonicons = super.nvim-nonicons.overrideAttrs {
|
||||
nvim-nonicons = super.nvim-nonicons.overrideAttrs (oa: {
|
||||
# Requires web-devicons but mini.icons can mock them up
|
||||
nativeCheckInputs = [ self.nvim-web-devicons ];
|
||||
};
|
||||
nativeCheckInputs = oa.nativeCheckInputs ++ [ self.nvim-web-devicons ];
|
||||
});
|
||||
|
||||
nvim-nu = super.nvim-nu.overrideAttrs {
|
||||
dependencies = with self; [
|
||||
|
||||
@@ -12,25 +12,26 @@ in
|
||||
{
|
||||
guiStable = mkGui {
|
||||
channel = "stable";
|
||||
version = "2.2.50";
|
||||
hash = "sha256-A6aLp/fN/0u5VIOX6d0QrZ2zWuNPvhI1xfw7cKU9jRA=";
|
||||
version = "2.2.51";
|
||||
hash = "sha256-HXuhaJEcr33qYm2v/wFqnO7Ba4lyZgSzvh6dkNZX9XI=";
|
||||
};
|
||||
|
||||
guiPreview = mkGui {
|
||||
channel = "stable";
|
||||
version = "2.2.50";
|
||||
hash = "sha256-A6aLp/fN/0u5VIOX6d0QrZ2zWuNPvhI1xfw7cKU9jRA=";
|
||||
version = "2.2.51";
|
||||
hash = "sha256-HXuhaJEcr33qYm2v/wFqnO7Ba4lyZgSzvh6dkNZX9XI=";
|
||||
};
|
||||
|
||||
serverStable = mkServer {
|
||||
channel = "stable";
|
||||
version = "2.2.50";
|
||||
hash = "sha256-m5Od3IPn31JaFOtilKh79aISH4lRd+KatSLRqsF8n4Y=";
|
||||
version = "2.2.51";
|
||||
hash = "sha256-Yw6RvHZzVU2wWXVxvuIu7GLFyqjakwqJ0EV6H0ZdVcQ=";
|
||||
};
|
||||
|
||||
serverPreview = mkServer {
|
||||
channel = "stable";
|
||||
version = "2.2.50";
|
||||
hash = "sha256-m5Od3IPn31JaFOtilKh79aISH4lRd+KatSLRqsF8n4Y=";
|
||||
version = "2.2.51";
|
||||
hash = "sha256-Yw6RvHZzVU2wWXVxvuIu7GLFyqjakwqJ0EV6H0ZdVcQ=";
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -56,16 +56,6 @@ assert lib.assertMsg (xenSupport -> hostCpuTargets == [ "i386-softmmu" ]) "Xen s
|
||||
|
||||
let
|
||||
hexagonSupport = hostCpuTargets == null || lib.elem "hexagon" hostCpuTargets;
|
||||
|
||||
buildPlatformStdenv =
|
||||
if stdenv.buildPlatform.isDarwin then
|
||||
overrideSDK buildPackages.stdenv {
|
||||
# Keep these values in sync with `all-packages.nix`.
|
||||
darwinSdkVersion = "12.3";
|
||||
darwinMinVersion = "12.0";
|
||||
}
|
||||
else
|
||||
buildPackages.stdenv;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -82,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-+FnwvGXh9TPQQLvoySvP7O5a8skhpmh8ZS+0TQib2JQ=";
|
||||
};
|
||||
|
||||
depsBuildBuild = [ buildPlatformStdenv.cc ]
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ]
|
||||
++ lib.optionals hexagonSupport [ pkg-config ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "acpica-tools";
|
||||
version = "R09_27_24";
|
||||
version = "R2024_12_12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "acpica";
|
||||
repo = "acpica";
|
||||
rev = "refs/tags/${finalAttrs.version}";
|
||||
hash = "sha256-kjdSCGa/2mmODX0gsY9JzSx9PJqYoKjtJTn8y4uduIQ=";
|
||||
hash = "sha256-vxiWYUAEk54F1M0WrrMTHZ4DNJxxT/GaXetd5LjE808=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -16,19 +16,19 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "edgedb";
|
||||
version = "6.0.2";
|
||||
version = "6.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "edgedb";
|
||||
repo = "edgedb-cli";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-P55LwByDVO3pEzg4OZldXiyli8s5oHvV8MXCDwkF2+8=";
|
||||
hash = "sha256-iB0ZWciEx/Xiq+pMg3nMJNHumoy5Z8dB6ev7UneHnVg=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit pname version src;
|
||||
hash = "sha256-oRtgORzp0tabPcyArPgG8LGfYlSPhpaeRPT9QWF5BGs=";
|
||||
hash = "sha256-oiDCUJamnl2ykvfs7V20dvr29ZAtSl+kZW4fzmlc1Ao=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -64,20 +64,20 @@ index 387561e..15448ad 100644
|
||||
static const int kMaxBuf = 256;
|
||||
|
||||
diff --git a/src/Controller/Src/Scanner/Engine.cpp b/src/Controller/Src/Scanner/Engine.cpp
|
||||
index 9489d4b..670bad9 100644
|
||||
index 8bd842e..d011329 100755
|
||||
--- a/src/Controller/Src/Scanner/Engine.cpp
|
||||
+++ b/src/Controller/Src/Scanner/Engine.cpp
|
||||
@@ -263,8 +263,8 @@ SDIError Engine::Open()
|
||||
//kill es2netif
|
||||
//kill es2intif
|
||||
|
||||
- system("killall -9 -q es2netif > /dev/null");
|
||||
- system("killall -9 -q es2intif > /dev/null");
|
||||
+ system("@KILLALL@ -9 -q es2netif > /dev/null");
|
||||
+ system("@KILLALL@ -9 -q es2intif > /dev/null");
|
||||
|
||||
if (engine_) {
|
||||
return ExchangeError(engine_->Open());
|
||||
@@ -210,8 +210,8 @@ bool Engine::InitWithDeviceInfoDict(const char *deviceInfo) {
|
||||
SDIError Engine::Open()
|
||||
{
|
||||
SDI_TRACE_LOG("Enter");
|
||||
- system("killall -9 -q es2netif > /dev/null");
|
||||
- system("killall -9 -q es2intif > /dev/null");
|
||||
+ system("@KILLALL@ -9 -q es2netif > /dev/null");
|
||||
+ system("@KILLALL@ -9 -q es2intif > /dev/null");
|
||||
if (engine_) {
|
||||
return ExchangeError(engine_->Open());
|
||||
}
|
||||
diff --git a/src/Standalone/CMakeLists.txt b/src/Standalone/CMakeLists.txt
|
||||
index eff3dd3..c2b3803 100644
|
||||
--- a/src/Standalone/CMakeLists.txt
|
||||
@@ -0,0 +1,37 @@
|
||||
diff --git a/thirdparty/zlib/gzlib.c b/thirdparty/zlib/gzlib.c
|
||||
index 4105e6a..eae3a38 100644
|
||||
--- a/thirdparty/zlib/gzlib.c
|
||||
+++ b/thirdparty/zlib/gzlib.c
|
||||
@@ -3,6 +3,7 @@
|
||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||
*/
|
||||
|
||||
+#include <unistd.h>
|
||||
#include "gzguts.h"
|
||||
|
||||
#if defined(_WIN32) && !defined(__BORLANDC__) && !defined(__MINGW32__)
|
||||
diff --git a/thirdparty/zlib/gzread.c b/thirdparty/zlib/gzread.c
|
||||
index 956b91e..66089b6 100644
|
||||
--- a/thirdparty/zlib/gzread.c
|
||||
+++ b/thirdparty/zlib/gzread.c
|
||||
@@ -3,6 +3,7 @@
|
||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||
*/
|
||||
|
||||
+#include <unistd.h>
|
||||
#include "gzguts.h"
|
||||
|
||||
/* Local functions */
|
||||
diff --git a/thirdparty/zlib/gzwrite.c b/thirdparty/zlib/gzwrite.c
|
||||
index c7b5651..e685f3e 100644
|
||||
--- a/thirdparty/zlib/gzwrite.c
|
||||
+++ b/thirdparty/zlib/gzwrite.c
|
||||
@@ -3,6 +3,7 @@
|
||||
* For conditions of distribution and use, see copyright notice in zlib.h
|
||||
*/
|
||||
|
||||
+#include <unistd.h>
|
||||
#include "gzguts.h"
|
||||
|
||||
/* Local functions */
|
||||
|
||||
@@ -25,26 +25,20 @@
|
||||
let
|
||||
pname = "epsonscan2";
|
||||
description = "Epson Scan 2 scanner driver for many modern Epson scanners and multifunction printers";
|
||||
version = "6.7.63.0";
|
||||
version = "6.7.70.0";
|
||||
|
||||
system = stdenv.hostPlatform.system;
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://download3.ebz.epson.net/dsc/f/03/00/15/17/69/0ef02802c476a6564f13cac929859c394f40326a/epsonscan2-6.7.63.0-1.src.tar.gz";
|
||||
hash = "sha256-ZLnbIk0I7g6ext5anPD+/lD4qNlk6f2fL0xdIWLcfbY=";
|
||||
url = "https://download3.ebz.epson.net/dsc/f/03/00/16/14/37/7577ee65efdad48ee2d2f38d9eda75418e490552/epsonscan2-6.7.70.0-1.src.tar.gz";
|
||||
hash = "sha256-y7XGxrOpVou/ZSfUffV3qv+SsFFpTiU7pWvtfsiLZWc=";
|
||||
};
|
||||
bundle =
|
||||
{
|
||||
"i686-linux" = fetchzip {
|
||||
name = "${pname}-bundle";
|
||||
url = "https://download3.ebz.epson.net/dsc/f/03/00/15/17/67/ceae6a02aaa81cb61012899987fbb5ab891b6ab2/epsonscan2-bundle-6.7.63.0.i686.deb.tar.gz";
|
||||
hash = "sha256-h9beAzNdjOhTlZqW0rJbSQXGOpvFRGvTcWw0ZtOqiYY=";
|
||||
};
|
||||
|
||||
"x86_64-linux" = fetchzip {
|
||||
name = "${pname}-bundle";
|
||||
url = "https://download3.ebz.epson.net/dsc/f/03/00/15/17/68/050e5a55ed90f4efb4ca3bdd34e5797b149443ca/epsonscan2-bundle-6.7.63.0.x86_64.deb.tar.gz";
|
||||
hash = "sha256-+S17FfS2h4zZCvE6W+yZvdJb6+OWYTt0ZWCA+pe1NZc=";
|
||||
url = "https://download3.ebz.epson.net/dsc/f/03/00/16/14/38/7b1780ace96e2c6033bbb667c7f3ed281e4e9f38/epsonscan2-bundle-6.7.70.0.x86_64.deb.tar.gz";
|
||||
hash = "sha256-fPNNFgW/VU/YG+jjmSvPZ0WsHibsXY1TNp164GxLHKw=";
|
||||
};
|
||||
}
|
||||
."${system}" or (throw "Unsupported system: ${system}");
|
||||
@@ -55,26 +49,29 @@ stdenv.mkDerivation {
|
||||
|
||||
patches = [
|
||||
./build.patch
|
||||
./gcc14.patch
|
||||
(fetchpatch {
|
||||
url = "https://github.com/flathub/net.epson.epsonscan2/raw/master/patches/epsonscan2-crash.patch";
|
||||
hash = "sha256-srMxlFfnZuJ3ed5veFcJIiZuW27F/3xOS0yr4ywn4FI=";
|
||||
url = "https://raw.githubusercontent.com/flathub/net.epson.epsonscan2/a489ac2f8cbd03afeda86673930cc17663c31a53/patches/0002-Fix-crash.patch";
|
||||
hash = "sha256-rNsFnHq//CJcIZl0M6RLRkIY3YhnJZbikO8SeeC2ktg=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/flathub/net.epson.epsonscan2/master/patches/epsonscan2-oob-container.patch";
|
||||
hash = "sha256-FhXZT0bIBYwdFow2USRJl8Q7j2eqpq98Hh0lHFQlUQY=";
|
||||
url = "https://raw.githubusercontent.com/flathub/net.epson.epsonscan2/a489ac2f8cbd03afeda86673930cc17663c31a53/patches/0004-Fix-a-crash-on-an-OOB-container-access.patch";
|
||||
hash = "sha256-WmA8pmPSJ1xUdeBbE8Jzi6w9p96aIOm0erF3T4EQ6VA=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/flathub/net.epson.epsonscan2/master/patches/epsonscan2-xdg-open.patch";
|
||||
hash = "sha256-4ih3vZjPwWiiAxKfpLIwbbsk1K2oXSuxGbT5PVwfUsc=";
|
||||
url = "https://raw.githubusercontent.com/flathub/net.epson.epsonscan2/a489ac2f8cbd03afeda86673930cc17663c31a53/patches/0003-Use-XDG-open-to-open-the-directory.patch";
|
||||
hash = "sha256-H3lle1SXkkpbBkozYEwiX0z9oTUubTpB+l91utxH03M=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
rm CMakeCache.txt
|
||||
|
||||
substituteInPlace src/Controller/Src/Scanner/Engine.cpp \
|
||||
--replace '@KILLALL@' ${killall}/bin/killall
|
||||
--replace-fail '@KILLALL@' ${killall}/bin/killall
|
||||
|
||||
substituteInPlace src/Controller/Src/Filter/GetOrientation.cpp \
|
||||
--replace '@OCR_ENGINE_GETROTATE@' $out/libexec/epsonscan2-ocr/ocr-engine-getrotate
|
||||
--replace-fail '@OCR_ENGINE_GETROTATE@' $out/libexec/epsonscan2-ocr/ocr-engine-getrotate
|
||||
'';
|
||||
|
||||
nativeBuildInputs =
|
||||
@@ -127,8 +124,8 @@ stdenv.mkDerivation {
|
||||
+ lib.optionalString withGui ''
|
||||
# The icon file extension is .ico but it's actually a png!
|
||||
mkdir -p $out/share/icons/hicolor/{48x48,128x128}/apps
|
||||
convert $src/Resources/Icons/escan2_app.ico -resize 48x48 $out/share/icons/hicolor/48x48/apps/epsonscan2.png
|
||||
convert $src/Resources/Icons/escan2_app.ico -resize 128x128 $out/share/icons/hicolor/128x128/apps/epsonscan2.png
|
||||
magick $src/Resources/Icons/escan2_app.ico -resize 48x48 -delete 1,2,3 $out/share/icons/hicolor/48x48/apps/epsonscan2.png
|
||||
magick $src/Resources/Icons/escan2_app.ico -resize 128x128 -delete 1,2,3 $out/share/icons/hicolor/128x128/apps/epsonscan2.png
|
||||
''
|
||||
+ lib.optionalString withNonFreePlugins ''
|
||||
ar xf ${bundle}/plugins/epsonscan2-non-free-plugin_*.deb
|
||||
@@ -170,10 +167,7 @@ stdenv.mkDerivation {
|
||||
</literal>
|
||||
'';
|
||||
homepage = "https://support.epson.net/linux/en/epsonscan2.php";
|
||||
platforms = [
|
||||
"i686-linux"
|
||||
"x86_64-linux"
|
||||
];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
sourceProvenance =
|
||||
with lib.sourceTypes;
|
||||
[ fromSource ] ++ lib.optionals withNonFreePlugins [ binaryNativeCode ];
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
let
|
||||
pname = "jwtinfo";
|
||||
version = "0.4.4";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lmammino";
|
||||
repo = "jwtinfo";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-FDN9K7KnMro2BluHB7I0HTDdT9YXxi8UcOoBhKx/5dA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-iGvwuLiF8yGb4IxBxGH0M79SlNqZ5lpsXTNiVT7VGrU=";
|
||||
|
||||
meta = {
|
||||
description = "Command-line tool to get information about JWTs";
|
||||
homepage = "https://github.com/lmammino/jwtinfo";
|
||||
changelog = "https://github.com/lmammino/jwtinfo/releases/tag/v${version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ luftmensch-luftmensch ];
|
||||
mainProgram = "jwtinfo";
|
||||
};
|
||||
}
|
||||
@@ -20,16 +20,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mise";
|
||||
version = "2024.12.6";
|
||||
version = "2024.12.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jdx";
|
||||
repo = "mise";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-VAevON40XWME9L4dHCuatg0ngzNBnhMUy9OAXPdJJdk=";
|
||||
hash = "sha256-kdI7GEtUlVUJYN7ch8RjG1aWBMDkvLkdUGfyqWv4yAQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-fmvQNmMk6QMsPRUwLnqSNuJikH0QMNjA088Kb7TzUZ4=";
|
||||
cargoHash = "sha256-7ORbX2rWZ4tuf7qQo5lwTpHGFNCpo8R5ywJDdBjZcMU=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -18,18 +18,18 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "n8n";
|
||||
version = "1.70.1";
|
||||
version = "1.72.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "n8n-io";
|
||||
repo = "n8n";
|
||||
rev = "n8n@${finalAttrs.version}";
|
||||
hash = "sha256-acbC6MO2wM9NsjqUqcs8jPNHfBg/P0wEYF5MxbnFhQQ=";
|
||||
hash = "sha256-GIA2y81nuKWe1zuZQ99oczQtQWStyT1Qh3bZ1oe8me4=";
|
||||
};
|
||||
|
||||
pnpmDeps = pnpm.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-h2hIOVK9H5OlyhyyoRs113CbE4z4SIxVVPha0Ia9I4A=";
|
||||
hash = "sha256-riuN7o+uUXS5G7fMgE7cZhGWHZtGwSHm4CP7G46R5Cw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,18 +1,20 @@
|
||||
{
|
||||
stdenvNoCC,
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchFromGitHub,
|
||||
gitUpdater,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "pfetch";
|
||||
version = "0.6.0";
|
||||
version = "1.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dylanaraps";
|
||||
owner = "Un1q32";
|
||||
repo = "pfetch";
|
||||
rev = version;
|
||||
sha256 = "06z0k1naw3k052p2z7241lx92rp5m07zlr0alx8pdm6mkc3c4v8f";
|
||||
tag = version;
|
||||
hash = "sha256-omI1Y1UKxSkg1QUd/GHHuGBwxfNOtxqYpzPbJdG7j3A=";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
@@ -21,12 +23,26 @@ stdenvNoCC.mkDerivation rec {
|
||||
install -Dm755 -t $out/bin pfetch
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
versionCheckProgramArg = [ "--version" ];
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = gitUpdater { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Pretty system information tool written in POSIX sh";
|
||||
homepage = "https://github.com/dylanaraps/pfetch";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ equirosa ];
|
||||
homepage = "https://github.com/Un1q32/pfetch";
|
||||
changelog = "https://github.com/Un1q32/pfetch/releases/tag/${version}";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = with lib.maintainers; [
|
||||
equirosa
|
||||
phanirithvij
|
||||
];
|
||||
mainProgram = "pfetch";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch2,
|
||||
pkg-config,
|
||||
installShellFiles,
|
||||
buildGoModule,
|
||||
@@ -91,6 +92,15 @@ buildGoModule rec {
|
||||
|
||||
# we intentionally don't build and install the helper so we shouldn't display messages to users about it
|
||||
./rm-podman-mac-helper-msg.patch
|
||||
|
||||
# backport of fix for https://github.com/containers/storage/issues/2184
|
||||
# https://github.com/containers/storage/pull/2185
|
||||
(fetchpatch2 {
|
||||
url = "https://github.com/containers/storage/commit/99b0d2d423c8093807d8a1464437152cd04d7d95.diff?full_index=1";
|
||||
hash = "sha256-aahYXnDf3qCOlb6MfVDqFKCcQG257r5sbh5qnL0T40I=";
|
||||
stripLen = 1;
|
||||
extraPrefix = "vendor/github.com/containers/storage/";
|
||||
})
|
||||
];
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication {
|
||||
pname = "renode-dts2repl";
|
||||
version = "0-unstable-2024-12-12";
|
||||
version = "0-unstable-2024-12-20";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "antmicro";
|
||||
repo = "dts2repl";
|
||||
rev = "7030a464003fedd3960f3a9d7810dc9c27d8f11a";
|
||||
hash = "sha256-saRVU7PPrceoro/vYNRDpfdmghDCWQn2CAukHT5aQcc=";
|
||||
rev = "323cc41b6864e53cb1b99bf909c779b739a8fccb";
|
||||
hash = "sha256-CYgQ5CMVkHqOEPPaG74GVNhm8pa6ZpAtt54JrrDn+2M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "rmpc";
|
||||
version = "0.6.0";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mierak";
|
||||
repo = "rmpc";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-hQhcNeGNxUxJ9hO/ukmt6V8V8zQHQLvejeu692pKTwg=";
|
||||
hash = "sha256-IgkYUl1ccwzFgooqZGxmpJFzACEz3wmblostPsTnzSQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Y+NmBAcp6lu1dmMo1Gpozmm/YvNYM7mUAvU2C7iO0ew=";
|
||||
cargoHash = "sha256-dNmHgPjZL+33kgA04+KQj42LrSXAFVQukml1Wy/HpHQ=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
fetchpatch,
|
||||
fetchurl,
|
||||
fluidsynth,
|
||||
libmikmod,
|
||||
libopenmpt-modplug,
|
||||
libogg,
|
||||
libvorbis,
|
||||
pkg-config,
|
||||
@@ -63,6 +63,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
})
|
||||
];
|
||||
|
||||
# Fix location of modplug header
|
||||
postPatch = ''
|
||||
substituteInPlace music_modplug.h \
|
||||
--replace-fail '#include "modplug.h"' '#include <libmodplug/modplug.h>'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
SDL
|
||||
pkg-config
|
||||
@@ -72,7 +78,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
buildInputs = [
|
||||
SDL
|
||||
fluidsynth
|
||||
libmikmod
|
||||
libopenmpt-modplug
|
||||
libogg
|
||||
libvorbis
|
||||
smpeg
|
||||
@@ -81,6 +87,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
configureFlags = [
|
||||
(lib.enableFeature false "music-ogg-shared")
|
||||
(lib.enableFeature false "music-mod-shared")
|
||||
(lib.enableFeature true "music-mod-modplug")
|
||||
(lib.enableFeature enableNativeMidi "music-native-midi-gpl")
|
||||
(lib.enableFeature enableSdltest "sdltest")
|
||||
(lib.enableFeature enableSmpegtest "smpegtest")
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "simdutf";
|
||||
version = "5.6.4";
|
||||
version = "5.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "simdutf";
|
||||
repo = "simdutf";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-5MsNKsqHc4L2hCQW/LuJxKUmye6UV/IUEEMlRRMl2b8=";
|
||||
hash = "sha256-CrWFs8fjgkvElbsvfS3jOyk1G+fBQB1lt63EvU6p11c=";
|
||||
};
|
||||
|
||||
# Fix build on darwin
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "temporal";
|
||||
version = "1.25.2";
|
||||
version = "1.26.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "temporalio";
|
||||
repo = "temporal";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-+h/F2OjOD68WEblccl6SsfCkk4Ql53QvK9OIMfIS9Gg=";
|
||||
hash = "sha256-tyMR0LpZDa1QbSe/Ba8fBhtRc8ZI+gwayfi7ZKDa8gI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Xvh1dDUV8Eb/n8zugdkACGMsA+75wM8uQUwq4j1W1Zw=";
|
||||
vendorHash = "sha256-Ljx0LocoowYwqy7MIumGnOcUwxpy+EY5rdTEehIq8Yo=";
|
||||
|
||||
excludedPackages = [ "./build" ];
|
||||
|
||||
|
||||
@@ -14,17 +14,20 @@
|
||||
jansson,
|
||||
libopus,
|
||||
nixosTests,
|
||||
systemdLibs,
|
||||
which,
|
||||
withSystemd ? true,
|
||||
withJanus ? true,
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ustreamer";
|
||||
version = "6.12";
|
||||
version = "6.18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pikvm";
|
||||
repo = "ustreamer";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-iaCgPHgklk7tbhJhQmyjKggb1bMWBD+Zurgfk9sCQ3E=";
|
||||
hash = "sha256-VzhTfr0Swrv3jZUvBYYy5l0+iSokIztpeyA1CuG/roY=";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
@@ -34,6 +37,9 @@ stdenv.mkDerivation rec {
|
||||
libjpeg
|
||||
libdrm
|
||||
]
|
||||
++ lib.optionals withSystemd [
|
||||
systemdLibs
|
||||
]
|
||||
++ lib.optionals withJanus [
|
||||
janus-gateway
|
||||
glib
|
||||
@@ -43,13 +49,19 @@ stdenv.mkDerivation rec {
|
||||
libopus
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
which
|
||||
];
|
||||
|
||||
makeFlags =
|
||||
[
|
||||
"PREFIX=${placeholder "out"}"
|
||||
"WITH_V4P=1"
|
||||
]
|
||||
++ lib.optionals withSystemd [
|
||||
"WITH_SYSTEMD=1"
|
||||
]
|
||||
++ lib.optionals withJanus [
|
||||
"WITH_JANUS=1"
|
||||
# Workaround issues with Janus C Headers
|
||||
@@ -77,5 +89,6 @@ stdenv.mkDerivation rec {
|
||||
matthewcroughan
|
||||
];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "ustreamer";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "uxplay";
|
||||
version = "1.70";
|
||||
version = "1.71.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FDH2";
|
||||
repo = "UxPlay";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-5nKkQxoLe7g+fw65uVG0kiJHAEBB5B562bT3Smck1iA=";
|
||||
hash = "sha256-qb/oYTScbHypwyo+znhDw8Mz5u+uhM8Jn6Gff3JK+Bc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "vault-ssh-plus";
|
||||
version = "0.7.6";
|
||||
version = "0.7.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "isometry";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-bP1edeJj3BXsXZJn7/71AVMEnHvMi8jB4eNc5cpfxyE=";
|
||||
hash = "sha256-l2Gr4AxikPWbSGeZqmkZa1wTRXNZ0l6fTSAcjl+6P8s=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Xfan2UykDkmndePiyaHpQ050McAreOq0VmDxAm+2K9A=";
|
||||
vendorHash = "sha256-AYScvuhsK6GUzOhONBl1C89yvu85SntoW7CxCr7wWmo=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
diff --git a/toolchain/gcc_toolchain.gni b/toolchain/gcc_toolchain.gni
|
||||
index 80e2a362a..df138c87b 100644
|
||||
--- a/build/toolchain/gcc_toolchain.gni
|
||||
+++ b/build/toolchain/gcc_toolchain.gni
|
||||
@@ -355,6 +355,8 @@ template("gcc_toolchain") {
|
||||
# AIX does not support either -D (deterministic output) or response
|
||||
# files.
|
||||
command = "$ar -X64 {{arflags}} -r -c -s {{output}} {{inputs}}"
|
||||
+ } else if (current_os == "mac") {
|
||||
+ command = "$ar {{arflags}} -r -c -s {{output}} {{inputs}}"
|
||||
} else {
|
||||
rspfile = "{{output}}.rsp"
|
||||
rspfile_content = "{{inputs}}"
|
||||
@@ -546,7 +548,7 @@ template("gcc_toolchain") {
|
||||
|
||||
start_group_flag = ""
|
||||
end_group_flag = ""
|
||||
- if (current_os != "aix") {
|
||||
+ if (current_os != "aix" && current_os != "mac") {
|
||||
# the "--start-group .. --end-group" feature isn't available on the aix ld.
|
||||
start_group_flag = "-Wl,--start-group"
|
||||
end_group_flag = "-Wl,--end-group "
|
||||
@@ -1,226 +0,0 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchgit,
|
||||
gn,
|
||||
ninja,
|
||||
python3,
|
||||
glib,
|
||||
pkg-config,
|
||||
icu,
|
||||
xcbuild,
|
||||
fetchpatch,
|
||||
llvmPackages,
|
||||
symlinkJoin,
|
||||
}:
|
||||
|
||||
# Use update.sh to update all checksums.
|
||||
|
||||
let
|
||||
version = "9.7.106.18";
|
||||
v8Src = fetchgit {
|
||||
url = "https://chromium.googlesource.com/v8/v8";
|
||||
rev = version;
|
||||
sha256 = "0cb3w733w1xn6zq9dsr43nx6llcg9hrmb2dkxairarj9c0igpzyh";
|
||||
};
|
||||
|
||||
git_url = "https://chromium.googlesource.com";
|
||||
|
||||
# This data is from the DEPS file in the root of a V8 checkout.
|
||||
deps = {
|
||||
"base/trace_event/common" = fetchgit {
|
||||
url = "${git_url}/chromium/src/base/trace_event/common.git";
|
||||
rev = "7f36dbc19d31e2aad895c60261ca8f726442bfbb";
|
||||
sha256 = "01b2fhbxznqbakxv42ivrzg6w8l7i9yrd9nf72d6p5xx9dm993j4";
|
||||
};
|
||||
"build" = fetchgit {
|
||||
url = "${git_url}/chromium/src/build.git";
|
||||
rev = "cf325916d58a194a935c26a56fcf6b525d1e2bf4";
|
||||
sha256 = "1ix4h1cpx9bvgln8590xh7lllhsd9w1hd5k9l1gx5yxxrmywd3s4";
|
||||
};
|
||||
"third_party/googletest/src" = fetchgit {
|
||||
url = "${git_url}/external/github.com/google/googletest.git";
|
||||
rev = "16f637fbf4ffc3f7a01fa4eceb7906634565242f";
|
||||
sha256 = "11012k3c3mxzdwcw2iparr9lrckafpyhqzclsj26hmfbgbdi0rrh";
|
||||
};
|
||||
"third_party/icu" = fetchgit {
|
||||
url = "${git_url}/chromium/deps/icu.git";
|
||||
rev = "eedbaf76e49d28465d9119b10c30b82906e606ff";
|
||||
sha256 = "0mppvx7wf9zlqjsfaa1cf06brh1fjb6nmiib0lhbb9hd55mqjdjj";
|
||||
};
|
||||
"third_party/zlib" = fetchgit {
|
||||
url = "${git_url}/chromium/src/third_party/zlib.git";
|
||||
rev = "6da1d53b97c89b07e47714d88cab61f1ce003c68";
|
||||
sha256 = "0v7ylmbwfwv6w6wp29qdf77kjjnfr2xzin08n0v1yvbhs01h5ppy";
|
||||
};
|
||||
"third_party/jinja2" = fetchgit {
|
||||
url = "${git_url}/chromium/src/third_party/jinja2.git";
|
||||
rev = "ee69aa00ee8536f61db6a451f3858745cf587de6";
|
||||
sha256 = "1fsnd5h0gisfp8bdsfd81kk5v4mkqf8z368c7qlm1qcwc4ri4x7a";
|
||||
};
|
||||
"third_party/markupsafe" = fetchgit {
|
||||
url = "${git_url}/chromium/src/third_party/markupsafe.git";
|
||||
rev = "1b882ef6372b58bfd55a3285f37ed801be9137cd";
|
||||
sha256 = "1jnjidbh03lhfaawimkjxbprmsgz4snr0jl06630dyd41zkdw5kr";
|
||||
};
|
||||
};
|
||||
|
||||
# See `gn_version` in DEPS.
|
||||
gnSrc = fetchgit {
|
||||
url = "https://gn.googlesource.com/gn";
|
||||
rev = "8926696a4186279489cc2b8d768533e61bba73d7";
|
||||
sha256 = "1084lnyb0a1khbgjvak05fcx6jy973wqvsf77n0alxjys18sg2yk";
|
||||
};
|
||||
|
||||
myGn = gn.overrideAttrs (oldAttrs: {
|
||||
version = "for-v8";
|
||||
src = gnSrc;
|
||||
});
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "v8";
|
||||
inherit version;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
patches = [
|
||||
./darwin.patch
|
||||
|
||||
# gcc-13 build fix for mixxign <cstdint> includes
|
||||
(fetchpatch {
|
||||
name = "gcc-13.patch";
|
||||
url = "https://chromium.googlesource.com/v8/v8/+/c2792e58035fcbaa16d0cb70998852fbeb5df4cc^!?format=TEXT";
|
||||
decode = "base64 -d";
|
||||
hash = "sha256-hoPAkSaCmzXflPFXaKUwVPLECMpt6N6/8m8mBSTAHbU=";
|
||||
})
|
||||
];
|
||||
|
||||
src = v8Src;
|
||||
|
||||
postUnpack = ''
|
||||
${lib.concatStringsSep "\n" (
|
||||
lib.mapAttrsToList (n: v: ''
|
||||
mkdir -p $sourceRoot/${n}
|
||||
cp -r ${v}/* $sourceRoot/${n}
|
||||
'') deps
|
||||
)}
|
||||
chmod u+w -R .
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
${lib.optionalString stdenv.hostPlatform.isAarch64 ''
|
||||
substituteInPlace build/toolchain/linux/BUILD.gn \
|
||||
--replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""'
|
||||
''}
|
||||
${lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
substituteInPlace build/config/compiler/compiler.gni \
|
||||
--replace 'strip_absolute_paths_from_debug_symbols = true' \
|
||||
'strip_absolute_paths_from_debug_symbols = false'
|
||||
substituteInPlace build/config/compiler/BUILD.gn \
|
||||
--replace 'current_toolchain == host_toolchain || !use_xcode_clang' \
|
||||
'false'
|
||||
''}
|
||||
${lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
substituteInPlace build/config/compiler/BUILD.gn \
|
||||
--replace "-Wl,-fatal_warnings" ""
|
||||
''}
|
||||
touch build/config/gclient_args.gni
|
||||
sed '1i#include <utility>' -i src/heap/cppgc/prefinalizer-handler.h # gcc12
|
||||
'';
|
||||
|
||||
llvmCcAndBintools = symlinkJoin {
|
||||
name = "llvmCcAndBintools";
|
||||
paths = [
|
||||
stdenv.cc
|
||||
llvmPackages.llvm
|
||||
];
|
||||
};
|
||||
|
||||
gnFlags =
|
||||
[
|
||||
"use_custom_libcxx=false"
|
||||
"is_clang=${lib.boolToString stdenv.cc.isClang}"
|
||||
"use_sysroot=false"
|
||||
# "use_system_icu=true"
|
||||
"clang_use_chrome_plugins=false"
|
||||
"is_component_build=false"
|
||||
"v8_use_external_startup_data=false"
|
||||
"v8_monolithic=true"
|
||||
"is_debug=true"
|
||||
"is_official_build=false"
|
||||
"treat_warnings_as_errors=false"
|
||||
"v8_enable_i18n_support=true"
|
||||
"use_gold=false"
|
||||
# ''custom_toolchain="//build/toolchain/linux/unbundle:default"''
|
||||
''host_toolchain="//build/toolchain/linux/unbundle:default"''
|
||||
''v8_snapshot_toolchain="//build/toolchain/linux/unbundle:default"''
|
||||
]
|
||||
++ lib.optional stdenv.cc.isClang ''clang_base_path="${llvmCcAndBintools}"''
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin ''use_lld=false'';
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString (
|
||||
[
|
||||
"-O2"
|
||||
]
|
||||
++ lib.optionals stdenv.cc.isClang [
|
||||
"-Wno-error=enum-constexpr-conversion"
|
||||
]
|
||||
);
|
||||
FORCE_MAC_SDK_MIN = stdenv.hostPlatform.sdkVer or "10.12";
|
||||
|
||||
nativeBuildInputs =
|
||||
[
|
||||
myGn
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
xcbuild
|
||||
llvmPackages.llvm
|
||||
python3.pkgs.setuptools
|
||||
];
|
||||
buildInputs = [
|
||||
glib
|
||||
icu
|
||||
];
|
||||
|
||||
ninjaFlags = [
|
||||
":d8"
|
||||
"v8_monolith"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
installPhase = ''
|
||||
install -D d8 $out/bin/d8
|
||||
install -D -m644 obj/libv8_monolith.a $out/lib/libv8.a
|
||||
install -D -m644 icudtl.dat $out/share/v8/icudtl.dat
|
||||
ln -s libv8.a $out/lib/libv8_monolith.a
|
||||
cp -r ../../include $out
|
||||
|
||||
mkdir -p $out/lib/pkgconfig
|
||||
cat > $out/lib/pkgconfig/v8.pc << EOF
|
||||
Name: v8
|
||||
Description: V8 JavaScript Engine
|
||||
Version: ${version}
|
||||
Libs: -L$out/lib -lv8 -pthread
|
||||
Cflags: -I$out/include
|
||||
EOF
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://v8.dev/";
|
||||
description = "Google's open source JavaScript engine";
|
||||
mainProgram = "d8";
|
||||
maintainers = with maintainers; [
|
||||
proglodyte
|
||||
matthewbauer
|
||||
];
|
||||
platforms = platforms.unix;
|
||||
license = licenses.bsd3;
|
||||
knownVulnerabilities = [ "Severely outdated with multiple publicly known vulnerabilities" ];
|
||||
};
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p curl -p nix-prefetch-git -p jq
|
||||
VERSION_OVERVIEW=https://omahaproxy.appspot.com/all?os=linux
|
||||
TARGET_CHANNEL=stable
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
if [ -n "$1" ]; then
|
||||
v8_version="$1"
|
||||
shift
|
||||
else
|
||||
v8_version=$(curl -s "$VERSION_OVERVIEW" | awk -F "," "\$2 ~ /${TARGET_CHANNEL}/ { print \$11 }")
|
||||
fi
|
||||
|
||||
if [ -n "$1" ]; then
|
||||
file_path="$1"
|
||||
else
|
||||
file_path=default.nix
|
||||
fi
|
||||
|
||||
echo "Using V8 version --> $v8_version"
|
||||
|
||||
prefetched=$(nix-prefetch-git --no-deepClone https://chromium.googlesource.com/v8/v8 "refs/tags/${v8_version}")
|
||||
|
||||
path=$(echo "$prefetched" | jq -r .path)
|
||||
sha256=$(echo "$prefetched" | jq -r .sha256)
|
||||
sed -e "s#\\(version = \\)\"[0-9\.]*\"#\1\"$v8_version\"#" -i ${file_path}
|
||||
sed -e "/v8Src = fetchgit/ { n; n; n; s/\".*\"/\"${sha256}\"/ }" -i ${file_path}
|
||||
|
||||
deps="$path/DEPS"
|
||||
|
||||
echo "$deps"
|
||||
|
||||
echo "Processing gn"
|
||||
gn_rev=$(sed -ne "s/.*'gn_version': 'git_revision:\([^']*\).*/\1/p" < "$deps")
|
||||
gn_sha256=$(nix-prefetch-git --no-deepClone https://gn.googlesource.com/gn "$gn_rev" 2>/dev/null | jq -r .sha256)
|
||||
sed -e "/gnSrc = fetchgit/ { n; n; s/\".*\"/\"${gn_rev}\"/; n; s/\".*\"/\"${gn_sha256}\"/ }" -i ${file_path}
|
||||
|
||||
sed -ne '/" = fetchgit {/ { s/.*"\(.*\)".*/\1/; p }' < ${file_path} | while read dep; do
|
||||
echo "Processing dependency --> $dep"
|
||||
escaped_dep=$(echo "$dep" | sed -e 's#/#\\/#g')
|
||||
dep_rev=$(sed -ne "/'${escaped_dep}':/ { n; s#.*+ '##; s#'.*##; p }" "$deps")
|
||||
|
||||
if [ "$dep_rev" = "" ]; then
|
||||
echo "Failed to resolve dependency $dep, not listed in DEPS file"
|
||||
rm -f "$deps"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
repo_url=$(sed -ne "/\"${escaped_dep}\" = fetchgit/ { n; s/.*\"\(.*\)\".*/\1/; s#\${git_url}#https://chromium.googlesource.com#; p }" ${file_path})
|
||||
sha256=$(nix-prefetch-git --no-deepClone "$repo_url" "$dep_rev" 2>/dev/null | jq -r .sha256)
|
||||
|
||||
if [ "$sha256" = "" ]; then
|
||||
echo "Failed to get sha256 via nix-prefetch-git $repo_url $dep_rev"
|
||||
rm -f "$deps"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
sed -e "/\"${escaped_dep}\" = fetchgit/ { n; n; s/\".*\"/\"${dep_rev}\"/; n; s/\".*\"/\"${sha256}\"/ }" -i ${file_path}
|
||||
done
|
||||
|
||||
echo done.
|
||||
@@ -1,40 +1,51 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
|
||||
# Native build inputs
|
||||
, cmake
|
||||
, pkg-config
|
||||
, makeWrapper
|
||||
# Native build inputs
|
||||
cmake,
|
||||
pkg-config,
|
||||
makeWrapper,
|
||||
|
||||
# Dependencies
|
||||
, alsa-lib
|
||||
, freetype
|
||||
, curl
|
||||
, libglvnd
|
||||
, webkitgtk_4_0
|
||||
, pcre
|
||||
, darwin
|
||||
# Dependencies
|
||||
alsa-lib,
|
||||
freetype,
|
||||
curl,
|
||||
libglvnd,
|
||||
webkitgtk_4_0,
|
||||
pcre2,
|
||||
libsysprof-capture,
|
||||
util-linuxMinimal,
|
||||
libselinux,
|
||||
libsepol,
|
||||
libthai,
|
||||
libdatrie,
|
||||
libXdmcp,
|
||||
lerc,
|
||||
libxkbcommon,
|
||||
libepoxy,
|
||||
libXtst,
|
||||
sqlite,
|
||||
fontconfig,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "juce";
|
||||
version = "7.0.11";
|
||||
version = "8.0.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "juce-framework";
|
||||
repo = "juce";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-XFC+MYxUE3NatM2oYykiPJtiQLy33JD64VZFfZS2Tas=";
|
||||
hash = "sha256-iAueT+yHwUUHOzqfK5zXEZQ0GgOKJ9q9TyRrVfWdewc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "juce-6.1.2-cmake_install.patch";
|
||||
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/juce/-/raw/4e6d34034b102af3cd762a983cff5dfc09e44e91/juce-6.1.2-cmake_install.patch";
|
||||
hash = "sha256-fr2K/dH0Zam5QKS63zos7eq9QLwdr+bvQL5ZxScagVU=";
|
||||
})
|
||||
# Adapted from https://gitlab.archlinux.org/archlinux/packaging/packages/juce/-/raw/4e6d34034b102af3cd762a983cff5dfc09e44e91/juce-6.1.2-cmake_install.patch
|
||||
# for Juce 8.0.4.
|
||||
./juce-8.0.4-cmake_install.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -43,28 +54,42 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
freetype # libfreetype.so
|
||||
curl # libcurl.so
|
||||
(lib.getLib stdenv.cc.cc) # libstdc++.so libgcc_s.so
|
||||
pcre # libpcre2.pc
|
||||
] ++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
alsa-lib # libasound.so
|
||||
libglvnd # libGL.so
|
||||
webkitgtk_4_0 # webkit2gtk-4.0
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
darwin.apple_sdk.frameworks.Cocoa
|
||||
darwin.apple_sdk.frameworks.MetalKit
|
||||
darwin.apple_sdk.frameworks.WebKit
|
||||
];
|
||||
buildInputs =
|
||||
[
|
||||
freetype # libfreetype.so
|
||||
curl # libcurl.so
|
||||
(lib.getLib stdenv.cc.cc) # libstdc++.so libgcc_s.so
|
||||
pcre2 # libpcre2.pc
|
||||
libsysprof-capture
|
||||
libthai
|
||||
libdatrie
|
||||
lerc
|
||||
libepoxy
|
||||
sqlite
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
alsa-lib # libasound.so
|
||||
libglvnd # libGL.so
|
||||
webkitgtk_4_0 # webkit2gtk-4.0
|
||||
util-linuxMinimal
|
||||
libselinux
|
||||
libsepol
|
||||
libXdmcp
|
||||
libxkbcommon
|
||||
libXtst
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ fontconfig ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cross-platform C++ application framework";
|
||||
mainProgram = "juceaide";
|
||||
longDescription = "JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, RTAS and AAX audio plug-ins";
|
||||
homepage = "https://github.com/juce-framework/JUCE";
|
||||
longDescription = "Open-source cross-platform C++ application framework for creating desktop and mobile applications, including VST, VST3, AU, AUv3, AAX and LV2 audio plug-ins";
|
||||
homepage = "https://juce.com/";
|
||||
changelog = "https://github.com/juce-framework/JUCE/blob/${finalAttrs.version}/CHANGE_LIST.md";
|
||||
license = with licenses; [ isc gpl3Plus ];
|
||||
license = with licenses; [
|
||||
agpl3Only # Or alternatively the JUCE license, but that would not be included in nixpkgs then
|
||||
];
|
||||
maintainers = with maintainers; [ kashw2 ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 019aa86c51..ceb7b2a8e5 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -137,10 +137,10 @@
|
||||
VERSION ${JUCE_VERSION}
|
||||
COMPATIBILITY ExactVersion)
|
||||
|
||||
-set(JUCE_INSTALL_DESTINATION "lib/cmake/JUCE-${JUCE_VERSION}" CACHE STRING
|
||||
+set(JUCE_INSTALL_DESTINATION "lib/cmake/juce" CACHE STRING
|
||||
"The location, relative to the install prefix, where the JUCE config file will be installed")
|
||||
|
||||
-set(JUCE_MODULE_PATH "include/JUCE-${JUCE_VERSION}/modules")
|
||||
+set(JUCE_MODULE_PATH "share/juce/modules")
|
||||
set(UTILS_INSTALL_DIR "${JUCE_INSTALL_DESTINATION}")
|
||||
set(JUCEAIDE_PATH "${JUCE_TOOL_INSTALL_DIR}/${JUCE_JUCEAIDE_NAME}")
|
||||
configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
|
||||
@@ -148,7 +148,6 @@
|
||||
PATH_VARS UTILS_INSTALL_DIR JUCEAIDE_PATH JUCE_MODULE_PATH
|
||||
INSTALL_DESTINATION "${JUCE_INSTALL_DESTINATION}")
|
||||
|
||||
-set(JUCE_MODULE_PATH "${JUCE_MODULES_DIR}")
|
||||
set(UTILS_INSTALL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/extras/Build/CMake")
|
||||
get_target_property(JUCEAIDE_PATH juceaide IMPORTED_LOCATION)
|
||||
configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
|
||||
diff --git a/extras/Build/juceaide/CMakeLists.txt b/extras/Build/juceaide/CMakeLists.txt
|
||||
index 7ef20eddf1..3dfb1f1802 100644
|
||||
--- a/extras/Build/juceaide/CMakeLists.txt
|
||||
+++ b/extras/Build/juceaide/CMakeLists.txt
|
||||
@@ -153,7 +153,7 @@
|
||||
|
||||
add_executable(juce::juceaide ALIAS juceaide)
|
||||
|
||||
- set(JUCE_TOOL_INSTALL_DIR "bin/JUCE-${JUCE_VERSION}" CACHE STRING
|
||||
+ set(JUCE_TOOL_INSTALL_DIR "bin" CACHE STRING
|
||||
"The location, relative to the install prefix, where juceaide will be installed")
|
||||
|
||||
install(PROGRAMS "${imported_location}" DESTINATION "${JUCE_TOOL_INSTALL_DIR}")
|
||||
diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt
|
||||
index 27c987abe2..5b8de75bde 100644
|
||||
--- a/modules/CMakeLists.txt
|
||||
+++ b/modules/CMakeLists.txt
|
||||
@@ -31,7 +31,7 @@
|
||||
# ==============================================================================
|
||||
|
||||
juce_add_modules(
|
||||
- INSTALL_PATH "include/JUCE-${JUCE_VERSION}/modules"
|
||||
+ INSTALL_PATH "share/juce/modules"
|
||||
ALIAS_NAMESPACE juce
|
||||
juce_analytics
|
||||
juce_animation
|
||||
@@ -30,6 +30,6 @@ buildPythonPackage rec {
|
||||
homepage = "https://github.com/dcnielsen90/python-bravia-tv";
|
||||
description = "Python library for Sony Bravia TV remote control";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ colemickens ];
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -58,6 +58,6 @@ buildPythonPackage rec {
|
||||
homepage = "https://github.com/ol-iver/denonavr";
|
||||
changelog = "https://github.com/ol-iver/denonavr/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ colemickens ];
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ buildPythonPackage rec {
|
||||
homepage = "https://github.com/Danielhiversen/flux_led";
|
||||
changelog = "https://github.com/Danielhiversen/flux_led/releases/tag/${version}";
|
||||
license = licenses.lgpl3Plus;
|
||||
maintainers = with maintainers; [ colemickens ];
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "flux_led";
|
||||
};
|
||||
|
||||
@@ -50,6 +50,6 @@ buildPythonPackage rec {
|
||||
homepage = "https://github.com/GhostofGoes/getmac";
|
||||
changelog = "https://github.com/GhostofGoes/getmac/blob/${version}/CHANGELOG.md";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ colemickens ];
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
buildPythonPackage,
|
||||
cmake,
|
||||
darwin,
|
||||
distutils,
|
||||
doxygen,
|
||||
draco,
|
||||
embree,
|
||||
@@ -144,6 +145,7 @@ buildPythonPackage rec {
|
||||
jinja2
|
||||
numpy
|
||||
pyopengl
|
||||
distutils
|
||||
]
|
||||
++ lib.optionals (withTools || withUsdView) [
|
||||
pyside-tools-uic
|
||||
|
||||
@@ -41,6 +41,6 @@ buildPythonPackage rec {
|
||||
homepage = "https://github.com/pkkid/python-plexapi";
|
||||
changelog = "https://github.com/pkkid/python-plexapi/releases/tag/${version}";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ colemickens ];
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -31,6 +31,6 @@ buildPythonPackage rec {
|
||||
homepage = "https://github.com/jjlawren/python-plexauth/";
|
||||
description = "Handles the authorization flow to obtain tokens from Plex.tv via external redirection";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ colemickens ];
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -32,6 +32,6 @@ buildPythonPackage rec {
|
||||
homepage = "https://github.com/jjlawren/python-plexwebsocket/";
|
||||
changelog = "https://github.com/jjlawren/python-plexwebsocket/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ colemickens ];
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -36,6 +36,6 @@ buildPythonPackage rec {
|
||||
homepage = "https://github.com/iwalton3/python-mpv-jsonipc";
|
||||
description = "Python API to MPV using JSON IPC";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ colemickens ];
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
mkDerivation,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
pkg-config,
|
||||
@@ -9,26 +9,34 @@
|
||||
double-conversion,
|
||||
graphviz,
|
||||
qtxmlpatterns,
|
||||
qttools,
|
||||
qtbase,
|
||||
wrapQtAppsHook,
|
||||
testers,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "edb";
|
||||
version = "1.4.0";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eteran";
|
||||
repo = "edb-debugger";
|
||||
rev = version;
|
||||
tag = finalAttrs.version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-1Q0eZS05L4sxzcPvEFdEaobO7JYHRu98Yf+n3ZnBi+E=";
|
||||
hash = "sha256-ALhA/odVwUQHKuOZ1W/i/6L7da/yitdpBsx2kz2ySQE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
wrapQtAppsHook
|
||||
qttools
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtbase
|
||||
boost.dev
|
||||
capstone_4
|
||||
double-conversion
|
||||
@@ -36,30 +44,34 @@ mkDerivation rec {
|
||||
qtxmlpatterns
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Remove CMAKE_INSTALL_PREFIX from DEFAULT_PLUGIN_PATH otherwise the nix store path will appear twice.
|
||||
substituteInPlace ./src/CMakeLists.txt --replace \
|
||||
'-DDEFAULT_PLUGIN_PATH=\"''${CMAKE_INSTALL_PREFIX}/''${CMAKE_INSTALL_LIBDIR}/edb\"' \
|
||||
'-DDEFAULT_PLUGIN_PATH=\"''${CMAKE_INSTALL_LIBDIR}/edb\"'
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "DEFAULT_PLUGIN_DIR" "${placeholder "out"}/lib/edb")
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# The build script checks for the presence of .git to determine whether
|
||||
# submodules were fetched and will throw an error if it's not there.
|
||||
# Avoid using leaveDotGit in the fetchFromGitHub options as it is non-deterministic.
|
||||
mkdir -p src/qhexview/.git lib/gdtoa-desktop/.git
|
||||
|
||||
# Change default optional terminal program path to one that is more likely to work on NixOS.
|
||||
substituteInPlace ./src/Configuration.cpp --replace "/usr/bin/xterm" "xterm";
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
passthru = {
|
||||
tests.version = testers.testVersion {
|
||||
package = finalAttrs.finalPackage;
|
||||
command = "env QT_QPA_PLATFORM=minimal ${lib.getExe finalAttrs.finalPackage} --version";
|
||||
};
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Cross platform AArch32/x86/x86-64 debugger";
|
||||
mainProgram = "edb";
|
||||
homepage = "https://github.com/eteran/edb-debugger";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
lihop
|
||||
maxxk
|
||||
];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -18,11 +18,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sgt-puzzles";
|
||||
version = "20241123.5e74004";
|
||||
version = "20241223.5eea14c";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz";
|
||||
hash = "sha256-r96rQWq2UJoLoIB+w1xcxIvd5kNGGYq+Wri/Vojeb0Q=";
|
||||
hash = "sha256-c9cPPxjU7O+uAp6jzCkfv8ZJeVrcLmEfD+lUK0l+X9w=";
|
||||
};
|
||||
|
||||
sgt-puzzles-menu = fetchurl {
|
||||
|
||||
@@ -191,6 +191,12 @@
|
||||
"sha256": "12r17xxwrnci5v18x71y44289z5dvvrj8xr3sfl1ipvlrvzggbfh",
|
||||
"version": "3.0"
|
||||
},
|
||||
"wp-fail2ban": {
|
||||
"path": "wp-fail2ban/tags/5.3.2",
|
||||
"rev": "3131194",
|
||||
"sha256": "1svp2a3xr6ajfhabz2n4rqcf9bzfr9dilc2n27ral9akc86lj1ii",
|
||||
"version": "5.3.2"
|
||||
},
|
||||
"wp-fastest-cache": {
|
||||
"path": "wp-fastest-cache/tags/1.3.2",
|
||||
"rev": "3181365",
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
, "wordpress-seo": "gpl3Only"
|
||||
, "worker": "gpl3Plus"
|
||||
, "wp-change-email-sender": "gpl2Plus"
|
||||
, "wp-fail2ban": "gpl3Plus"
|
||||
, "wp-fastest-cache": "gpl2Plus"
|
||||
, "wp-gdpr-compliance": "gpl2Plus"
|
||||
, "wp-import-export-lite": "gpl3Plus"
|
||||
|
||||
@@ -1364,6 +1364,7 @@ mapAliases {
|
||||
|
||||
### V ###
|
||||
|
||||
v8 = throw "`v8` has been removed as it's unmaintained for several years and has vulnerabilites. Please migrate to `nodejs.libv8`"; # Added 2024-12-21
|
||||
validphys2 = throw "validphys2 has been removed, since it has a broken dependency that was removed"; # Added 2024-08-21
|
||||
vamp = { vampSDK = vamp-plugin-sdk; }; # Added 2020-03-26
|
||||
vaapiIntel = intel-vaapi-driver; # Added 2023-05-31
|
||||
|
||||
@@ -331,8 +331,6 @@ with pkgs;
|
||||
catch2 = catch2_3;
|
||||
};
|
||||
|
||||
edgedb = callPackage ../tools/networking/edgedb { };
|
||||
|
||||
eludris = callPackage ../tools/misc/eludris { };
|
||||
|
||||
enochecker-test = with python3Packages; callPackage ../development/tools/enochecker-test { };
|
||||
@@ -10894,10 +10892,6 @@ with pkgs;
|
||||
|
||||
unixODBCDrivers = recurseIntoAttrs (callPackages ../development/libraries/unixODBCDrivers { });
|
||||
|
||||
v8 = callPackage ../development/libraries/v8 {
|
||||
stdenv = if stdenv.hostPlatform.isDarwin then overrideSDK stdenv "11.0" else stdenv;
|
||||
};
|
||||
|
||||
valeStyles = recurseIntoAttrs (callPackages ../by-name/va/vale/styles.nix { });
|
||||
|
||||
valhalla = callPackage ../development/libraries/valhalla {
|
||||
@@ -17848,7 +17842,9 @@ with pkgs;
|
||||
|
||||
cups-pk-helper = callPackage ../misc/cups/cups-pk-helper.nix { };
|
||||
|
||||
epsonscan2 = pkgs.libsForQt5.callPackage ../misc/drivers/epsonscan2 { };
|
||||
epsonscan2 = callPackage ../by-name/ep/epsonscan2/package.nix {
|
||||
inherit (qt5) wrapQtAppsHook qtbase;
|
||||
};
|
||||
|
||||
foomatic-db-ppds-withNonfreeDb = callPackage ../by-name/fo/foomatic-db-ppds/package.nix { withNonfreeDb = true; };
|
||||
|
||||
|
||||
Reference in New Issue
Block a user