jiebi/CodeConvo huggingface dataset:
{ stdenv, lib, makeDesktopItem, makeWrapper, patchelf, writeText , coreutils, gnugrep, which, git, unzip, libsecret, libnotify, e2fsprogs <del> , vmopts ? null </del> <ins> , python3, vmopts ? null </ins> }: { pname, product, productShort ? product, version, src, wmClass, jdk, meta, extraLdPath ? [], extraWrapperArgs ? [] }@args:
item=${desktopItem} makeWrapper "$out/$pname/bin/${loName}.sh" "$out/bin/${pname}"  <del> --prefix PATH : "$out/libexec/${pname}:${lib.makeBinPath [ jdk coreutils gnugrep which git ]}"  </del> <ins> --prefix PATH : "$out/libexec/${pname}:${lib.makeBinPath [ jdk coreutils gnugrep which git python3 ]}"  </ins> --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath ([ # Some internals want libstdc++.so.6 stdenv.cc.cc.lib libsecret e2fsprogs
- [isolate](https://github.com/ioi/isolate), a sandbox for securely executing untrusted programs. Available as [security.isolate](#opt-security.isolate.enable). <ins> - [private-gpt](https://github.com/zylon-ai/private-gpt), a service to interact with your documents using the power of LLMs, 100% privately, no data leaks. Available as [services.private-gpt](#opt-services.private-gpt.enable). </ins> ## Backward Incompatibilities {#sec-release-24.05-incompatibilities} <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
<ins> { config , lib , pkgs , ... }: let inherit (lib) types; format = pkgs.formats.yaml { }; cfg = config.services.private-gpt; in { options = { services.private-gpt = { enable = lib.mkEnableOption "private-gpt for local large language models"; package = lib.mkPackageOption pkgs "private-gpt" { }; stateDir = lib.mkOption { type = types.path; default = "/var/lib/private-gpt"; description = "State directory of private-gpt."; }; settings = lib.mkOption { type = format.type; default = { llm = { mode = "ollama"; tokenizer = ""; }; embedding = { mode = "ollama"; }; ollama = { llm_model = "llama3"; embedding_model = "nomic-embed-text"; api_base = "http://localhost:11434"; embedding_api_base = "http://localhost:11434"; keep_alive = "5m"; tfs_z = 1; top_k = 40; top_p = 0.9; repeat_last_n = 64; repeat_penalty = 1.2; request_timeout = 120; }; vectorstore = { database = "qdrant"; }; qdrant = { path = "/var/lib/private-gpt/vectorstore/qdrant"; }; data = { local_data_folder = "/var/lib/private-gpt"; }; openai = { }; azopenai = { }; }; description = '' settings-local.yaml for private-gpt ''; }; }; }; config = lib.mkIf cfg.enable { systemd.services.private-gpt = { description = "Interact with your documents using the power of GPT, 100% privately, no data leaks"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; preStart = let config = format.generate "settings-local.yaml" (cfg.settings // { server.env_name = "local"; }); in '' mkdir -p ${cfg.stateDir}/{settings,huggingface,matplotlib,tiktoken_cache} cp ${cfg.package.cl100k_base.tiktoken} ${cfg.stateDir}/tiktoken_cache/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 cp ${pkgs.python3Packages.private-gpt}/${pkgs.python3.sitePackages}/private_gpt/settings.yaml ${cfg.stateDir}/settings/settings.yaml cp "${config}" "${cfg.stateDir}/settings/settings-local.yaml" chmod 600 "${cfg.stateDir}/settings/settings-local.yaml" ''; environment = { PGPT_PROFILES = "local"; PGPT_SETTINGS_FOLDER = "${cfg.stateDir}/settings"; HF_HOME = "${cfg.stateDir}/huggingface"; TRANSFORMERS_OFFLINE = "1"; HF_DATASETS_OFFLINE = "1"; MPLCONFIGDIR = "${cfg.stateDir}/matplotlib"; }; serviceConfig = { ExecStart = lib.getExe cfg.package; WorkingDirectory = cfg.stateDir; StateDirectory = "private-gpt"; RuntimeDirectory = "private-gpt"; RuntimeDirectoryMode = "0755"; PrivateTmp = true; DynamicUser = true; DevicePolicy = "closed"; LockPersonality = true; MemoryDenyWriteExecute = true; PrivateUsers = true; ProtectHome = true; ProtectHostname = true; ProtectKernelLogs = true; ProtectKernelModules = true; ProtectKernelTunables = true; ProtectControlGroups = true; ProcSubset = "pid"; RestrictNamespaces = true; RestrictRealtime = true; SystemCallArchitectures = "native"; UMask = "0077"; }; }; }; meta.maintainers = with lib.maintainers; [ drupol ]; } </ins>
pretix = runTest ./web-apps/pretix.nix; printing-socket = handleTest ./printing.nix { socket = true; }; printing-service = handleTest ./printing.nix { socket = false; }; <ins> private-gpt = handleTest ./private-gpt.nix {}; </ins> privoxy = handleTest ./privoxy.nix {}; prometheus = handleTest ./prometheus.nix {}; prometheus-exporters = handleTest ./prometheus-exporters.nix {};
<ins> import ./make-test-python.nix ({ pkgs, lib, ... }: let mainPort = "8001"; in { name = "private-gpt"; meta = with lib.maintainers; { maintainers = [ drupol ]; }; nodes = { machine = { ... }: { services.private-gpt = { enable = true; }; }; }; testScript = '' machine.start() machine.wait_for_unit("private-gpt.service") machine.wait_for_open_port(${mainPort}) machine.succeed("curl http://127.0.0.1:${mainPort}") ''; }) </ins>
<ins> { python3Packages , makeBinaryWrapper }: python3Packages.toPythonApplication (python3Packages.private-gpt.overrideAttrs (oldAttrs: { nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeBinaryWrapper ]; passthru.cl100k_base = { inherit (python3Packages.private-gpt.cl100k_base) tiktoken; }; postInstall = '' makeWrapper ${python3Packages.python.interpreter} $out/bin/private-gpt  --prefix PYTHONPATH : "$PYTHONPATH"  --add-flags "-m private_gpt" ''; })) </ins>
<ins> { lib , buildPythonPackage , python , fetchFromGitHub , poetry-core , fastapi , injector , llama-index-core , llama-index-readers-file , huggingface-hub , python-multipart , pyyaml , transformers , uvicorn , watchdog , gradio , fetchurl , fetchpatch }: buildPythonPackage rec { pname = "private-gpt"; version = "0.5.0"; pyproject = true; src = fetchFromGitHub { owner = "zylon-ai"; repo = "private-gpt"; rev = "v${version}"; hash = "sha256-bjydzJhOJjmbflcJbuMyNsmby7HtNPFW3MY2Tw12cHw="; }; patches = [ # Fix a vulnerability, to be removed in the next bump version # See https://github.com/zylon-ai/private-gpt/pull/1890 (fetchpatch { url = "https://github.com/zylon-ai/private-gpt/commit/86368c61760c9cee5d977131d23ad2a3e063cbe9.patch"; hash = "sha256-4ysRUuNaHW4bmNzg4fn++89b430LP6AzYDoX2HplVH0="; }) ]; build-system = [ poetry-core ]; dependencies = [ fastapi injector llama-index-core llama-index-readers-file python-multipart pyyaml transformers uvicorn watchdog ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); # This is needed for running the tests and the service in offline mode, # See related issue at https://github.com/zylon-ai/private-gpt/issues/1870 passthru.cl100k_base.tiktoken = fetchurl { url = "https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken"; hash = "sha256-Ijkht27pm96ZW3/3OFE+7xAPtR0YyTWXoRO8/+hlsqc="; }; passthru.optional-dependencies = with python.pkgs; { embeddings-huggingface = [ huggingface-hub llama-index-embeddings-huggingface ]; embeddings-ollama = [ llama-index-embeddings-ollama ]; embeddings-openai = [ llama-index-embeddings-openai ]; embeddings-sagemaker = [ boto3 ]; llms-ollama = [ llama-index-llms-ollama ]; llms-openai = [ llama-index-llms-openai ]; llms-openai-like = [ llama-index-llms-openai-like ]; llms-sagemaker = [ boto3 ]; ui = [ gradio ]; vector-stores-chroma = [ llama-index-vector-stores-chroma ]; vector-stores-postgres = [ llama-index-vector-stores-postgres ]; vector-stores-qdrant = [ llama-index-vector-stores-qdrant ]; }; postInstall = '' cp settings*.yaml $out/${python.sitePackages}/private_gpt/ ''; pythonImportsCheck = [ "private_gpt" ]; meta = { changelog = "https://github.com/zylon-ai/private-gpt/blob/${src.rev}/CHANGELOG.md"; description = "Interact with your documents using the power of GPT, 100% privately, no data leaks"; homepage = "https://github.com/zylon-ai/private-gpt"; license = lib.licenses.asl20; mainProgram = "private-gpt"; maintainers = with lib.maintainers; [ drupol ]; }; } </ins>
{ fetchurl, lib, stdenv, squashfsTools, xorg, alsa-lib, makeShellWrapper, wrapGAppsHook, openssl, freetype , glib, pango, cairo, atk, gdk-pixbuf, gtk3, cups, nspr, nss_latest, libpng, libnotify <del> , libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg, curlWithGnuTls, zlib, gnome </del> <ins> , libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_4, curlWithGnuTls, zlib, gnome </ins> , at-spi2-atk, at-spi2-core, libpulseaudio, libdrm, mesa, libxkbcommon , pname, meta, harfbuzz # High-DPI support: Spotify's --force-device-scale-factor argument
ln -s ${nspr.out}/lib/libnspr4.so $libdir/libnspr4.so ln -s ${nspr.out}/lib/libplc4.so $libdir/libplc4.so <del> ln -s ${ffmpeg.lib}/lib/libavcodec.so* $libdir ln -s ${ffmpeg.lib}/lib/libavformat.so* $libdir </del> <ins> ln -s ${ffmpeg_4.lib}/lib/libavcodec.so* $libdir ln -s ${ffmpeg_4.lib}/lib/libavformat.so* $libdir </ins> rpath="$out/share/spotify:$libdir"
libpsl nghttp2.lib rtmpdump <del> ] ++ steam-runtime-wrapped.overridePkgs </del> <ins> ] # This needs to come from pkgs as the passed-in steam-runtime-wrapped may not be the same architecture ++ pkgs.steamPackages.steam-runtime-wrapped.overridePkgs </ins> ++ extraLibraries pkgs; extraInstallCommands = lib.optionalString (steam != null) ''
- The latest version of `clonehero` now stores custom content in `~/.clonehero`. See the [migration instructions](https://clonehero.net/2022/11/29/v23-to-v1-migration-instructions.html). Typically, these content files would exist along side the binary, but the previous build used a wrapper script that would store them in `~/.config/unity3d/srylain Inc_/Clone Hero`. <ins> - `python3.pkgs.fetchPypi` (and `python3Packages.fetchPypi`) has been deprecated in favor of top-level `fetchPypi`. </ins> - `etcd` has been updated to 3.5, you will want to read the [3.3 to 3.4](https://etcd.io/docs/v3.5/upgrades/upgrade_3_4/) and [3.4 to 3.5](https://etcd.io/docs/v3.5/upgrades/upgrade_3_5/) upgrade guides ## Other Notable Changes {#sec-release-23.11-notable-changes}
inherit lib pkgs stdenv; inherit (python.passthru) isPy27 isPy37 isPy38 isPy39 isPy310 isPy311 isPy3k isPyPy pythonAtLeast pythonOlder; inherit buildPythonPackage buildPythonApplication; <del> inherit (pkgs) fetchPypi; </del> inherit hasPythonModule requiredPythonModules makePythonPath disabled disabledIf; inherit toPythonModule toPythonApplication; inherit buildSetupcfg;
face_recognition_models = face-recognition-models; # added 2022-10-15 fake_factory = throw "fake_factory has been removed because it is unused and deprecated by upstream since 2016."; # added 2022-05-30 faulthandler = throw "faulthandler is built into ${python.executable}"; # added 2021-07-12 <ins> inherit (super.pkgs) fetchPypi; # added 2023-05-25 </ins> filemagic = throw "inactive since 2014, so use python-magic instead"; # added 2022-11-19 flaskbabel = flask-babel; # added 2023-01-19 flask_login = flask-login; # added 2022-10-17
<ins> { lib , stdenv , cmake , pkg-config , glib , fetchFromGitHub }: stdenv.mkDerivation rec { pname = "g3kb-switch"; version = "1.4"; src = fetchFromGitHub { owner = "lyokha"; repo = "g3kb-switch"; rev = version; sha256 = "sha256-mcZduHcteZ+nS0YEZG5DfmpA8xrnLhwxumq6hLuLPIs="; }; nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ glib ]; meta = with lib; { homepage = "https://github.com/lyokha/g3kb-switch"; description = "CLI keyboard layout switcher for GNOME Shell"; license = licenses.bsd2; maintainers = with maintainers; [ Freed-Wu ]; platforms = platforms.unix; }; } </ins>
<ins> { lib, fetchFromGitHub, rustPlatform, pkg-config, openssl, }: rustPlatform.buildRustPackage rec { pname = "aw-watcher-window-wayland"; version = "6108ad3df8e157965a43566fa35cdaf144b1c51b"; src = fetchFromGitHub { owner = "ActivityWatch"; repo = pname; rev = version; hash = "sha256-xl9+k6xJp5/t1QPOYfnBLyYprhhrzjzByDKkT3dtVVQ="; }; cargoLock = { lockFile = ./Cargo.lock; outputHashes = { "aw-client-rust-0.1.0" = "sha256-9tlVesnBeTlazKE2UAq6dzivjo42DT7p7XMuWXHHlnU="; }; }; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ]; meta = with lib; { description = "WIP window and afk watcher for wayland "; homepage = "https://github.com/ActivityWatch/aw-watcher-window-wayland"; license = licenses.mpl20; maintainers = with maintainers; [ esau79p ]; }; } </ins>
activitywatch = callPackage ../applications/office/activitywatch/wrapper.nix { }; <ins> aw-watcher-window-wayland = callPackage ../tools/wayland/aw-watcher-window-wayland {  }; </ins> adobe-reader = pkgsi686Linux.callPackage ../applications/misc/adobe-reader { }; adl = callPackage ../applications/video/adl { };
<del> #!/usr/bin/env nix-shell #!nix-shell -I nixpkgs=./. -i bash -p curl jq nix-prefetch common-updater-scripts mktemp nix coreutils # First, check that we only update once per day since the version tag is dependent on the date. NEW_VERSION="unstable-$(date -u +%F)" CURRENT_VERSION=$(nix-instantiate --eval -E "with import ./. {}; reindeer.version" | tr -d '"') if [[ "$NEW_VERSION" == "$CURRENT_VERSION" ]]; then echo "skipping reindeer update within same day (version: "$CURRENT_VERSION")" exit 0 fi # Second, let's check if there's a new commit to main. NEW_REV=$(curl https://api.github.com/repos/facebookincubator/reindeer/branches/main | jq '.commit.sha') CURRENT_REV=$(nix-instantiate --eval -E "with import ./. {}; reindeer.src.rev") if [[ "$NEW_REV" == "$CURRENT_REV" ]]; then echo "reindeer is up-to-date (rev: $CURRENT_REV)" exit 0 fi echo "updating reindeer (new: $NEW_REV) (old: $CURRENT_REV)" # Generate the new lockfile in a temporary directory. pushd $(mktemp -d) git clone https://github.com/facebookincubator/reindeer.git --depth=1 pushd reindeer cargo generate-lockfile LOCKFILE=$(realpath ./Cargo.lock) popd popd cp $LOCKFILE pkgs/development/tools/reindeer/ # Get the new sha256 value. TRIMMED_REV=$(echo $NEW_REV | tr -d '"') HASH_RAW=$(nix-prefetch-url https://github.com/facebookincubator/reindeer/archive/${TRIMMED_REV}.tar.gz --unpack --type sha256) HASH_SRI=$(nix hash to-sri --type sha256 ${HASH_RAW}) # Update the file accordingly. update-source-version reindeer "$NEW_VERSION" ${HASH_SRI} --rev=${TRIMMED_REV} </del>
<ins> { lib , stdenv , fetchFromGitHub , cmake , ffmpeg , freeglut , freeimage , glew , glfw , glm , libGL , libpulseaudio , libX11 , libXau , libXdmcp , libXext , libXpm , libXrandr , libXxf86vm , lz4 , mpv , pkg-config , SDL2 , SDL2_mixer , zlib }: stdenv.mkDerivation { pname = "linux-wallpaperengine"; version = "unstable-2023-09-23"; src = fetchFromGitHub { owner = "Almamu"; repo = "linux-wallpaperengine"; # upstream lacks versioned releases rev = "21c38d9fd1d3d89376c870cec5c5e5dc7086bc3c"; hash = "sha256-bZlMHlNKSydh9eGm5cFSEtv/RV9sA5ABs99uurblBZY="; }; nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ ffmpeg freeglut freeimage glew glfw glm libGL libpulseaudio libX11 libXau libXdmcp libXext libXrandr libXpm libXxf86vm mpv lz4 SDL2 SDL2_mixer.all zlib ]; meta = { description = "Wallpaper Engine backgrounds for Linux"; homepage = "https://github.com/Almamu/linux-wallpaperengine"; license = lib.licenses.gpl3Only; mainProgram = "linux-wallpaperengine"; maintainers = with lib.maintainers; [ eclairevoyant ]; platforms = lib.platforms.linux; }; } </ins>
"fs.inotify.max_queued_events" = 1048576; "fs.inotify.max_user_instances" = 1048576; "fs.inotify.max_user_watches" = 1048576; <del> "vm.max_map_count" = 262144; </del> <ins> "vm.max_map_count" = 262144; # TODO: Default vm.max_map_count has been increased system-wide </ins> "kernel.dmesg_restrict" = 1; "net.ipv4.neigh.default.gc_thresh3" = 8192; "net.ipv6.neigh.default.gc_thresh3" = 8192;
<del> { cmake , cudaPackages , fetchFromGitHub , lib , ninja , pkgs , python3Packages ? { } , pythonSupport ? false , stdenv , symlinkJoin , which }: let </del> <ins> { cmake, cudaPackages, fetchFromGitHub, lib, ninja, python3Packages ? {}, pythonSupport ? false, stdenv, symlinkJoin, which, }: let </ins> inherit (lib) lists strings; inherit (cudaPackages) backendStdenv cudaFlags; cuda-common-redist = with cudaPackages; [ <ins> cuda_cudart # cuda_runtime.h </ins> libcublas # cublas_v2.h libcusolver # cusolverDn.h libcusparse # cusparse.h
cuda-native-redist = symlinkJoin { name = "cuda-redist"; <del> paths = with cudaPackages; [ cuda_cudart # cuda_runtime.h cuda_nvcc ] ++ cuda-common-redist; </del> <ins> paths = with cudaPackages; [cuda_nvcc] ++ cuda-common-redist; </ins> }; cuda-redist = symlinkJoin {
virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; }; <del> enableOCR = true; </del> testScript = { nodes, ... }: '' import shlex <ins> import json q = shlex.quote NODE_GROUPS = ["nodes", "floating_nodes"] def swaymsg(command: str = "", succeed=True, type="command"): assert command != "" or type != "command", "Must specify command or type" shell = q(f"swaymsg -t {q(type)} -- {q(command)}") with machine.nested( f"sending swaymsg {shell!r}" + " (allowed to fail)" * (not succeed) ): ret = (machine.succeed if succeed else machine.execute)( f"su - alice -c {shell}" ) # execute also returns a status code, but disregard. if not succeed: _, ret = ret if not succeed and not ret: return None parsed = json.loads(ret) return parsed </ins> <del> def swaymsg(command: str, succeed=True): with machine.nested(f"sending swaymsg {command!r}" + " (allowed to fail)" * (not succeed)): (machine.succeed if succeed else machine.execute)( f"su - alice -c {shlex.quote('swaymsg -- ' + command)}" ) </del> <ins> def walk(tree): yield tree for group in NODE_GROUPS: for node in tree.get(group, []): yield from walk(node) def wait_for_window(pattern): def func(last_chance): nodes = (node["name"] for node in walk(swaymsg(type="get_tree"))) if last_chance: nodes = list(nodes) machine.log(f"Last call! Current list of windows: {nodes}") return any(pattern in name for name in nodes) retry(func) </ins> start_all() machine.wait_for_unit("multi-user.target")
# Test XWayland (foot does not support X): swaymsg("exec WINIT_UNIX_BACKEND=x11 WAYLAND_DISPLAY=invalid alacritty") <del> machine.wait_for_text("alice@machine") </del> <ins> wait_for_window("alice@machine") </ins> machine.send_chars("test-x11n") machine.wait_for_file("/tmp/test-x11-exit-ok") print(machine.succeed("cat /tmp/test-x11.out"))
machine.send_key("alt-3") machine.sleep(3) machine.send_key("alt-ret") <del> machine.wait_for_text("alice@machine") </del> <ins> wait_for_window("alice@machine") </ins> machine.send_chars("test-waylandn") machine.wait_for_file("/tmp/test-wayland-exit-ok") print(machine.succeed("cat /tmp/test-wayland.out"))
# Test gpg-agent starting pinentry-gnome3 via D-Bus (tests if # $WAYLAND_DISPLAY is correctly imported into the D-Bus user env): <del> swaymsg("exec gpg --no-tty --yes --quick-generate-key test") </del> <ins> swaymsg("exec mkdir -p ~/.gnupg") swaymsg("exec cp /etc/gpg-agent.conf ~/.gnupg") swaymsg("exec DISPLAY=INVALID gpg --no-tty --yes --quick-generate-key test", succeed=False) </ins> machine.wait_until_succeeds("pgrep --exact gpg") <del> machine.wait_for_text("Passphrase") </del> <ins> wait_for_window("gpg") machine.succeed("pgrep --exact gpg") </ins> machine.screenshot("gpg_pinentry") machine.send_key("alt-shift-q") machine.wait_until_fails("pgrep --exact gpg") # Test swaynag: <ins> def get_height(): return [node['rect']['height'] for node in walk(swaymsg(type="get_tree")) if node['focused']][0] before = get_height() </ins> machine.send_key("alt-shift-e") <del> machine.wait_for_text("You pressed the exit shortcut.") </del> <ins> retry(lambda _: get_height() < before) </ins> machine.screenshot("sway_exit") swaymsg("exec swaylock")
<ins> { lib , stdenv , fetchFromGitHub , installShellFiles }: stdenv.mkDerivation rec { pname = "pyenv"; version = "2.3.21"; src = fetchFromGitHub { owner = "pyenv"; repo = "pyenv"; rev = "refs/tags/v${version}"; hash = "sha256-+rMkbrRSQBHX9qdifIpdLmQ8Uk39ott0xyJTD/mb+9w="; }; postPatch = '' patchShebangs --build src/configure ''; nativeBuildInputs = [ installShellFiles ]; configureScript = "src/configure"; makeFlags = ["-C" "src"]; installPhase = '' runHook preInstall mkdir -p "$out" cp -R bin "$out/bin" cp -R libexec "$out/libexec" cp -R plugins "$out/plugins" runHook postInstall ''; postInstall = '' installManPage man/man1/pyenv.1 installShellCompletion completions/pyenv.{bash,fish,zsh} ''; meta = with lib; { description = "Simple Python version management"; homepage = "https://github.com/pyenv/pyenv"; changelog = "https://github.com/pyenv/pyenv/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; maintainers = with maintainers; [ tjni ]; platforms = platforms.all; }; } </ins>
<ins> { stdenv , lib , fetchFromGitHub , pkg-config , cmake , libvorbis , ffmpeg , libeb , hunspell , opencc , xapian , libzim , lzo , xz , tomlplusplus , fmt , bzip2 , libiconv , libXtst , qtbase , qtsvg , qtwebengine , qttools , qtwayland , qt5compat , qtmultimedia , qtspeech , wrapQtAppsHook }: stdenv.mkDerivation (finalAttrs: { pname = "goldendict-ng"; version = "23.07.23"; src = fetchFromGitHub { owner = "xiaoyifang"; repo = "goldendict-ng"; rev = "v${finalAttrs.version}"; hash = "sha256-ZKbrO5L4KFmr2NsGDihRWBeW0OXHoPRwZGj6kt1Anc8="; }; nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook ]; buildInputs = [ qtbase qtsvg qttools qtwebengine qt5compat qtmultimedia qtspeech libvorbis tomlplusplus fmt hunspell xz lzo libXtst bzip2 libiconv opencc libeb ffmpeg xapian libzim ]; cmakeFlags = [ "-DWITH_XAPIAN=ON" "-DWITH_ZIM=ON" "-DWITH_FFMPEG_PLAYER=ON" "-DWITH_EPWING_SUPPORT=ON" "-DUSE_SYSTEM_FMT=ON" "-DUSE_SYSTEM_TOML=ON" ]; meta = with lib; { homepage = "https://xiaoyifang.github.io/goldendict-ng/"; description = "Advanced multi-dictionary lookup program."; platforms = platforms.linux; maintainers = with maintainers; [ slbtty ]; license = licenses.gpl3Plus; }; }) </ins>
in stdenv.mkDerivation rec { pname = "ultrastardx"; <del> version = "2021-04-03"; </del> <ins> version = "2023.9.0"; </ins> src = fetchFromGitHub { owner = "UltraStar-Deluxe"; repo = "USDX"; <del> rev = "d49e916705092f3d765d85d276b283b9e7e232a6"; sha256 = "0sdcz2vc8i2z50nj7zbkdpxx2mvx0m0927lfsj7d7qr0p8vkm0wa"; </del> <ins> rev = "v${version}"; hash = "sha256-KvYfWdpgN72F8Y5iFNba0SCjPoS33O3FAdrrC49xoGo="; </ins> }; nativeBuildInputs = [ pkg-config autoreconfHook ];
curl  --retry 3 --retry-delay 3  <del> --header "Host: sw.blackmagicdesign.com"  </del> <ins> --header "Host: sw.cloud.blackmagicdesign.com"  </ins> --header "Upgrade-Insecure-Requests: 1"  --header "$USERAGENT"  --header "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
<del> { stdenv, lib, fetchurl, undmg }: let versionComponents = [ "4" "0" "1" ]; appName = "MuseScore ${builtins.head versionComponents}"; ref = "230121751"; in stdenv.mkDerivation rec { pname = "musescore-darwin"; version = lib.concatStringsSep "." versionComponents; # The disk image contains the .app and a symlink to /Applications. sourceRoot = "${appName}.app"; src = fetchurl { url =  "https://github.com/musescore/MuseScore/releases/download/v${version}/MuseScore-${version}.${ref}.dmg"; hash = "sha256-tkIEV+tCS0SYh2TlC70/zEBUEOSg//EaSKDGA7kH/vo="; }; buildInputs = [ undmg ]; installPhase = '' mkdir -p "$out/Applications/${appName}.app" cp -R . "$out/Applications/${appName}.app" chmod a+x "$out/Applications/${appName}.app/Contents/MacOS/mscore" ''; meta = with lib; { description = "Music notation and composition software"; homepage = "https://musescore.org/"; license = licenses.gpl3Only; platforms = platforms.darwin; maintainers = []; }; } </del>
homepage = "https://musescore.org/"; license = licenses.gpl3Only; maintainers = with maintainers; [ vandenoever turion doronbehar ]; <del> # Darwin requires CoreMIDI from SDK 11.3, we use the upstream built .dmg # file in ./darwin.nix in the meantime. platforms = platforms.linux; </del> <ins> # on aarch64-linux: # error: cannot convert '<brace-enclosed initializer list>' to 'float32x4_t' in assignment broken = (stdenv.isLinux && stdenv.isAarch64); </ins> mainProgram = "mscore"; }; }
autoreconfHook = buildPackages.autoreconfHook269; }; <del> # TODO: we should probably merge these 2 musescore = if stdenv.isDarwin then callPackage ../applications/audio/musescore/darwin.nix { } else libsForQt5.callPackage ../applications/audio/musescore { }; </del> <ins> musescore = libsForQt5.callPackage ../applications/audio/musescore { }; </ins> music-player = callPackage ../applications/audio/music-player { };