lol

Merge master into staging-next

authored by

github-actions[bot] and committed by
GitHub
0373476c 74956848

+381 -133
+1 -1
.github/PULL_REQUEST_TEMPLATE.md
··· 20 20 - [ ] aarch64-linux 21 21 - [ ] x86_64-darwin 22 22 - [ ] aarch64-darwin 23 - - [ ] For non-Linux: Is `sandbox = true` set in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/#sec-conf-file)) 23 + - [ ] For non-Linux: Is `sandbox = true` set in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/command-ref/conf-file.html)) 24 24 - [ ] Tested, as applicable: 25 25 - [NixOS test(s)](https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests) (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests)) 26 26 - and/or [package tests](https://nixos.org/manual/nixpkgs/unstable/#sec-package-tests)
+66 -11
nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix
··· 1 1 /* 2 2 3 - This file is for options that NixOS and nix-darwin have in common. 3 + This file is for options that NixOS and nix-darwin have in common. 4 4 5 - Platform-specific code is in the respective default.nix files. 5 + Platform-specific code is in the respective default.nix files. 6 6 7 - */ 7 + */ 8 8 9 9 { config, lib, options, pkgs, ... }: 10 10 let ··· 27 27 settingsModule = { config, ... }: { 28 28 freeformType = format.type; 29 29 options = { 30 + apiBaseUrl = mkOption { 31 + description = '' 32 + API base URL that the agent will connect to. 33 + 34 + When using Hercules CI Enterprise, set this to the URL where your 35 + Hercules CI server is reachable. 36 + ''; 37 + type = types.str; 38 + default = "https://hercules-ci.com"; 39 + }; 30 40 baseDirectory = mkOption { 31 41 type = types.path; 32 42 default = "/var/lib/hercules-ci-agent"; ··· 55 65 type = types.either types.ints.positive (types.enum [ "auto" ]); 56 66 default = "auto"; 57 67 }; 68 + labels = mkOption { 69 + description = '' 70 + A key-value map of user data. 71 + 72 + This data will be available to organization members in the dashboard and API. 73 + 74 + The values can be of any TOML type that corresponds to a JSON type, but arrays 75 + can not contain tables/objects due to limitations of the TOML library. Values 76 + involving arrays of non-primitive types may not be representable currently. 77 + ''; 78 + type = format.type; 79 + defaultText = literalExpression '' 80 + { 81 + agent.source = "..."; # One of "nixpkgs", "flake", "override" 82 + lib.version = "..."; 83 + pkgs.version = "..."; 84 + } 85 + ''; 86 + }; 58 87 workDirectory = mkOption { 59 88 description = '' 60 89 The directory in which temporary subdirectories are created for task state. This includes sources for Nix evaluation. ··· 66 95 staticSecretsDirectory = mkOption { 67 96 description = '' 68 97 This is the default directory to look for statically configured secrets like <literal>cluster-join-token.key</literal>. 98 + 99 + See also <literal>clusterJoinTokenPath</literal> and <literal>binaryCachesPath</literal> for fine-grained configuration. 69 100 ''; 70 101 type = types.path; 71 102 default = config.baseDirectory + "/secrets"; ··· 74 105 clusterJoinTokenPath = mkOption { 75 106 description = '' 76 107 Location of the cluster-join-token.key file. 108 + 109 + You can retrieve the contents of the file when creating a new agent via 110 + <link xlink:href="https://hercules-ci.com/dashboard">https://hercules-ci.com/dashboard</link>. 111 + 112 + As this value is confidential, it should not be in the store, but 113 + installed using other means, such as agenix, NixOps 114 + <literal>deployment.keys</literal>, or manual installation. 115 + 116 + The contents of the file are used for authentication between the agent and the API. 77 117 ''; 78 118 type = types.path; 79 119 default = config.staticSecretsDirectory + "/cluster-join-token.key"; 80 120 defaultText = literalExpression ''staticSecretsDirectory + "/cluster-join-token.key"''; 81 - # internal: It's a bit too detailed to show by default in the docs, 82 - # but useful to define explicitly to allow reuse by other modules. 83 - internal = true; 84 121 }; 85 122 binaryCachesPath = mkOption { 86 123 description = '' 87 - Location of the binary-caches.json file. 124 + Path to a JSON file containing binary cache secret keys. 125 + 126 + As these values are confidential, they should not be in the store, but 127 + copied over using other means, such as agenix, NixOps 128 + <literal>deployment.keys</literal>, or manual installation. 129 + 130 + The format is described on <link xlink:href="https://docs.hercules-ci.com/hercules-ci-agent/binary-caches-json/">https://docs.hercules-ci.com/hercules-ci-agent/binary-caches-json/</link>. 88 131 ''; 89 132 type = types.path; 90 133 default = config.staticSecretsDirectory + "/binary-caches.json"; 91 134 defaultText = literalExpression ''staticSecretsDirectory + "/binary-caches.json"''; 92 - # internal: It's a bit too detailed to show by default in the docs, 93 - # but useful to define explicitly to allow reuse by other modules. 94 - internal = true; 135 + }; 136 + secretsJsonPath = mkOption { 137 + description = '' 138 + Path to a JSON file containing secrets for effects. 139 + 140 + As these values are confidential, they should not be in the store, but 141 + copied over using other means, such as agenix, NixOps 142 + <literal>deployment.keys</literal>, or manual installation. 143 + 144 + The format is described on <link xlink:href="https://docs.hercules-ci.com/hercules-ci-agent/secrets-json/">https://docs.hercules-ci.com/hercules-ci-agent/secrets-json/</link>. 145 + 146 + ''; 147 + type = types.path; 148 + default = config.staticSecretsDirectory + "/secrets.json"; 149 + defaultText = literalExpression ''staticSecretsDirectory + "/secrets.json"''; 95 150 }; 96 151 }; 97 152 }; ··· 177 232 178 233 These are written as options instead of let binding to allow sharing with 179 234 default.nix on both NixOS and nix-darwin. 180 - */ 235 + */ 181 236 tomlFile = mkOption { 182 237 type = types.path; 183 238 internal = true;
+3 -3
nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix
··· 1 1 /* 2 2 3 - This file is for NixOS-specific options and configs. 3 + This file is for NixOS-specific options and configs. 4 4 5 - Code that is shared with nix-darwin goes in common.nix. 5 + Code that is shared with nix-darwin goes in common.nix. 6 6 7 - */ 7 + */ 8 8 9 9 { pkgs, config, lib, ... }: 10 10 let
+4 -7
pkgs/applications/misc/joshuto/default.nix
··· 1 - { fetchFromGitHub, lib, rustPlatform, stdenv, SystemConfiguration }: 1 + { lib, rustPlatform, fetchFromGitHub, stdenv, SystemConfiguration }: 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "joshuto"; 5 - version = "0.9.1"; 5 + version = "0.9.2"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "kamiyaa"; 9 9 repo = pname; 10 10 rev = version; 11 - sha256 = "sha256-+qKOvFoEF/gZL4ijL8lIRWE9ZWJM2eBlk29Lk46jAfQ="; 11 + sha256 = "sha256-9TGHSGYCzU6uAIO4zZ/6+B4oVPE6SD9Phl4dShylW5o="; 12 12 }; 13 13 14 - # upstream includes an outdated Cargo.lock that stops cargo from compiling 15 - cargoPatches = [ ./fix-cargo-lock.patch ]; 16 - 17 - cargoSha256 = "sha256-JlekxU9pMkHNsIcH3+7b2I6MYUlxRqNX+0wwyVrQMAE="; 14 + cargoSha256 = "sha256-g8YYOk2RW4GPdkWlvAxd5KFdV4S1l5yKEzNm9OAc8RI="; 18 15 19 16 buildInputs = lib.optional stdenv.isDarwin SystemConfiguration; 20 17
-11
pkgs/applications/misc/joshuto/fix-cargo-lock.patch
··· 1 - --- a/Cargo.lock 2 - +++ b/Cargo.lock 3 - @@ -512,7 +512,7 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" 4 - 5 - [[package]] 6 - name = "joshuto" 7 - -version = "0.9.0" 8 - +version = "0.9.1" 9 - dependencies = [ 10 - "alphanumeric-sort", 11 - "chrono",
+4 -1
pkgs/applications/terminal-emulators/wezterm/default.nix
··· 3 3 , lib 4 4 , fetchFromGitHub 5 5 , ncurses 6 + , perl 6 7 , pkg-config 7 8 , python3 8 9 , fontconfig ··· 48 49 pkg-config 49 50 python3 50 51 ncurses # tic for terminfo 51 - ]; 52 + ] ++ lib.optional stdenv.isDarwin perl; 52 53 53 54 buildInputs = [ 54 55 fontconfig ··· 102 103 license = licenses.mit; 103 104 maintainers = with maintainers; [ SuperSandro2000 ]; 104 105 platforms = platforms.unix; 106 + # Fails on missing UserNotifications framework while linking 107 + broken = stdenv.isDarwin; 105 108 }; 106 109 }
+26 -6
pkgs/data/themes/qogir/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, gdk-pixbuf, librsvg, gtk-engine-murrine }: 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , gdk-pixbuf 5 + , gnome-themes-extra 6 + , gtk-engine-murrine 7 + , librsvg 8 + , sassc 9 + , which 10 + }: 2 11 3 12 stdenv.mkDerivation rec { 4 13 pname = "qogir-theme"; 5 - version = "2021-08-02"; 14 + version = "2021-11-17"; 6 15 7 16 src = fetchFromGitHub { 8 17 owner = "vinceliuice"; 9 18 repo = pname; 10 19 rev = version; 11 - sha256 = "sha256-U048qNBfxjx/5iHIXcqAwXfIwmux+sw4hVQkN3TDLzk="; 20 + sha256 = "1ri2dh34vw2pfv0lxzk9f4755v0d4ilnr6fzj3raw9b5fp5zzi91"; 12 21 }; 13 22 14 - buildInputs = [ gdk-pixbuf librsvg ]; 23 + nativeBuildInputs = [ 24 + sassc 25 + which 26 + ]; 15 27 16 - propagatedUserEnvPkgs = [ gtk-engine-murrine ]; 28 + buildInputs = [ 29 + gdk-pixbuf # pixbuf engine for Gtk2 30 + gnome-themes-extra # adwaita engine for Gtk2 31 + librsvg # pixbuf loader for svg 32 + ]; 33 + 34 + propagatedUserEnvPkgs = [ 35 + gtk-engine-murrine # murrine engine for Gtk2 36 + ]; 17 37 18 38 installPhase = '' 19 39 patchShebangs . 20 40 mkdir -p $out/share/themes 21 - name= ./install.sh -d $out/share/themes 41 + name= ./install.sh -t all -d $out/share/themes 22 42 mkdir -p $out/share/doc/${pname} 23 43 cp -a src/firefox $out/share/doc/${pname} 24 44 rm $out/share/themes/*/{AUTHORS,COPYING}
+44
pkgs/data/themes/rose-pine-gtk/default.nix
··· 1 + { stdenv 2 + , fetchFromGitHub 3 + , lib 4 + , gnome-themes-extra 5 + , gtk-engine-murrine 6 + , gtk_engines 7 + }: 8 + 9 + stdenv.mkDerivation rec { 10 + pname = "rose-pine-gtk-theme"; 11 + version = "unstable-2021-02-22"; 12 + 13 + src = fetchFromGitHub { 14 + owner = "rose-pine"; 15 + repo = "gtk"; 16 + rev = "9cd2dd449f911973ec549231a57a070d256da9fd"; 17 + sha256 = "0lqx8dmv754ix3xbg7h440x964n0bg4lb06vbzvsydnbx79h7lvy"; 18 + }; 19 + 20 + buildInputs = [ 21 + gnome-themes-extra # adwaita engine for Gtk2 22 + gtk_engines # pixmap engine for Gtk2 23 + ]; 24 + 25 + propagatedUserEnvPkgs = [ 26 + gtk-engine-murrine # murrine engine for Gtk2 27 + ]; 28 + 29 + installPhase = '' 30 + runHook preInstall 31 + mkdir -p $out/share/themes 32 + cp -a Rose-Pine $out/share/themes 33 + rm $out/share/themes/*/LICENSE 34 + runHook postInstall 35 + ''; 36 + 37 + meta = with lib; { 38 + description = "Rosé Pine theme for GTK"; 39 + homepage = "https://github.com/rose-pine/gtk"; 40 + license = licenses.gpl3Only; 41 + platforms = platforms.linux; 42 + maintainers = [ maintainers.romildo ]; 43 + }; 44 + }
+2
pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
··· 88 88 executableHaskellDepends = drv.executableToolDepends or [] ++ [ self.repline ]; 89 89 }) super.hnix); 90 90 91 + mime-string = disableOptimization super.mime-string; 92 + 91 93 }
+2
pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
··· 106 106 # https://github.com/haskellari/time-compat/issues/23 107 107 time-compat = dontCheck super.time-compat; 108 108 109 + mime-string = disableOptimization super.mime-string; 110 + 109 111 }
+2
pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
··· 129 129 vector = dontCheck super.vector; 130 130 131 131 ghc-api-compat = doDistribute super.ghc-api-compat_8_6; 132 + 133 + mime-string = disableOptimization super.mime-string; 132 134 }
+6 -6
pkgs/development/haskell-modules/hackage-packages.nix
··· 128820 128820 }: 128821 128821 mkDerivation { 128822 128822 ({ mkDerivation, aeson, base, exceptions, lens, monad-control 128823 - version = "0.8.3"; 128824 - ({ mkDerivation, aeson, base, exceptions, lens, monad-control 128823 + version = "0.8.4"; 128824 + sha256 = "1w93027i5kddn1rj5dgnmvgsadfv3s6ziyga4k3mp094wx2g6syy"; 128825 128825 isLibrary = true; 128826 128826 isExecutable = true; 128827 128827 libraryHaskellDepends = [ ··· 128959 128959 }: 128960 128960 mkDerivation { 128961 128961 ({ mkDerivation, aeson, base, exceptions, lens, monad-control 128962 - version = "0.2.3"; 128963 - ({ mkDerivation, aeson, base, exceptions, lens, monad-control 128962 + version = "0.2.4"; 128963 + sha256 = "0imx1srpi518616jif62l542qpw2wcfiq5a622rg5w76k2vz0hpl"; 128964 128964 isLibrary = true; 128965 128965 isExecutable = true; 128966 128966 libraryHaskellDepends = [ ··· 129016 129016 }: 129017 129017 mkDerivation { 129018 129018 ({ mkDerivation, aeson, base, exceptions, lens, monad-control 129019 - version = "0.2.1.0"; 129020 - ({ mkDerivation, aeson, base, exceptions, lens, monad-control 129019 + version = "0.2.1.1"; 129020 + sha256 = "0cxir973y3hkm34ci7hc5zsp94s31nnrlkgspwwdd2rakyf4525i"; 129021 129021 libraryHaskellDepends = [ 129022 129022 ({ mkDerivation, aeson, base, exceptions, lens, monad-control 129023 129023 ({ mkDerivation, aeson, base, exceptions, lens, monad-control
+6 -4
pkgs/development/libraries/egl-wayland/default.nix
··· 5 5 , meson 6 6 , ninja 7 7 , wayland-scanner 8 + , libGL 8 9 , libX11 9 10 , mesa 10 - , libGL 11 11 , wayland 12 + , wayland-protocols 12 13 }: 13 14 14 15 let ··· 41 42 42 43 in stdenv.mkDerivation rec { 43 44 pname = "egl-wayland"; 44 - version = "1.1.7"; 45 + version = "1.1.9"; 45 46 46 47 outputs = [ "out" "dev" ]; 47 48 ··· 49 50 owner = "Nvidia"; 50 51 repo = pname; 51 52 rev = version; 52 - sha256 = "sha256-pqpJ6Uo50BouBU0wGaL21VH5rDiVHKAvJtfzL0YInXU="; 53 + sha256 = "sha256-rcmGVEcOtKTR8sVkHV7Xb+8NuKWUapYn+/Fswi4z6Mc="; 53 54 }; 54 55 55 56 depsBuildBuild = [ ··· 65 66 66 67 buildInputs = [ 67 68 eglexternalplatform 69 + libGL 68 70 libX11 69 71 mesa 70 - libGL 71 72 wayland 73 + wayland-protocols 72 74 ]; 73 75 74 76 postFixup = ''
+2 -2
pkgs/development/libraries/notcurses/default.nix
··· 13 13 14 14 stdenv.mkDerivation rec { 15 15 pname = "notcurses"; 16 - version = "2.4.8"; 16 + version = "2.4.9"; 17 17 18 18 src = fetchFromGitHub { 19 19 owner = "dankamongmen"; 20 20 repo = "notcurses"; 21 21 rev = "v${version}"; 22 - sha256 = "sha256-mVSToryo7+zW1mow8eJT8GrXYlGe/BeSheJtJDKAgzo="; 22 + sha256 = "sha256-J7yTNMvmcm69B+yF0PYLXFG8kkcnffWyUx3kEFU0ToI="; 23 23 }; 24 24 25 25 outputs = [ "out" "dev" ];
+3 -4
pkgs/development/python-modules/alembic/default.nix
··· 9 9 , importlib-resources 10 10 , pytest-xdist 11 11 , pytestCheckHook 12 - 13 12 }: 14 13 15 14 buildPythonPackage rec { 16 15 pname = "alembic"; 17 - version = "1.7.4"; 16 + version = "1.7.5"; 18 17 format = "setuptools"; 19 18 20 19 disabled = pythonOlder "3.6"; 21 20 22 21 src = fetchPypi { 23 22 inherit pname version; 24 - sha256 = "9d33f3ff1488c4bfab1e1a6dfebbf085e8a8e1a3e047a43ad29ad1f67f012a1d"; 23 + sha256 = "sha256-fDKGlKLmjwPulx5jw72IWEZHA3OltTLPLJ8WAcQTsVM="; 25 24 }; 26 25 27 26 propagatedBuildInputs = [ ··· 44 43 ]; 45 44 46 45 pytestFlagsArray = [ 47 - "--numprocesses" "auto" 46 + "--numprocesses" "$NIX_BUILD_CORES" 48 47 ]; 49 48 50 49 meta = with lib; {
+2 -2
pkgs/development/python-modules/graphql-subscription-manager/default.nix
··· 8 8 9 9 buildPythonPackage rec { 10 10 pname = "graphql-subscription-manager"; 11 - version = "0.4.0"; 11 + version = "0.4.3"; 12 12 13 13 disabled = pythonOlder "3.7"; 14 14 ··· 16 16 owner = "Danielhiversen"; 17 17 repo = "PyGraphqlWebsocketManager"; 18 18 rev = version; 19 - sha256 = "1176xzr9fa7gl5cm0pcv5lb45d2ms5awi601rjcr3a0a14a1i8fz"; 19 + sha256 = "sha256-+LP+MDeHo0svoN/o0in6xtIqrfxs+UCBQRtBe4lZt+4="; 20 20 }; 21 21 22 22 propagatedBuildInputs = [
+1 -1
pkgs/development/python-modules/igraph/default.nix
··· 9 9 }: 10 10 11 11 buildPythonPackage rec { 12 - pname = "python-igraph"; 12 + pname = "igraph"; 13 13 version = "0.9.8"; 14 14 15 15 disabled = pythonOlder "3.6";
+42
pkgs/development/python-modules/lc7001/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , cryptography 4 + , fetchPypi 5 + , pythonOlder 6 + , poetry-core 7 + }: 8 + 9 + buildPythonPackage rec { 10 + pname = "lc7001"; 11 + version = "1.0.3"; 12 + format = "pyproject"; 13 + 14 + disabled = pythonOlder "3.8"; 15 + 16 + src = fetchPypi { 17 + inherit pname version; 18 + sha256 = "NgnszlgmeUnfWs9onnboFRz3c4OibsNaZHjDINvoMPc="; 19 + }; 20 + 21 + nativeBuildInputs = [ 22 + poetry-core 23 + ]; 24 + 25 + propagatedBuildInputs = [ 26 + cryptography 27 + ]; 28 + 29 + # Project has no tests 30 + doCheck = false; 31 + 32 + pythonImportsCheck = [ 33 + "lc7001" 34 + ]; 35 + 36 + meta = with lib; { 37 + description = "Python module for interacting with Legrand LC7001"; 38 + homepage = "https://github.com/rtyle/lc7001"; 39 + license = licenses.mit; 40 + maintainers = with maintainers; [ fab ]; 41 + }; 42 + }
+2 -2
pkgs/development/python-modules/xdg/default.nix
··· 5 5 }: 6 6 7 7 buildPythonPackage rec { 8 - version = "5.0.2"; 8 + version = "5.1.1"; 9 9 pname = "xdg"; 10 10 disabled = isPy27; 11 11 format = "pyproject"; ··· 14 14 owner = "srstevenson"; 15 15 repo = pname; 16 16 rev = version; 17 - sha256 = "sha256-wZfihMrq83Bye5CE5p7bTlI9Z7CsCkSd8Art5ws4vsY="; 17 + sha256 = "sha256-z/Zvo2WGw9qA+M3Pt9r35DuxtuhL7/I75LlFEdDOJcc="; 18 18 }; 19 19 20 20 nativeBuildInputs = [ poetry-core ];
+48 -38
pkgs/development/tools/misc/coreboot-toolchain/default.nix
··· 12 12 , zlib 13 13 }: 14 14 15 - stdenvNoCC.mkDerivation rec { 16 - pname = "coreboot-toolchain"; 17 - version = "4.15"; 15 + let 16 + common = arch: stdenvNoCC.mkDerivation rec { 17 + pname = "coreboot-toolchain-${arch}"; 18 + version = "4.15"; 18 19 19 - src = fetchgit { 20 - url = "https://review.coreboot.org/coreboot"; 21 - rev = version; 22 - sha256 = "1qsb2ca22h5f0iwc254qsfm7qcn8967ir8aybdxa1pakgmnfsyp9"; 23 - fetchSubmodules = false; 24 - leaveDotGit = true; 25 - postFetch = '' 26 - patchShebangs $out/util/crossgcc/buildgcc 27 - PATH=${lib.makeBinPath [ getopt ]}:$PATH $out/util/crossgcc/buildgcc -W > $out/.crossgcc_version 28 - rm -rf $out/.git 29 - ''; 30 - }; 20 + src = fetchgit { 21 + url = "https://review.coreboot.org/coreboot"; 22 + rev = version; 23 + sha256 = "1qsb2ca22h5f0iwc254qsfm7qcn8967ir8aybdxa1pakgmnfsyp9"; 24 + fetchSubmodules = false; 25 + leaveDotGit = true; 26 + postFetch = '' 27 + patchShebangs $out/util/crossgcc/buildgcc 28 + PATH=${lib.makeBinPath [ getopt ]}:$PATH $out/util/crossgcc/buildgcc -W > $out/.crossgcc_version 29 + rm -rf $out/.git 30 + ''; 31 + }; 31 32 32 - nativeBuildInputs = [ bison curl git perl ]; 33 - buildInputs = [ flex gnat11 zlib ]; 33 + nativeBuildInputs = [ bison curl git perl ]; 34 + buildInputs = [ flex gnat11 zlib ]; 34 35 35 - enableParallelBuilding = true; 36 - dontConfigure = true; 37 - dontInstall = true; 36 + enableParallelBuilding = true; 37 + dontConfigure = true; 38 + dontInstall = true; 38 39 39 - postPatch = '' 40 - mkdir -p util/crossgcc/tarballs 40 + postPatch = '' 41 + mkdir -p util/crossgcc/tarballs 41 42 42 - ${lib.concatMapStringsSep "\n" ( 43 - file: "ln -s ${file.archive} util/crossgcc/tarballs/${file.name}" 44 - ) (callPackage ./stable.nix { }) 45 - } 43 + ${lib.concatMapStringsSep "\n" ( 44 + file: "ln -s ${file.archive} util/crossgcc/tarballs/${file.name}" 45 + ) (callPackage ./stable.nix { }) 46 + } 46 47 47 - patchShebangs util/genbuild_h/genbuild_h.sh 48 - ''; 48 + patchShebangs util/genbuild_h/genbuild_h.sh 49 + ''; 49 50 50 - buildPhase = '' 51 - export CROSSGCC_VERSION=$(cat .crossgcc_version) 52 - make crossgcc-i386 CPUS=$NIX_BUILD_CORES DEST=$out 53 - ''; 51 + buildPhase = '' 52 + export CROSSGCC_VERSION=$(cat .crossgcc_version) 53 + make crossgcc-${arch} CPUS=$NIX_BUILD_CORES DEST=$out 54 + ''; 54 55 55 - meta = with lib; { 56 - homepage = "https://www.coreboot.org"; 57 - description = "coreboot toolchain"; 58 - license = with licenses; [ bsd2 bsd3 gpl2 lgpl2Plus gpl3Plus ]; 59 - maintainers = with maintainers; [ felixsinger ]; 60 - platforms = platforms.linux; 56 + meta = with lib; { 57 + homepage = "https://www.coreboot.org"; 58 + description = "coreboot toolchain for ${arch} targets"; 59 + license = with licenses; [ bsd2 bsd3 gpl2 lgpl2Plus gpl3Plus ]; 60 + maintainers = with maintainers; [ felixsinger ]; 61 + platforms = platforms.linux; 62 + }; 61 63 }; 64 + in { 65 + i386 = common "i386"; 66 + x86_64 = common "x64"; 67 + arm = common "arm"; 68 + aarch64 = common "aarch64"; 69 + riscv = common "riscv"; 70 + ppc64 = common "ppc64"; 71 + nds32le = common "nds32le"; 62 72 }
+80 -29
pkgs/misc/emulators/retroarch/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, which, pkg-config, makeWrapper 2 - , ffmpeg, libGLU, libGL, freetype, libxml2, python3 3 - , libobjc, AppKit, Foundation 4 - , alsa-lib ? null 5 - , libdrm ? null 6 - , libpulseaudio ? null 7 - , libv4l ? null 8 - , libX11 ? null 9 - , libXdmcp ? null 10 - , libXext ? null 11 - , libXxf86vm ? null 12 - , mesa ? null 13 - , SDL2 ? null 14 - , udev ? null 15 - , enableNvidiaCgToolkit ? false, nvidia_cg_toolkit ? null 16 - , withVulkan ? stdenv.isLinux, vulkan-loader ? null 1 + { lib 2 + , stdenv 3 + , enableNvidiaCgToolkit ? false 4 + , withVulkan ? stdenv.isLinux 5 + , alsa-lib 6 + , AppKit 7 + , fetchFromGitHub 8 + , ffmpeg 9 + , Foundation 10 + , freetype 11 + , libdrm 12 + , libGL 13 + , libGLU 14 + , libobjc 15 + , libpulseaudio 16 + , libv4l 17 + , libX11 18 + , libXdmcp 19 + , libXext 20 + , libxkbcommon 21 + , libxml2 22 + , libXxf86vm 23 + , makeWrapper 24 + , mesa 25 + , nvidia_cg_toolkit 26 + , pkg-config 27 + , python3 28 + , SDL2 29 + , substituteAll 30 + , udev 31 + , vulkan-loader 17 32 , wayland 18 - , libxkbcommon 33 + , which 19 34 }: 20 35 21 36 with lib; 22 37 38 + let 39 + libretroSuperSrc = fetchFromGitHub { 40 + owner = "libretro"; 41 + repo = "libretro-super"; 42 + sha256 = "sha256-4WB6/1DDec+smhMJKLCxWb4+LQlZN8v2ik69saKixkE="; 43 + rev = "fa70d9843838df719623094965bd447e4db0d1b4"; 44 + }; 45 + in 23 46 stdenv.mkDerivation rec { 24 47 pname = "retroarch-bare"; 25 - # FIXME: retroarch >=1.9.3 doesn't load the cores 26 - version = "1.9.2"; 48 + version = "1.9.13.2"; 27 49 28 50 src = fetchFromGitHub { 29 51 owner = "libretro"; 30 52 repo = "RetroArch"; 31 - sha256 = "sha256-Dwv0hl+d99FbVMG4KnkjO1aYfAw0m4x+zvrbyb/wOX8="; 53 + sha256 = "sha256-fehHchn+o9QM2wIK6zYamnbFvQda32Gw0rJk8Orx00U="; 32 54 rev = "v${version}"; 33 55 }; 34 56 35 - nativeBuildInputs = [ pkg-config wayland ] 36 - ++ optional withVulkan makeWrapper; 57 + patches = [ 58 + # FIXME: The `retroarch.cfg` file is created once in the first run and only 59 + # updated when needed. However, the file may have out-of-date paths 60 + # In case of issues (e.g.: cores are not loading), please delete the 61 + # `$XDG_CONFIG_HOME/retroarch/retroarch.cfg` file 62 + # See: https://github.com/libretro/RetroArch/issues/13251 63 + ./fix-config.patch 64 + ]; 37 65 38 - buildInputs = [ ffmpeg freetype libxml2 libGLU libGL python3 SDL2 which ] 39 - ++ optional enableNvidiaCgToolkit nvidia_cg_toolkit 40 - ++ optional withVulkan vulkan-loader 41 - ++ optionals stdenv.isDarwin [ libobjc AppKit Foundation ] 42 - ++ optionals stdenv.isLinux [ alsa-lib libdrm libpulseaudio libv4l libX11 43 - libXdmcp libXext libXxf86vm mesa udev 44 - wayland libxkbcommon ]; 66 + postPatch = '' 67 + substituteInPlace retroarch.cfg \ 68 + --replace "@libretro_directory@" "$out/lib" \ 69 + --replace "@libretro_info_path@" "$out/share/libretro/info" \ 70 + ''; 71 + 72 + nativeBuildInputs = [ pkg-config wayland ] ++ 73 + optional withVulkan makeWrapper; 74 + 75 + buildInputs = [ ffmpeg freetype libxml2 libGLU libGL python3 SDL2 which ] ++ 76 + optional enableNvidiaCgToolkit nvidia_cg_toolkit ++ 77 + optional withVulkan vulkan-loader ++ 78 + optionals stdenv.isDarwin [ libobjc AppKit Foundation ] ++ 79 + optionals stdenv.isLinux [ 80 + alsa-lib 81 + libdrm 82 + libpulseaudio 83 + libv4l 84 + libX11 85 + libXdmcp 86 + libXext 87 + libXxf86vm 88 + mesa 89 + udev 90 + wayland 91 + libxkbcommon 92 + ]; 45 93 46 94 enableParallelBuilding = true; 47 95 48 96 configureFlags = lib.optionals stdenv.isLinux [ "--enable-kms" "--enable-egl" ]; 49 97 50 98 postInstall = optionalString withVulkan '' 99 + mkdir -p $out/share/libretro/info 100 + # TODO: ideally each core should have its own core information 101 + cp -r ${libretroSuperSrc}/dist/info/* $out/share/libretro/info 51 102 wrapProgram $out/bin/retroarch --prefix LD_LIBRARY_PATH ':' ${vulkan-loader}/lib 52 103 ''; 53 104
+26
pkgs/misc/emulators/retroarch/fix-config.patch
··· 1 + diff --git a/retroarch.cfg b/retroarch.cfg 2 + index cdcb199c9f..08b9b1cf10 100644 3 + --- a/retroarch.cfg 4 + +++ b/retroarch.cfg 5 + @@ -681,7 +681,7 @@ 6 + # menu_show_online_updater = true 7 + 8 + # If disabled, will hide the ability to update cores (and core info files) inside the menu. 9 + -# menu_show_core_updater = true 10 + +menu_show_core_updater = false 11 + 12 + # If disabled, the libretro core will keep running in the background when we 13 + # are in the menu. 14 + @@ -823,10 +823,10 @@ 15 + # rgui_browser_directory = 16 + 17 + # Core directory for libretro core implementations. 18 + -# libretro_directory = 19 + +libretro_directory = @libretro_directory@ 20 + 21 + # Core info directory for libretro core information. 22 + -# libretro_info_path = 23 + +libretro_info_path = @libretro_info_path@ 24 + 25 + # Path to content database directory. 26 + # content_database_path =
+4 -4
pkgs/tools/misc/g933-utils/default.nix
··· 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "g933-utils"; 5 - version = "unstable-2019-08-04"; 5 + version = "unstable-2021-11-19"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "ashkitten"; 9 9 repo = "g933-utils"; 10 - rev = "b80cfd59fc41ae5d577c147311376dd7f7882493"; 11 - sha256 = "06napzpk3nayzixb4l4fzdiwpgmcrsbc5j9m4qip1yn6dfkin3p0"; 10 + rev = "1fc8cec375ed0d6f72191eadec788a49f51032d1"; 11 + sha256 = "sha256-kGLMRqZHzRuXQNTjIuLz8JPC1c/ZK38msfkTIVnaomg="; 12 12 }; 13 13 14 - cargoSha256 = "00gzfbxr5qzb9w7xkqd9jgfagb4c7p657m21b467pygzvaabbb8d"; 14 + cargoSha256 = "sha256-FBX5hrS8tNWN83XX+x+s/mYyvO1h6V63bXCx7y0R8bY="; 15 15 16 16 nativeBuildInputs = [ pkg-config ]; 17 17 buildInputs = [ udev ];
+3 -1
pkgs/top-level/all-packages.nix
··· 12068 12068 12069 12069 pscid = nodePackages.pscid; 12070 12070 12071 - coreboot-toolchain = callPackage ../development/tools/misc/coreboot-toolchain { }; 12071 + coreboot-toolchain = callPackages ../development/tools/misc/coreboot-toolchain { }; 12072 12072 12073 12073 remarkable-toolchain = callPackage ../development/tools/misc/remarkable/remarkable-toolchain { }; 12074 12074 ··· 23553 23553 redhat-official-fonts = callPackage ../data/fonts/redhat-official { }; 23554 23554 23555 23555 rime-data = callPackage ../data/misc/rime-data { }; 23556 + 23557 + rose-pine-gtk-theme = callPackage ../data/themes/rose-pine-gtk { }; 23556 23558 23557 23559 route159 = callPackage ../data/fonts/route159 { }; 23558 23560
+2
pkgs/top-level/python-packages.nix
··· 4248 4248 4249 4249 lazy-object-proxy = callPackage ../development/python-modules/lazy-object-proxy { }; 4250 4250 4251 + lc7001 = callPackage ../development/python-modules/lc7001 { }; 4252 + 4251 4253 ldap = callPackage ../development/python-modules/ldap { 4252 4254 inherit (pkgs) openldap cyrus_sasl; 4253 4255 };