Merge master into staging-next

This commit is contained in:
github-actions[bot]
2024-12-15 00:17:27 +00:00
committed by GitHub
44 changed files with 1688 additions and 147 deletions
+1 -1
View File
@@ -95,7 +95,7 @@ stdenvNoCC.mkDerivation {
fileset = ../../lib;
};
buildInputs = [
nativeBuildInputs = [
nixdoc
nix
];
+1 -1
View File
@@ -17,7 +17,7 @@ invalidateFetcherByDrvHash (
{
nativeBuildInputs = [
cacert
(python3.withPackages (p: [
(python3.pythonOnBuildForHost.withPackages (p: [
p.aiohttp
p.rich
p.structlog
+8 -3
View File
@@ -1,18 +1,23 @@
{ # The pkgs used for dependencies for the testing itself
# Don't test properties of pkgs.lib, but rather the lib in the parent directory
pkgs ? import ../.. {} // { lib = throw "pkgs.lib accessed, but the lib tests should use nixpkgs' lib path directly!"; },
# For testing someone may edit impure.nix to return cross pkgs, use `pkgsBuildBuild` directly so everything here works.
pkgsBB ? pkgs.pkgsBuildBuild,
nix ? pkgs-nixVersions.stable,
nixVersions ? [ pkgs-nixVersions.minimum nix pkgs-nixVersions.latest ],
pkgs-nixVersions ? import ./nix-for-tests.nix { inherit pkgs; },
pkgs-nixVersions ? import ./nix-for-tests.nix { pkgs = pkgsBB; },
}:
let
lib = import ../.;
testWithNix = nix:
import ./test-with-nix.nix { inherit lib nix pkgs; };
import ./test-with-nix.nix {
inherit lib nix;
pkgs = pkgsBB;
};
in
pkgs.symlinkJoin {
pkgsBB.symlinkJoin {
name = "nixpkgs-lib-tests";
paths = map testWithNix nixVersions;
}
+18
View File
@@ -7952,6 +7952,13 @@
githubId = 1851962;
name = "Galen Huntington";
};
gale-username = {
name = "gale";
email = "git@galewebsite.com";
github = "gale-username";
githubId = 168143489;
keys = [ { fingerprint = "1234 3726 9042 01F3 CE07 59BF A3B6 1E91 5508 F702"; } ];
};
gamb = {
email = "adam.gamble@pm.me";
github = "gamb";
@@ -9667,6 +9674,12 @@
githubId = 4085046;
name = "Imuli";
};
imurx = {
email = "imurx@proton.me";
github = "imurx";
githubId = 3698237;
name = "ImUrX";
};
inclyc = {
email = "i@lyc.dev";
github = "inclyc";
@@ -22459,6 +22472,11 @@
github = "thilobillerbeck";
githubId = 7442383;
};
thinnerthinker = {
name = "thinnerthinker";
github = "thinnerthinker";
githubId = 144260188;
};
thled = {
name = "Thomas Le Duc";
email = "dev@tleduc.de";
@@ -10,18 +10,18 @@
vimUtils,
}:
let
version = "0.0.12";
version = "0.0.13";
src = fetchFromGitHub {
owner = "yetone";
repo = "avante.nvim";
tag = "v${version}";
hash = "sha256-yFHX9WCdTBtFZ2Yhy542Rg9nyIu6IWyRjKkS+ojZsdM=";
hash = "sha256-JTuVq5fil2bpkptpw+kj0PFOp9Rk7RpOxc0GN/blL6M=";
};
avante-nvim-lib = rustPlatform.buildRustPackage {
pname = "avante-nvim-lib";
inherit version src;
cargoHash = "sha256-n0+UT9wYnmPDOX2LKWztURqYLy2oa8sUeQLycR3/Zr0=";
cargoHash = "sha256-mCQm+ZBH5KehCbpKZ2zFl34sJh4yfKmA8GMcteK5SrA=";
nativeBuildInputs = [
pkg-config
@@ -42,7 +42,7 @@ let
};
in
vimUtils.buildVimPlugin {
pname = "avante-nvim";
pname = "avante.nvim";
inherit version src;
dependencies = with vimPlugins; [
@@ -38,14 +38,14 @@
}:
stdenv.mkDerivation (finalAttrs: {
version = "1.6.3";
version = "1.6.4";
pname = "syncthingtray";
src = fetchFromGitHub {
owner = "Martchus";
repo = "syncthingtray";
rev = "v${finalAttrs.version}";
hash = "sha256-nWG9r0/qs9Jrj0Bo3RKtNSP1pnUd7CRiEkkRWf0UMNs=";
hash = "sha256-xLgkBBh4OMHZYlIiRemJ1aYEwRp+b/Q3dPKm9zpxNjo=";
};
buildInputs =
@@ -25,6 +25,11 @@ let
# Rename the variables to prevent infinite recursion
requireSigningDefault = requireSigning;
allowAddonSideloadDefault = allowAddonSideload;
# Specifying --(dis|en)able-elf-hack on a platform for which it's not implemented will give `--disable-elf-hack is not available in this configuration`
# This is declared here because it's used in the default value of elfhackSupport
isElfhackPlatform = stdenv: stdenv.hostPlatform.isElf &&
(stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64);
in
{ lib
@@ -110,6 +115,7 @@ in
, jemallocSupport ? !stdenv.hostPlatform.isMusl, jemalloc
, ltoSupport ? (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.is64bit && !stdenv.hostPlatform.isRiscV), overrideCC, buildPackages
, pgoSupport ? (stdenv.hostPlatform.isLinux && stdenv.hostPlatform == stdenv.buildPlatform), xvfb-run
, elfhackSupport ? isElfhackPlatform stdenv && !(stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isAarch64)
, pipewireSupport ? waylandSupport && webrtcSupport
, pulseaudioSupport ? stdenv.hostPlatform.isLinux, libpulseaudio
, sndioSupport ? stdenv.hostPlatform.isLinux, sndio
@@ -160,6 +166,7 @@ in
assert stdenv.cc.libc or null != null;
assert pipewireSupport -> !waylandSupport || !webrtcSupport -> throw "${pname}: pipewireSupport requires both wayland and webrtc support.";
assert elfhackSupport -> isElfhackPlatform stdenv;
let
inherit (lib) enableFeature;
@@ -425,9 +432,7 @@ buildStdenv.mkDerivation {
"--enable-lto=cross" # Cross-Language LTO
"--enable-linker=lld"
]
# elf-hack is broken when using clang+lld:
# https://bugzilla.mozilla.org/show_bug.cgi?id=1482204
++ lib.optional (ltoSupport && (buildStdenv.hostPlatform.isAarch32 || buildStdenv.hostPlatform.isi686 || buildStdenv.hostPlatform.isx86_64)) "--disable-elf-hack"
++ lib.optional (isElfhackPlatform stdenv) (enableFeature elfhackSupport "elf-hack")
++ lib.optional (!drmSupport) "--disable-eme"
++ lib.optional (allowAddonSideload) "--allow-addon-sideload"
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
@@ -138,7 +138,7 @@ let
s:
mutFirstChar lib.toLower (lib.concatMapStrings (mutFirstChar lib.toUpper) (lib.splitString "-" s));
# finds the images archive for the desired architecture, aborts in case no suitable archive is found
# finds the images archive for the desired architecture, throws in case no suitable archive is found
findImagesArchive =
arch:
let
@@ -146,17 +146,17 @@ let
in
lib.findFirst (
n: lib.hasInfix arch n
) (abort "k3s: no airgap images for ${arch} available") imagesVersionsNames;
) (throw "k3s: no airgap images for ${arch} available") imagesVersionsNames;
# a shortcut that provides the images archive for the host platform. Currently only supports
# aarch64 (arm64) and x86_64 (amd64), aborts on other architectures.
# aarch64 (arm64) and x86_64 (amd64), throws on other architectures.
airgapImages = fetchurl (
if stdenv.hostPlatform.isAarch64 then
imagesVersions.${findImagesArchive "arm64"}
else if stdenv.hostPlatform.isx86_64 then
imagesVersions.${findImagesArchive "amd64"}
else
abort "k3s: airgap images cannot be found automatically for architecture ${stdenv.hostPlatform.linuxArch}, consider using an image archive with an explicit architecture."
throw "k3s: airgap images cannot be found automatically for architecture ${stdenv.hostPlatform.linuxArch}, consider using an image archive with an explicit architecture."
);
# so, k3s is a complicated thing to package
+3 -3
View File
@@ -13,13 +13,13 @@
buildNpmPackage rec {
pname = "bitwarden-cli";
version = "2024.11.1";
version = "2024.12.0";
src = fetchFromGitHub {
owner = "bitwarden";
repo = "clients";
rev = "cli-v${version}";
hash = "sha256-J7gmrSAiu59LLP9pKfbv9+H00vXGQCrjkd4GBhkcyTY=";
hash = "sha256-3aN2t8/qhN0sjACvtip45efHQJl8nEMNre0+oBL1/go=";
};
postPatch = ''
@@ -29,7 +29,7 @@ buildNpmPackage rec {
nodejs = nodejs_20;
npmDepsHash = "sha256-MZoreHKmiUUxhq3tmL4lPp6vPmoQIqG3IPpZE56Z1Kc=";
npmDepsHash = "sha256-EtIcqbubAYN9I9wbw17oHiVshd3GtQayFtdgqWP7Pgg=";
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
cctools
+1 -1
View File
@@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
else if stdenv.hostPlatform.isAarch64 then
"arm64"
else
abort "unsupported system: ${stdenv.system}"
throw "unsupported system: ${stdenv.system}"
}"
];
+5 -11
View File
@@ -33,15 +33,9 @@
, nettools
, nixosTests
# FRR's configure.ac gets SNMP options by executing net-snmp-config on the build host
# This leads to compilation errors when cross compiling.
# E.g. net-snmp-config for x86_64 does not return the ARM64 paths.
#
# SNMP_LIBS="`${NETSNMP_CONFIG} --agent-libs`"
# SNMP_CFLAGS="`${NETSNMP_CONFIG} --base-cflags`"
, snmpSupport ? stdenv.buildPlatform.canExecute stdenv.hostPlatform
# other general options besides snmp support
# general options
, snmpSupport ? true
, rpkiSupport ? true
, numMultipath ? 64
, watchfrrSupport ? true
@@ -81,9 +75,6 @@
, ospfApi ? true
}:
lib.warnIf (!(stdenv.buildPlatform.canExecute stdenv.hostPlatform))
"cannot enable SNMP support due to cross-compilation issues with net-snmp-config"
stdenv.mkDerivation (finalAttrs: {
pname = "frr";
version = "10.1";
@@ -194,6 +185,9 @@ stdenv.mkDerivation (finalAttrs: {
(lib.strings.enableFeature ospfApi "ospfapi")
# Cumulus options
(lib.strings.enableFeature cumulusSupport "cumulus")
] ++ lib.optionals snmpSupport [
# Used during build for paths, `dev` has build shebangs so can be run during build.
"NETSNMP_CONFIG=${lib.getDev net-snmp}/bin/net-snmp-config"
];
postPatch = ''
+31 -10
View File
@@ -1,10 +1,11 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
installShellFiles,
darwin,
stdenv,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
@@ -14,16 +15,28 @@ rustPlatform.buildRustPackage rec {
src = fetchFromGitHub {
owner = "ulyssa";
repo = "iamb";
rev = "v${version}";
tag = "v${version}";
hash = "sha256-cjBSWUBgfwdLnpneJ5XW2TdOFkNc+Rc/wyUp9arZzwg=";
};
cargoHash = "sha256-a5y8nNFixOxJPNDOzvFFRqVrY2jsirCud2ZJJ8OvRhQ=";
nativeBuildInputs = [ installShellFiles ];
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.AppKit
darwin.apple_sdk.frameworks.Cocoa
preBuild = ''
export HOME=$(mktemp -d)
'';
checkFlags = lib.optionals stdenv.isDarwin [
# Attempted to create a NULL object.
"--skip=base::tests::test_complete_cmdbar"
"--skip=base::tests::test_complete_msgbar"
# Attempted to create a NULL object.
"--skip=windows::room::scrollback::tests::test_cursorpos"
"--skip=windows::room::scrollback::tests::test_dirscroll"
"--skip=windows::room::scrollback::tests::test_movement"
"--skip=windows::room::scrollback::tests::test_search_messages"
];
postInstall = ''
@@ -31,12 +44,20 @@ rustPlatform.buildRustPackage rec {
installManPage $OUT_DIR/iamb.{1,5}
'';
meta = with lib; {
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = [ "--version" ];
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Matrix client for Vim addicts";
mainProgram = "iamb";
homepage = "https://github.com/ulyssa/iamb";
changelog = "https://github.com/ulyssa/iamb/releases/tag/${src.rev}";
license = licenses.asl20;
maintainers = with maintainers; [ meain ];
changelog = "https://github.com/ulyssa/iamb/releases/tag/${src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ meain ];
};
}
+10 -10
View File
@@ -1,22 +1,22 @@
{
"version": "1.122.2",
"hash": "sha256-A6FmveHN+Kp8SFmdaMLiwZ5SLuqQSWMwZVVpMBvfoAU=",
"version": "1.122.3",
"hash": "sha256-qGTjhRvv3162D6kPa+Rv9yK/n2LfmbaFYl/9Ls2j9WM=",
"components": {
"cli": {
"npmDepsHash": "sha256-ItF8xSvxjbRV57Q2B0c7zSTULIWilvDjndmt9mfm7sE=",
"version": "2.2.35"
"npmDepsHash": "sha256-F4gK8ZnvizhM2cVHge417COcXg6VlazpC7hTD7iKLTY=",
"version": "2.2.36"
},
"server": {
"npmDepsHash": "sha256-LuQNK0RsmCNcxullGZw2YD92j6mbKrgiHjQB6g5Z4bo=",
"version": "1.122.2"
"npmDepsHash": "sha256-Thcb0EgQpoER0KpXRwbJ3t6TaBebzlDL9I6HXBfdWJI=",
"version": "1.122.3"
},
"web": {
"npmDepsHash": "sha256-G1Q3jxNrH2XnYdcu33hu4XQnhxPlxoFQYgMB0E/K6nw=",
"version": "1.122.2"
"npmDepsHash": "sha256-S2pNfuvV9iYXSQSstNUdsc6XaUvYRD1xLpUGAOV8hyU=",
"version": "1.122.3"
},
"open-api/typescript-sdk": {
"npmDepsHash": "sha256-qK6rT1W/aDU8DlIFbSZ0gqCIohr7DWsdVknmvehwpJE=",
"version": "1.122.2"
"npmDepsHash": "sha256-GtqS59I+By1u6WcR+lDj2HKXVwh7jw5/N6MRdUctlaM=",
"version": "1.122.3"
}
}
}
+27
View File
@@ -0,0 +1,27 @@
{
lib,
fetchurl,
appimageTools,
}:
appimageTools.wrapType2 rec {
pname = "jet-pilot";
version = "1.31.0";
src = fetchurl {
url = "https://github.com/unxsist/jet-pilot/releases/download/v${version}/jet-pilot_${version}_amd64.AppImage";
hash = "sha256-jhy8BfCZ0Z4T3lGrxTmSGw+fSDVzTIuvyJftpwMcYo0=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
meta = {
description = "Open-source Kubernetes desktop client that focuses on less clutter, speed and good looks";
homepage = "https://jet-pilot.app/";
changelog = "https://github.com/unxsist/jet-pilot/releases";
license = lib.licenses.mit;
platforms = [ "x86_64-linux" ];
maintainers = with lib.maintainers; [ kashw2 ];
mainProgram = "jet-pilot";
};
}
@@ -1,24 +0,0 @@
From bfdb6b8f87cc1cae9ba47870ff23deae0bb8ba51 Mon Sep 17 00:00:00 2001
From: Al <albarrentine@gmail.com>
Date: Sun, 17 Dec 2017 20:17:01 -0500
Subject: [PATCH] [test] adding header to fix warning
---
test/test_expand.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/test_expand.c b/test/test_expand.c
index 59ed9af7..2b211728 100644
--- a/test/test_expand.c
+++ b/test/test_expand.c
@@ -4,6 +4,7 @@
#include <stdarg.h>
#include "greatest.h"
+#include "../src/string_utils.h"
#include "../src/libpostal.h"
SUITE(libpostal_expansion_tests);
--
2.42.0
+31 -16
View File
@@ -1,34 +1,49 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook }:
{ lib, stdenv, fetchFromGitHub, fetchzip, autoreconfHook, withData ? false }:
stdenv.mkDerivation rec {
let
releases = "https://github.com/openvenues/libpostal/releases";
assets-base = fetchzip {
url = "${releases}/download/v1.0.0/libpostal_data.tar.gz";
hash = "sha256-FpGCkkRhVzyr08YcO0/iixxw0RK+3Of0sv/DH3GbbME=";
stripRoot = false;
};
assets-parser = fetchzip {
url = "${releases}/download/v1.0.0/parser.tar.gz";
hash = "sha256-OHETb3e0GtVS2b4DgklKDlrE/8gxF7XZ3FwmCTqZbqQ=";
stripRoot = false;
};
assets-language-classifier = fetchzip {
url = "${releases}/download/v1.0.0/language_classifier.tar.gz";
hash = "sha256-/Gn931Nx4UDBaiFUgGqC/NJUIKQ5aZT/+OYSlcfXva8=";
stripRoot = false;
};
in stdenv.mkDerivation rec {
pname = "libpostal";
version = "1.1";
src = fetchFromGitHub {
owner = "openvenues";
repo = "libpostal";
rev = "v${version}";
sha256 = "sha256-gQTD2LQibaB2TK0SbzoILAljAGExURvDcF3C/TfDXqk=";
rev = "refs/tags/v${version}";
hash = "sha256-7G/CjYdVzsrvUFXGODoXgXoRp8txkl5SddcPtgltrjY=";
};
patches = [
# Fix darwin compilation with XCode 12 https://github.com/openvenues/libpostal/issues/511
(fetchpatch {
name = "Fix-C-compilation-macOS.patch";
url = "https://github.com/openvenues/libpostal/commit/9fcf066e38121b5c1439fc6bdc9a7e02234c8622.patch";
hash = "sha256-VpboGK+5sc1XrxMB051KWc8vP7Eu2g7zmTirzSaerns=";
})
# https://github.com/openvenues/libpostal/commit/bfdb6b8f87cc1cae9ba47870ff23deae0bb8ba51.patch
# with extra hunk removed so it applies
./0001-test-adding-header-to-fix-warning.patch
];
nativeBuildInputs = [ autoreconfHook ];
configureFlags = [
"--disable-data-download"
] ++ lib.optionals stdenv.hostPlatform.isAarch64 [ "--disable-sse2" ];
postBuild = lib.optionalString withData ''
mkdir -p $out/share/libpostal
ln -s ${assets-language-classifier}/language_classifier $out/share/libpostal/language_classifier
ln -s ${assets-base}/transliteration $out/share/libpostal/transliteration
ln -s ${assets-base}/numex $out/share/libpostal/numex
ln -s ${assets-base}/address_expansions $out/share/libpostal/address_expansions
ln -s ${assets-parser}/address_parser $out/share/libpostal/address_parser
'';
doCheck = withData;
meta = with lib; {
description = "C library for parsing/normalizing street addresses around the world. Powered by statistical NLP and open geo data";
homepage = "https://github.com/openvenues/libpostal";
@@ -45,7 +45,7 @@ let
else if isx86_64 then
"amd64"
else
abort "no Nim CPU support known for ${config}";
throw "no Nim CPU support known for ${config}";
parseOs =
platform:
@@ -72,7 +72,7 @@ let
else if isiOS then
"iOS"
else
abort "no Nim OS support known for ${config}";
throw "no Nim OS support known for ${config}";
parsePlatform = p: {
cpu = parseCpu p;
+2 -2
View File
@@ -7,13 +7,13 @@
buildGoModule rec {
pname = "orchard";
version = "0.25.2";
version = "0.26.2";
src = fetchFromGitHub {
owner = "cirruslabs";
repo = pname;
rev = version;
hash = "sha256-FuqzVMpv62Knbbhy9yExyjT2UVdH2KlaQ+ETW8/abWc=";
hash = "sha256-j072161KN/4VjHnxF6fqnVOoWhKlDTNzDZKzX2TK5Y0=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
+28
View File
@@ -0,0 +1,28 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
}:
stdenv.mkDerivation rec {
pname = "pycdc";
version = "0-unstable-2024-10-13";
src = fetchFromGitHub {
owner = "zrax";
repo = "pycdc";
rev = "5e1c4037a96b966e4e6728c55b2d7ee8076a13c3";
hash = "sha256-c/mfM2I8Rw136aQ3IAQOkkrOEtZ5LC/xKuWXzCItW2w=";
};
nativeBuildInputs = [ cmake ];
meta = {
description = "C++ python bytecode disassembler and decompiler";
homepage = "https://github.com/zrax/pycdc";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ msm ];
mainProgram = "pycdc";
};
}
+43
View File
@@ -0,0 +1,43 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
nix-update-script,
versionCheckHook,
}:
buildNpmPackage rec {
pname = "repomix";
version = "0.2.6";
src = fetchFromGitHub {
owner = "yamadashy";
repo = "repomix";
tag = "v${version}";
hash = "sha256-ZYU85782Z6O69KkKu4h3OqJqAgaxktEgHkcfs2ms9xg=";
};
npmDepsHash = "sha256-r+RIa7ACXJv4/CutnN/3S36US6r7w0EkM9dA4ShWPdU=";
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
doCheck = true;
checkPhase = ''
runHook preCheck
npx vitest run
runHook postCheck
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Tool to pack repository contents to single file for AI consumption";
homepage = "https://github.com/yamadashy/repomix";
changelog = "https://github.com/yamadashy/repomix/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ thinnerthinker ];
mainProgram = "repomix";
};
}
+1 -1
View File
@@ -3,7 +3,7 @@
makeScopeWithSplicing',
}:
makeScopeWithSplicing' {
otherSplices = generateSplicesForMkScope;
otherSplices = generateSplicesForMkScope "reposilitePlugins";
f =
self:
{
+1 -3
View File
@@ -22,8 +22,6 @@ let
in
assert stdenv.hostPlatform.system == "x86_64-linux";
stdenv.mkDerivation rec {
pname = "saleae-logic";
version = "1.2.18";
@@ -92,7 +90,7 @@ stdenv.mkDerivation rec {
homepage = "https://www.saleae.com/";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
platforms = platforms.linux;
platforms = intersectLists platforms.x86_64 platforms.linux;
maintainers = [ maintainers.bjornfor ];
};
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,36 @@
diff --git a/build.gradle.kts b/build.gradle.kts
index 79534cdf..4f298e66 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,3 +1,2 @@
plugins {
- id("org.ajoberstar.grgit")
}
diff --git a/server/desktop/build.gradle.kts b/server/desktop/build.gradle.kts
index 9ebb84a7..6130e45f 100644
--- a/server/desktop/build.gradle.kts
+++ b/server/desktop/build.gradle.kts
@@ -13,7 +13,6 @@ plugins {
application
id("com.gradleup.shadow")
id("com.github.gmazzo.buildconfig")
- id("org.ajoberstar.grgit")
}
kotlin {
@@ -86,12 +85,10 @@ buildConfig {
useKotlinOutput { topLevelConstants = true }
packageName("dev.slimevr.desktop")
- val gitVersionTag = providers.exec {
- commandLine("git", "--no-pager", "tag", "--sort", "-taggerdate", "--points-at", "HEAD")
- }.standardOutput.asText.get().split('\n').first()
- buildConfigField("String", "GIT_COMMIT_HASH", "\"${grgit.head().abbreviatedId}\"")
+ val gitVersionTag = "@version@"
+ buildConfigField("String", "GIT_COMMIT_HASH", "\"NOT AVAILABLE\"")
buildConfigField("String", "GIT_VERSION_TAG", "\"${gitVersionTag.trim()}\"")
- buildConfigField("boolean", "GIT_CLEAN", grgit.status().isClean.toString())
+ buildConfigField("boolean", "GIT_CLEAN", "true")
}
tasks.run<JavaExec> {
+103
View File
@@ -0,0 +1,103 @@
{
lib,
stdenv,
runCommand,
replaceVars,
slimevr,
jdk17_headless,
gradle,
hidapi,
makeWrapper,
}:
let
java = jdk17_headless;
# Without this the hidapi bundled with `org.hid4java:hid4java` will be used.
# The bundled version won't be able to find `libudev.so.1`.
javaOptions =
let
# hid4java tries to load `libhidapi.so` which doesn't exist in Nix's hidapi.
# The `libhidapi.so` it expects is actually `libhidapi-hidraw.so`.
libhidapi = runCommand "libhidapi" { } ''
mkdir -p $out/lib
ln -s ${hidapi}/lib/libhidapi-hidraw.so $out/lib/libhidapi.so
'';
in
"-Djna.library.path='${
lib.makeLibraryPath [
hidapi
libhidapi
]
}'";
in
stdenv.mkDerivation (finalAttrs: {
pname = "slimevr-server";
inherit (slimevr)
src
version
;
mitmCache = gradle.fetchDeps {
inherit (finalAttrs) pname;
data = ./deps.json;
};
patches = [
# Upstream code uses Git to find the program version
(replaceVars ./no-grgit.patch {
inherit (finalAttrs) version;
})
];
postPatch = ''
# Disable Android, so its files don't have to be patched.
substituteInPlace settings.gradle.kts \
--replace-fail 'include(":server:android")' ""
'';
nativeBuildInputs = [
gradle
makeWrapper
];
# this is required for using mitm-cache on Darwin
__darwinAllowLocalNetworking = true;
gradleFlags = [ "-Dorg.gradle.java.home=${java}" ];
gradleBuildTask = "shadowJar";
doCheck = true;
installPhase = ''
runHook preInstall
install -Dm644 server/desktop/build/libs/slimevr.jar $out/share/slimevr/slimevr.jar
makeWrapper ${java}/bin/java $out/bin/slimevr-server \
--add-flags "${javaOptions}" \
--add-flags "-jar $out/share/slimevr/slimevr.jar"
runHook postInstall
'';
passthru = {
inherit java javaOptions;
# `slimevr-server` is updated by the `slimevr` update script.
};
meta = {
homepage = "https://docs.slimevr.dev/";
description = "App for facilitating full-body tracking in virtual reality";
license = with lib.licenses; [
mit
asl20
];
maintainers = with lib.maintainers; [
gale-username
imurx
];
platforms = with lib.platforms; darwin ++ linux;
mainProgram = "slimevr-server";
};
})
+21
View File
@@ -0,0 +1,21 @@
diff --git a/gui/vite.config.ts b/gui/vite.config.ts
index c9eb27be..4b3757f0 100644
--- a/gui/vite.config.ts
+++ b/gui/vite.config.ts
@@ -4,13 +4,10 @@ import { execSync } from 'child_process';
import path from 'path';
import { visualizer } from 'rollup-plugin-visualizer';
-const commitHash = execSync('git rev-parse --verify --short HEAD').toString().trim();
-const versionTag = execSync('git --no-pager tag --sort -taggerdate --points-at HEAD')
- .toString()
- .split('\n')[0]
- .trim();
+const commitHash = "";
+const versionTag = "@version@";
// If not empty then it's not clean
-const gitClean = execSync('git status --porcelain').toString() ? false : true;
+const gitClean = true;
console.log(`version is ${versionTag || commitHash}${gitClean ? '' : '-dirty'}`);
+145
View File
@@ -0,0 +1,145 @@
{
lib,
fetchFromGitHub,
fetchpatch,
stdenv,
replaceVars,
makeWrapper,
slimevr-server,
nodejs,
pnpm_9,
rustPlatform,
cargo-tauri,
wrapGAppsHook3,
pkg-config,
openssl,
glib-networking,
webkitgtk_4_1,
gst_all_1,
libayatana-appindicator,
}:
rustPlatform.buildRustPackage rec {
pname = "slimevr";
version = "0.13.2";
src = fetchFromGitHub {
owner = "SlimeVR";
repo = "SlimeVR-Server";
rev = "v${version}";
hash = "sha256-XQDbP+LO/brpl7viSxuV3H4ALN0yIkj9lwr5eS1txNs=";
# solarxr
fetchSubmodules = true;
};
buildAndTestSubdir = "gui/src-tauri";
cargoHash = "sha256-jvt5x2Jr185XVSFjob4cusP/zYJklJ/eqZe47qUg58s=";
pnpmDeps = pnpm_9.fetchDeps {
pname = "${pname}-pnpm-deps";
inherit version src;
hash = "sha256-5IqIUwVvufrws6/xpCAilmgRNG4mUGX8NXajZcVZypM=";
};
nativeBuildInputs = [
nodejs
pnpm_9.configHook
cargo-tauri.hook
pkg-config
wrapGAppsHook3
makeWrapper
];
buildInputs =
[
openssl
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
]
++ lib.optionals stdenv.hostPlatform.isLinux [
glib-networking
libayatana-appindicator
webkitgtk_4_1
];
patches = [
# Upstream code uses Git to find the program version.
(replaceVars ./gui-no-git.patch {
inherit version;
})
];
cargoPatches = [
# Fix Tauri dependencies issue.
# FIXME: Remove with next package update.
(fetchpatch {
name = "enable-rustls-feature.patch";
url = "https://github.com/SlimeVR/SlimeVR-Server/commit/2708b5a15b7c1b8af3e86d942c5e842d83cf078f.patch";
hash = "sha256-UDVztPGPaKp2Hld3bMDuPMAu5s1OhvKEsTiXoDRK7cU=";
})
];
postPatch =
''
# Tauri bundler expects slimevr.jar to exist.
mkdir -p server/desktop/build/libs
touch server/desktop/build/libs/slimevr.jar
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
# Both libappindicator-rs and SlimeVR need to know where Nix's appindicator lib is.
pushd $cargoDepsCopy/libappindicator-sys
oldHash=$(sha256sum src/lib.rs | cut -d " " -f 1)
substituteInPlace src/lib.rs \
--replace-fail "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
# Cargo doesn't like it when vendored dependencies are edited.
substituteInPlace .cargo-checksum.json \
--replace-warn $oldHash $(sha256sum src/lib.rs | cut -d " " -f 1)
popd
substituteInPlace gui/src-tauri/src/tray.rs \
--replace-fail "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
'';
# solarxr needs to be installed after compiling its Typescript files. This isn't
# done the first time, because `pnpm_9.configHook` ignores `package.json` scripts.
preBuild = ''
pnpm --filter solarxr-protocol install
'';
doCheck = false; # No tests
# Get rid of placeholder slimevr.jar
postInstall = ''
rm $out/share/slimevr/slimevr.jar
rm -d $out/share/slimevr
'';
# `JAVA_HOME`, `JAVA_TOOL_OPTIONS`, and `--launch-from-path` are so the GUI can
# launch the server.
postFixup = ''
wrapProgram "$out/bin/slimevr" \
--set JAVA_HOME "${slimevr-server.passthru.java.home}" \
--set JAVA_TOOL_OPTIONS "${slimevr-server.passthru.javaOptions}" \
--add-flags "--launch-from-path ${slimevr-server}/share/slimevr"
'';
passthru.updateScript = ./update.sh;
meta = {
homepage = "https://docs.slimevr.dev/";
description = "App for facilitating full-body tracking in virtual reality";
license = with lib.licenses; [
mit
asl20
];
maintainers = with lib.maintainers; [
gale-username
imurx
];
platforms = with lib.platforms; darwin ++ linux;
broken = stdenv.hostPlatform.isDarwin;
mainProgram = "slimevr";
};
}
+5
View File
@@ -0,0 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix-update
nix-update slimevr
$(nix-build -A slimevr-server.mitmCache.updateScript)
+1 -1
View File
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
startScript = if stdenv.hostPlatform.isx86_32 then "START_LINUX_X86"
else if stdenv.hostPlatform.isx86_64 then "START_LINUX_X86_64"
#else if stdenv.hostPlatform.isDarwin then "START_MACOS.app" # disabled because I cannot test on Darwin
else abort "Unsupported platform: ${stdenv.hostPlatform.linuxArch}.";
else throw "Unsupported platform: ${stdenv.hostPlatform.linuxArch}.";
linuxExecutable = if stdenv.hostPlatform.isx86_32 then "pixilang_linux_x86"
else if stdenv.hostPlatform.isx86_64 then "pixilang_linux_x86_64"
@@ -541,7 +541,7 @@ in stdenv.mkDerivation {
";
buildProject lldb llvm-project/lldb
${lib.optionalString stdenv.hostPlatform.isDarwin ''
${lib.optionalString stdenv.targetPlatform.isDarwin ''
# Need to do a standalone build of concurrency for Darwin back deployment.
# Based on: utils/swift_build_support/swift_build_support/products/backdeployconcurrency.py
cmakeFlags="
@@ -802,7 +802,7 @@ stdenv.mkDerivation ({
buildInputs =
otherBuildInputsSystem;
LANG = "en_US.UTF-8";
LOCALE_ARCHIVE = lib.optionalString (stdenv.hostPlatform.libc == "glibc") "${buildPackages.glibcLocales}/lib/locale/locale-archive";
LOCALE_ARCHIVE = lib.optionalString (stdenv.buildPlatform.libc == "glibc") "${buildPackages.glibcLocales}/lib/locale/locale-archive";
"NIX_${ghcCommandCaps}" = "${ghcEnv}/bin/${ghcCommand}";
"NIX_${ghcCommandCaps}PKG" = "${ghcEnv}/bin/${ghcCommand}-pkg";
# TODO: is this still valid?
@@ -204,7 +204,7 @@ let
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
"--disable-toolbox-glue"
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"PYTHON_FOR_BUILD=${lib.getBin buildPackages.python}/bin/python"
"PYTHON_FOR_BUILD=${lib.getBin buildPackages.python27}/bin/python"
"ac_cv_buggy_getaddrinfo=no"
# Assume little-endian IEEE 754 floating point when cross compiling
"ac_cv_little_endian_double=yes"
@@ -239,7 +239,7 @@ let
nativeBuildInputs =
[ autoreconfHook ]
++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform)
[ buildPackages.stdenv.cc buildPackages.python ];
[ buildPackages.stdenv.cc buildPackages.python27 ];
mkPaths = paths: {
C_INCLUDE_PATH = lib.makeSearchPathOutput "dev" "include" paths;
@@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "aioftp";
version = "0.23.1";
version = "0.24.1";
pyproject = true;
disabled = pythonOlder "3.11";
src = fetchPypi {
inherit pname version;
hash = "sha256-uA6t2MqV0ru8+r594Vy+AawRey50Z3FzdN5Ge62TVws=";
hash = "sha256-dKx8buSFXk24/6LC+xWXeJppeBfEe6IaVOuQOfQ1aK8=";
};
build-system = [ setuptools ];
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "aiolifx";
version = "1.1.1";
version = "1.1.2";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-oZpq2qUAtqDaRhgW9SbbQY9z81VqrqXhRLmpaPto9+A=";
hash = "sha256-M4if9eSRG7544OaVj3HXtvOWPm1mg8Nz5dh6nl0hx+4=";
};
build-system = [ setuptools ];
@@ -21,14 +21,14 @@
buildPythonPackage rec {
pname = "equinox";
version = "0.11.9";
version = "0.11.10";
pyproject = true;
src = fetchFromGitHub {
owner = "patrick-kidger";
repo = "equinox";
rev = "refs/tags/v${version}";
hash = "sha256-7RVhSdvD96oRUk6cGRS1rET4ztqjBnGfzJObjE+MioU=";
tag = "v${version}";
hash = "sha256-QoqwLdtWCDrXyqiI6Xw7jq2sxiRCmLaxk3/ZGHrvqL4=";
};
build-system = [ hatchling ];
@@ -15,14 +15,14 @@
buildPythonPackage rec {
pname = "httpx-oauth";
version = "0.15.1";
version = "0.16.0";
pyproject = true;
src = fetchFromGitHub {
owner = "frankie567";
repo = "httpx-oauth";
rev = "refs/tags/v${version}";
hash = "sha256-f3X3kSw7elTScCA3bNggwXyyHORre6Xzup/D0kgn4DQ=";
tag = "v${version}";
hash = "sha256-KM+GaBC3jOhMsTVdUixsEjm47j28qeFmFKbI7fnVSG4=";
};
build-system = [
@@ -1,7 +1,6 @@
{
lib,
buildPythonPackage,
pythonOlder,
fetchFromGitHub,
setuptools,
pytestCheckHook,
@@ -9,17 +8,14 @@
buildPythonPackage rec {
pname = "imap-tools";
version = "1.7.4";
disabled = pythonOlder "3.5";
version = "1.8.0";
pyproject = true;
src = fetchFromGitHub {
owner = "ikvk";
repo = "imap_tools";
rev = "refs/tags/v${version}";
hash = "sha256-2qSmnJnjwXNysUh0xeXshLZklCIOd92aM3gXtL8JhlI=";
hash = "sha256-6Vhzwpb5DiSuF1LPUgkE+EfKMkAR4/Ld26zzj2r1/Ic=";
};
build-system = [ setuptools ];
@@ -16,6 +16,8 @@
beartype,
pytest,
python,
fetchpatch,
}:
buildPythonPackage rec {
@@ -26,10 +28,20 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "patrick-kidger";
repo = "lineax";
rev = "refs/tags/v${version}";
tag = "v${version}";
hash = "sha256-HcFI55Ww/y7ZaUkawj7xWSb7VDTBec3u0ulWL8kTm2c=";
};
patches = [
(fetchpatch {
# Reported upstream: https://github.com/patrick-kidger/lineax/issues/118
# Fixed by https://github.com/patrick-kidger/lineax/pull/119
name = "fix-vmap-tests";
url = "https://github.com/patrick-kidger/lineax/pull/119/commits/d21552ac4c504d7b139ad8e4f15d5f102b54d705.patch";
hash = "sha256-pBejiqIVNjXi7dXuDBQdAy892wro1WxzwbI7v07N86c=";
})
];
build-system = [ hatchling ];
dependencies = [
@@ -59,7 +71,7 @@ buildPythonPackage rec {
meta = {
description = "Linear solvers in JAX and Equinox";
homepage = "https://github.com/patrick-kidger/lineax";
changelog = "https://github.com/patrick-kidger/lineax/releases/tag/v${version}";
changelog = "https://github.com/patrick-kidger/lineax/releases/tag/${src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ GaetanLepage ];
};
@@ -7,12 +7,12 @@
buildPythonPackage rec {
pname = "py-machineid";
version = "0.6.0";
version = "0.7.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-AMONhSHUKaRTm92SlnI02yihorSyYwYrNRygAjMuYz8=";
hash = "sha256-WnSoEOOLV7BDsUXHVsHmrBYVKct9g/4gCZ/LmGrMV3s=";
};
build-system = [ setuptools ];
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "rmscene";
version = "0.6.0";
version = "0.6.1";
pyproject = true;
disabled = pythonOlder "3.10";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "ricklupton";
repo = "rmscene";
rev = "refs/tags/v${version}";
hash = "sha256-BnTr3rLehP5uhzXWXKPaXcJCWW2ofk5N8amqoEUmlWo=";
hash = "sha256-mgEjGfoQW73DcwMEXflR3/Ole4c5uXZJVJ699KNSqKg=";
};
build-system = [
@@ -2,16 +2,16 @@
lib,
buildPythonPackage,
pythonOlder,
fetchPypi,
fetchFromGitHub,
poetry-core,
colorlog,
dataclasses-json,
langid,
nltk,
numpy,
pandas,
psutil,
py3langid,
pytestCheckHook,
python-dateutil,
scipy,
toml,
@@ -23,32 +23,38 @@ let
name = "nltk-test-data";
paths = [
nltk-data.punkt
nltk-data.punkt_tab
nltk-data.stopwords
];
};
version = "0.0.20";
tag = "v${version}";
in
buildPythonPackage rec {
pname = "type-infer";
version = "0.0.20";
format = "pyproject";
inherit version;
pyproject = true;
disabled = pythonOlder "3.8";
# using PyPI because the repo does not have tags or release branches
src = fetchPypi {
pname = "type_infer";
inherit version;
hash = "sha256-F+gfA7ofrbMEE5SrVt9H3s2mZKQLyr6roNUmL4EMJbI=";
src = fetchFromGitHub {
owner = "mindsdb";
repo = "type_infer";
inherit tag;
hash = "sha256-2Y+NPwUnQMj0oXoCMfUOG40lqduy9GTcqxfyuFDOkHc=";
};
pythonRelaxDeps = [ "psutil" ];
pythonRelaxDeps = [
"psutil"
"py3langid"
];
nativeBuildInputs = [ poetry-core ];
build-system = [ poetry-core ];
propagatedBuildInputs = [
dependencies = [
colorlog
dataclasses-json
langid
nltk
numpy
pandas
@@ -59,8 +65,14 @@ buildPythonPackage rec {
toml
];
# PyPI package does not include tests
doCheck = false;
nativeCheckInputs = [
pytestCheckHook
];
disabledTests = [
# test hangs
"test_1_stack_overflow_survey"
];
# Package import requires NLTK data to be downloaded
# It is the only way to set NLTK_DATA environment variable,
@@ -69,8 +81,9 @@ buildPythonPackage rec {
pythonImportsCheck = [ "type_infer" ];
meta = with lib; {
changelog = "https://github.com/mindsdb/type_infer/releases/tag/${tag}";
description = "Automated type inference for Machine Learning pipelines";
homepage = "https://pypi.org/project/type-infer/";
homepage = "https://github.com/mindsdb/type_infer";
license = licenses.gpl3Only;
maintainers = with maintainers; [ mbalatsko ];
};
@@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "yalexs-ble";
version = "2.5.2";
version = "2.5.4";
pyproject = true;
disabled = pythonOlder "3.10";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "bdraco";
repo = "yalexs-ble";
rev = "refs/tags/v${version}";
hash = "sha256-scHdQbjIClV+TpLOVC0uf+SVx3kR1DDzcaKWnKMsHoY=";
hash = "sha256-zNem2nmTfpyJKKGx/CVi3YI09plwRVjzvRWyB57R5zc=";
};
build-system = [ poetry-core ];
+4 -1
View File
@@ -14,6 +14,7 @@
}:
assert stdenv.cc.isGNU;
with pkgs;
# rebuild gcc using the "final" stdenv
let gcc-stageCompare = (gcc-unwrapped.override {
@@ -25,7 +26,9 @@ let gcc-stageCompare = (gcc-unwrapped.override {
}).overrideAttrs(_: {
NIX_OUTPATH_USED_AS_RANDOM_SEED = stdenv.cc.cc.out;
});
in (runCommand "gcc-stageCompare" {} ''
in
assert lib.assertMsg (gcc-stageCompare ? checksum) "tests-stdenv-gcc-stageCompare: No `checksum` output in `gcc-stageCompare` see conditional in `gcc/common/checksum.nix`";
(runCommand "gcc-stageCompare" {} ''
diff -sr ${pkgs.gcc-unwrapped.checksum}/checksums ${gcc-stageCompare.checksum}/checksums && touch $out
'').overrideAttrs (a: {
meta = (a.meta or { }) // { platforms = lib.platforms.linux; };
+4
View File
@@ -18799,4 +18799,8 @@ with pkgs;
biblioteca = callPackage ../by-name/bi/biblioteca/package.nix {
webkitgtk = webkitgtk_6_0;
};
libpostalWithData = callPackage ../by-name/li/libpostal/package.nix {
withData = true;
};
}