diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md index 1060e444a53f..feb22e7a5cc7 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -115,6 +115,8 @@ - [Eintopf](https://eintopf.info), a community event and calendar web application. Available as [services.eintopf](options.html#opt-services.eintopf.enable). +- [`pay-respects`](https://codeberg.org/iff/pay-respects), a terminal command correction program, alternative to `thefuck`, written in Rust. Available as [programs.pay-respects](options.html#opt-programs.pay-respects). + - [Radicle](https://radicle.xyz), an open source, peer-to-peer code collaboration stack built on Git. Available as [services.radicle](#opt-services.radicle.enable). - [ddns-updater](https://github.com/qdm12/ddns-updater), a service with a WebUI to update DNS records periodically for many providers. Available as [services.ddns-updater](#opt-services.ddns-updater.enable). diff --git a/nixos/modules/programs/pay-respects.nix b/nixos/modules/programs/pay-respects.nix new file mode 100644 index 000000000000..a3fdcf5b8848 --- /dev/null +++ b/nixos/modules/programs/pay-respects.nix @@ -0,0 +1,56 @@ +{ + config, + pkgs, + lib, + ... +}: +let + inherit (lib) + getExe + maintainers + mkEnableOption + mkIf + mkOption + types + ; + inherit (types) str; + cfg = config.programs.pay-respects; + + initScript = + shell: + if (shell != "fish") then + '' + eval $(${getExe pkgs.pay-respects} ${shell} --alias ${cfg.alias}) + '' + else + '' + ${getExe pkgs.pay-respects} ${shell} --alias ${cfg.alias} | source + ''; +in +{ + options = { + programs.pay-respects = { + enable = mkEnableOption "pay-respects, an app which corrects your previous console command"; + + alias = mkOption { + default = "f"; + type = str; + description = '' + `pay-respects` needs an alias to be configured. + The default value is `f`, but you can use anything else as well. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.pay-respects ]; + + programs = { + bash.interactiveShellInit = initScript "bash"; + fish.interactiveShellInit = mkIf config.programs.fish.enable initScript "fish"; + zsh.interactiveShellInit = mkIf config.programs.zsh.enable initScript "zsh"; + }; + }; + meta.maintainers = with maintainers; [ sigmasquadron ]; +} diff --git a/pkgs/applications/audio/tree-from-tags/default.nix b/pkgs/applications/audio/tree-from-tags/default.nix deleted file mode 100644 index 9b81cc250c1b..000000000000 --- a/pkgs/applications/audio/tree-from-tags/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ lib, stdenv, bundlerEnv, ruby, fetchFromGitHub }: -let - version = "1.1"; - gems = bundlerEnv { - name = "tree-from-tags-${version}-gems"; - inherit ruby; - gemdir = ./.; - }; -in stdenv.mkDerivation { - pname = "tree-from-tags"; - inherit version; - src = fetchFromGitHub { - owner = "dbrock"; - repo = "bongo"; - rev = version; - sha256 = "1nszph9mn98flyhn1jq3y6mdh6jymjkvj5ng36ql016dj92apvhv"; - }; - buildInputs = [ gems ruby ]; - installPhase = '' - mkdir -p $out/{bin,share} - cp tree-from-tags.rb $out/share/ - bin=$out/bin/tree-from-tags -# we are using bundle exec to start in the bundled environment - cat > $bin < +Date: Sat, 2 Nov 2024 18:17:20 +0800 +Subject: [PATCH] Add go.mod & go.sum; remove vendor + +--- + go.mod | 27 +++++++++++++++++++++++++++ + go.sum | 32 ++++++++++++++++++++++++++++++++ + 2 files changed, 59 insertions(+) + create mode 100644 go.mod + create mode 100644 go.sum + +diff --git a/go.mod b/go.mod +new file mode 100644 +index 0000000..21b33b1 +--- /dev/null ++++ b/go.mod +@@ -0,0 +1,27 @@ ++module github.com/andreaskoch/allmark ++ ++go 1.19 ++ ++require ( ++ github.com/abbot/go-http-auth v0.4.0 ++ github.com/andreaskoch/fulltext v0.0.0-20150721192424-05ab8b1eab52 ++ github.com/andreaskoch/go-fswatch v1.0.0 ++ github.com/gorilla/handlers v1.5.2 ++ github.com/gorilla/mux v1.8.1 ++ github.com/kyokomi/emoji v1.5.1 ++ github.com/mitchellh/go-homedir v1.1.0 ++ github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 ++ github.com/russross/blackfriday v1.6.0 ++ github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 ++ github.com/spf13/afero v1.11.0 ++ golang.org/x/net v0.26.0 ++) ++ ++require ( ++ github.com/felixge/httpsnoop v1.0.3 // indirect ++ github.com/jbarham/go-cdb v0.0.0-20200301055225-9d6f6caadef0 // indirect ++ golang.org/x/crypto v0.24.0 // indirect ++ golang.org/x/text v0.16.0 // indirect ++) ++ ++replace github.com/jbarham/go-cdb => github.com/jbarham/cdb v0.0.0-20200301055225-9d6f6caadef0 +diff --git a/go.sum b/go.sum +new file mode 100644 +index 0000000..0dc9e58 +--- /dev/null ++++ b/go.sum +@@ -0,0 +1,32 @@ ++github.com/abbot/go-http-auth v0.4.0 h1:QjmvZ5gSC7jm3Zg54DqWE/T5m1t2AfDu6QlXJT0EVT0= ++github.com/abbot/go-http-auth v0.4.0/go.mod h1:Cz6ARTIzApMJDzh5bRMSUou6UMSp0IEXg9km/ci7TJM= ++github.com/andreaskoch/fulltext v0.0.0-20150721192424-05ab8b1eab52 h1:Qp0ffUn2ZJsi5GXcE89Hk6QuZnSfFfgxm1+zzSJ45ak= ++github.com/andreaskoch/fulltext v0.0.0-20150721192424-05ab8b1eab52/go.mod h1:zETSTZmtSh/XxEkD4vIlbf1Ih/gKC+10kcpBO6mv3iE= ++github.com/andreaskoch/go-fswatch v1.0.0 h1:la8nP/HiaFCxP2IM6NZNUCoxgLWuyNFgH0RligBbnJU= ++github.com/andreaskoch/go-fswatch v1.0.0/go.mod h1:r5/iV+4jfwoY2sYqBkg8vpF04ehOvEl4qPptVGdxmqo= ++github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= ++github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= ++github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE= ++github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w= ++github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= ++github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= ++github.com/jbarham/cdb v0.0.0-20200301055225-9d6f6caadef0 h1:UfCOnKxwt2dxueylTrrjjyMsaXPHTSJJygePRYaRntE= ++github.com/jbarham/cdb v0.0.0-20200301055225-9d6f6caadef0/go.mod h1:ColEidrii1lqlFhoEckJfZsa0mWxC0I2+f7G/5hZWsw= ++github.com/kyokomi/emoji v1.5.1 h1:qp9dub1mW7C4MlvoRENH6EAENb9skEFOvIEbp1Waj38= ++github.com/kyokomi/emoji v1.5.1/go.mod h1:mZ6aGCD7yk8j6QY6KICwnZ2pxoszVseX1DNoGtU2tBA= ++github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= ++github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= ++github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ= ++github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= ++github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= ++github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= ++github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 h1:JIAuq3EEf9cgbU6AtGPK4CTG3Zf6CKMNqf0MHTggAUA= ++github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= ++github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= ++github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= ++golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= ++golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= ++golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= ++golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= ++golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= ++golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +-- +2.46.1 + diff --git a/pkgs/by-name/al/allmark/package.nix b/pkgs/by-name/al/allmark/package.nix index 1fcdfce5f6bd..6f11a067b15c 100644 --- a/pkgs/by-name/al/allmark/package.nix +++ b/pkgs/by-name/al/allmark/package.nix @@ -10,21 +10,25 @@ buildGoModule rec { src = fetchFromGitHub { owner = "andreaskoch"; - repo = pname; + repo = "allmark"; rev = "v${version}"; hash = "sha256-JfNn/e+cSq1pkeXs7A2dMsyhwOnh7x2bwm6dv6NOjLU="; }; - postPatch = '' - go mod init github.com/andreaskoch/allmark - ''; + vendorHash = "sha256-dEmI+COrWhXdqtTkLIjyiUapHtjezCEuY9jLDqxkBBg="; - vendorHash = null; + deleteVendor = true; + + patches = [ + ./0001-Add-go.mod-go.sum.patch # Add go.mod, go.sum, remove vendor + ]; postInstall = '' mv $out/bin/{cli,allmark} ''; + __darwinAllowLocalNetworking = true; + meta = { description = "Cross-platform markdown web server"; homepage = "https://github.com/andreaskoch/allmark"; diff --git a/pkgs/by-name/ba/basedpyright/package.nix b/pkgs/by-name/ba/basedpyright/package.nix index 6ebee6cfe498..01c8e8df6abc 100644 --- a/pkgs/by-name/ba/basedpyright/package.nix +++ b/pkgs/by-name/ba/basedpyright/package.nix @@ -16,13 +16,13 @@ buildNpmPackage rec { pname = "basedpyright"; - version = "1.21.0"; + version = "1.21.1"; src = fetchFromGitHub { owner = "detachhead"; repo = "basedpyright"; rev = "refs/tags/v${version}"; - hash = "sha256-OQXqwpvYIitWGWshEv1/j2hAphFnGXDuvbRav5TilI4="; + hash = "sha256-RwckZqEL5U60XSYul74p9Ezg+N8FrnLkRFpdxIa7/34="; }; npmDepsHash = "sha256-hCZ68sLpQs/7SYVf3pMAHfstRm1C/d80j8fESIFdhnw="; diff --git a/pkgs/by-name/fr/fritz-exporter/package.nix b/pkgs/by-name/fr/fritz-exporter/package.nix index 92a01180bdf1..85469631a08a 100644 --- a/pkgs/by-name/fr/fritz-exporter/package.nix +++ b/pkgs/by-name/fr/fritz-exporter/package.nix @@ -5,14 +5,14 @@ python3.pkgs.buildPythonApplication rec { pname = "fritz-exporter"; - version = "2.5.0"; + version = "2.5.1"; pyproject = true; src = fetchFromGitHub { owner = "pdreker"; repo = "fritz_exporter"; - rev = "fritzexporter-v${version}"; - hash = "sha256-x5WCVDIKdreQCmVpiWbmVBNo42P5kSxX9dLMBKfZTWc="; + rev = "refs/tags/fritzexporter-v${version}"; + hash = "sha256-qqvvoOQRFNl9IUjaBc/qzg9AevT5c2JDsfDVAZW6d6E="; }; postPatch = '' diff --git a/pkgs/by-name/hy/hyprwall/package.nix b/pkgs/by-name/hy/hyprwall/package.nix new file mode 100644 index 000000000000..787abfefa90f --- /dev/null +++ b/pkgs/by-name/hy/hyprwall/package.nix @@ -0,0 +1,54 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + + pkg-config, + glib, + pango, + gtk3, + wrapGAppsHook4, +}: + +rustPlatform.buildRustPackage rec { + pname = "hyprwall"; + version = "0.1.8"; + + src = fetchFromGitHub { + owner = "hyprutils"; + repo = "hyprwall"; + rev = "refs/tags/v${version}"; + hash = "sha256-dzPd+5cws3hKhdd1CKKEO7EWMS0XW0y1vqxg1XKX+gY="; + }; + + cargoHash = "sha256-gT2ysWHckcUl1yx5tciy6kSvZZ0srrs4OwI1mr/58Pc="; + + nativeBuildInputs = [ + pkg-config + glib + pango + wrapGAppsHook4 + ]; + + # Required in build process, prevents gdk-sys build error. + buildInputs = [ + gtk3 + ]; + + postInstall = '' + install -Dm644 hyprwall.desktop -t $out/share/applications + install -Dm644 hyprwall.png -t $out/share/pixmaps + substituteInPlace "$out/share/applications/hyprwall.desktop" \ + --replace-fail 'Exec=/usr/bin/hyprwall' "Exec=hyprwall" + ''; + + meta = { + description = "GUI for setting wallpapers with hyprpaper"; + homepage = "https://github.com/hyprutils/hyprwall"; + changelog = "https://github.com/hyprutils/hyprwall/releases/tag/v${version}"; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ genga898 ]; + mainProgram = "hyprwall"; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/by-name/nc/ncspot/package.nix b/pkgs/by-name/nc/ncspot/package.nix index 85ababb6044b..9a3383f28775 100644 --- a/pkgs/by-name/nc/ncspot/package.nix +++ b/pkgs/by-name/nc/ncspot/package.nix @@ -2,8 +2,8 @@ lib, stdenv, alsa-lib, + apple-sdk_11, config, - darwin, dbus, fetchFromGitHub, libpulseaudio, @@ -50,8 +50,8 @@ rustPlatform.buildRustPackage rec { buildInputs = [ ncurses ] + ++ lib.optional stdenv.hostPlatform.isDarwin apple-sdk_11 ++ lib.optional stdenv.hostPlatform.isLinux openssl - ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.Cocoa ++ lib.optional (withALSA || withRodio) alsa-lib ++ lib.optional withClipboard libxcb ++ lib.optional withCover ueberzug diff --git a/pkgs/by-name/pa/pay-respects/package.nix b/pkgs/by-name/pa/pay-respects/package.nix new file mode 100644 index 000000000000..50b0f6398a2a --- /dev/null +++ b/pkgs/by-name/pa/pay-respects/package.nix @@ -0,0 +1,27 @@ +{ + lib, + fetchFromGitea, + rustPlatform, +}: +rustPlatform.buildRustPackage rec { + pname = "pay-respects"; + version = "0.4.18"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "iff"; + repo = "pay-respects"; + rev = "v${version}"; + hash = "sha256-8YQgNOqZAMhn93rk0fw1SV02XhI/Wt9D5Rzo64cCs7s="; + }; + + cargoHash = "sha256-xLAJLwzX923E7Pzfwdw38moLOlY0Q4xK8himbKHQ7O8="; + + meta = { + description = "Terminal command correction, alternative to `thefuck`, written in Rust"; + homepage = "https://codeberg.org/iff/pay-respects"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ sigmasquadron ]; + mainProgram = "pay-respects"; + }; +} diff --git a/pkgs/by-name/qt/qtscrcpy/package.nix b/pkgs/by-name/qt/qtscrcpy/package.nix new file mode 100644 index 000000000000..88f13a04d03a --- /dev/null +++ b/pkgs/by-name/qt/qtscrcpy/package.nix @@ -0,0 +1,132 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libsForQt5, + scrcpy, + android-tools, + ffmpeg_4, + makeDesktopItem, + copyDesktopItems, +}: + +stdenv.mkDerivation rec { + pname = "qtscrcpy"; + version = "2.2.1"; + + src = + (fetchFromGitHub { + owner = "barry-ran"; + repo = "QtScrcpy"; + rev = "refs/tags/v${version}"; + hash = "sha256-PL/UvRNqvLaFuvSHbkJsaJ2nqRp5+ERM+rmlKVtbShk="; + fetchSubmodules = true; + }).overrideAttrs + (_: { + GIT_CONFIG_COUNT = 1; + GIT_CONFIG_KEY_0 = "url.https://github.com/.insteadOf"; + GIT_CONFIG_VALUE_0 = "git@github.com:"; + }); + + patches = [ + # remove vendored ffmpeg, adb and scrcpy-server + ./remove_vendors.patch + + # remove predefined adb and scrcpy-server path + # we later set them in wrapper + ./remove_predefined_paths.patch + ]; + + postPatch = '' + substituteInPlace QtScrcpy/QtScrcpyCore/{include/QtScrcpyCoreDef.h,src/device/server/server.h} \ + --replace-fail 'serverVersion = "2.1.1"' 'serverVersion = "${scrcpy.version}"' + substituteInPlace QtScrcpy/util/config.cpp \ + --replace-fail 'COMMON_SERVER_VERSION_DEF "2.1.1"' 'COMMON_SERVER_VERSION_DEF "${scrcpy.version}"' + substituteInPlace QtScrcpy/audio/audiooutput.cpp \ + --replace-fail 'sndcpy.sh' "$out/share/qtscrcpy/sndcpy.sh" + substituteInPlace QtScrcpy/sndcpy/sndcpy.sh \ + --replace-fail 'ADB=./adb' "ADB=${lib.getExe' android-tools "adb"}" \ + --replace-fail 'SNDCPY_APK=sndcpy.apk' "SNDCPY_APK=$out/share/qtscrcpy/sndcpy.apk" + ''; + + nativeBuildInputs = [ + cmake + pkg-config + libsForQt5.wrapQtAppsHook + copyDesktopItems + ]; + + buildInputs = + [ + scrcpy + ffmpeg_4 + ] + ++ (with libsForQt5; [ + qtbase + qtmultimedia + qtx11extras + ]); + + env.NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=sign-compare" + ]; + + # Doesn't contain rule to install + installPhase = '' + runHook preInstall + + pushd ../output/x64/Release + install -Dm755 QtScrcpy -t $out/bin + install -Dm755 sndcpy.sh -t $out/share/qtscrcpy + install -Dm644 sndcpy.apk -t $out/share/qtscrcpy + popd + + install -Dm644 ../QtScrcpy/res/image/tray/logo.png $out/share/pixmaps/qtscrcpy.png + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = "QtScrcpy"; + exec = "QtScrcpy %U"; + icon = "qtscrcpy"; + desktopName = "QtScrcpy"; + genericName = "Android Display Control"; + categories = [ + "Utility" + "RemoteAccess" + ]; + }) + ]; + + preFixup = '' + qtWrapperArgs+=( + --set QTSCRCPY_ADB_PATH ${lib.getExe' android-tools "adb"} + --set QTSCRCPY_SERVER_PATH ${scrcpy}/share/scrcpy/scrcpy-server + ) + ''; + + meta = { + description = "Android real-time display control software"; + homepage = "https://github.com/barry-ran/QtScrcpy"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + daru-san + aleksana + ]; + mainProgram = "QtScrcpy"; + platforms = with lib.platforms; linux ++ darwin ++ windows; + # needs some special handling on darwin as it generates .app bundle directly + badPlatforms = lib.platforms.darwin; + sourceProvenance = with lib.sourceTypes; [ + fromSource + # Still includes sndcpy.apk vendored in the same repo + # which will run on controlled Android device + # https://github.com/barry-ran/QtScrcpy/blob/master/QtScrcpy/sndcpy/sndcpy.apk + binaryBytecode + ]; + }; +} diff --git a/pkgs/by-name/qt/qtscrcpy/remove_predefined_paths.patch b/pkgs/by-name/qt/qtscrcpy/remove_predefined_paths.patch new file mode 100644 index 000000000000..574ced6384a7 --- /dev/null +++ b/pkgs/by-name/qt/qtscrcpy/remove_predefined_paths.patch @@ -0,0 +1,27 @@ +diff --git a/QtScrcpy/main.cpp b/QtScrcpy/main.cpp +index a24ba60..51e3d76 100644 +--- a/QtScrcpy/main.cpp ++++ b/QtScrcpy/main.cpp +@@ -22,22 +22,16 @@ int main(int argc, char *argv[]) + { + // set env + #ifdef Q_OS_WIN32 +- qputenv("QTSCRCPY_ADB_PATH", "../../../QtScrcpy/QtScrcpyCore/src/third_party/adb/win/adb.exe"); +- qputenv("QTSCRCPY_SERVER_PATH", "../../../QtScrcpy/QtScrcpyCore/src/third_party/scrcpy-server"); + qputenv("QTSCRCPY_KEYMAP_PATH", "../../../keymap"); + qputenv("QTSCRCPY_CONFIG_PATH", "../../../config"); + #endif + + #ifdef Q_OS_OSX +- qputenv("QTSCRCPY_ADB_PATH", "../../../../../../QtScrcpy/QtScrcpyCore/src/third_party/adb/mac/adb"); +- qputenv("QTSCRCPY_SERVER_PATH", "../../../../../../QtScrcpy/QtScrcpyCore/src/third_party/scrcpy-server"); + qputenv("QTSCRCPY_KEYMAP_PATH", "../../../../../../keymap"); + qputenv("QTSCRCPY_CONFIG_PATH", "../../../../../../config"); + #endif + + #ifdef Q_OS_LINUX +- qputenv("QTSCRCPY_ADB_PATH", "../../../QtScrcpy/QtScrcpyCore/src/third_party/adb/linux/adb"); +- qputenv("QTSCRCPY_SERVER_PATH", "../../../QtScrcpy/QtScrcpyCore/src/third_party/scrcpy-server"); + qputenv("QTSCRCPY_KEYMAP_PATH", "../../../keymap"); + qputenv("QTSCRCPY_CONFIG_PATH", "../../../config"); + #endif diff --git a/pkgs/by-name/qt/qtscrcpy/remove_vendors.patch b/pkgs/by-name/qt/qtscrcpy/remove_vendors.patch new file mode 100644 index 000000000000..d80e1c8b2ed0 --- /dev/null +++ b/pkgs/by-name/qt/qtscrcpy/remove_vendors.patch @@ -0,0 +1,96 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 85c733e..02fea2c 100644 +--- a/QtScrcpy/QtScrcpyCore/CMakeLists.txt ++++ b/QtScrcpy/QtScrcpyCore/CMakeLists.txt +@@ -139,87 +139,10 @@ target_include_directories(${QSC_PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DI + target_include_directories(${QSC_PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src/device/recorder) + target_include_directories(${QSC_PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src/devicemanage) + +-# +-# plantform deps +-# + +-# windows +-if(CMAKE_SYSTEM_NAME STREQUAL "Windows") +- # ffmpeg +- # include +- target_include_directories(${QSC_PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src/third_party/ffmpeg/include) +- # link +- set(FFMPEG_LIB_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/third_party/ffmpeg/lib/${QSC_CPU_ARCH}") +- target_link_directories(${QSC_PROJECT_NAME} PUBLIC ${FFMPEG_LIB_PATH}) +- target_link_libraries(${QSC_PROJECT_NAME} PRIVATE +- avformat +- avcodec +- avutil +- swscale +- ) +- # copy +- set(THIRD_PARTY_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/third_party") +- set(FFMPEG_BIN_PATH "${THIRD_PARTY_PATH}/ffmpeg/bin/${QSC_CPU_ARCH}") +- add_custom_command(TARGET ${QSC_PROJECT_NAME} POST_BUILD +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${FFMPEG_BIN_PATH}/avcodec-58.dll" "${QSC_DEPLOY_PATH}" +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${FFMPEG_BIN_PATH}/avformat-58.dll" "${QSC_DEPLOY_PATH}" +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${FFMPEG_BIN_PATH}/avutil-56.dll" "${QSC_DEPLOY_PATH}" +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${FFMPEG_BIN_PATH}/swscale-5.dll" "${QSC_DEPLOY_PATH}" +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${FFMPEG_BIN_PATH}/swresample-3.dll" "${QSC_DEPLOY_PATH}" +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${THIRD_PARTY_PATH}/adb/win/adb.exe" "${QSC_DEPLOY_PATH}" +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${THIRD_PARTY_PATH}/adb/win/AdbWinApi.dll" "${QSC_DEPLOY_PATH}" +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${THIRD_PARTY_PATH}/adb/win/AdbWinUsbApi.dll" "${QSC_DEPLOY_PATH}" +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${THIRD_PARTY_PATH}/scrcpy-server" "${QSC_DEPLOY_PATH}" +- ) +-endif() + +-# MacOS +-if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") +- # ffmpeg +- # include +- target_include_directories(${QSC_PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src/third_party/ffmpeg/include) +- # link +- set(FFMPEG_LIB_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/third_party/ffmpeg/lib") +- target_link_directories(${QSC_PROJECT_NAME} PUBLIC ${FFMPEG_LIB_PATH}) +- target_link_libraries(${QSC_PROJECT_NAME} PRIVATE +- avformat.58 +- avcodec.58 +- avutil.56 +- swscale.5 +- ) +- +- # copy bundle file +- add_custom_command(TARGET ${QSC_PROJECT_NAME} POST_BUILD +- # dylib,scrcpy-server,adb copy to Contents/MacOS +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/src/third_party/ffmpeg/lib/libavcodec.58.dylib" "${QSC_DEPLOY_PATH}/MacOS" +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/src/third_party/ffmpeg/lib/libavformat.58.dylib" "${QSC_DEPLOY_PATH}/MacOS" +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/src/third_party/ffmpeg/lib/libavutil.56.dylib" "${QSC_DEPLOY_PATH}/MacOS" +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/src/third_party/ffmpeg/lib/libswscale.5.dylib" "${QSC_DEPLOY_PATH}/MacOS" +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/src/third_party/ffmpeg/lib/libswresample.3.dylib" "${QSC_DEPLOY_PATH}/MacOS" +- +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/src/third_party/scrcpy-server" "${QSC_DEPLOY_PATH}/MacOS" +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/src/third_party/adb/mac/adb" "${QSC_DEPLOY_PATH}/MacOS" +- ) +-endif() ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(FFMPEG REQUIRED libavcodec libavformat libavutil libswscale) + +-# Linux +-if(CMAKE_SYSTEM_NAME STREQUAL "Linux") +- # include +- target_include_directories(${QSC_PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src/third_party/ffmpeg/include) +- # link +- set(FFMPEG_LIB_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/third_party/ffmpeg/lib") +- target_link_directories(${QSC_PROJECT_NAME} PUBLIC ${FFMPEG_LIB_PATH}) +- target_link_libraries(${QSC_PROJECT_NAME} PRIVATE +- # ffmpeg +- avformat +- avcodec +- avutil +- swscale +- z +- ) +- +- add_custom_command(TARGET ${QSC_PROJECT_NAME} POST_BUILD +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/src/third_party/adb/linux/adb" "${QSC_DEPLOY_PATH}" +- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/src/third_party/scrcpy-server" "${QSC_DEPLOY_PATH}" +- ) +-endif() ++target_link_libraries(${QSC_PROJECT_NAME} PRIVATE ${FFMPEG_LIBRARIES}) ++target_include_directories(${QSC_PROJECT_NAME} PRIVATE ${FFMPEG_INCLUDE_DIRS}) diff --git a/pkgs/by-name/ra/rabbit/package.nix b/pkgs/by-name/ra/rabbit/package.nix index 7806d49558c8..2d94ea3e5128 100644 --- a/pkgs/by-name/ra/rabbit/package.nix +++ b/pkgs/by-name/ra/rabbit/package.nix @@ -20,6 +20,8 @@ python3.pkgs.buildPythonApplication rec { "scikit-learn" "scipy" "tqdm" + "pandas" + "urllib3" ]; build-system = [ diff --git a/pkgs/by-name/st/step-cli/package.nix b/pkgs/by-name/st/step-cli/package.nix index 39ebf0227d9b..b340686b1313 100644 --- a/pkgs/by-name/st/step-cli/package.nix +++ b/pkgs/by-name/st/step-cli/package.nix @@ -16,7 +16,12 @@ buildGoModule { owner = "smallstep"; repo = "cli"; rev = "refs/tags/v${version}"; - hash = "sha256-Ha64SLJWJdfVt1T2M6UHyFD/OD8lmUQ0vU8OKjN272Y="; + hash = "sha256-G+/fc1qFXcNOxF+oyDmEZzzOUcODBvX+YfQ8Sx5JQK4="; + # this file change depending on git branch status (via .gitattributes) + # https://github.com/NixOS/nixpkgs/issues/84312 + postFetch = '' + rm -f $out/.VERSION + ''; }; ldflags = [ diff --git a/pkgs/applications/audio/tree-from-tags/Gemfile b/pkgs/by-name/tr/tree-from-tags/Gemfile similarity index 100% rename from pkgs/applications/audio/tree-from-tags/Gemfile rename to pkgs/by-name/tr/tree-from-tags/Gemfile diff --git a/pkgs/applications/audio/tree-from-tags/Gemfile.lock b/pkgs/by-name/tr/tree-from-tags/Gemfile.lock similarity index 100% rename from pkgs/applications/audio/tree-from-tags/Gemfile.lock rename to pkgs/by-name/tr/tree-from-tags/Gemfile.lock diff --git a/pkgs/applications/audio/tree-from-tags/gemset.nix b/pkgs/by-name/tr/tree-from-tags/gemset.nix similarity index 78% rename from pkgs/applications/audio/tree-from-tags/gemset.nix rename to pkgs/by-name/tr/tree-from-tags/gemset.nix index f482d174ebc2..67fd0af05823 100644 --- a/pkgs/applications/audio/tree-from-tags/gemset.nix +++ b/pkgs/by-name/tr/tree-from-tags/gemset.nix @@ -1,7 +1,7 @@ { taglib-ruby = { source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r8g7zdncc6243d000jn0grc1n70rn9mx16vggy3q7c4wgsa37xi"; type = "gem"; }; diff --git a/pkgs/by-name/tr/tree-from-tags/package.nix b/pkgs/by-name/tr/tree-from-tags/package.nix new file mode 100644 index 000000000000..eb571a41ddf4 --- /dev/null +++ b/pkgs/by-name/tr/tree-from-tags/package.nix @@ -0,0 +1,55 @@ +{ + lib, + stdenv, + bundlerEnv, + ruby, + fetchFromGitHub, +}: +let + version = "1.1"; + gems = bundlerEnv { + name = "tree-from-tags-${version}-gems"; + inherit ruby; + gemdir = ./.; + }; +in +stdenv.mkDerivation { + pname = "tree-from-tags"; + inherit version; + + src = fetchFromGitHub { + owner = "dbrock"; + repo = "bongo"; + rev = version; + hash = "sha256-G+6rRJLNBECxGc8WuaesXhrYqvEDy2Chpw4lWxO8X9s="; + }; + + buildInputs = [ + gems + ruby + ]; + + installPhase = '' + mkdir -p $out/{bin,share} + cp tree-from-tags.rb $out/share/ + bin=$out/bin/tree-from-tags + # we are using bundle exec to start in the bundled environment + cat > $bin </dev/null || true + done + rm -rf "$tmpDir" +} +trap cleanup EXIT + +SSHOPTS="$NIX_SSHOPTS -o ControlMaster=auto -o ControlPath=$tmpDir/ssh-%n -o ControlPersist=60" + # For convenience, use the hostname as the default configuration to # build from the flake. if [[ -n $flake ]]; then @@ -450,23 +469,6 @@ if [[ ! -z "$specialisation" && ! "$action" = switch && ! "$action" = test ]]; t exit 1 fi -tmpDir=$(mktemp -t -d nixos-rebuild.XXXXXX) - -if [[ ${#tmpDir} -ge 60 ]]; then - # Very long tmp dirs lead to "too long for Unix domain socket" - # SSH ControlPath errors. Especially macOS sets long TMPDIR paths. - rmdir "$tmpDir" - tmpDir=$(TMPDIR= mktemp -t -d nixos-rebuild.XXXXXX) -fi - -cleanup() { - for ctrl in "$tmpDir"/ssh-*; do - ssh -o ControlPath="$ctrl" -O exit dummyhost 2>/dev/null || true - done - rm -rf "$tmpDir" -} -trap cleanup EXIT - # Re-execute nixos-rebuild from the Nixpkgs tree. if [[ -z $_NIXOS_REBUILD_REEXEC && -n $canRun && -z $fast ]]; then @@ -510,8 +512,6 @@ if [ "$action" = edit ]; then exit 1 fi -SSHOPTS="$NIX_SSHOPTS -o ControlMaster=auto -o ControlPath=$tmpDir/ssh-%n -o ControlPersist=60" - # First build Nix, since NixOS may require a newer version than the # current one. if [[ -n "$rollback" || "$action" = dry-build ]]; then diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix index 40a8de393f14..2aae9ab84605 100644 --- a/pkgs/servers/matrix-synapse/default.nix +++ b/pkgs/servers/matrix-synapse/default.nix @@ -17,20 +17,20 @@ let in python3.pkgs.buildPythonApplication rec { pname = "matrix-synapse"; - version = "1.118.0"; + version = "1.119.0"; format = "pyproject"; src = fetchFromGitHub { owner = "element-hq"; repo = "synapse"; rev = "v${version}"; - hash = "sha256-dMa1L1MYzt/XfCD8hGt+WupAwl5l4zwVcj5mQ8KtTp8="; + hash = "sha256-+3FrxSfQteIga5uiRNzAlV+xNESB9PUX/UkkL6UMETQ="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - hash = "sha256-FJaj5T2wMIn/A0JNUGpXyNtPvXIAF8Ivkej4vS1S3dA="; + hash = "sha256-c/19RaBmtfKkFFQyDBwH+yqHp4YNQSqCu23WYbpOc98="; }; postPatch = '' diff --git a/pkgs/tools/package-management/libdnf/default.nix b/pkgs/tools/package-management/libdnf/default.nix index ac510b954fee..86bfa86ba422 100644 --- a/pkgs/tools/package-management/libdnf/default.nix +++ b/pkgs/tools/package-management/libdnf/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { pname = "libdnf"; - version = "0.73.3"; + version = "0.73.4"; outputs = [ "out" @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { owner = "rpm-software-management"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-XzPpjnmL2wwLZnLAJLuOQGWXAoCJnij14P6qSXglMhY="; + hash = "sha256-O8pN2WFHWxZpr2JEPsQOmkc+7qnMVnptmGJCVxMmSLo="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/security/nitrokey-app2/default.nix b/pkgs/tools/security/nitrokey-app2/default.nix index deb74d7c8ce2..cf35d606189a 100644 --- a/pkgs/tools/security/nitrokey-app2/default.nix +++ b/pkgs/tools/security/nitrokey-app2/default.nix @@ -5,6 +5,7 @@ , wrapQtAppsHook , qtbase , qtwayland +, qtsvg }: python3.pkgs.buildPythonApplication rec { @@ -27,7 +28,7 @@ python3.pkgs.buildPythonApplication rec { ]; buildInputs = [ qtbase ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - qtwayland + qtwayland qtsvg ]; propagatedBuildInputs = with python3.pkgs; [ @@ -43,6 +44,11 @@ python3.pkgs.buildPythonApplication rec { "nitrokeyapp" ]; + postInstall = '' + install -Dm755 meta/com.nitrokey.nitrokey-app2.desktop $out/share/applications/com.nitrokey.nitrokey-app2.desktop + install -Dm755 meta/nk-app2.png $out/share/icons/hicolor/128x128/apps/com.nitrokey.nitrokey-app2.png + ''; + meta = with lib; { description = "This application allows to manage Nitrokey 3 devices"; homepage = "https://github.com/Nitrokey/nitrokey-app2"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4d8787e5dbd0..bd6228b855a5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16115,8 +16115,6 @@ with pkgs; wlroots = wlroots_0_18; }; - tree-from-tags = callPackage ../applications/audio/tree-from-tags { }; - treesheets = callPackage ../applications/office/treesheets { wxGTK = wxGTK32; inherit (darwin.apple_sdk.frameworks) Cocoa; @@ -19250,4 +19248,8 @@ with pkgs; cantata = callPackage ../by-name/ca/cantata/package.nix { ffmpeg = ffmpeg_6; }; + + tree-from-tags = callPackage ../by-name/tr/tree-from-tags/package.nix { + ruby = ruby_3_1; + }; }