jiebi/CodeConvo huggingface dataset:
Change:
Package name: citra-nightly Latest released version: 1843 <!-- Search your package here: --- Current version on the unstable channel: 1765 Current version on the stable/release channel:1765 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --Note for maintainers: Please tag this issue in your PR.

Discussion:
{ branch <del> , libsForQt5 </del> <ins> , qt6Packages </ins> , fetchFromGitHub , fetchurl }: let <del> # Fetched from https://api.citra-emu.org/gamedb, last updated 2022-05-02 </del> <ins> # Fetched from https://api.citra-emu.org/gamedb </ins> # Please make sure to update this when updating citra! compat-list = fetchurl { name = "citra-compat-list"; <del> url = "https://web.archive.org/web/20220502114622/https://api.citra-emu.org/gamedb/"; sha256 = "sha256-blIlaYaUQjw7Azgg+Dd7ZPEQf+ddZMO++Yxinwe+VG0="; </del> <ins> url = "https://web.archive.org/web/20230512234055/https://api.citra-emu.org/gamedb/"; hash = "sha256-J+zqtWde5NgK2QROvGewtXGRAWUTNSKHNMG6iu9m1fU="; </ins> }; in { <del> nightly = libsForQt5.callPackage ./generic.nix rec { </del> <ins> nightly = qt6Packages.callPackage ./generic.nix rec { </ins> pname = "citra-nightly"; <del> version = "1873"; </del> <ins> version = "1907"; </ins> src = fetchFromGitHub { owner = "citra-emu"; repo = "citra-nightly"; rev = "nightly-${version}"; <del> sha256 = "1csn9n1s2mvxwk2mahwm8mc4zgn40im374hcsqgz8gaxjkmnx288"; </del> <ins> sha256 = "l4pqok42/ybnRX90Qwhcgm2JR4/9C5bbCTk3j4QuWtw="; </ins> fetchSubmodules = true; }; inherit branch compat-list; }; <del> canary = libsForQt5.callPackage ./generic.nix rec { </del> <ins> canary = qt6Packages.callPackage ./generic.nix rec { </ins> pname = "citra-canary"; <del> version = "2440"; </del> <ins> version = "2484"; </ins> src = fetchFromGitHub { owner = "citra-emu"; repo = "citra-canary"; rev = "canary-${version}"; <del> sha256 = "06f2qnvywyaf8jc43jrzjhfshj3k21ggk8wdrvd9wjsmrryvqgbz"; </del> <ins> sha256 = "IgCpqt3rKV9IqNstF4QwnJlE3hPH+BkIhaOvEmshh0U="; </ins> fetchSubmodules = true; };

"-DCITRA_USE_BUNDLED_FFMPEG=OFF" "-DCITRA_USE_BUNDLED_QT=OFF" "-DUSE_SYSTEM_SDL2=ON" <ins> "-DCMAKE_INSTALL_INCLUDEDIR=include" "-DCMAKE_INSTALL_LIBDIR=lib" </ins> # We dont want to bother upstream with potentially outdated compat reports "-DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON"
Change:
Package name: citra-canary Latest released version: 2399 <!-- Search your package here: --- Current version on the unstable channel: 2146 Current version on the stable/release channel: 2146 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --Note for maintainers: Please tag this issue in your PR.

Discussion:
{ branch <del> , libsForQt5 </del> <ins> , qt6Packages </ins> , fetchFromGitHub , fetchurl }: let <del> # Fetched from https://api.citra-emu.org/gamedb, last updated 2022-05-02 </del> <ins> # Fetched from https://api.citra-emu.org/gamedb </ins> # Please make sure to update this when updating citra! compat-list = fetchurl { name = "citra-compat-list"; <del> url = "https://web.archive.org/web/20220502114622/https://api.citra-emu.org/gamedb/"; sha256 = "sha256-blIlaYaUQjw7Azgg+Dd7ZPEQf+ddZMO++Yxinwe+VG0="; </del> <ins> url = "https://web.archive.org/web/20230512234055/https://api.citra-emu.org/gamedb/"; hash = "sha256-J+zqtWde5NgK2QROvGewtXGRAWUTNSKHNMG6iu9m1fU="; </ins> }; in { <del> nightly = libsForQt5.callPackage ./generic.nix rec { </del> <ins> nightly = qt6Packages.callPackage ./generic.nix rec { </ins> pname = "citra-nightly"; <del> version = "1873"; </del> <ins> version = "1907"; </ins> src = fetchFromGitHub { owner = "citra-emu"; repo = "citra-nightly"; rev = "nightly-${version}"; <del> sha256 = "1csn9n1s2mvxwk2mahwm8mc4zgn40im374hcsqgz8gaxjkmnx288"; </del> <ins> sha256 = "l4pqok42/ybnRX90Qwhcgm2JR4/9C5bbCTk3j4QuWtw="; </ins> fetchSubmodules = true; }; inherit branch compat-list; }; <del> canary = libsForQt5.callPackage ./generic.nix rec { </del> <ins> canary = qt6Packages.callPackage ./generic.nix rec { </ins> pname = "citra-canary"; <del> version = "2440"; </del> <ins> version = "2484"; </ins> src = fetchFromGitHub { owner = "citra-emu"; repo = "citra-canary"; rev = "canary-${version}"; <del> sha256 = "06f2qnvywyaf8jc43jrzjhfshj3k21ggk8wdrvd9wjsmrryvqgbz"; </del> <ins> sha256 = "IgCpqt3rKV9IqNstF4QwnJlE3hPH+BkIhaOvEmshh0U="; </ins> fetchSubmodules = true; };

"-DCITRA_USE_BUNDLED_FFMPEG=OFF" "-DCITRA_USE_BUNDLED_QT=OFF" "-DUSE_SYSTEM_SDL2=ON" <ins> "-DCMAKE_INSTALL_INCLUDEDIR=include" "-DCMAKE_INSTALL_LIBDIR=lib" </ins> # We dont want to bother upstream with potentially outdated compat reports "-DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON"
Change:
Package name: apx Latest released version: 1.7.0-1 <!-- Search your package here: --- Current version on the unstable channel: 1.4.2 Current version on the stable/release channel: <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --Note for maintainers:
Looks like they as a package manager to itself and made some other changes too. I am going to take a look at this by tomorrow.
I have created a PR but have not tested the package extensively myself. Could you please test it?
I have tried these two pr and by and it seams works well

Discussion:
buildGoModule rec { pname = "apx"; <del> version = "1.4.2"; </del> <ins> version = "1.7.0-1"; </ins> src = fetchFromGitHub { owner = "Vanilla-OS"; repo = pname; <del> rev = version; sha256 = "sha256-BswX4Jo/RReM/tXo29V9rIvKjN8ylECPe0oo0FCQcGY="; </del> <ins> rev = "v${version}"; hash = "sha256-tonI3S0a08MbR369qaKS2BoWc3QzXWzTuGx/zSgUz7s="; </ins> }; vendorSha256 = null;
Change:
For some older project I need to run meteor (was pretty cool back then), which thinks it's extra special and downloads dependencies on it's own, which are not correctly set up in the : Steps to reproduce the behavior: (optional, for reproducibility) set up clean environment inside : example meteor app: meteor: I figured out how to do this manually: (in addition to curl, it needs ) ... this works, but I have no idea how to properly do this :shrug:
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
Adding curl and lzma to may fix it
Thanks for the tip! I've tried it, but it doesn't seem to help - until I figured I also need to add it to the patching script's library path - now it works :tada: PR:

Discussion:
<del> { stdenv, lib, fetchurl, zlib, patchelf, runtimeShell }: </del> <ins> { stdenv, lib, fetchurl, zlib, curl, xz, patchelf, runtimeShell }: </ins> let version = "2.7.3";

popd substituteInPlace $out/tools/cli/main.js  --replace "@INTERPRETER@" "$(cat $NIX_CC/nix-support/dynamic-linker)"  <del> --replace "@RPATH@" "${lib.makeLibraryPath [ stdenv.cc.cc zlib ]}"  </del> <ins> --replace "@RPATH@" "${lib.makeLibraryPath [ stdenv.cc.cc zlib curl xz ]}"  </ins> --replace "@PATCHELF@" "${patchelf}/bin/patchelf" # Patch node.

for p in $out/dev_bundle/mongodb/bin/mongo{,d}; do patchelf  --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker)  <del> --set-rpath "$(patchelf --print-rpath $p):${lib.makeLibraryPath [ stdenv.cc.cc zlib ]}"  </del> <ins> --set-rpath "$(patchelf --print-rpath $p):${lib.makeLibraryPath [ stdenv.cc.cc zlib curl xz ]}"  </ins> $p done
Change:
Steps to reproduce the behavior: gmic from There are more of those function arity errors, but just a small sample since they're the same. I'm going to assume pull in today has something to do with it. no maintainer? merged and it shows failures for gmic. gmic is used for me in GIMP and darktable. Please run and paste the result.
I will revert this preventively. There are many strange bugs happening.

Discussion:
{ lib , stdenv , fetchFromGitHub <ins> , gmic , gmic-qt </ins> }: stdenv.mkDerivation rec {

runHook postInstall ''; <ins> passthru.tests = { # Need to update in lockstep. inherit gmic gmic-qt; }; </ins> meta = with lib; { homepage = "http://cimg.eu/"; description = "A small, open source, C++ toolkit for image processing";

, gnused , coreutils , jq <ins> , nix-update-script , gimpPlugins </ins> }: let

mkDerivation rec { pname = "gmic-qt${lib.optionalString (variant != "standalone") "-${variant}"}"; <del> version = "3.2.0"; </del> <ins> version = "3.2.1"; </ins> src = fetchFromGitHub { owner = "c-koi"; repo = "gmic-qt"; rev = "v.${version}"; <del> sha256 = "sha256-I5XC7zbDyBPFj4zul9rshoyeVV0hRQQ3aZQzEvYrgdc="; </del> <ins> sha256 = "sha256-z+GtYLBcHVufXwdeSd8WKmPmU1+/EKMv26kNaEgyt5w="; </ins> }; nativeBuildInputs = [

wrapQtApp "$out/${gimp.targetPluginDir}/gmic_gimp_qt/gmic_gimp_qt" ''; <ins> passthru = { tests = { gimp-plugin = gimpPlugins.gmic; }; updateScript = nix-update-script { }; }; </ins> meta = with lib; { <ins> # Broken since 3.2.0 update, cannot handle system gmic and cimg. broken = true; </ins> description = variants.${variant}.description; homepage = "http://gmic.eu/"; license = licenses.gpl3Plus;

, gnused , coreutils , jq <ins> , gmic-qt </ins> }: stdenv.mkDerivation rec { pname = "gmic"; <del> version = "3.2.0"; </del> <ins> version = "3.2.1"; </ins> outputs = [ "out" "lib" "dev" "man" ];

owner = "dtschump"; repo = "gmic"; rev = "v.${version}"; <del> hash = "sha256-lrIlzxXWqv046G5uRkBQnjvysaIcv+iDKxjuUEJWqcs="; </del> <ins> hash = "sha256-oEH4GlSV+642TGSJJhV4yzydh1hAQZfzwaiPAZFNQtI="; </ins> }; # TODO: build this from source

gmic_stdlib = fetchurl { name = "gmic_stdlib.h"; url = "http://gmic.eu/gmic_stdlib${lib.replaceStrings ["."] [""] version}.h"; <del> hash = "sha256-kWHzA1Dk7F4IROq/gk+RJllry3BABMbssJxhkQ6Cp2M="; </del> <ins> hash = "sha256-f8d9jTVnHwSoyMuiM+Qv86e/BYX9SSx9cl3borihxnc="; </ins> }; nativeBuildInputs = [

''; passthru = { <ins> tests = { # Needs to update in lockstep. inherit gmic-qt; }; </ins> updateScript = writeShellScript "${pname}-update-script" '' set -o errexit PATH=${lib.makeBinPath [ common-updater-scripts curl gnugrep gnused coreutils jq ]}

for component in src gmic_stdlib; do # The script will not perform an update when the version attribute is up to date from previous platform run # We need to clear it before each run <del> update-source-version "--source-key=$component" "gmic" 0 "$(printf '0%.0s' {1..64})" </del> <ins> update-source-version "--source-key=$component" "gmic" 0 "${lib.fakeHash}" </ins> update-source-version "--source-key=$component" "gmic" $latestVersion done '';
Change:
Package name: fragments Latest released version: <!-- Search your package here: --- Current version on the unstable channel: 2.0.2 Current version on the stable/release channel: 2.0.2 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --Note for maintainers: Please tag this issue in your PR.

Discussion:
, ninja , openssl , pkg-config <del> , python3 </del> , rustPlatform , sqlite , transmission

}); in stdenv.mkDerivation rec { pname = "fragments"; <del> version = "2.0.2"; </del> <ins> version = "2.1"; </ins> src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "World"; repo = "Fragments"; rev = version; <del> sha256 = "sha256-CMa1yka0kOxMhxSuazlJxTk4fzxuuwKYLBpEMwHbBUE="; </del> <ins> sha256 = "sha256-/KtUcj41s9WeHzIgGWhYQv6oD/Df7WOnJAPuS6yGLHk="; </ins> }; <del> postPatch = '' patchShebangs build-aux/meson/postinstall.py ''; </del> <ins> # https://github.com/gtk-rs/gtk4-rs/issues/1201 patches = [ ./gtk4-rs.patch ]; </ins> cargoDeps = rustPlatform.fetchCargoTarball { <del> inherit src; </del> <ins> inherit src patches; </ins> name = "${pname}-${version}"; <del> hash = "sha256-/rFZcbpITYkpSCEZp9XH253u90RGmuVLEBGIRNBgI/o="; </del> <ins> hash = "sha256-bhQHXx7kZFL+qb+k0gN1NZZ6LYjBUHuNqU528f0QAg0="; </ins> }; nativeBuildInputs = [

meson ninja pkg-config <del> python3 </del> wrapGAppsHook4 ] ++ (with rustPlatform; [ cargoSetupHook

<ins> diff --git a/Cargo.lock b/Cargo.lock index c0dfa2a..2decf88 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1158,9 +1158,9 @@ checksum = "da5bf7748fd4cd0b2490df8debcc911809dbcbee4ece9531b96c29a9c729de5a" [[package]] name = "gtk4" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c64f0c2a3d80e899dc3febddad5bac193ffcf74a0fd7e31037f30dd34d6f7396" +checksum = "4e8ae5aef2793bc3551b5e5e3fa062a5de54bb1eccf10dfa4effe9e4384fbbbc" dependencies = [ "bitflags", "cairo-rs", @@ -1181,9 +1181,9 @@ dependencies = [ [[package]] name = "gtk4-macros" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fafbcc920af4eb677d7d164853e7040b9de5a22379c596f570190c675d45f7a7" +checksum = "d9a4a8077b3a392dd7d637924529e1213d2e0c8e4d531177bc3355e86c257a54" dependencies = [ "anyhow", "proc-macro-crate 1.2.1", </ins>
Change:
i created a fresh for a python repo i use, i forgot a few dependencies the install process fetches them while happyly breaking building wheels i expected to get a hard failure i believe should not use pip to install packages branch in the repo upcoming System: (NixOS: , Ubuntu/Fedora: , ...) Nix version: (run ) Nixpkgs version: (run ) :
you have network access (which you do in a ) then yes, any program can fetch. This is expected and will happen with more programs. should we install packages? Saying that we shouldn't do a certain thing without further argumentation nor alternatives isn't very constructive.
for 1. i would expect no network action possible while building the environment (in order to stay reasonably close to the real env) as for installing python packages, it i believe it should be much saver to have a wheel as a output, and use that to generate a target folder unfortunately im not sure how to prototype such a pip-free builder - there would be a need for a stage1 set of setuptools/wheel packages to bootstrap setuptools/wheel wheels and go with the rest
How would you do that in ? Anyway, that is something to discuss on the Nix tracker, not here. By default we build wheels, and then install the wheels. The wheels can be build in different ways. We could use but we have certain arguments we pass to and I don't know whether accepts those. Building the wheel, and installing the wheel is already separated. We only use for installing the wheel. If would be sufficient we could get rid of . Bootstrapping isn't such a big problem; that's basically just unzipping the wheels as we do already.
(triage) Needs closing? :)
There is no good alternative so closing.

Discussion:
<del> { stdenv, fetchurl, pkgconfig, gtk, girara, gettext, docutils }: </del> <ins> { stdenv, fetchurl, pkgconfig, gtk, girara, gettext, docutils, file, makeWrapper }: </ins> stdenv.mkDerivation rec {

sha256 = "1ja2j9ygymr259fxf02j1vkvalypac48gpadq8fn3qbclxxj61k5"; }; <del> buildInputs = [ pkgconfig gtk girara gettext ]; </del> <ins> buildInputs = [ pkgconfig gtk girara gettext makeWrapper ]; </ins> # Bug in zathura build system: we should remove empty manfiles in order them # to be compiled properly

makeFlags = [ "PREFIX=$(out)" "RSTTOMAN=${docutils}/bin/rst2man.py" "VERBOSE=1" ]; <ins> postInstall = '' wrapProgram "$out/bin/zathura" --prefix PATH ":" "${file}/bin" ''; </ins> meta = { homepage = http://pwmt.org/projects/zathura/; description = "A core component for zathura PDF viewer";
Change:
I tried to install teams, but the download of the referenced .deb package fails ( via ) Steps to reproduce the behavior: to install teams Teams gets installed
The download links on the are broken. Perhaps if it’s just temporary?
Oh - I didn't think about checking one step further up...
I found (via ) which is supposed to list the missing file (it isn't).
, with no resolution as of yet.
having the same problem since yesterday !
Hmm, the latest version seems to be available from , so maybe we can use that as an alternative source in .
Meanwhile, for those having problems with this, you can preload the package from with : It should build and install successfully after that.
Download links have probably been pulled as Microsoft has in favour of their web version. In my experience the web client does work much better than the native one, including desktop sharing through Pipewire, for what it's worth.

Discussion:
version = versions.linux; src = fetchurl { <del> url = "https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${versions.linux}_amd64.deb"; </del> <ins> urls = [ "https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${versions.linux}_amd64.deb" # NOTE: the archive.org timestamp must also be updated if the version changes. "https://web.archive.org/web/20221130115842if_/https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${versions.linux}_amd64.deb" ]; </ins> hash = hashes.linux; };
Change:
reports the wrong version This is a problem because it causes issues with file e.g. from the version number is wrong version should be set using the git version tag The version path changed from to in commit
thanks for reporting! and thanks again to for the patch!

Discussion:
subPackages = [ "." ]; <del> ldflags = [ "-s" "-w" "-X github.com/helmfile/helmfile/pkg/app/version.Version=${version}" ]; </del> <ins> ldflags = [ "-s" "-w" "-X go.szostok.io/version.version=v${version}" ]; </ins> nativeBuildInputs = [ installShellFiles ];
Change:
Fail to connect to a l2tp + ipsec VPN after putting in all information. This happens on both Latest Gnome ISO and after NixOS installation. Message received on Gnome Desktop: Connection Failed Activation of network connection failed Steps to reproduce the behavior: Live Gnome ISO. l2tp + ipsec (strongswan) details in NetworkManager. on VPN connection. There are several fixes listed in this issue I was able to fix the problem by creating the file AFTER creating the connection and failing to connect once. (I also created the file BEFORE creating the connection, but that did not fix the issue.) After successfully connecting, this was content of file include The following is the failure output from journalctl From ISO system: host os: multi-user?: sandbox: version: channels(root): nixpkgs:
I was also having issues and tried the above suggested by and was able to connect only after a failed connection !
This seems to fix the bug May we have this to the default package?
Fix in

Discussion:
environment.etc = { "NetworkManager/NetworkManager.conf".source = configFile; <ins> # The networkmanager-l2tp plugin expects /etc/ipsec.secrets to include /etc/ipsec.d/ipsec.nm-l2tp.secrets; # see https://github.com/NixOS/nixpkgs/issues/64965 "ipsec.secrets".text = '' include ipsec.d/ipsec.nm-l2tp.secrets ''; </ins> } // builtins.listToAttrs (map (pkg: nameValuePair "NetworkManager/${pkg.networkManagerPlugin}" {

let inherit (builtins) toFile; <del> inherit (lib) concatMapStringsSep concatStringsSep mapAttrsToList </del> <ins> inherit (lib) concatMapStrings concatStringsSep mapAttrsToList </ins> mkIf mkEnableOption mkOption types literalExpression optionalString; cfg = config.services.strongswan; <del> ipsecSecrets = secrets: toFile "ipsec.secrets" ( concatMapStringsSep "n" (f: "include ${f}") secrets ); </del> <ins> ipsecSecrets = secrets: concatMapStrings (f: "include ${f}n") secrets; </ins> ipsecConf = {setup, connections, ca}: let

}; <del> config = with cfg; let secretsFile = ipsecSecrets cfg.secrets; in mkIf enable </del> <ins> config = with cfg; mkIf enable </ins> { # here we should use the default strongswan ipsec.secrets and # append to it (default one is empty so not a pb for now) <del> environment.etc."ipsec.secrets".source = secretsFile; </del> <ins> environment.etc."ipsec.secrets".text = ipsecSecrets cfg.secrets; </ins> systemd.services.strongswan = { description = "strongSwan IPSec Service";

wants = [ "network-online.target" ]; after = [ "network-online.target" ]; environment = { <del> STRONGSWAN_CONF = strongswanConf { inherit setup connections ca secretsFile managePlugins enabledPlugins; }; </del> <ins> STRONGSWAN_CONF = strongswanConf { inherit setup connections ca managePlugins enabledPlugins; secretsFile = "/etc/ipsec.secrets"; }; </ins> }; serviceConfig = { ExecStart  = "${pkgs.strongswan}/sbin/ipsec start --nofork";
Change:
With the latest I'm seeing a huge amount of very odd collisions: Why would end up with man pages? cc: nixos-unstable some kde5 packages into . NixOS: (Gorilla) Nix: nix-env (Nix) 1.11.5 nixpkgs: 17.03pre97767.
Is this a consequence of your work on the KDE wrapper?
Ouch, it seems so. I'll investigate (not sure how NetworkManager got there...). Nikolay.

Discussion:
fi done <del> ln -s "$env/share" "$out" </del> <ins> mkdir -p "$out/nix-support" </ins> for drv in $unwrapped; do <del> if [ -a "$drv/nix-support/propagated-user-env-packages" ]; then mkdir -p "$out/nix-support" cat "$drv/nix-support/propagated-user-env-packages" >> "$out/nix-support/propagated-user-env-packages" fi </del> <ins> echo "$drv" >> "$out/nix-support/propagated-user-env-packages" </ins> done ''; }
Change:
I'm told a lot of people favor Paul Phillips' SBT wrapper over vanilla SBT. We probably ought to have a package for it.
Minus the parts where it auto-downloads sbt for you, I expect
Mmm, I don't know. Isn't it kind of important to be able to auto-download the appropriate version of sbt for each project?
Maybe? Seems hard to keep it Nix-flavored though, given that it wants to retrieve unhashed versions from the outside. I guess we could either patch it to call out to nix to download scala and sbt, or we could leave it alone and users can decide whether they care about Nix-like behavior here.

Discussion:
<ins> { stdenv, fetchFromGitHub }: let rev = "77686b3dfa20a34270cc52377c8e37c3a461e484"; version = stdenv.lib.strings.substring 0 7 rev; in stdenv.mkDerivation { name = "sbt-extras-${version}"; inherit version; src = fetchFromGitHub { owner = "paulp"; repo = "sbt-extras"; inherit rev; sha256 = "1bhqigm0clv3i1gvn4gsllywcnwfsa73xvqp8m7pbvn8g7i2ws6x"; }; dontBuild = true; installPhase = '' mkdir -p $out/bin install bin/sbt $out/bin ''; meta = { description = "A more featureful runner for sbt, the simple/scala/standard build tool"; homepage = https://github.com/paulp/sbt-extras; license = stdenv.lib.licenses.bsd3; maintainers = with stdenv.lib.maintainers; [ puffnfresh ]; platforms = stdenv.lib.platforms.unix; }; } </ins>

sbt-with-scala-native = callPackage ../development/tools/build-managers/sbt/scala-native.nix { }; simpleBuildTool = sbt; <ins> sbt-extras = callPackage ../development/tools/build-managers/sbt-extras { }; </ins> shallot = callPackage ../tools/misc/shallot { }; shards = callPackage ../development/tools/build-managers/shards { };