Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2023-12-15 06:01:29 +00:00 committed by GitHub
commit b9dfb3f0ee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
32 changed files with 435 additions and 211 deletions

View file

@ -73,6 +73,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
`globalRedirect` can now have redirect codes other than 301 through
`redirectCode`.
- [](#opt-boot.kernel.sysctl._net.core.wmem_max_) changed from a string to an integer because of the addition of a custom merge option (taking the highest value defined to avoid conflicts between 2 services trying to set that value), just as [](#opt-boot.kernel.sysctl._net.core.rmem_max_) since 22.11.
- Gitea 1.21 upgrade has several breaking changes, including:
- Custom themes and other assets that were previously stored in `custom/public/*` now belong in `custom/public/assets/*`
- New instances of Gitea using MySQL now ignore the `[database].CHARSET` config option and always use the `utf8mb4` charset, existing instances should migrate via the `gitea doctor convert` CLI command.

View file

@ -21,19 +21,27 @@ in
options = {
boot.kernel.sysctl = mkOption {
type = types.submodule {
type = let
highestValueType = types.ints.unsigned // {
merge = loc: defs:
foldl
(a: b: if b.value == null then null else lib.max a b.value)
0
(filterOverrides defs);
};
in types.submodule {
freeformType = types.attrsOf sysctlOption;
options."net.core.rmem_max" = mkOption {
type = types.nullOr types.ints.unsigned // {
merge = loc: defs:
foldl
(a: b: if b.value == null then null else lib.max a b.value)
0
(filterOverrides defs);
};
type = types.nullOr highestValueType;
default = null;
description = lib.mdDoc "The maximum socket receive buffer size. In case of conflicting values, the highest will be used.";
};
options."net.core.wmem_max" = mkOption {
type = types.nullOr highestValueType;
default = null;
description = lib.mdDoc "The maximum socket send buffer size. In case of conflicting values, the highest will be used.";
};
};
default = {};
example = literalExpression ''

View file

@ -434,7 +434,7 @@ in
# at least up to the values hardcoded here:
(mkIf cfg.settings.utp-enabled {
"net.core.rmem_max" = mkDefault 4194304; # 4MB
"net.core.wmem_max" = mkDefault "1048576"; # 1MB
"net.core.wmem_max" = mkDefault 1048576; # 1MB
})
(mkIf cfg.performanceNetParameters {
# Increase the number of available source (local) TCP and UDP ports to 49151.

View file

@ -19,7 +19,7 @@ in
options.services.node-red = {
enable = mkEnableOption (lib.mdDoc "the Node-RED service");
package = mkPackageOption pkgs "nodePackages.node-red" { };
package = mkPackageOption pkgs.nodePackages "node-red" { };
openFirewall = mkOption {
type = types.bool;

View file

@ -342,8 +342,9 @@ in
}
'';
# https://github.com/lucas-clemente/quic-go/wiki/UDP-Receive-Buffer-Size
# https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes
boot.kernel.sysctl."net.core.rmem_max" = mkDefault 2500000;
boot.kernel.sysctl."net.core.wmem_max" = mkDefault 2500000;
systemd.packages = [ cfg.package ];
systemd.services.caddy = {

View file

@ -3,27 +3,35 @@
, fetchFromGitHub
, libX11
, libXtst
, qmake
, cmake
, qtbase
, qttools
, qtwayland
, openssl
, libscrypt
, wrapQtAppsHook
, testers
, qMasterPassword
, x11Support ? true
, waylandSupport ? false
}:
stdenv.mkDerivation rec {
pname = "qMasterPassword";
version = "1.2.4";
version = "2.0";
src = fetchFromGitHub {
owner = "bkueng";
repo = pname;
rev = "v${version}";
sha256 = "sha256-VQ1ZkXaZ5sUbtWa/GreTr5uXvnZ2Go6owJ2ZBK25zns=";
hash = "sha256-4qxPjrf6r2S0l/hcs6bqfJm56jdDz+0a0xEkqGBYGBs=";
};
buildInputs = [ qtbase libX11 libXtst openssl libscrypt ];
nativeBuildInputs = [ qmake qttools wrapQtAppsHook ];
buildInputs = [ qtbase qtwayland openssl libscrypt ] ++ lib.optionals x11Support [ libX11 libXtst ];
nativeBuildInputs = [ cmake qttools wrapQtAppsHook ];
cmakeFlags = lib.optionals waylandSupport [
"-DDISABLE_FILL_FORM_SHORTCUTS=1"
];
# Upstream install is mostly defunct. It hardcodes target.path and doesn't
# install anything but the binary.
@ -34,17 +42,22 @@ stdenv.mkDerivation rec {
'' else ''
mkdir -p $out/bin
mkdir -p $out/share/{applications,doc/qMasterPassword,icons/qmasterpassword,icons/hicolor/512x512/apps,qMasterPassword/translations}
mv qMasterPassword $out/bin
mv data/qMasterPassword.desktop $out/share/applications
mv LICENSE README.md $out/share/doc/qMasterPassword
mv data/icons/app_icon.png $out/share/icons/hicolor/512x512/apps/qmasterpassword.png
mv data/icons/* $out/share/icons/qmasterpassword
lrelease ./data/translations/translation_de.ts
lrelease ./data/translations/translation_pl.ts
mv ./data/translations/translation_de.qm $out/share/qMasterPassword/translations/translation_de.qm
mv ./data/translations/translation_pl.qm $out/share/qMasterPassword/translations/translation_pl.qm
cp qMasterPassword $out/bin
cp $src/data/qMasterPassword.desktop $out/share/applications
cp $src/LICENSE $src/README.md $out/share/doc/qMasterPassword
cp $src/data/icons/app_icon.png $out/share/icons/hicolor/512x512/apps/qmasterpassword.png
cp $src/data/icons/* $out/share/icons/qmasterpassword
cp ./translations/translation_de.qm $out/share/qMasterPassword/translations/translation_de.qm
cp ./translations/translation_pl.qm $out/share/qMasterPassword/translations/translation_pl.qm
'';
passthru = {
tests.version = testers.testVersion {
package = qMasterPassword;
version = "v${version}";
};
};
meta = with lib; {
description = "Stateless Master Password Manager";
longDescription = ''

View file

@ -15,9 +15,9 @@
version = "2023-10-23";
};
};
hash = "sha256-2IYdIhe299Fn5gtmLKxqIPqTYYEpCJqbXh3Vx8zN9Uo=";
hash_deb_amd64 = "sha256-xHwBLIU1QoDM0swG2DzRJ7BY9ESiqOrm4SwvK0mfIZc=";
version = "120.0.6099.71";
hash = "sha256-Zbo8xvOfvJVkjdqBaApK6hekmuRKHuYWRBTZTpqcOSM=";
hash_deb_amd64 = "sha256-ScFJQB9fY1cWHtFO8GpQ8yuCLaO1AvyAV5lbnqSrPCs=";
version = "120.0.6099.109";
};
ungoogled-chromium = {
deps = {
@ -28,12 +28,12 @@
version = "2023-10-23";
};
ungoogled-patches = {
hash = "sha256-S0Kt9M21zyjIozJuyy4kBDt07kJxXBR7SoNzdvf0iPI=";
rev = "120.0.6099.71-1";
hash = "sha256-wiW1w+HVPpEjROuE3yhYuGiZSwI8z5+k1CFnVZ0HtME=";
rev = "120.0.6099.109-1";
};
};
hash = "sha256-2IYdIhe299Fn5gtmLKxqIPqTYYEpCJqbXh3Vx8zN9Uo=";
hash_deb_amd64 = "sha256-xHwBLIU1QoDM0swG2DzRJ7BY9ESiqOrm4SwvK0mfIZc=";
version = "120.0.6099.71";
hash = "sha256-Zbo8xvOfvJVkjdqBaApK6hekmuRKHuYWRBTZTpqcOSM=";
hash_deb_amd64 = "sha256-ScFJQB9fY1cWHtFO8GpQ8yuCLaO1AvyAV5lbnqSrPCs=";
version = "120.0.6099.109";
};
}

View file

@ -1,6 +1,8 @@
{ lib
, fetchFromGitHub
, mkDerivation
, stdenv
, wrapQtAppsHook
, substituteAll
, SDL2
, frei0r
, ladspaPlugins
@ -8,72 +10,54 @@
, mlt
, jack1
, pkg-config
, fftw
, qtbase
, qtmultimedia
, qtx11extras
, qtwebsockets
, qtquickcontrols2
, qtgraphicaleffects
, qmake
, qttools
, qtmultimedia
, qtcharts
, cmake
, gitUpdater
}:
assert lib.versionAtLeast mlt.version "6.24.0";
mkDerivation rec {
stdenv.mkDerivation rec {
pname = "shotcut";
version = "21.09.20";
version = "23.11.29";
src = fetchFromGitHub {
owner = "mltframework";
repo = "shotcut";
rev = "v${version}";
sha256 = "1y46n5gmlayfl46l0vhg5g5dbbc0sg909mxb68sia0clkaas8xrh";
hash = "sha256-szWXX/DIJk5ktESgecglptU1qrnrd/u0N6AffwZ5Tos=";
};
nativeBuildInputs = [ pkg-config qmake ];
nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook ];
buildInputs = [
SDL2
frei0r
ladspaPlugins
gettext
mlt
fftw
qtbase
qttools
qtmultimedia
qtx11extras
qtwebsockets
qtquickcontrols2
qtgraphicaleffects
qtcharts
];
env.NIX_CFLAGS_COMPILE = "-I${mlt.dev}/include/mlt++ -I${mlt.dev}/include/mlt";
qmakeFlags = [
"QMAKE_LRELEASE=${lib.getDev qttools}/bin/lrelease"
"SHOTCUT_VERSION=${version}"
"DEFINES+=SHOTCUT_NOUPGRADE"
env.NIX_CFLAGS_COMPILE = "-DSHOTCUT_NOUPGRADE";
cmakeFlags = [
"-DSHOTCUT_VERSION=${version}"
];
prePatch = ''
sed 's_shotcutPath, "melt[^"]*"_"${mlt}/bin/melt"_' -i src/jobs/meltjob.cpp
sed 's_shotcutPath, "ffmpeg"_"${mlt.ffmpeg}/bin/ffmpeg"_' -i src/jobs/ffmpegjob.cpp
sed 's_qApp->applicationDirPath(), "ffmpeg"_"${mlt.ffmpeg}/bin/ffmpeg"_' -i src/docks/encodedock.cpp
NICE=$(type -P nice)
sed "s_/usr/bin/nice_''${NICE}_" -i src/jobs/meltjob.cpp src/jobs/ffmpegjob.cpp
'';
patches = [
(substituteAll { inherit mlt; src = ./fix-mlt-ffmpeg-path.patch; })
];
qtWrapperArgs = [
"--prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1"
"--prefix LADSPA_PATH : ${ladspaPlugins}/lib/ladspa"
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ jack1 SDL2 ]}"
"--prefix PATH : ${mlt}/bin"
"--set FREI0R_PATH ${frei0r}/lib/frei0r-1"
"--set LADSPA_PATH ${ladspaPlugins}/lib/ladspa"
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [jack1 SDL2]}"
];
postInstall = ''
mkdir -p $out/share/shotcut
cp -r src/qml $out/share/shotcut/
'';
passthru.updateScript = gitUpdater {
rev-prefix = "v";
};

View file

@ -0,0 +1,80 @@
diff --git a/src/docks/encodedock.cpp b/src/docks/encodedock.cpp
index 3359f676..24e44f98 100644
--- a/src/docks/encodedock.cpp
+++ b/src/docks/encodedock.cpp
@@ -2177,7 +2177,7 @@ bool EncodeDock::detectHardwareEncoders()
{
MAIN.showStatusMessage(tr("Detecting hardware encoders..."));
QStringList hwlist;
- QFileInfo ffmpegPath(qApp->applicationDirPath(), "ffmpeg");
+ QFileInfo ffmpegPath("@ffmpeg@/bin/ffmpeg");
foreach (const QString &codec, codecs()) {
LOG_INFO() << "checking for" << codec;
QProcess proc;
@@ -2220,7 +2220,7 @@ bool EncodeDock::detectHardwareEncoders()
QString &EncodeDock::defaultFormatExtension()
{
auto format = ui->formatCombo->currentText();
- QFileInfo ffmpegPath(qApp->applicationDirPath(), "ffmpeg");
+ QFileInfo ffmpegPath("@ffmpeg@/bin/ffmpeg");
QProcess proc;
QStringList args;
args << "-hide_banner" << "-h" << format.prepend("muxer=");
diff --git a/src/jobs/ffmpegjob.cpp b/src/jobs/ffmpegjob.cpp
index 1f15e647..b6ad6633 100644
--- a/src/jobs/ffmpegjob.cpp
+++ b/src/jobs/ffmpegjob.cpp
@@ -54,7 +54,7 @@ FfmpegJob::~FfmpegJob()
void FfmpegJob::start()
{
QString shotcutPath = qApp->applicationDirPath();
- QFileInfo ffmpegPath(shotcutPath, "ffmpeg");
+ QFileInfo ffmpegPath("@ffmpeg@/bin/ffmpeg");
setReadChannel(QProcess::StandardError);
LOG_DEBUG() << ffmpegPath.absoluteFilePath() + " " + m_args.join(' ');
AbstractJob::start(ffmpegPath.absoluteFilePath(), m_args);
diff --git a/src/jobs/meltjob.cpp b/src/jobs/meltjob.cpp
index fd8c00b8..9150fe7b 100644
--- a/src/jobs/meltjob.cpp
+++ b/src/jobs/meltjob.cpp
@@ -98,9 +98,9 @@ void MeltJob::start()
}
QString shotcutPath = qApp->applicationDirPath();
#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
- QFileInfo meltPath(shotcutPath, "melt-7");
+ QFileInfo meltPath("@mlt@/bin/melt");
#else
- QFileInfo meltPath(shotcutPath, "melt");
+ QFileInfo meltPath("@mlt@/bin/melt");
#endif
setReadChannel(QProcess::StandardError);
QStringList args;
diff --git a/src/mltcontroller.cpp b/src/mltcontroller.cpp
index 1e2299ac..b8f39f12 100644
--- a/src/mltcontroller.cpp
+++ b/src/mltcontroller.cpp
@@ -1555,9 +1555,9 @@ int Controller::checkFile(const QString &path)
|| path.endsWith(".aep")) {
QString shotcutPath = qApp->applicationDirPath();
#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
- QFileInfo meltPath(shotcutPath, "melt-7");
+ QFileInfo meltPath("@mlt@/bin/melt");
#else
- QFileInfo meltPath(shotcutPath, "melt");
+ QFileInfo meltPath("@mlt@/bin/melt");
#endif
QStringList args;
args << "-quiet" << "-consumer" << "null" << "real_time=0" << "out=0" << "terminate_on_pause=1" <<
diff --git a/src/widgets/directshowvideowidget.cpp b/src/widgets/directshowvideowidget.cpp
index c91ba821..73dd5a61 100644
--- a/src/widgets/directshowvideowidget.cpp
+++ b/src/widgets/directshowvideowidget.cpp
@@ -35,7 +35,7 @@ DirectShowVideoWidget::DirectShowVideoWidget(QWidget *parent) :
ui->setupUi(this);
Util::setColorsToHighlight(ui->label);
#ifdef Q_OS_WIN
- QFileInfo ffmpegPath(qApp->applicationDirPath(), "ffmpeg");
+ QFileInfo ffmpegPath("@ffmpeg@/bin/ffmpeg");
QProcess proc;
QStringList args;
args << "-hide_banner" << "-list_devices" << "true" << "-f" << "dshow" << "-i" << "dummy";

View file

@ -6,10 +6,9 @@
}:
let
nuget-source = stdenvNoCC.mkDerivation rec {
nuget-source = stdenvNoCC.mkDerivation {
inherit name;
meta.description = description;
nativeBuildInputs = [ python3 ];
buildCommand = ''
@ -18,17 +17,22 @@ let
# use -L to follow symbolic links. When `projectReferences` is used in
# buildDotnetModule, one of the deps will be a symlink farm.
find -L ${lib.concatStringsSep " " deps} -type f -name '*.nupkg' -exec \
cp --no-clobber '{}' $out/lib ';'
ln -s '{}' -t $out/lib ';'
# Generates a list of all licenses' spdx ids, if available.
# Note that this currently ignores any license provided in plain text (e.g. "LICENSE.txt")
python ${./extract-licenses-from-nupkgs.py} $out/lib > $out/share/licenses
'';
meta.description = description;
} // { # We need data from `$out` for `meta`, so we have to use overrides as to not hit infinite recursion.
meta.licence = let
depLicenses = lib.splitString "\n" (builtins.readFile "${nuget-source}/share/licenses");
in (lib.flatten (lib.forEach depLicenses (spdx:
lib.optionals (spdx != "") (lib.getLicenseFromSpdxId spdx)
)));
meta = nuget-source.meta // {
licenses = let
# TODO: avoid IFD
depLicenses = lib.splitString "\n" (builtins.readFile "${nuget-source}/share/licenses");
in lib.flatten (lib.forEach depLicenses (spdx:
lib.optionals (spdx != "") (lib.getLicenseFromSpdxId spdx)
));
};
};
in nuget-source

View file

@ -0,0 +1,28 @@
diff --git a/time/chrono/+freebsd.ha b/time/chrono/+freebsd.ha
index 26d78ab1..6861bfe8 100644
--- a/time/chrono/+freebsd.ha
+++ b/time/chrono/+freebsd.ha
@@ -2,7 +2,7 @@
// (c) Hare authors <https://harelang.org>
def LOCALTIME_PATH: str = "/etc/localtime";
-def ZONEINFO_PREFIX: str = "/usr/share/zoneinfo/";
+def ZONEINFO_PREFIX: str = "@tzdata@/share/zoneinfo/";
// The filepath of the system's "leap-seconds.list" file, which contains UTC/TAI
// leap second data.
diff --git a/time/chrono/+linux.ha b/time/chrono/+linux.ha
index 600f606c..8d5617e2 100644
--- a/time/chrono/+linux.ha
+++ b/time/chrono/+linux.ha
@@ -2,8 +2,8 @@
// (c) Hare authors <https://harelang.org>
def LOCALTIME_PATH: str = "/etc/localtime";
-def ZONEINFO_PREFIX: str = "/usr/share/zoneinfo/";
+def ZONEINFO_PREFIX: str = "@tzdata@/share/zoneinfo/";
// The filepath of the system's "leap-seconds.list" file, which contains UTC/TAI
// leap second data.
-export def UTC_LEAPSECS_FILE: str = "/usr/share/zoneinfo/leap-seconds.list";
+export def UTC_LEAPSECS_FILE: str = "@tzdata@/share/zoneinfo/leap-seconds.list";

View file

@ -0,0 +1,91 @@
{ lib
, stdenv
, fetchFromSourcehut
, binutils-unwrapped
, harec
, makeWrapper
, qbe
, scdoc
, tzdata
, substituteAll
}:
let
# We use harec's override of qbe until 1.2 is released, but the `qbe` argument
# is kept to avoid breakage.
qbe = harec.qbeUnstable;
# https://harelang.org/platforms/
arch = stdenv.hostPlatform.uname.processor;
platform = lib.strings.toLower stdenv.hostPlatform.uname.system;
in
stdenv.mkDerivation (finalAttrs: {
pname = "hare";
version = "unstable-2023-11-27";
outputs = [ "out" "man" ];
src = fetchFromSourcehut {
owner = "~sircmpwn";
repo = "hare";
rev = "d94f355481a320fb2aec13ef62cb3bfe2416f5e4";
hash = "sha256-Mpl3VO4xvLCKHeYr/FPuS6jl8CkyeqDz18mQ6Zv05oc=";
};
patches = [
# Replace FHS paths with nix store
(substituteAll {
src = ./001-tzdata.patch;
inherit tzdata;
})
];
nativeBuildInputs = [
harec
makeWrapper
qbe
scdoc
];
buildInputs = [
binutils-unwrapped
harec
qbe
tzdata
];
makeFlags = [
"HARECACHE=.harecache"
"PREFIX=${builtins.placeholder "out"}"
"PLATFORM=${platform}"
"ARCH=${arch}"
];
enableParallelBuilding = true;
# Append the distribution name to the version
env.LOCALVER = "nixpkgs";
strictDeps = true;
doCheck = true;
preConfigure = ''
ln -s config.example.mk config.mk
'';
postFixup = ''
wrapProgram $out/bin/hare \
--prefix PATH : ${lib.makeBinPath [binutils-unwrapped harec qbe]}
'';
setupHook = ./setup-hook.sh;
meta = {
homepage = "https://harelang.org/";
description = "Systems programming language designed to be simple, stable, and robust";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ onemoresuza ];
mainProgram = "hare";
inherit (harec.meta) platforms badPlatforms;
};
})

View file

@ -19,13 +19,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "harec";
version = "unstable-2023-10-22";
version = "unstable-2023-11-29";
src = fetchFromSourcehut {
owner = "~sircmpwn";
repo = "harec";
rev = "64dea196ce040fbf3417e1b4fb11331688672aca";
hash = "sha256-2Aeb+OZ/hYUyyxx6aTw+Oxiac+p+SClxtg0h68ZBSHc=";
rev = "ec3193e3870436180b0f3df82b769adc57a1c099";
hash = "sha256-HXQIgFC4YVDJjo5xbyg1ea3jWYKLEwKkD1KFzWFz9UI= ";
};
nativeBuildInputs = [

View file

@ -0,0 +1,32 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
}:
stdenvNoCC.mkDerivation {
pname = "xdg-terminal-exec";
version = "unstable-2023-12-08";
src = fetchFromGitHub {
owner = "Vladimir-csp";
repo = "xdg-terminal-exec";
rev = "04f37d4337b6ce157d4a7338dd600a32deb43a28";
hash = "sha256-QIPdF+/dMUEVcz5j9o+wQ4dnw2yWwz7slnLdMNETkGs=";
};
dontBuild = true;
installPhase = ''
runHook preInstall
install -Dm555 xdg-terminal-exec -t $out/bin
runHook postInstall
'';
meta = {
description = "Proposal for XDG terminal execution utility";
homepage = "https://github.com/Vladimir-csp/xdg-terminal-exec";
license = lib.licenses.gpl3Plus;
mainProgram = "xdg-terminal-exec";
maintainers = with lib.maintainers; [quantenzitrone];
platforms = lib.platforms.unix;
};
}

View file

@ -2,13 +2,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "fg-virgil";
version = "0.16.1";
version = "0.17.0";
src = fetchFromGitHub {
owner = "excalidraw";
repo = "excalidraw";
rev = "v${finalAttrs.version}";
hash = "sha256-iziCCHacaShPqb0f5nI8cCinFFs5fB3TcMJrifNhg4I=";
hash = "sha256-awd5jTz4sSiliEq7xt6dUR31C85oDcCP5GLuQn0ohj0=";
};
installPhase = ''

View file

@ -1,100 +0,0 @@
{ lib
, stdenv
, fetchFromSourcehut
, binutils-unwrapped
, harec
, makeWrapper
, qbe
, scdoc
}:
let
# We use harec's override of qbe until 1.2 is released, but the `qbe` argument
# is kept to avoid breakage.
qbe = harec.qbeUnstable;
in
stdenv.mkDerivation (finalAttrs: {
pname = "hare";
version = "unstable-2023-10-23";
src = fetchFromSourcehut {
owner = "~sircmpwn";
repo = "hare";
rev = "1048620a7a25134db370bf24736efff1ffcb2483";
hash = "sha256-slQPIhrcM+KAVAvjuRnqNdEAEr4Xa4iQNVEpI7Wl+Ks=";
};
nativeBuildInputs = [
binutils-unwrapped
harec
makeWrapper
qbe
scdoc
];
buildInputs = [
binutils-unwrapped
harec
qbe
];
# Append the distribution name to the version
env.LOCALVER = "nix";
configurePhase =
let
# https://harelang.org/platforms/
arch =
if stdenv.isx86_64 then "x86_64"
else if stdenv.isAarch64 then "aarch64"
else if stdenv.hostPlatform.isRiscV && stdenv.is64bit then "riscv64"
else "unsupported";
platform =
if stdenv.isLinux then "linux"
else if stdenv.isFreeBSD then "freebsd"
else "unsupported";
in
''
runHook preConfigure
cp config.example.mk config.mk
makeFlagsArray+=(
PREFIX="${builtins.placeholder "out"}"
HARECACHE="$(mktemp -d --tmpdir harecache.XXXXXXXX)"
BINOUT="$(mktemp -d --tmpdir bin.XXXXXXXX)"
PLATFORM="${platform}"
ARCH="${arch}"
)
runHook postConfigure
'';
doCheck = true;
postFixup =
let
binPath = lib.makeBinPath [
binutils-unwrapped
harec
qbe
];
in
''
wrapProgram $out/bin/hare --prefix PATH : ${binPath}
'';
setupHook = ./setup-hook.sh;
strictDeps = true;
enableParallelBuilding = true;
meta = {
homepage = "https://harelang.org/";
description =
"A systems programming language designed to be simple, stable, and robust";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ onemoresuza ];
mainProgram = "hare";
inherit (harec.meta) platforms badPlatforms;
};
})

View file

@ -0,0 +1,31 @@
{ lib, stdenv, hare, harec, fetchFromSourcehut }:
stdenv.mkDerivation (finalAttrs: {
pname = "hare-compress";
version = "unstable-2023-11-01";
src = fetchFromSourcehut {
owner = "~sircmpwn";
repo = "hare-compress";
rev = "562706946871d1c994f60361883269916cbaa08e";
hash = "sha256-sz8xPBZaUFye3HH4lkRnH52ye451e6seZXN/qvg87jE=";
};
nativeBuildInputs = [ hare ];
makeFlags = [
"HARECACHE=.harecache"
"PREFIX=${builtins.placeholder "out"}"
];
doCheck = true;
meta = with lib; {
homepage = "https://git.sr.ht/~sircmpwn/hare-compress/";
description = "Compression algorithms for Hare";
license = with licenses; [ mpl20 ];
maintainers = with maintainers; [ starzation ];
inherit (harec.meta) platforms badPlatforms;
};
})

View file

@ -1,6 +1,6 @@
{ mkDerivation }:
mkDerivation {
version = "26.1.2";
sha256 = "sha256-exLLdg7z/HKJI81w33vcQUDF6NG5n2WKtcYwdPxN+0A=";
version = "26.2";
sha256 = "sha256-mk8vPgWFTMo4oPY/OIdboYMTyxG/22Ow4EYs1b+nHuM=";
}

View file

@ -24,6 +24,7 @@
, cudaSupport ? config.cudaSupport
, cudaPackages ? { }
, enableJackrack ? stdenv.isLinux
, glib
, ladspa-sdk
, ladspaPlugins
, enablePython ? false
@ -82,6 +83,7 @@ stdenv.mkDerivation rec {
] ++ lib.optionals cudaSupport [
cudaPackages.cuda_cudart
] ++ lib.optionals enableJackrack [
glib
ladspa-sdk
ladspaPlugins
] ++ lib.optionals (qt != null) [

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub }:
{ lib, stdenv, fetchFromGitHub, cudaPackages }:
stdenv.mkDerivation {
pname = "nvidia-optical-flow-sdk";
@ -18,10 +18,12 @@ stdenv.mkDerivation {
cp -R * $out/include
'';
postFixup = ''
mkdir -p $out/nix-support
echo $pname >> "$out/nix-support/include-in-cudatoolkit-root"
'';
# Makes setupCudaHook propagate nvidia-optical-flow-sdk together with cuda
# packages. Currently used by opencv4.cxxdev, hopefully can be removed in the
# future
nativeBuildInputs = [
cudaPackages.markForCudatoolkitRootHook
];
meta = with lib; {
description = "Nvidia optical flow headers for computing the relative motion of pixels between images";

View file

@ -92,7 +92,10 @@ buildPythonPackage rec {
pytestCheckHook
];
disabledTests = lib.optionals (stdenv.isDarwin) [
disabledTests = [
# https://github.com/postlund/pyatv/issues/2307
"test_zeroconf_service_published"
] ++ lib.optionals (stdenv.isDarwin) [
# tests/protocols/raop/test_raop_functional.py::test_stream_retransmission[raop_properties2-2-True] - assert False
"test_stream_retransmission"
];

View file

@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "renault-api";
version = "0.2.0";
version = "0.2.1";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "hacf-fr";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-x6+rFstZM7Uplwa8NeRBTb8FYSD/NGjN/3q5earvN7c=";
hash = "sha256-HDaX94XHkyrIA0hWYwcpUItEIeRK2ACvS6jg1YA6Wv4=";
};
nativeBuildInputs = [

View file

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "zeroconf";
version = "0.128.4";
version = "0.129.0";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "jstasiak";
repo = "python-zeroconf";
rev = "refs/tags/${version}";
hash = "sha256-yNPILYI3zAY4LCWvfKw7iu0H0UNbhfhC9Vyp9fdjwbI=";
hash = "sha256-TjBaKw5AI1xPShmX/Ny7V7pvhz/4xwbxTZrDbMeLF5o=";
};
postPatch = ''

View file

@ -0,0 +1,38 @@
{ lib
, stdenv
, linuxPackages
, kernel
, fetchFromGitHub
}:
stdenv.mkDerivation rec {
pname = "framework-laptop-kmod";
version = "unstable-2023-12-03";
src = fetchFromGitHub {
owner = "DHowett";
repo = "framework-laptop-kmod";
rev = "d5367eb9e5b5542407494d04ac1a0e77f10cc89d";
hash = "sha256-t8F4XHPkuCjWBrsEjW97ielYtf3V6hlLsrasvyab198=";
};
nativeBuildInputs = kernel.moduleBuildDependencies;
makeFlags = kernel.makeFlags ++ [
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
];
installPhase = ''
runHook preInstall
install -D framework_laptop.ko -t $out/lib/modules/${kernel.modDirVersion}/extra
runHook postInstall
'';
meta = with lib; {
description = "A kernel module that exposes the Framework Laptop (13, 16)'s battery charge limit and LEDs to userspace.";
homepage = "https://github.com/DHowett/framework-laptop-kmod";
license = licenses.gpl2;
maintainers = with maintainers; [ gaykitty ];
platforms = platforms.linux;
};
}

View file

@ -14,7 +14,7 @@
stdenv.mkDerivation rec {
pname = "slurm";
version = "23.02.6.1";
version = "23.02.7.1";
# N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
# because the latter does not keep older releases.
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
repo = "slurm";
# The release tags use - instead of .
rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
sha256 = "sha256-azgGM4qfS0xtUaiGfXtu8MNYdgpZRUfx+zBgAAlmt6g=";
sha256 = "sha256-0u96KnEahx7noA8vQEkC1f+hv4d3NGPmnof9G7bA7Oc=";
};
outputs = [ "out" "dev" ];

View file

@ -2,7 +2,7 @@
# Do not edit!
{
version = "2023.12.2";
version = "2023.12.3";
components = {
"3_day_blinds" = ps: with ps; [
];

View file

@ -311,7 +311,7 @@ let
extraBuildInputs = extraPackages python.pkgs;
# Don't forget to run parse-requirements.py after updating
hassVersion = "2023.12.2";
hassVersion = "2023.12.3";
in python.pkgs.buildPythonApplication rec {
pname = "homeassistant";
@ -329,13 +329,13 @@ in python.pkgs.buildPythonApplication rec {
owner = "home-assistant";
repo = "core";
rev = "refs/tags/${version}";
hash = "sha256-uP4aX8Fo4GopvzpZGKFw99rXxudEgsKfhdeMHhXv47s=";
hash = "sha256-pTDYiy9Ux7Rgsf9rXXF3GbaiJkTX5FA/7K2hJtiNOkQ=";
};
# Secondary source is pypi sdist for translations
sdist = fetchPypi {
inherit pname version;
hash = "sha256-1KMTn/iuey/Cug1gq4+54J+ZJTqcU+sW5Zw5tS+DwcQ=";
hash = "sha256-cvsYkuQG4i3GG8VGJ+HGSjdvpSBLzh0BFYQQpoVq4FY=";
};
nativeBuildInputs = with python.pkgs; [

View file

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "homeassistant-stubs";
version = "2023.12.2";
version = "2023.12.3";
format = "pyproject";
disabled = python.version != home-assistant.python.version;
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "KapJI";
repo = "homeassistant-stubs";
rev = "refs/tags/${version}";
hash = "sha256-O5qVC/ffI+bS+cS3i+qmJFYCazDaZwmrnFwUj/jKC20=";
hash = "sha256-PQZsesdGqeZgQUgO7DkKDcBrWRM/CY8giPx8cK3531s=";
};
nativeBuildInputs = [

View file

@ -9142,10 +9142,6 @@ with pkgs;
llvmPackages = llvmPackages_16;
};
hare = callPackage ../development/compilers/hare { };
harec = callPackage ../development/compilers/harec { };
hareThirdParty = recurseIntoAttrs (callPackage ./hare-third-party.nix { });
ham = pkgs.perlPackages.ham;
@ -34254,7 +34250,7 @@ with pkgs;
shod = callPackage ../applications/window-managers/shod { };
shotcut = libsForQt5.callPackage ../applications/video/shotcut { };
shotcut = qt6Packages.callPackage ../applications/video/shotcut { };
shogun = callPackage ../applications/science/machine-learning/shogun {
protobuf = protobuf_21;
@ -40962,7 +40958,12 @@ with pkgs;
gtk2 = gtk2-x11;
};
qMasterPassword = libsForQt5.callPackage ../applications/misc/qMasterPassword { };
qMasterPassword = qt6Packages.callPackage ../applications/misc/qMasterPassword { };
qMasterPassword-wayland = qt6Packages.callPackage ../applications/misc/qMasterPassword {
x11Support = false;
waylandSupport = true;
};
qmake2cmake = python3Packages.callPackage ../tools/misc/qmake2cmake { };

View file

@ -6,4 +6,6 @@ let
in
{
hare-json = callPackage ../development/hare-packages/hare-json { };
hare-compress = callPackage ../development/hare-third-party/hare-compress {};
})

View file

@ -344,6 +344,8 @@ in {
fanout = callPackage ../os-specific/linux/fanout { };
framework-laptop-kmod = callPackage ../os-specific/linux/framework-laptop-kmod { };
fwts-efi-runtime = callPackage ../os-specific/linux/fwts/module.nix { };
gcadapter-oc-kmod = callPackage ../os-specific/linux/gcadapter-oc-kmod { };