diff --git a/nixos/modules/services/web-apps/akkoma.nix b/nixos/modules/services/web-apps/akkoma.nix index 226201fd1c0a..3bdc9cc804ee 100644 --- a/nixos/modules/services/web-apps/akkoma.nix +++ b/nixos/modules/services/web-apps/akkoma.nix @@ -501,8 +501,8 @@ in { extraPackages = mkOption { type = with types; listOf package; - default = with pkgs; [ exiftool ffmpeg-headless graphicsmagick-imagemagick-compat ]; - defaultText = literalExpression "with pkgs; [ exiftool ffmpeg-headless graphicsmagick-imagemagick-compat ]"; + default = with pkgs; [ exiftool ffmpeg-headless imagemagick ]; + defaultText = literalExpression "with pkgs; [ exiftool ffmpeg-headless imagemagick ]"; example = literalExpression "with pkgs; [ exiftool ffmpeg-full imagemagick ]"; description = '' List of extra packages to include in the executable search path of the service unit. diff --git a/nixos/modules/services/web-apps/firefly-iii.nix b/nixos/modules/services/web-apps/firefly-iii.nix index 92b4cb226885..42d6cdcb06b3 100644 --- a/nixos/modules/services/web-apps/firefly-iii.nix +++ b/nixos/modules/services/web-apps/firefly-iii.nix @@ -31,6 +31,7 @@ let ${lib.optionalString ( cfg.settings.DB_CONNECTION == "sqlite" ) "touch ${cfg.dataDir}/storage/database/database.sqlite"} + ${artisan} optimize:clear rm ${cfg.dataDir}/cache/*.php ${artisan} package:discover ${artisan} firefly-iii:upgrade-database @@ -318,6 +319,7 @@ in } // commonServiceConfig; unitConfig.JoinsNamespaceOf = "phpfpm-firefly-iii.service"; restartTriggers = [ cfg.package ]; + partOf = [ "phpfpm-firefly-iii.service" ]; }; systemd.services.firefly-iii-cron = { diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index c1a5e9c3877d..c8dc81383d6e 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -502,7 +502,11 @@ let echo -n "Passphrase for $device: " IFS= read -rs passphrase + ret=$? echo + if [ $ret -ne 0 ]; then + die "End of file reached. Exiting shell." + fi rm /crypt-ramfs/device echo -n "$passphrase" > /crypt-ramfs/passphrase diff --git a/pkgs/applications/terminal-emulators/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix index 3bc1d4f8d4d3..2bde298a7faf 100644 --- a/pkgs/applications/terminal-emulators/kitty/default.nix +++ b/pkgs/applications/terminal-emulators/kitty/default.nix @@ -35,20 +35,20 @@ with python3Packages; buildPythonApplication rec { pname = "kitty"; - version = "0.37.0"; + version = "0.38.0"; format = "other"; src = fetchFromGitHub { owner = "kovidgoyal"; repo = "kitty"; rev = "refs/tags/v${version}"; - hash = "sha256-xxM5nqEr7avtJUlcsrA/KXOTxSajIg7kDQM6Q4V+6WM="; + hash = "sha256-XURoUYo0Nejcfi49s9AlyoG5fpE0/mjMke2UWG8lUiA="; }; goModules = (buildGo123Module { pname = "kitty-go-modules"; inherit src version; - vendorHash = "sha256-d5jRhOm53HDGnsU5Lg5tVGU/9z8RGqORzS53hOyIKBk="; + vendorHash = "sha256-K12P81jE7oOU7qX2yQ+VtVHX/igKG0nPMSBkZ7wsR0o="; }).goModules; buildInputs = [ diff --git a/pkgs/by-name/cp/cpp-redis/01-fix-sleep_for.patch b/pkgs/by-name/cp/cpp-redis/01-fix-sleep_for.patch new file mode 100644 index 000000000000..54bc953f3a96 --- /dev/null +++ b/pkgs/by-name/cp/cpp-redis/01-fix-sleep_for.patch @@ -0,0 +1,12 @@ +diff --git a/sources/core/client.cpp b/sources/core/client.cpp +index 7ea20e2..c5d2c40 100644 +--- a/sources/core/client.cpp ++++ b/sources/core/client.cpp +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + namespace cpp_redis { + diff --git a/pkgs/by-name/cp/cpp-redis/package.nix b/pkgs/by-name/cp/cpp-redis/package.nix new file mode 100644 index 000000000000..6fc1e5b7c1e3 --- /dev/null +++ b/pkgs/by-name/cp/cpp-redis/package.nix @@ -0,0 +1,38 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, +}: + +stdenv.mkDerivation rec { + pname = "cpp-redis"; + version = "4.3.1"; + + src = fetchFromGitHub { + owner = "cpp-redis"; + repo = "cpp_redis"; + rev = version; + hash = "sha256-dLAnxgldylWWKO3WIyx+F7ylOpRH+0nD7NZjWSOxuwQ="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + CFLAGS = "-D_GLIBCXX_USE_NANOSLEEP"; + patches = [ + ./01-fix-sleep_for.patch + ]; + + meta = with lib; { + description = "C++11 Lightweight Redis client: async, thread-safe, no dependency, pipelining, multi-platform"; + homepage = "https://github.com/cpp-redis/cpp_redis"; + changelog = "https://github.com/cpp-redis/cpp_redis/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ poelzi ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/by-name/fi/firefly-iii/package.nix b/pkgs/by-name/fi/firefly-iii/package.nix index 70b8da259218..22b3b9447dde 100644 --- a/pkgs/by-name/fi/firefly-iii/package.nix +++ b/pkgs/by-name/fi/firefly-iii/package.nix @@ -13,13 +13,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "firefly-iii"; - version = "6.1.24"; + version = "6.1.25"; src = fetchFromGitHub { owner = "firefly-iii"; repo = "firefly-iii"; rev = "v${finalAttrs.version}"; - hash = "sha256-ZB0yaGHL1AI67i2ixUzuWyiBjXJNlDV4APBahDuNObI="; + hash = "sha256-6DZwTk67bKvgB+Zf7aPakrWWYCAjkYggrRiaFKgsMkk="; }; buildInputs = [ php83 ]; @@ -38,12 +38,12 @@ stdenvNoCC.mkDerivation (finalAttrs: { composerStrictValidation = true; strictDeps = true; - vendorHash = "sha256-6sOmW+CFuNEBVHpZwh/wjrIINPdcPJUvosmdLaCvZlw="; + vendorHash = "sha256-5uUjb5EPcoEBuFbWGb1EIC/U/VaSUsRp09S9COIx25E="; npmDeps = fetchNpmDeps { inherit (finalAttrs) src; name = "${finalAttrs.pname}-npm-deps"; - hash = "sha256-W3lV0LbmOPfIwStNf4IwBVorSFHIlpyuIk+17/V/Y2Y="; + hash = "sha256-j49iltvW7xGOCV+FIB4f+ECfQo50U+wTugyaK9JGN3A="; }; composerRepository = php83.mkComposerRepository { diff --git a/pkgs/by-name/op/opentabletdriver/deps.json b/pkgs/by-name/op/opentabletdriver/deps.json index 89827461a22f..3a9322d5d7fb 100644 --- a/pkgs/by-name/op/opentabletdriver/deps.json +++ b/pkgs/by-name/op/opentabletdriver/deps.json @@ -19,6 +19,11 @@ "version": "3.0.2", "hash": "sha256-b8LCEIZCLJdYcJXQqI3TGDmkLrmLhz84eoTq+qP5xvU=" }, + { + "pname": "DiffPlex", + "version": "1.7.2", + "hash": "sha256-Vsn81duAmPIPkR40h5bEz7hgtF5Kt5nAAGhQZrQbqxE=" + }, { "pname": "Eto.Forms", "version": "2.5.10", diff --git a/pkgs/by-name/op/opentabletdriver/package.nix b/pkgs/by-name/op/opentabletdriver/package.nix index 7293028faa14..fcb0461de307 100644 --- a/pkgs/by-name/op/opentabletdriver/package.nix +++ b/pkgs/by-name/op/opentabletdriver/package.nix @@ -16,23 +16,21 @@ nixosTests, udev, wrapGAppsHook3, + versionCheckHook, }: -buildDotnetModule rec { +buildDotnetModule (finalAttrs: { pname = "OpenTabletDriver"; - version = "0.6.4.0-unstable-2024-11-25"; + version = "0.6.5.0"; src = fetchFromGitHub { owner = "OpenTabletDriver"; repo = "OpenTabletDriver"; - rev = "8b88b8bdc5144391f10eb61ee77803ba0ee83718"; # 0.6.x branch - hash = "sha256-5JKkSqV9owkHgWXfjiyv5QRh86apDCPzpA6qha1i4D4="; + rev = "refs/tags/v${finalAttrs.version}"; + hash = "sha256-ILnwHfcV/tW59TLDpAeDwJK708IQfMFBOYuqRtED0kw="; }; - dotnetInstallFlags = [ "--framework=net8.0" ]; - dotnet-sdk = dotnetCorePackages.sdk_8_0; - dotnet-runtime = dotnetCorePackages.runtime_8_0; projectFile = [ "OpenTabletDriver.Console" @@ -64,23 +62,20 @@ buildDotnetModule rec { udev ]; - buildInputs = runtimeDeps; + buildInputs = finalAttrs.runtimeDeps; doCheck = true; testProjectFile = "OpenTabletDriver.Tests/OpenTabletDriver.Tests.csproj"; disabledTests = [ - # Require networking - "OpenTabletDriver.Tests.PluginRepositoryTest.ExpandRepositoryTarballFork" - "OpenTabletDriver.Tests.PluginRepositoryTest.ExpandRepositoryTarball" # Require networking & unused in Linux build - "OpenTabletDriver.Tests.UpdaterTests.UpdaterBase_ProperlyChecks_Version_Async" - "OpenTabletDriver.Tests.UpdaterTests.Updater_PreventsUpdate_WhenAlreadyUpToDate_Async" - "OpenTabletDriver.Tests.UpdaterTests.Updater_AllowsReupdate_WhenInstallFailed_Async" - "OpenTabletDriver.Tests.UpdaterTests.Updater_HasUpdateReturnsFalse_During_UpdateInstall_Async" - "OpenTabletDriver.Tests.UpdaterTests.Updater_HasUpdateReturnsFalse_After_UpdateInstall_Async" - "OpenTabletDriver.Tests.UpdaterTests.Updater_Prevents_ConcurrentAndConsecutive_Updates_Async" - "OpenTabletDriver.Tests.UpdaterTests.Updater_ProperlyBackups_BinAndAppDataDirectory_Async" + "OpenTabletDriver.Tests.UpdaterTests.CheckForUpdates_Returns_Update_When_Available" + "OpenTabletDriver.Tests.UpdaterTests.Install_Throws_UpdateAlreadyInstalledException_When_AlreadyInstalled" + "OpenTabletDriver.Tests.UpdaterTests.Install_DoesNotThrow_UpdateAlreadyInstalledException_When_PreviousInstallFailed" + "OpenTabletDriver.Tests.UpdaterTests.Install_Throws_UpdateInProgressException_When_AnotherUpdate_Is_InProgress" + "OpenTabletDriver.Tests.UpdaterTests.Install_Moves_UpdatedBinaries_To_BinDirectory" + "OpenTabletDriver.Tests.UpdaterTests.Install_Moves_Only_ToBeUpdated_Binaries" + "OpenTabletDriver.Tests.UpdaterTests.Install_Copies_AppDataFiles" # Intended only to be run in continuous integration, unnecessary for functionality "OpenTabletDriver.Tests.ConfigurationTest.Configurations_DeviceIdentifier_IsNotConflicting" # Depends on processor load @@ -120,6 +115,12 @@ buildDotnetModule rec { }) ]; + doInstallCheck = true; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgram = "${placeholder "out"}/bin/otd-daemon"; + passthru = { updateScript = ./update.sh; tests = { @@ -128,9 +129,11 @@ buildDotnetModule rec { }; meta = { + changelog = "https://github.com/OpenTabletDriver/OpenTabletDriver/releases/tag/v${finalAttrs.version}"; description = "Open source, cross-platform, user-mode tablet driver"; homepage = "https://github.com/OpenTabletDriver/OpenTabletDriver"; license = lib.licenses.lgpl3Plus; + mainProgram = "otd"; maintainers = with lib.maintainers; [ gepbird thiagokokada @@ -139,6 +142,5 @@ buildDotnetModule rec { "x86_64-linux" "aarch64-linux" ]; - mainProgram = "otd"; }; -} +}) diff --git a/pkgs/by-name/op/opentabletdriver/update.sh b/pkgs/by-name/op/opentabletdriver/update.sh index 24f6ec1ffbc4..61eac4b8b5da 100755 --- a/pkgs/by-name/op/opentabletdriver/update.sh +++ b/pkgs/by-name/op/opentabletdriver/update.sh @@ -1,23 +1,8 @@ #!/usr/bin/env nix-shell -#!nix-shell -I nixpkgs=./. -i bash -p curl gnused jq common-updater-scripts nixfmt-rfc-style -set -eo pipefail +#!nix-shell --pure -i bash -p bash nix nix-update git cacert +set -euo pipefail -verlte() { - printf '%s\n' "$1" "$2" | sort -C -V -} - -new_version="$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} -s "https://api.github.com/repos/OpenTabletDriver/OpenTabletDriver/releases" | - jq -r 'map(select(.prerelease == false)) | .[0].tag_name' | - cut -c2-)" -old_version="$(nix --extra-experimental-features 'nix-command' eval --file default.nix opentabletdriver.version --raw)" - -if verlte "$new_version" "$old_version"; then - echo "Already up to date!" - [[ "${1}" != "--force" ]] && exit 0 -fi - -update-source-version opentabletdriver "$new_version" -eval "$(nix-build -A opentabletdriver.fetch-deps --no-out-link)" - -cd "$(dirname "${BASH_SOURCE[0]}")" -nixfmt deps.nix +prev_version=$(nix eval --raw -f. opentabletdriver.version) +nix-update opentabletdriver +[[ $(nix eval --raw -f. opentabletdriver.version) == "$prev_version" ]] || + "$(nix-build . -A opentabletdriver.fetch-deps --no-out-link)" diff --git a/pkgs/by-name/sc/scarlett2/package.nix b/pkgs/by-name/sc/scarlett2/package.nix new file mode 100644 index 000000000000..82d7be656f52 --- /dev/null +++ b/pkgs/by-name/sc/scarlett2/package.nix @@ -0,0 +1,63 @@ +{ + stdenv, + fetchFromGitHub, + alsa-lib, + openssl, + pkg-config, + lib, + unstableGitUpdater, +}: + +let + + firmwareSrc = fetchFromGitHub { + owner = "geoffreybennett"; + repo = "scarlett2-firmware"; + rev = "f628dfb4d2e874b2078dbb43e8c1d59dd6553dd1"; + hash = "sha256-s61eyS47SuIbK9KR59XxHpybvl9tHFWPLkpHmdqwO24="; + }; + +in +stdenv.mkDerivation { + + pname = "scarlett2"; + + version = "0-unstable-2024-04-06"; + + src = fetchFromGitHub { + owner = "geoffreybennett"; + repo = "scarlett2"; + rev = "1c262bcac11bceb6da8334b8f5b56d3c9331bfc8"; + hash = "sha256-yhmXVfys300NwZ8UJ7WvOyNkGP3OkIVoRaToF+SenQA="; + }; + + buildInputs = [ + alsa-lib + openssl + ]; + + nativeBuildInputs = [ pkg-config ]; + + preBuild = '' + makeFlagsArray+=( PREFIX=$out ) + ''; + + passthru.updateScript = unstableGitUpdater { }; + + # the program expects to find firmware files in a directory called "firmware" relative to the resolved path of the binary + postInstall = '' + mkdir -p $out/share + mv $out/bin/scarlett2 $out/share + ln -s $out/share/scarlett2 $out/bin/scarlett2 + ln -s ${firmwareSrc}/firmware $out/share/firmware + ''; + + meta = { + description = "Scarlett2 Firmware Management Utility for Scarlett 2nd, 3rd, and 4th Gen, Clarett USB, and Clarett+ interfaces"; + homepage = "https://github.com/geoffreybennett/scarlett2"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ squalus ]; + mainProgram = "scarlett2"; + }; + +} diff --git a/pkgs/development/coq-modules/compcert/default.nix b/pkgs/development/coq-modules/compcert/default.nix index 4adfa5698cf8..b24a2ea37176 100644 --- a/pkgs/development/coq-modules/compcert/default.nix +++ b/pkgs/development/coq-modules/compcert/default.nix @@ -42,7 +42,7 @@ let lib.switch coq.version [ { case = range "8.14" "8.20"; - out = "3.14"; + out = "3.15"; } { case = isEq "8.13"; @@ -67,6 +67,7 @@ let "3.13".sha256 = "sha256-ZedxgEPr1ZgKIcyhQ6zD1l2xr6RDNNUYq/4ZyR6ojM4="; "3.13.1".sha256 = "sha256-ldXbuzVB0Z+UVTd5S4yGSg6oRYiKbXLMmUZcQsJLcns="; "3.14".sha256 = "sha256-QXJMpp/BaPiK5okHeo2rcmXENToXKjB51UqljMHTDgw="; + "3.15".sha256 = "sha256-QFTueGZd0hAWUj+c5GZL/AyNpfN4FuJiIzCICmwRXJ8="; }; strictDeps = true;