jiebi/CodeConvo huggingface dataset:
mkKeyboardTest = layout: { extraConfig ? {}, tests }: with pkgs.lib; makeTest { name = "keymap-${layout}"; <del> machine.console.keyMap = mkOverride 900 layout; machine.services.xserver.desktopManager.xterm.enable = false; machine.services.xserver.layout = mkOverride 900 layout; machine.imports = [ ./common/x11.nix extraConfig ]; </del> <ins> nodes.machine.console.keyMap = mkOverride 900 layout; nodes.machine.services.xserver.desktopManager.xterm.enable = false; nodes.machine.services.xserver.layout = mkOverride 900 layout; nodes.machine.imports = [ ./common/x11.nix extraConfig ]; </ins> testScript = '' import json
extraConfig.console.keyMap = "de"; extraConfig.services.xserver.layout = "de"; }; <ins> custom = { tests = { us.qwerty = [ "a" "b" "g" "d" "z" "shift-2" "shift-3" ]; us.expect = [ "a" "b" "g" "d" "z" "@" "#" ]; greek.qwerty = map (x: "alt_r-${x}") [ "a" "b" "g" "d" "z" ]; greek.expect = [ "α" "β" "γ" "δ" "ζ" ]; }; extraConfig.console.useXkbConfig = true; extraConfig.services.xserver.layout = "us-greek"; extraConfig.services.xserver.extraLayouts.us-greek = { description = "US layout with alt-gr greek"; languages   = [ "eng" ]; symbolsFile = pkgs.writeText "us-greek" '' xkb_symbols "us-greek" { include "us(basic)" include "level3(ralt_switch)" key <LatA> { [ a, A, Greek_alpha ] }; key <LatB> { [ b, B, Greek_beta  ] }; key <LatG> { [ g, G, Greek_gamma ] }; key <LatD> { [ d, D, Greek_delta ] }; key <LatZ> { [ z, Z, Greek_zeta  ] }; }; ''; }; }; </ins> }
${optionalString (symbolsFile  != null) "cp '${symbolsFile}'  'symbols/${name}'"} ${optionalString (typesFile    != null) "cp '${typesFile}'    'types/${name}'"} <del> # patch makefiles for type in compat geometry keycodes symbols types; do if ! test -f "$type/${name}"; then continue fi test "$type" = geometry && type_name=geom || type_name=$type ${ed}/bin/ed -v $type/Makefile.am <<EOF /''${type_name}_DATA = a ${name}  . w EOF ${ed}/bin/ed -v $type/Makefile.in <<EOF /''${type_name}_DATA = a ${name}  . w EOF done </del> # add model description ${ed}/bin/ed -v rules/base.xml <<EOF /</modelList>
python3.pkgs.buildPythonApplication rec { pname = "dvc"; <del> version = "3.5.0"; </del> <ins> version = "3.5.1"; </ins> format = "pyproject"; src = fetchFromGitHub { owner = "iterative"; repo = pname; rev = "refs/tags/${version}"; <del> hash = "sha256-AQE8KQ5j/EgN1P2HFghWXgQJbBc+KYu8kwNeV0Tktho="; </del> <ins> hash = "sha256-1kVc7+36rvIpoSinpyxMMs1/nhZrwv1pPWJsruFd1N8="; </ins> }; pythonRelaxDeps = [
<ins> { rustPlatform , fetchFromGitHub , pkg-config , openssl , lib , stdenv , testers , libetebase }: rustPlatform.buildRustPackage rec { pname = "libetebase"; version = "0.5.6"; src = fetchFromGitHub { owner = "etesync"; repo = "libetebase"; rev = "v${version}"; hash = "sha256-cXuOKfyMdk+YzDi0G8i44dyBRf4Ez5+AlCKG43BTSSU="; }; cargoHash = "sha256-GUNj5GrY04CXnej3WDKZmW4EeJhoCl2blHSDfEkQKtE="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ]; postInstall = '' install -d $out/lib/pkgconfig sed s#@prefix@#$out#g etebase.pc.in > $out/lib/pkgconfig/etebase.pc install -Dm644 EtebaseConfig.cmake -t $out/lib/cmake/Etebase install -Dm644 target/etebase.h -t $out/include/etebase ln -s $out/lib/libetebase.so $out/lib/libetebase.so.0 ''; passthru.tests.pkgs-config = testers.testMetaPkgConfig libetebase; meta = with lib; { description = "A C library for Etebase"; homepage = "https://www.etebase.com/"; license = licenses.bsd3; broken = stdenv.isDarwin; maintainers = with maintainers; [ laalsaas ]; pkgConfigModules = [ "etebase" ]; }; } </ins>
<del> { stdenv, fetchurl, makeDesktopItem, makeWrapper, patchelf, p7zip , coreutils, gnugrep, which, git, python, unzip }: { name, product, version, src, wmClass, jdk, meta } @ attrs: with stdenv.lib; let loName = toLower product; hiName = toUpper product; execName = concatStringsSep "-" (init (splitString "-" name)); in with stdenv; lib.makeOverridable mkDerivation rec { inherit name src meta; desktopItem = makeDesktopItem { name = execName; exec = execName; comment = lib.replaceChars ["n"] [" "] meta.longDescription; desktopName = product; genericName = meta.description; categories = "Application;Development;"; icon = execName; extraEntries = '' StartupWMClass=${wmClass} ''; }; buildInputs = [ makeWrapper patchelf p7zip unzip ]; patchPhase = '' get_file_size() { local fname="$1" echo $(ls -l $fname | cut -d ' ' -f5) } munge_size_hack() { local fname="$1" local size="$2" strip $fname truncate --size=$size $fname } interpreter=$(echo ${stdenv.glibc.out}/lib/ld-linux*.so.2) if [ "${stdenv.system}" == "x86_64-linux" ]; then target_size=$(get_file_size bin/fsnotifier64) patchelf --set-interpreter "$interpreter" bin/fsnotifier64 munge_size_hack bin/fsnotifier64 $target_size else target_size=$(get_file_size bin/fsnotifier) patchelf --set-interpreter "$interpreter" bin/fsnotifier munge_size_hack bin/fsnotifier $target_size fi ''; installPhase = '' mkdir -p $out/{bin,$name,share/pixmaps,libexec/${name}} cp -a . $out/$name ln -s $out/$name/bin/${loName}.png $out/share/pixmaps/${execName}.png mv bin/fsnotifier* $out/libexec/${name}/. jdk=${jdk.home} item=${desktopItem} makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${execName}"  --prefix PATH : "$out/libexec/${name}:${stdenv.lib.makeBinPath [ jdk coreutils gnugrep which git ]}"  --set JDK_HOME "$jdk"  --set ${hiName}_JDK "$jdk"  --set ANDROID_JAVA_HOME "$jdk"  --set JAVA_HOME "$jdk" ln -s "$item/share/applications" $out/share ''; } </del>
<ins> { stdenv, fetchurl, makeDesktopItem, makeWrapper, patchelf, p7zip , coreutils, gnugrep, which, git, python, unzip }: { name, product, version, src, wmClass, jdk, meta } @ attrs: with stdenv.lib; let loName = toLower product; hiName = toUpper product; execName = concatStringsSep "-" (init (splitString "-" name)); in with stdenv; lib.makeOverridable mkDerivation rec { inherit name src meta; desktopItem = makeDesktopItem { name = execName; exec = execName; comment = lib.replaceChars ["n"] [" "] meta.longDescription; desktopName = product; genericName = meta.description; categories = "Application;Development;"; icon = execName; extraEntries = '' StartupWMClass=${wmClass} ''; }; buildInputs = [ makeWrapper patchelf p7zip unzip ]; patchPhase = '' get_file_size() { local fname="$1" echo $(ls -l $fname | cut -d ' ' -f5) } munge_size_hack() { local fname="$1" local size="$2" strip $fname truncate --size=$size $fname } interpreter=$(echo ${stdenv.glibc.out}/lib/ld-linux*.so.2) if [ "${stdenv.system}" == "x86_64-linux" ]; then target_size=$(get_file_size bin/fsnotifier64) patchelf --set-interpreter "$interpreter" bin/fsnotifier64 munge_size_hack bin/fsnotifier64 $target_size else target_size=$(get_file_size bin/fsnotifier) patchelf --set-interpreter "$interpreter" bin/fsnotifier munge_size_hack bin/fsnotifier $target_size fi ''; installPhase = '' mkdir -p $out/{bin,$name,share/pixmaps,libexec/${name}} cp -a . $out/$name ln -s $out/$name/bin/${loName}.png $out/share/pixmaps/${execName}.png mv bin/fsnotifier* $out/libexec/${name}/. jdk=${jdk.home} item=${desktopItem} makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${execName}"  --prefix PATH : "$out/libexec/${name}:${stdenv.lib.makeBinPath [ jdk coreutils gnugrep which git ]}"  --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ # Some internals want libstdc++.so.6 stdenv.cc.cc.lib ]}"  --set JDK_HOME "$jdk"  --set ${hiName}_JDK "$jdk"  --set ANDROID_JAVA_HOME "$jdk"  --set JAVA_HOME "$jdk" ln -s "$item/share/applications" $out/share ''; } </ins>
gnustep-make = gnustep.make; # added 2016-7-6 htmlTidy = html-tidy;  # added 2014-12-06 iana_etc = iana-etc;  # added 2017-03-08 <ins> idea = jetbrains; # added 2017-04-03 </ins> inherit (haskell.compiler) jhc uhc;   # 2015-05-15 inotifyTools = inotify-tools; joseki = apache-jena-fuseki; # added 2016-02-28
libart = pkgs.gnome2.libart_lgpl; }; <del> idea = recurseIntoAttrs (callPackages ../applications/editors/idea { androidsdk = androidsdk_extras; }); </del> <ins> jetbrains = recurseIntoAttrs (callPackages ../applications/editors/jetbrains { androidsdk = androidsdk_extras; }); </ins> libquvi = callPackage ../applications/video/quvi/library.nix { };
This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/using/syntax.html#targets-and-cross-referencing). <ins> #### HTML Inlining HTML is not allowed. Parts of the documentation gets rendered to various non-HTML formats, such as man pages in the case of NixOS manual. </ins> #### Roles If you want to link to a man page, you can use `` {manpage}`nix.conf(5)` ``. The references will turn into links when a mapping exists in [`doc/manpage-urls.json`](./manpage-urls.json).
_Default:_ the output path's hash. ``` <ins> #### Examples To define a referenceable figure use the following fencing: ```markdown :::{.example #an-attribute-set-example} # An attribute set example You can add text before ```nix { a = 1; b = 2;} ``` and after code fencing ::: ``` Defining examples through the `example` fencing class adds them to a "List of Examples" section after the Table of Contents. Though this is not shown in the rendered documentation on nixos.org. #### Figures To define a referencable figure use the following fencing: ```markdown ::: {.figure #nixos-logo} # NixOS Logo ![NixOS logo](./nixos_logo.png) ::: ``` Defining figures through the `figure` fencing class adds them to a `List  of Figures` after the `Table of Contents`. Though this is not shown in the rendered documentation on nixos.org. #### Footnotes To add a foonote explanation, use the following syntax: ```markdown Sometimes it's better to add context [^context] in a footnote. [^context]: This explanation will be rendered at the end of the chapter. ``` #### Inline comments Inline comments are supported with following syntax: ```markdown <!-- This is an inline comment --> ``` The comments will not be rendered in the rendered HTML. #### Link reference definitions Links can reference a label, for example, to make the link target reusable: ```markdown ::: {.note} Reference links can also be used to [shorten URLs][url-id] and keep the markdown readable. ::: [url-id]: https://github.com/NixOS/nixpkgs/blob/19d4f7dc485f74109bd66ef74231285ff797a823/doc/README.md ``` This syntax is taken from [CommonMark](https://spec.commonmark.org/0.30/#link-reference-definitions). #### Typographic replacements Typographic replacements are enabled. Check the [list of possible replacement patterns check](https://github.com/executablebooks/markdown-it-py/blob/3613e8016ecafe21709471ee0032a90a4157c2d1/markdown_it/rules_core/replacements.py#L1-L15). </ins> ## Getting help If you need documentation-specific help or reviews, ping [@NixOS/documentation-reviewers](https://github.com/orgs/nixos/teams/documentation-reviewers) on your pull request.
# Contributing to this manual {#chap-contributing} <del> The [DocBook] and CommonMark sources of the NixOS manual are in the [nixos/doc/manual](https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual) subdirectory of the [Nixpkgs](https://github.com/NixOS/nixpkgs) repository. </del> <ins> The sources of the NixOS manual are in the [nixos/doc/manual](https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual) subdirectory of the [Nixpkgs](https://github.com/NixOS/nixpkgs) repository. </ins> This manual uses the [Nixpkgs manual syntax](https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup). You can quickly check your edits with the following:
## Building the Manual {#sec-writing-docs-building-the-manual} <del> The DocBook sources of the [](#book-nixos-manual) are in the </del> <ins> The sources of the [](#book-nixos-manual) are in the </ins> [`nixos/doc/manual`](https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual) subdirectory of the Nixpkgs repository.
When this command successfully finishes, it will tell you where the manual got generated. The HTML will be accessible through the `result` symlink at `./result/share/doc/nixos/index.html`. <del> ## Editing DocBook XML {#sec-writing-docs-editing-docbook-xml} For general information on how to write in DocBook, see [DocBook 5: The Definitive Guide](https://tdg.docbook.org/tdg/5.1/). Emacs nXML Mode is very helpful for editing DocBook XML because it validates the document as you write, and precisely locates errors. To use it, see [](#sec-emacs-docbook-xml). [Pandoc](https://pandoc.org/) can generate DocBook XML from a multitude of formats, which makes a good starting point. Here is an example of Pandoc invocation to convert GitHub-Flavoured MarkDown to DocBook 5 XML: ```ShellSession pandoc -f markdown_github -t docbook5 docs.md -o my-section.md ``` Pandoc can also quickly convert a single `section.xml` to HTML, which is helpful when drafting. Sometimes writing valid DocBook is too difficult. In this case, submit your documentation updates in a [GitHub Issue](https://github.com/NixOS/nixpkgs/issues/new) and someone will handle the conversion to XML for you. ## Creating a Topic {#sec-writing-docs-creating-a-topic} You can use an existing topic as a basis for the new topic or create a topic from scratch. Keep the following guidelines in mind when you create and add a topic: -   The NixOS [`book`](https://tdg.docbook.org/tdg/5.0/book.html) element is in `nixos/doc/manual/manual.xml`. It includes several [`parts`](https://tdg.docbook.org/tdg/5.0/book.html) which are in subdirectories. -   Store the topic file in the same directory as the `part` to which it belongs. If your topic is about configuring a NixOS module, then the XML file can be stored alongside the module definition `nix` file. -   If you include multiple words in the file name, separate the words with a dash. For example: `ipv6-config.xml`. -   Make sure that the `xml:id` value is unique. You can use abbreviations if the ID is too long. For example: `nixos-config`. -   Determine whether your topic is a chapter or a section. If you are unsure, open an existing topic file and check whether the main element is chapter or section. ## Adding a Topic to the Book {#sec-writing-docs-adding-a-topic} Open the parent CommonMark file and add a line to the list of chapters with the file name of the topic that you created. If you created a `section`, you add the file to the `chapter` file. If you created a `chapter`, you add the file to the `part` file. If the topic is about configuring a NixOS module, it can be automatically included in the manual by using the `meta.doc` attribute. See [](#sec-meta-attributes) for an explanation. </del>
inherit vimrcFile; # shell script with custom name passing [-u vimrc] [-U gvimrc] to vim <del> vimWithRC = {vimExecutable, name ? null, vimrcFile ? null, gvimrcFile ? null}: let rcOption = o: file: stdenv.lib.optionalString (file != null) "-${o} ${file}"; in writeScriptBin (if name == null then "vim" else name) '' #!${stdenv.shell} exec ${vimExecutable} ${rcOption "u" vimrcFile} ${rcOption "U" gvimrcFile} "$@" </del> <ins> vimWithRC = { vimExecutable, gvimExecutable, vimManPages, wrapManual, wrapGui, name ? "vim", vimrcFile ? null, gvimrcFile ? null, vimExecutableName, gvimExecutableName, }: let rcOption = o: file: stdenv.lib.optionalString (file != null) "-${o} ${file}"; vimWrapperScript = writeScriptBin vimExecutableName '' #!${stdenv.shell} exec ${vimExecutable} ${rcOption "u" vimrcFile} ${rcOption "U" gvimrcFile} "$@" </ins> ''; <ins> gvimWrapperScript = writeScriptBin gvimExecutableName '' #!${stdenv.shell} exec ${gvimExecutable} ${rcOption "u" vimrcFile} ${rcOption "U" gvimrcFile} "$@" ''; in buildEnv { inherit name; paths = [ vimWrapperScript ] ++ lib.optional wrapGui gvimWrapperScript ++ lib.optional wrapManual vimManPages ; }; </ins> # add a customize option to a vim derivation makeCustomizable = vim: vim // { <del> customize = { name, vimrcConfig }: vimWithRC { </del> <ins> customize = { name, vimrcConfig, wrapManual ? true, wrapGui ? false, vimExecutableName ? name, gvimExecutableName ? (lib.concatStrings [ "g" name ]), }: vimWithRC { </ins> vimExecutable = "${vim}/bin/vim"; <del> inherit name; </del> <ins> gvimExecutable = "${vim}/bin/gvim"; inherit name wrapManual wrapGui vimExecutableName gvimExecutableName; </ins> vimrcFile = vimrcFile vimrcConfig; <ins> vimManPages = buildEnv { name = "vim-doc"; paths = [ vim ]; pathsToLink = [ "/share/man" ]; }; </ins> }; override = f: makeCustomizable (vim.override f);
$conf .= "}nn"; } <ins> sub addGeneration { my ($name, $nameSuffix, $path, $options, $current) = @_; </ins> <del> # Add default entries. $conf .= "$extraEntriesn" if $extraEntriesBeforeNixOS; </del> <ins> # Do not search for grand children my @links = sort (glob "$path/specialisation/*"); </ins> <del> addEntry("@distroName@ - Default", $defaultConfig, $entryOptions, 1); </del> <ins> if ($current != 1 && scalar(@links) != 0) { $conf .= "submenu "> $name$nameSuffix" --class submenu {n"; } </ins> <del> $conf .= "$extraEntriesn" unless $extraEntriesBeforeNixOS; </del> <ins> addEntry("$name" . (scalar(@links) == 0 ? "" : " - Default") . $nameSuffix, $path, $options, $current); </ins> <del> # Find all the children of the current default configuration # Do not search for grand children my @links = sort (glob "$defaultConfig/specialisation/*"); foreach my $link (@links) { </del> <ins> # Find all the children of the current default configuration # Do not search for grand children foreach my $link (@links) { </ins> <del> my $entryName = ""; </del> <ins> my $entryName = ""; </ins> <del> my $cfgName = readFile("$link/configuration-name"); </del> <ins> my $cfgName = readFile("$link/configuration-name"); </ins> <del> my $date = strftime("%F", localtime(lstat($link)->mtime)); my $version = -e "$link/nixos-version" ? readFile("$link/nixos-version") : basename((glob(dirname(Cwd::abs_path("$link/kernel")) . "/lib/modules/*"))[0]); </del> <ins> my $date = strftime("%F", localtime(lstat($link)->mtime)); my $version = -e "$link/nixos-version" ? readFile("$link/nixos-version") : basename((glob(dirname(Cwd::abs_path("$link/kernel")) . "/lib/modules/*"))[0]); </ins> <del> if ($cfgName) { $entryName = $cfgName; } else { my $linkname = basename($link); $entryName = "($linkname - $date - $version)"; </del> <ins> if ($cfgName) { $entryName = $cfgName; } else { my $linkname = basename($link); $entryName = "($linkname - $date - $version)"; } addEntry("$name - $entryName", $link, "", 1); } if ($current != 1 && scalar(@links) != 0) { $conf .= "}n"; </ins> } <del> addEntry("@distroName@ - $entryName", $link, "", 1); </del> } <ins> # Add default entries. $conf .= "$extraEntriesn" if $extraEntriesBeforeNixOS; addGeneration("@distroName@", "", $defaultConfig, $entryOptions, 1); $conf .= "$extraEntriesn" unless $extraEntriesBeforeNixOS; </ins> my $grubBootPath = $grubBoot->path; # extraEntries could refer to @bootRoot@, which we have to substitute $conf =~ s/@bootRoot@/$grubBootPath/g;
-e "$link/nixos-version" ? readFile("$link/nixos-version") : basename((glob(dirname(Cwd::abs_path("$link/kernel")) . "/lib/modules/*"))[0]); <del> addEntry("@distroName@ - Configuration " . nrFromGen($link) . " ($date - $version)", $link, $subEntryOptions, 0); </del> <ins> addGeneration("@distroName@ - Configuration " . nrFromGen($link), " ($date - $version)", $link, $subEntryOptions, 0); </ins> } $conf .= "}n";
<ins> { lib , stdenv , fetchFromGitHub , substituteAll , python3 , ghostscript , coreutils , pdftk , poppler_utils }: let python-env = python3.withPackages (ps: with ps; [ tkinter ]); in stdenv.mkDerivation { pname = "pdf-sign"; version = "unstable-2023-08-08"; src = fetchFromGitHub { owner = "svenssonaxel"; repo = "pdf-sign"; rev = "98742c6b12ebe2ca3ba375c695f43b52fe38b362"; hash = "sha256-5GRk0T1iLqmvWI8zvZE3OWEHPS0/zN/Ie9brjZiFpqc="; }; patches = [ (substituteAll { src = ./use-nix-paths.patch; gs = "${ghostscript}/bin/gs"; mv = "${coreutils}/bin/mv"; pdftk = "${pdftk}/bin/pdftk"; pdfinfo = "${poppler_utils}/bin/pdfinfo"; }) ]; buildInputs = [ python-env ]; installPhase = '' runHook preInstall mkdir -p $out/bin cp pdf-sign pdf-create-empty $out/bin patchShebangs $out/bin runHook postInstall ''; meta = { description = "A tool to visually sign PDF files"; homepage = "https://github.com/svenssonaxel/pdf-sign"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ tomasajt ]; platforms = lib.platforms.unix; }; } </ins>
pushd dist # See https://peps.python.org/pep-0491/#escaping-and-unicode <del> local -r pkg_name="${pname//[^[:alnum:].]/_}-$version" </del> <ins> local -r pkg_name="${pname//[^[:alnum:].]/_}" </ins> local -r unpack_dir="unpacked" <del> local -r metadata_file="$unpack_dir/$pkg_name/$pkg_name.dist-info/METADATA" </del> <ins> local -r metadata_file="$unpack_dir/$pkg_name*/$pkg_name*.dist-info/METADATA" </ins> # We generally shouldn't have multiple wheel files, but let's be safer here for wheel in "$pkg_name"*".whl"; do @pythonInterpreter@ -m wheel unpack --dest "$unpack_dir" "$wheel" rm -rf "$wheel" <del> _pythonRelaxDeps "$metadata_file" _pythonRemoveDeps "$metadata_file" </del> <ins> # Using no quotes on purpose since we need to expand the glob from `$metadata_file` _pythonRelaxDeps $metadata_file _pythonRemoveDeps $metadata_file </ins> if (( "${NIX_DEBUG:-0}" >= 1 )); then echo "pythonRelaxDepsHook: resulting METADATA for '$wheel':" <del> cat "$unpack_dir/$pkg_name/$pkg_name.dist-info/METADATA" </del> <ins> cat $metadata_file </ins> fi <del> @pythonInterpreter@ -m wheel pack "$unpack_dir/$pkg_name" </del> <ins> @pythonInterpreter@ -m wheel pack "$unpack_dir/$pkg_name"* </ins> done # Remove the folder since it will otherwise be in the dist output.
<del> { lib, stdenv, fetchFromGitHub, cmake, pkg-config, qttools, wrapQtAppsHook , alsa-lib, dssi, fluidsynth, ladspaH, lash, libinstpatch, libjack2, liblo , libsamplerate, libsndfile, lilv, lrdf, lv2, qtsvg, rtaudio, rubberband, sord, serd </del> <ins> { lib , stdenv , fetchFromGitHub , cmake , pkg-config , qttools , wrapQtAppsHook , alsa-lib , dssi , fluidsynth , ladspaH , lash , libinstpatch , libjack2 , liblo , libsamplerate , libsndfile , lilv , lrdf , lv2 , qtsvg , rtaudio , rubberband , sord , serd </ins> }: <del> stdenv.mkDerivation rec { </del> <ins> stdenv.mkDerivation (finalAttrs: { </ins> pname = "muse-sequencer"; <del> version = "3.1.1"; </del> <ins> version = "4.1.0"; </ins> src = fetchFromGitHub { owner = "muse-sequencer"; repo = "muse"; <del> rev = "muse_${builtins.replaceStrings ["."] ["_"] version}"; sha256 = "1rasp2v1ds2aw296lbf27rzw0l9fjl0cvbvw85d5ycvh6wkm301p"; </del> <ins> rev = finalAttrs.version; hash = "sha256-JPvoximDL4oKO8reXW7alMegwUyUTSAcdq3ueXeUMMY="; </ins> }; <del> sourceRoot = "${src.name}/muse3"; patches = [ ./fix-parallel-building.patch ]; </del> <ins> sourceRoot = "${finalAttrs.src.name}/src"; </ins> nativeBuildInputs = [ cmake pkg-config qttools wrapQtAppsHook ]; buildInputs = [ <del> alsa-lib dssi fluidsynth ladspaH lash libinstpatch libjack2 liblo libsamplerate libsndfile lilv lrdf lv2 qtsvg rtaudio rubberband sord </del> <ins> alsa-lib dssi fluidsynth ladspaH lash libinstpatch libjack2 liblo libsamplerate libsndfile lilv lrdf lv2 qtsvg rtaudio rubberband sord </ins> ]; env.NIX_CFLAGS_COMPILE = toString [ "-I${lib.getDev serd}/include/serd-0" ]; <del> meta = with lib; { </del> <ins> meta = { </ins> homepage = "https://muse-sequencer.github.io/"; description = "MIDI/Audio sequencer with recording and editing capabilities"; longDescription = ''
MusE aims to be a complete multitrack virtual studio for Linux, it is published under the GNU General Public License. ''; <del> license = licenses.gpl2Plus; maintainers = with maintainers; [ orivej ]; </del> <ins> license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ eclairevoyant orivej ]; platforms = lib.platforms.linux; mainProgram = "muse4"; </ins> }; <del> } </del> <ins> }) </ins>