mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-17 07:13:23 +01:00
Merge master into staging-next
This commit is contained in:
commit
0373476c4a
25 changed files with 387 additions and 139 deletions
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
@ -20,7 +20,7 @@ Reviewing guidelines: https://nixos.org/manual/nixpkgs/unstable/#chap-reviewing-
|
|||
- [ ] aarch64-linux
|
||||
- [ ] x86_64-darwin
|
||||
- [ ] aarch64-darwin
|
||||
- [ ] For non-Linux: Is `sandbox = true` set in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/#sec-conf-file))
|
||||
- [ ] For non-Linux: Is `sandbox = true` set in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/command-ref/conf-file.html))
|
||||
- [ ] Tested, as applicable:
|
||||
- [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))
|
||||
- and/or [package tests](https://nixos.org/manual/nixpkgs/unstable/#sec-package-tests)
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
/*
|
||||
|
||||
This file is for options that NixOS and nix-darwin have in common.
|
||||
This file is for options that NixOS and nix-darwin have in common.
|
||||
|
||||
Platform-specific code is in the respective default.nix files.
|
||||
Platform-specific code is in the respective default.nix files.
|
||||
|
||||
*/
|
||||
*/
|
||||
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
let
|
||||
|
@ -27,6 +27,16 @@ let
|
|||
settingsModule = { config, ... }: {
|
||||
freeformType = format.type;
|
||||
options = {
|
||||
apiBaseUrl = mkOption {
|
||||
description = ''
|
||||
API base URL that the agent will connect to.
|
||||
|
||||
When using Hercules CI Enterprise, set this to the URL where your
|
||||
Hercules CI server is reachable.
|
||||
'';
|
||||
type = types.str;
|
||||
default = "https://hercules-ci.com";
|
||||
};
|
||||
baseDirectory = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/hercules-ci-agent";
|
||||
|
@ -55,6 +65,25 @@ let
|
|||
type = types.either types.ints.positive (types.enum [ "auto" ]);
|
||||
default = "auto";
|
||||
};
|
||||
labels = mkOption {
|
||||
description = ''
|
||||
A key-value map of user data.
|
||||
|
||||
This data will be available to organization members in the dashboard and API.
|
||||
|
||||
The values can be of any TOML type that corresponds to a JSON type, but arrays
|
||||
can not contain tables/objects due to limitations of the TOML library. Values
|
||||
involving arrays of non-primitive types may not be representable currently.
|
||||
'';
|
||||
type = format.type;
|
||||
defaultText = literalExpression ''
|
||||
{
|
||||
agent.source = "..."; # One of "nixpkgs", "flake", "override"
|
||||
lib.version = "...";
|
||||
pkgs.version = "...";
|
||||
}
|
||||
'';
|
||||
};
|
||||
workDirectory = mkOption {
|
||||
description = ''
|
||||
The directory in which temporary subdirectories are created for task state. This includes sources for Nix evaluation.
|
||||
|
@ -66,6 +95,8 @@ let
|
|||
staticSecretsDirectory = mkOption {
|
||||
description = ''
|
||||
This is the default directory to look for statically configured secrets like <literal>cluster-join-token.key</literal>.
|
||||
|
||||
See also <literal>clusterJoinTokenPath</literal> and <literal>binaryCachesPath</literal> for fine-grained configuration.
|
||||
'';
|
||||
type = types.path;
|
||||
default = config.baseDirectory + "/secrets";
|
||||
|
@ -74,24 +105,48 @@ let
|
|||
clusterJoinTokenPath = mkOption {
|
||||
description = ''
|
||||
Location of the cluster-join-token.key file.
|
||||
|
||||
You can retrieve the contents of the file when creating a new agent via
|
||||
<link xlink:href="https://hercules-ci.com/dashboard">https://hercules-ci.com/dashboard</link>.
|
||||
|
||||
As this value is confidential, it should not be in the store, but
|
||||
installed using other means, such as agenix, NixOps
|
||||
<literal>deployment.keys</literal>, or manual installation.
|
||||
|
||||
The contents of the file are used for authentication between the agent and the API.
|
||||
'';
|
||||
type = types.path;
|
||||
default = config.staticSecretsDirectory + "/cluster-join-token.key";
|
||||
defaultText = literalExpression ''staticSecretsDirectory + "/cluster-join-token.key"'';
|
||||
# internal: It's a bit too detailed to show by default in the docs,
|
||||
# but useful to define explicitly to allow reuse by other modules.
|
||||
internal = true;
|
||||
};
|
||||
binaryCachesPath = mkOption {
|
||||
description = ''
|
||||
Location of the binary-caches.json file.
|
||||
Path to a JSON file containing binary cache secret keys.
|
||||
|
||||
As these values are confidential, they should not be in the store, but
|
||||
copied over using other means, such as agenix, NixOps
|
||||
<literal>deployment.keys</literal>, or manual installation.
|
||||
|
||||
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>.
|
||||
'';
|
||||
type = types.path;
|
||||
default = config.staticSecretsDirectory + "/binary-caches.json";
|
||||
defaultText = literalExpression ''staticSecretsDirectory + "/binary-caches.json"'';
|
||||
# internal: It's a bit too detailed to show by default in the docs,
|
||||
# but useful to define explicitly to allow reuse by other modules.
|
||||
internal = true;
|
||||
};
|
||||
secretsJsonPath = mkOption {
|
||||
description = ''
|
||||
Path to a JSON file containing secrets for effects.
|
||||
|
||||
As these values are confidential, they should not be in the store, but
|
||||
copied over using other means, such as agenix, NixOps
|
||||
<literal>deployment.keys</literal>, or manual installation.
|
||||
|
||||
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>.
|
||||
|
||||
'';
|
||||
type = types.path;
|
||||
default = config.staticSecretsDirectory + "/secrets.json";
|
||||
defaultText = literalExpression ''staticSecretsDirectory + "/secrets.json"'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -177,7 +232,7 @@ in
|
|||
|
||||
These are written as options instead of let binding to allow sharing with
|
||||
default.nix on both NixOS and nix-darwin.
|
||||
*/
|
||||
*/
|
||||
tomlFile = mkOption {
|
||||
type = types.path;
|
||||
internal = true;
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
/*
|
||||
|
||||
This file is for NixOS-specific options and configs.
|
||||
This file is for NixOS-specific options and configs.
|
||||
|
||||
Code that is shared with nix-darwin goes in common.nix.
|
||||
Code that is shared with nix-darwin goes in common.nix.
|
||||
|
||||
*/
|
||||
*/
|
||||
|
||||
{ pkgs, config, lib, ... }:
|
||||
let
|
||||
|
|
|
@ -1,20 +1,17 @@
|
|||
{ fetchFromGitHub, lib, rustPlatform, stdenv, SystemConfiguration }:
|
||||
{ lib, rustPlatform, fetchFromGitHub, stdenv, SystemConfiguration }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "joshuto";
|
||||
version = "0.9.1";
|
||||
version = "0.9.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kamiyaa";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-+qKOvFoEF/gZL4ijL8lIRWE9ZWJM2eBlk29Lk46jAfQ=";
|
||||
sha256 = "sha256-9TGHSGYCzU6uAIO4zZ/6+B4oVPE6SD9Phl4dShylW5o=";
|
||||
};
|
||||
|
||||
# upstream includes an outdated Cargo.lock that stops cargo from compiling
|
||||
cargoPatches = [ ./fix-cargo-lock.patch ];
|
||||
|
||||
cargoSha256 = "sha256-JlekxU9pMkHNsIcH3+7b2I6MYUlxRqNX+0wwyVrQMAE=";
|
||||
cargoSha256 = "sha256-g8YYOk2RW4GPdkWlvAxd5KFdV4S1l5yKEzNm9OAc8RI=";
|
||||
|
||||
buildInputs = lib.optional stdenv.isDarwin SystemConfiguration;
|
||||
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -512,7 +512,7 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
|
||||
|
||||
[[package]]
|
||||
name = "joshuto"
|
||||
-version = "0.9.0"
|
||||
+version = "0.9.1"
|
||||
dependencies = [
|
||||
"alphanumeric-sort",
|
||||
"chrono",
|
|
@ -3,6 +3,7 @@
|
|||
, lib
|
||||
, fetchFromGitHub
|
||||
, ncurses
|
||||
, perl
|
||||
, pkg-config
|
||||
, python3
|
||||
, fontconfig
|
||||
|
@ -48,7 +49,7 @@ rustPlatform.buildRustPackage rec {
|
|||
pkg-config
|
||||
python3
|
||||
ncurses # tic for terminfo
|
||||
];
|
||||
] ++ lib.optional stdenv.isDarwin perl;
|
||||
|
||||
buildInputs = [
|
||||
fontconfig
|
||||
|
@ -102,5 +103,7 @@ rustPlatform.buildRustPackage rec {
|
|||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ SuperSandro2000 ];
|
||||
platforms = platforms.unix;
|
||||
# Fails on missing UserNotifications framework while linking
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,24 +1,44 @@
|
|||
{ lib, stdenv, fetchFromGitHub, gdk-pixbuf, librsvg, gtk-engine-murrine }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, gdk-pixbuf
|
||||
, gnome-themes-extra
|
||||
, gtk-engine-murrine
|
||||
, librsvg
|
||||
, sassc
|
||||
, which
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qogir-theme";
|
||||
version = "2021-08-02";
|
||||
version = "2021-11-17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vinceliuice";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-U048qNBfxjx/5iHIXcqAwXfIwmux+sw4hVQkN3TDLzk=";
|
||||
sha256 = "1ri2dh34vw2pfv0lxzk9f4755v0d4ilnr6fzj3raw9b5fp5zzi91";
|
||||
};
|
||||
|
||||
buildInputs = [ gdk-pixbuf librsvg ];
|
||||
nativeBuildInputs = [
|
||||
sassc
|
||||
which
|
||||
];
|
||||
|
||||
propagatedUserEnvPkgs = [ gtk-engine-murrine ];
|
||||
buildInputs = [
|
||||
gdk-pixbuf # pixbuf engine for Gtk2
|
||||
gnome-themes-extra # adwaita engine for Gtk2
|
||||
librsvg # pixbuf loader for svg
|
||||
];
|
||||
|
||||
propagatedUserEnvPkgs = [
|
||||
gtk-engine-murrine # murrine engine for Gtk2
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
patchShebangs .
|
||||
mkdir -p $out/share/themes
|
||||
name= ./install.sh -d $out/share/themes
|
||||
name= ./install.sh -t all -d $out/share/themes
|
||||
mkdir -p $out/share/doc/${pname}
|
||||
cp -a src/firefox $out/share/doc/${pname}
|
||||
rm $out/share/themes/*/{AUTHORS,COPYING}
|
||||
|
|
44
pkgs/data/themes/rose-pine-gtk/default.nix
Normal file
44
pkgs/data/themes/rose-pine-gtk/default.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
, gnome-themes-extra
|
||||
, gtk-engine-murrine
|
||||
, gtk_engines
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rose-pine-gtk-theme";
|
||||
version = "unstable-2021-02-22";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rose-pine";
|
||||
repo = "gtk";
|
||||
rev = "9cd2dd449f911973ec549231a57a070d256da9fd";
|
||||
sha256 = "0lqx8dmv754ix3xbg7h440x964n0bg4lb06vbzvsydnbx79h7lvy";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
gnome-themes-extra # adwaita engine for Gtk2
|
||||
gtk_engines # pixmap engine for Gtk2
|
||||
];
|
||||
|
||||
propagatedUserEnvPkgs = [
|
||||
gtk-engine-murrine # murrine engine for Gtk2
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/share/themes
|
||||
cp -a Rose-Pine $out/share/themes
|
||||
rm $out/share/themes/*/LICENSE
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Rosé Pine theme for GTK";
|
||||
homepage = "https://github.com/rose-pine/gtk";
|
||||
license = licenses.gpl3Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
}
|
|
@ -88,4 +88,6 @@ self: super: {
|
|||
executableHaskellDepends = drv.executableToolDepends or [] ++ [ self.repline ];
|
||||
}) super.hnix);
|
||||
|
||||
mime-string = disableOptimization super.mime-string;
|
||||
|
||||
}
|
||||
|
|
|
@ -106,4 +106,6 @@ self: super: {
|
|||
# https://github.com/haskellari/time-compat/issues/23
|
||||
time-compat = dontCheck super.time-compat;
|
||||
|
||||
mime-string = disableOptimization super.mime-string;
|
||||
|
||||
}
|
||||
|
|
|
@ -129,4 +129,6 @@ self: super: {
|
|||
vector = dontCheck super.vector;
|
||||
|
||||
ghc-api-compat = doDistribute super.ghc-api-compat_8_6;
|
||||
|
||||
mime-string = disableOptimization super.mime-string;
|
||||
}
|
||||
|
|
|
@ -128820,8 +128820,8 @@ self: {
|
|||
}:
|
||||
mkDerivation {
|
||||
pname = "hercules-ci-agent";
|
||||
version = "0.8.3";
|
||||
sha256 = "0gwbks6yrjjrys39043wdyx1v0fg8ailv3149b2xi4d49p4jin40";
|
||||
version = "0.8.4";
|
||||
sha256 = "1w93027i5kddn1rj5dgnmvgsadfv3s6ziyga4k3mp094wx2g6syy";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
|
@ -128959,8 +128959,8 @@ self: {
|
|||
}:
|
||||
mkDerivation {
|
||||
pname = "hercules-ci-cli";
|
||||
version = "0.2.3";
|
||||
sha256 = "10scykaf8kadvgvc5pxjdyn8zvxqmp5gkdy0n82p4mmf2chmdzqz";
|
||||
version = "0.2.4";
|
||||
sha256 = "0imx1srpi518616jif62l542qpw2wcfiq5a622rg5w76k2vz0hpl";
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
libraryHaskellDepends = [
|
||||
|
@ -129016,8 +129016,8 @@ self: {
|
|||
}:
|
||||
mkDerivation {
|
||||
pname = "hercules-ci-cnix-store";
|
||||
version = "0.2.1.0";
|
||||
sha256 = "18165kwcklp6hg9sh5rmqprnc0ixiq8l9w4y87c9m54dbpwdp4na";
|
||||
version = "0.2.1.1";
|
||||
sha256 = "0cxir973y3hkm34ci7hc5zsp94s31nnrlkgspwwdd2rakyf4525i";
|
||||
libraryHaskellDepends = [
|
||||
base bytestring conduit containers inline-c inline-c-cpp protolude
|
||||
template-haskell unix unliftio-core vector
|
||||
|
|
|
@ -5,10 +5,11 @@
|
|||
, meson
|
||||
, ninja
|
||||
, wayland-scanner
|
||||
, libGL
|
||||
, libX11
|
||||
, mesa
|
||||
, libGL
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -41,7 +42,7 @@ let
|
|||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "egl-wayland";
|
||||
version = "1.1.7";
|
||||
version = "1.1.9";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
|
@ -49,7 +50,7 @@ in stdenv.mkDerivation rec {
|
|||
owner = "Nvidia";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-pqpJ6Uo50BouBU0wGaL21VH5rDiVHKAvJtfzL0YInXU=";
|
||||
sha256 = "sha256-rcmGVEcOtKTR8sVkHV7Xb+8NuKWUapYn+/Fswi4z6Mc=";
|
||||
};
|
||||
|
||||
depsBuildBuild = [
|
||||
|
@ -65,10 +66,11 @@ in stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs = [
|
||||
eglexternalplatform
|
||||
libGL
|
||||
libX11
|
||||
mesa
|
||||
libGL
|
||||
wayland
|
||||
wayland-protocols
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
|
|
|
@ -13,13 +13,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "notcurses";
|
||||
version = "2.4.8";
|
||||
version = "2.4.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dankamongmen";
|
||||
repo = "notcurses";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-mVSToryo7+zW1mow8eJT8GrXYlGe/BeSheJtJDKAgzo=";
|
||||
sha256 = "sha256-J7yTNMvmcm69B+yF0PYLXFG8kkcnffWyUx3kEFU0ToI=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
|
|
@ -9,19 +9,18 @@
|
|||
, importlib-resources
|
||||
, pytest-xdist
|
||||
, pytestCheckHook
|
||||
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "alembic";
|
||||
version = "1.7.4";
|
||||
version = "1.7.5";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "9d33f3ff1488c4bfab1e1a6dfebbf085e8a8e1a3e047a43ad29ad1f67f012a1d";
|
||||
sha256 = "sha256-fDKGlKLmjwPulx5jw72IWEZHA3OltTLPLJ8WAcQTsVM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -44,7 +43,7 @@ buildPythonPackage rec {
|
|||
];
|
||||
|
||||
pytestFlagsArray = [
|
||||
"--numprocesses" "auto"
|
||||
"--numprocesses" "$NIX_BUILD_CORES"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "graphql-subscription-manager";
|
||||
version = "0.4.0";
|
||||
version = "0.4.3";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
|
@ -16,7 +16,7 @@ buildPythonPackage rec {
|
|||
owner = "Danielhiversen";
|
||||
repo = "PyGraphqlWebsocketManager";
|
||||
rev = version;
|
||||
sha256 = "1176xzr9fa7gl5cm0pcv5lb45d2ms5awi601rjcr3a0a14a1i8fz";
|
||||
sha256 = "sha256-+LP+MDeHo0svoN/o0in6xtIqrfxs+UCBQRtBe4lZt+4=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-igraph";
|
||||
pname = "igraph";
|
||||
version = "0.9.8";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
|
42
pkgs/development/python-modules/lc7001/default.nix
Normal file
42
pkgs/development/python-modules/lc7001/default.nix
Normal file
|
@ -0,0 +1,42 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, cryptography
|
||||
, fetchPypi
|
||||
, pythonOlder
|
||||
, poetry-core
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "lc7001";
|
||||
version = "1.0.3";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "NgnszlgmeUnfWs9onnboFRz3c4OibsNaZHjDINvoMPc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
cryptography
|
||||
];
|
||||
|
||||
# Project has no tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"lc7001"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python module for interacting with Legrand LC7001";
|
||||
homepage = "https://github.com/rtyle/lc7001";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
version = "5.0.2";
|
||||
version = "5.1.1";
|
||||
pname = "xdg";
|
||||
disabled = isPy27;
|
||||
format = "pyproject";
|
||||
|
@ -14,7 +14,7 @@ buildPythonPackage rec {
|
|||
owner = "srstevenson";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-wZfihMrq83Bye5CE5p7bTlI9Z7CsCkSd8Art5ws4vsY=";
|
||||
sha256 = "sha256-z/Zvo2WGw9qA+M3Pt9r35DuxtuhL7/I75LlFEdDOJcc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
|
|
|
@ -12,51 +12,61 @@
|
|||
, zlib
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "coreboot-toolchain";
|
||||
version = "4.15";
|
||||
let
|
||||
common = arch: stdenvNoCC.mkDerivation rec {
|
||||
pname = "coreboot-toolchain-${arch}";
|
||||
version = "4.15";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://review.coreboot.org/coreboot";
|
||||
rev = version;
|
||||
sha256 = "1qsb2ca22h5f0iwc254qsfm7qcn8967ir8aybdxa1pakgmnfsyp9";
|
||||
fetchSubmodules = false;
|
||||
leaveDotGit = true;
|
||||
postFetch = ''
|
||||
patchShebangs $out/util/crossgcc/buildgcc
|
||||
PATH=${lib.makeBinPath [ getopt ]}:$PATH $out/util/crossgcc/buildgcc -W > $out/.crossgcc_version
|
||||
rm -rf $out/.git
|
||||
src = fetchgit {
|
||||
url = "https://review.coreboot.org/coreboot";
|
||||
rev = version;
|
||||
sha256 = "1qsb2ca22h5f0iwc254qsfm7qcn8967ir8aybdxa1pakgmnfsyp9";
|
||||
fetchSubmodules = false;
|
||||
leaveDotGit = true;
|
||||
postFetch = ''
|
||||
patchShebangs $out/util/crossgcc/buildgcc
|
||||
PATH=${lib.makeBinPath [ getopt ]}:$PATH $out/util/crossgcc/buildgcc -W > $out/.crossgcc_version
|
||||
rm -rf $out/.git
|
||||
'';
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ bison curl git perl ];
|
||||
buildInputs = [ flex gnat11 zlib ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
dontConfigure = true;
|
||||
dontInstall = true;
|
||||
|
||||
postPatch = ''
|
||||
mkdir -p util/crossgcc/tarballs
|
||||
|
||||
${lib.concatMapStringsSep "\n" (
|
||||
file: "ln -s ${file.archive} util/crossgcc/tarballs/${file.name}"
|
||||
) (callPackage ./stable.nix { })
|
||||
}
|
||||
|
||||
patchShebangs util/genbuild_h/genbuild_h.sh
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
export CROSSGCC_VERSION=$(cat .crossgcc_version)
|
||||
make crossgcc-${arch} CPUS=$NIX_BUILD_CORES DEST=$out
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.coreboot.org";
|
||||
description = "coreboot toolchain for ${arch} targets";
|
||||
license = with licenses; [ bsd2 bsd3 gpl2 lgpl2Plus gpl3Plus ];
|
||||
maintainers = with maintainers; [ felixsinger ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ bison curl git perl ];
|
||||
buildInputs = [ flex gnat11 zlib ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
dontConfigure = true;
|
||||
dontInstall = true;
|
||||
|
||||
postPatch = ''
|
||||
mkdir -p util/crossgcc/tarballs
|
||||
|
||||
${lib.concatMapStringsSep "\n" (
|
||||
file: "ln -s ${file.archive} util/crossgcc/tarballs/${file.name}"
|
||||
) (callPackage ./stable.nix { })
|
||||
}
|
||||
|
||||
patchShebangs util/genbuild_h/genbuild_h.sh
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
export CROSSGCC_VERSION=$(cat .crossgcc_version)
|
||||
make crossgcc-i386 CPUS=$NIX_BUILD_CORES DEST=$out
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.coreboot.org";
|
||||
description = "coreboot toolchain";
|
||||
license = with licenses; [ bsd2 bsd3 gpl2 lgpl2Plus gpl3Plus ];
|
||||
maintainers = with maintainers; [ felixsinger ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
in {
|
||||
i386 = common "i386";
|
||||
x86_64 = common "x64";
|
||||
arm = common "arm";
|
||||
aarch64 = common "aarch64";
|
||||
riscv = common "riscv";
|
||||
ppc64 = common "ppc64";
|
||||
nds32le = common "nds32le";
|
||||
}
|
||||
|
|
|
@ -1,53 +1,104 @@
|
|||
{ lib, stdenv, fetchFromGitHub, which, pkg-config, makeWrapper
|
||||
, ffmpeg, libGLU, libGL, freetype, libxml2, python3
|
||||
, libobjc, AppKit, Foundation
|
||||
, alsa-lib ? null
|
||||
, libdrm ? null
|
||||
, libpulseaudio ? null
|
||||
, libv4l ? null
|
||||
, libX11 ? null
|
||||
, libXdmcp ? null
|
||||
, libXext ? null
|
||||
, libXxf86vm ? null
|
||||
, mesa ? null
|
||||
, SDL2 ? null
|
||||
, udev ? null
|
||||
, enableNvidiaCgToolkit ? false, nvidia_cg_toolkit ? null
|
||||
, withVulkan ? stdenv.isLinux, vulkan-loader ? null
|
||||
, wayland
|
||||
{ lib
|
||||
, stdenv
|
||||
, enableNvidiaCgToolkit ? false
|
||||
, withVulkan ? stdenv.isLinux
|
||||
, alsa-lib
|
||||
, AppKit
|
||||
, fetchFromGitHub
|
||||
, ffmpeg
|
||||
, Foundation
|
||||
, freetype
|
||||
, libdrm
|
||||
, libGL
|
||||
, libGLU
|
||||
, libobjc
|
||||
, libpulseaudio
|
||||
, libv4l
|
||||
, libX11
|
||||
, libXdmcp
|
||||
, libXext
|
||||
, libxkbcommon
|
||||
, libxml2
|
||||
, libXxf86vm
|
||||
, makeWrapper
|
||||
, mesa
|
||||
, nvidia_cg_toolkit
|
||||
, pkg-config
|
||||
, python3
|
||||
, SDL2
|
||||
, substituteAll
|
||||
, udev
|
||||
, vulkan-loader
|
||||
, wayland
|
||||
, which
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
libretroSuperSrc = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "libretro-super";
|
||||
sha256 = "sha256-4WB6/1DDec+smhMJKLCxWb4+LQlZN8v2ik69saKixkE=";
|
||||
rev = "fa70d9843838df719623094965bd447e4db0d1b4";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "retroarch-bare";
|
||||
# FIXME: retroarch >=1.9.3 doesn't load the cores
|
||||
version = "1.9.2";
|
||||
version = "1.9.13.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "RetroArch";
|
||||
sha256 = "sha256-Dwv0hl+d99FbVMG4KnkjO1aYfAw0m4x+zvrbyb/wOX8=";
|
||||
sha256 = "sha256-fehHchn+o9QM2wIK6zYamnbFvQda32Gw0rJk8Orx00U=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config wayland ]
|
||||
++ optional withVulkan makeWrapper;
|
||||
patches = [
|
||||
# FIXME: The `retroarch.cfg` file is created once in the first run and only
|
||||
# updated when needed. However, the file may have out-of-date paths
|
||||
# In case of issues (e.g.: cores are not loading), please delete the
|
||||
# `$XDG_CONFIG_HOME/retroarch/retroarch.cfg` file
|
||||
# See: https://github.com/libretro/RetroArch/issues/13251
|
||||
./fix-config.patch
|
||||
];
|
||||
|
||||
buildInputs = [ ffmpeg freetype libxml2 libGLU libGL python3 SDL2 which ]
|
||||
++ optional enableNvidiaCgToolkit nvidia_cg_toolkit
|
||||
++ optional withVulkan vulkan-loader
|
||||
++ optionals stdenv.isDarwin [ libobjc AppKit Foundation ]
|
||||
++ optionals stdenv.isLinux [ alsa-lib libdrm libpulseaudio libv4l libX11
|
||||
libXdmcp libXext libXxf86vm mesa udev
|
||||
wayland libxkbcommon ];
|
||||
postPatch = ''
|
||||
substituteInPlace retroarch.cfg \
|
||||
--replace "@libretro_directory@" "$out/lib" \
|
||||
--replace "@libretro_info_path@" "$out/share/libretro/info" \
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config wayland ] ++
|
||||
optional withVulkan makeWrapper;
|
||||
|
||||
buildInputs = [ ffmpeg freetype libxml2 libGLU libGL python3 SDL2 which ] ++
|
||||
optional enableNvidiaCgToolkit nvidia_cg_toolkit ++
|
||||
optional withVulkan vulkan-loader ++
|
||||
optionals stdenv.isDarwin [ libobjc AppKit Foundation ] ++
|
||||
optionals stdenv.isLinux [
|
||||
alsa-lib
|
||||
libdrm
|
||||
libpulseaudio
|
||||
libv4l
|
||||
libX11
|
||||
libXdmcp
|
||||
libXext
|
||||
libXxf86vm
|
||||
mesa
|
||||
udev
|
||||
wayland
|
||||
libxkbcommon
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags = lib.optionals stdenv.isLinux [ "--enable-kms" "--enable-egl" ];
|
||||
|
||||
postInstall = optionalString withVulkan ''
|
||||
mkdir -p $out/share/libretro/info
|
||||
# TODO: ideally each core should have its own core information
|
||||
cp -r ${libretroSuperSrc}/dist/info/* $out/share/libretro/info
|
||||
wrapProgram $out/bin/retroarch --prefix LD_LIBRARY_PATH ':' ${vulkan-loader}/lib
|
||||
'';
|
||||
|
||||
|
|
26
pkgs/misc/emulators/retroarch/fix-config.patch
Normal file
26
pkgs/misc/emulators/retroarch/fix-config.patch
Normal file
|
@ -0,0 +1,26 @@
|
|||
diff --git a/retroarch.cfg b/retroarch.cfg
|
||||
index cdcb199c9f..08b9b1cf10 100644
|
||||
--- a/retroarch.cfg
|
||||
+++ b/retroarch.cfg
|
||||
@@ -681,7 +681,7 @@
|
||||
# menu_show_online_updater = true
|
||||
|
||||
# If disabled, will hide the ability to update cores (and core info files) inside the menu.
|
||||
-# menu_show_core_updater = true
|
||||
+menu_show_core_updater = false
|
||||
|
||||
# If disabled, the libretro core will keep running in the background when we
|
||||
# are in the menu.
|
||||
@@ -823,10 +823,10 @@
|
||||
# rgui_browser_directory =
|
||||
|
||||
# Core directory for libretro core implementations.
|
||||
-# libretro_directory =
|
||||
+libretro_directory = @libretro_directory@
|
||||
|
||||
# Core info directory for libretro core information.
|
||||
-# libretro_info_path =
|
||||
+libretro_info_path = @libretro_info_path@
|
||||
|
||||
# Path to content database directory.
|
||||
# content_database_path =
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "g933-utils";
|
||||
version = "unstable-2019-08-04";
|
||||
version = "unstable-2021-11-19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ashkitten";
|
||||
repo = "g933-utils";
|
||||
rev = "b80cfd59fc41ae5d577c147311376dd7f7882493";
|
||||
sha256 = "06napzpk3nayzixb4l4fzdiwpgmcrsbc5j9m4qip1yn6dfkin3p0";
|
||||
rev = "1fc8cec375ed0d6f72191eadec788a49f51032d1";
|
||||
sha256 = "sha256-kGLMRqZHzRuXQNTjIuLz8JPC1c/ZK38msfkTIVnaomg=";
|
||||
};
|
||||
|
||||
cargoSha256 = "00gzfbxr5qzb9w7xkqd9jgfagb4c7p657m21b467pygzvaabbb8d";
|
||||
cargoSha256 = "sha256-FBX5hrS8tNWN83XX+x+s/mYyvO1h6V63bXCx7y0R8bY=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ udev ];
|
||||
|
|
|
@ -12068,7 +12068,7 @@ with pkgs;
|
|||
|
||||
pscid = nodePackages.pscid;
|
||||
|
||||
coreboot-toolchain = callPackage ../development/tools/misc/coreboot-toolchain { };
|
||||
coreboot-toolchain = callPackages ../development/tools/misc/coreboot-toolchain { };
|
||||
|
||||
remarkable-toolchain = callPackage ../development/tools/misc/remarkable/remarkable-toolchain { };
|
||||
|
||||
|
@ -23554,6 +23554,8 @@ with pkgs;
|
|||
|
||||
rime-data = callPackage ../data/misc/rime-data { };
|
||||
|
||||
rose-pine-gtk-theme = callPackage ../data/themes/rose-pine-gtk { };
|
||||
|
||||
route159 = callPackage ../data/fonts/route159 { };
|
||||
|
||||
sampradaya = callPackage ../data/fonts/sampradaya { };
|
||||
|
|
|
@ -4248,6 +4248,8 @@ in {
|
|||
|
||||
lazy-object-proxy = callPackage ../development/python-modules/lazy-object-proxy { };
|
||||
|
||||
lc7001 = callPackage ../development/python-modules/lc7001 { };
|
||||
|
||||
ldap = callPackage ../development/python-modules/ldap {
|
||||
inherit (pkgs) openldap cyrus_sasl;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue