Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2023-05-01 06:02:20 +00:00 committed by GitHub
commit 5ed872d771
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
51 changed files with 4157 additions and 1078 deletions

View File

@ -46,7 +46,10 @@ In addition to numerous new and upgraded packages, this release has the followin
- [Cloudlog](https://www.magicbug.co.uk/cloudlog/), a web-based Amateur Radio logging application. Available as [services.cloudlog](#opt-services.cloudlog.enable).
- [Deepin Desktop Environment](https://github.com/linuxdeepin/dde), an elegant, easy to use and reliable desktop environment. Availabe as [services.xserver.desktopManager.deepin](options.html#opt-services.xserver.desktopManager.deepin).
- [fzf](https://github.com/junegunn/fzf), a command line fuzzyfinder. Available as [programs.fzf](#opt-programs.fzf.fuzzyCompletion).
- [readarr](https://github.com/Readarr/Readarr), Book Manager and Automation (Sonarr for Ebooks). Available as [services.readarr](options.html#opt-services.readarr.enable).
- [gemstash](https://github.com/rubygems/gemstash), a RubyGems.org cache and private gem server. Available as [services.gemstash](#opt-services.gemstash.enable).

View File

@ -413,6 +413,9 @@
./services/desktops/bamf.nix
./services/desktops/blueman.nix
./services/desktops/cpupower-gui.nix
./services/desktops/deepin/dde-api.nix
./services/desktops/deepin/app-services.nix
./services/desktops/deepin/dde-daemon.nix
./services/desktops/dleyna-renderer.nix
./services/desktops/dleyna-server.nix
./services/desktops/espanso.nix

View File

@ -0,0 +1,36 @@
{ config, pkgs, lib, ... }:
with lib;
{
meta = {
maintainers = teams.deepin.members;
};
###### interface
options = {
services.deepin.app-services = {
enable = mkEnableOption (lib.mdDoc "Service collection of DDE applications, including dconfig-center");
};
};
###### implementation
config = mkIf config.services.deepin.app-services.enable {
environment.systemPackages = [ pkgs.deepin.dde-app-services ];
services.dbus.packages = [ pkgs.deepin.dde-app-services ];
environment.pathsToLink = [ "/share/dsg" ];
};
}

View File

@ -0,0 +1,50 @@
{ config, pkgs, lib, ... }:
with lib;
{
meta = {
maintainers = teams.deepin.members;
};
###### interface
options = {
services.deepin.dde-api = {
enable = mkEnableOption (lib.mdDoc ''
Provides some dbus interfaces that is used for screen zone detecting,
thumbnail generating, and sound playing in Deepin Desktop Enviroment.
'');
};
};
###### implementation
config = mkIf config.services.deepin.dde-api.enable {
environment.systemPackages = [ pkgs.deepin.dde-api ];
services.dbus.packages = [ pkgs.deepin.dde-api ];
systemd.packages = [ pkgs.deepin.dde-api ];
environment.pathsToLink = [ "/lib/deepin-api" ];
users.groups.deepin-sound-player = { };
users.users.deepin-sound-player = {
description = "Deepin sound player";
home = "/var/lib/deepin-sound-player";
createHome = true;
group = "deepin-sound-player";
isSystemUser = true;
};
};
}

View File

@ -0,0 +1,40 @@
{ config, pkgs, lib, ... }:
with lib;
{
meta = {
maintainers = teams.deepin.members;
};
###### interface
options = {
services.deepin.dde-daemon = {
enable = mkEnableOption (lib.mdDoc "Daemon for handling the deepin session settings");
};
};
###### implementation
config = mkIf config.services.deepin.dde-daemon.enable {
environment.systemPackages = [ pkgs.deepin.dde-daemon ];
services.dbus.packages = [ pkgs.deepin.dde-daemon ];
services.udev.packages = [ pkgs.deepin.dde-daemon ];
systemd.packages = [ pkgs.deepin.dde-daemon ];
environment.pathsToLink = [ "/lib/deepin-daemon" ];
};
}

View File

@ -0,0 +1,208 @@
{ config, lib, pkgs, utils, ... }:
with lib;
let
xcfg = config.services.xserver;
cfg = xcfg.desktopManager.deepin;
nixos-gsettings-overrides = pkgs.deepin.dde-gsettings-schemas.override {
extraGSettingsOverridePackages = cfg.extraGSettingsOverridePackages;
extraGSettingsOverrides = cfg.extraGSettingsOverrides;
};
in
{
options = {
services.xserver.desktopManager.deepin = {
enable = mkEnableOption (lib.mdDoc "Enable Deepin desktop manager");
extraGSettingsOverrides = mkOption {
default = "";
type = types.lines;
description = lib.mdDoc "Additional gsettings overrides.";
};
extraGSettingsOverridePackages = mkOption {
default = [ ];
type = types.listOf types.path;
description = lib.mdDoc "List of packages for which gsettings are overridden.";
};
};
environment.deepin.excludePackages = mkOption {
default = [ ];
type = types.listOf types.package;
description = lib.mdDoc "List of default packages to exclude from the configuration";
};
};
config = mkIf cfg.enable
{
services.xserver.displayManager.sessionPackages = [ pkgs.deepin.startdde ];
services.xserver.displayManager.defaultSession = mkDefault "deepin";
# Update the DBus activation environment after launching the desktop manager.
services.xserver.displayManager.sessionCommands = ''
${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd --all
'';
hardware.bluetooth.enable = mkDefault true;
hardware.pulseaudio.enable = mkDefault true;
security.polkit.enable = true;
services.deepin.dde-daemon.enable = mkForce true;
services.deepin.dde-api.enable = mkForce true;
services.deepin.app-services.enable = mkForce true;
services.colord.enable = mkDefault true;
services.accounts-daemon.enable = mkDefault true;
services.gvfs.enable = mkDefault true;
services.gnome.glib-networking.enable = mkDefault true;
services.gnome.gnome-keyring.enable = mkDefault true;
services.bamf.enable = mkDefault true;
services.xserver.libinput.enable = mkDefault true;
services.udisks2.enable = true;
services.upower.enable = mkDefault config.powerManagement.enable;
networking.networkmanager.enable = mkDefault true;
programs.dconf.enable = mkDefault true;
fonts.fonts = with pkgs; [ noto-fonts ];
xdg.mime.enable = true;
xdg.menus.enable = true;
xdg.icons.enable = true;
xdg.portal.enable = mkDefault true;
xdg.portal.extraPortals = mkDefault [
(pkgs.xdg-desktop-portal-gtk.override {
buildPortalsInGnome = false;
})
];
environment.sessionVariables = {
NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
DDE_POLKIT_AGENT_PLUGINS_DIRS = [ "${pkgs.deepin.dpa-ext-gnomekeyring}/lib/polkit-1-dde/plugins" ];
};
environment.pathsToLink = [
"/lib/dde-dock/plugins"
"/lib/dde-control-center"
"/lib/dde-session-shell"
"/lib/dde-file-manager"
"/share/backgrounds"
"/share/wallpapers"
];
environment.etc = {
"distribution.info".text = ''
[Distribution]
Name=NixOS
WebsiteName=www.nixos.org
Website=https://www.nixos.org
Logo=${pkgs.nixos-icons}/share/icons/hicolor/96x96/apps/nix-snowflake.png
LogoLight=${pkgs.nixos-icons}/share/icons/hicolor/32x32/apps/nix-snowflake.png
LogoTransparent=${pkgs.deepin.deepin-desktop-base}/share/pixmaps/distribution_logo_transparent.svg
'';
"deepin-installer.conf".text = ''
system_info_vendor_name="Copyright (c) 2003-2023 NixOS contributors"
'';
};
systemd.tmpfiles.rules = [
"d /var/lib/AccountsService 0775 root root - -"
"C /var/lib/AccountsService/icons 0775 root root - ${pkgs.deepin.dde-account-faces}/var/lib/AccountsService/icons"
];
security.pam.services.dde-lock.text = ''
# original at {dde-session-shell}/etc/pam.d/dde-lock
auth substack login
account include login
password substack login
session include login
'';
environment.systemPackages = with pkgs; with deepin;
let
requiredPackages = [
pciutils # for dtkcore/startdde
xdotool # for dde-daemon
glib # for gsettings program / gdbus
gtk3 # for gtk-launch program
xdg-user-dirs # Update user dirs
util-linux # runuser
polkit_gnome
librsvg # dde-api use rsvg-convert
lshw # for dtkcore
libsForQt5.kde-gtk-config # deepin-api/gtk-thumbnailer need
libsForQt5.kglobalaccel
xsettingsd # lightdm-deepin-greeter
qt5platform-plugins
deepin-pw-check
deepin-turbo
dde-account-faces
deepin-icon-theme
deepin-sound-theme
deepin-gtk-theme
deepin-wallpapers
startdde
dde-dock
dde-launcher
dde-session-ui
dde-session-shell
dde-file-manager
dde-control-center
dde-network-core
dde-clipboard
dde-calendar
dde-polkit-agent
dpa-ext-gnomekeyring
deepin-desktop-schemas
deepin-terminal
dde-kwin
deepin-kwin
];
optionalPackages = [
onboard # dde-dock plugin
deepin-camera
deepin-calculator
deepin-compressor
deepin-editor
deepin-picker
deepin-draw
deepin-album
deepin-image-viewer
deepin-music
deepin-movie-reborn
deepin-system-monitor
deepin-screen-recorder
deepin-shortcut-viewer
];
in
requiredPackages
++ utils.removePackagesByName optionalPackages config.environment.deepin.excludePackages;
services.dbus.packages = with pkgs.deepin; [
dde-dock
dde-launcher
dde-session-ui
dde-session-shell
dde-file-manager
dde-control-center
dde-calendar
dde-clipboard
dde-kwin
deepin-kwin
deepin-pw-check
];
systemd.packages = with pkgs.deepin; [
dde-launcher
dde-file-manager
dde-calendar
dde-clipboard
deepin-kwin
];
};
}

View File

@ -21,7 +21,7 @@ in
./none.nix ./xterm.nix ./phosh.nix ./xfce.nix ./plasma5.nix ./lumina.nix
./lxqt.nix ./enlightenment.nix ./gnome.nix ./retroarch.nix ./kodi.nix
./mate.nix ./pantheon.nix ./surf-display.nix ./cde.nix
./cinnamon.nix ./budgie.nix
./cinnamon.nix ./budgie.nix ./deepin.nix
];
options = {

View File

@ -171,6 +171,7 @@ in {
cups-pdf = handleTest ./cups-pdf.nix {};
custom-ca = handleTest ./custom-ca.nix {};
croc = handleTest ./croc.nix {};
deepin = handleTest ./deepin.nix {};
deluge = handleTest ./deluge.nix {};
dendrite = handleTest ./matrix/dendrite.nix {};
dex-oidc = handleTest ./dex-oidc.nix {};

57
nixos/tests/deepin.nix Normal file
View File

@ -0,0 +1,57 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "deepin";
meta = with lib; {
maintainers = teams.deepin.members;
};
nodes.machine = { ... }: {
imports = [
./common/user-account.nix
];
services.xserver.enable = true;
services.xserver.displayManager = {
lightdm.enable = true;
autoLogin = {
enable = true;
user = "alice";
};
};
services.xserver.desktopManager.deepin.enable = true;
};
testScript = { nodes, ... }:
let
user = nodes.machine.users.users.alice;
in
''
with subtest("Wait for login"):
machine.wait_for_x()
machine.wait_for_file("${user.home}/.Xauthority")
machine.succeed("xauth merge ${user.home}/.Xauthority")
with subtest("Check that logging in has given the user ownership of devices"):
machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
with subtest("Check if DDE wm chooser actually start"):
machine.wait_until_succeeds("pgrep -f dde-wm-chooser")
machine.wait_for_window("dde-wm-chooser")
machine.execute("pkill dde-wm-chooser")
with subtest("Check if Deepin session components actually start"):
machine.wait_until_succeeds("pgrep -f dde-session-daemon")
machine.wait_for_window("dde-session-daemon")
machine.wait_until_succeeds("pgrep -f dde-desktop")
machine.wait_for_window("dde-desktop")
with subtest("Open deepin-terminal"):
machine.succeed("su - ${user.name} -c 'DISPLAY=:0 deepin-terminal >&2 &'")
machine.wait_for_window("deepin-terminal")
machine.sleep(20)
machine.screenshot("screen")
'';
})

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "ft2-clone";
version = "1.66";
version = "1.67";
src = fetchFromGitHub {
owner = "8bitbubsy";
repo = "ft2-clone";
rev = "v${version}";
sha256 = "sha256-glLgjZFWvz/bJe9R8KTDu4+778dueC9tw3nVKF3xcps=";
sha256 = "sha256-v/yGHWd/hhE2jDdAQhyQbZOuHSS0FSG4WlVe8Oc6tMc=";
};
# Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh)

View File

@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "mympd";
version = "10.3.0";
version = "10.3.1";
src = fetchFromGitHub {
owner = "jcorporation";
repo = "myMPD";
rev = "v${version}";
sha256 = "sha256-iO/Ogh3G67GYoputrxAiA1i0fAon2NDrgPCMYxxn/o4=";
sha256 = "sha256-KQf+Szr/AunL/roCtRPiC771P2A3POXPFlXUhbNej6g=";
};
nativeBuildInputs = [

View File

@ -23,13 +23,13 @@
stdenv.mkDerivation rec{
pname = "corectrl";
version = "1.3.3";
version = "1.3.5";
src = fetchFromGitLab {
owner = "corectrl";
repo = "corectrl";
rev = "v${version}";
sha256 = "sha256-WgtLDAjywHd9++7DvPfpfEXGbBQWx8kQxseIadho1YE=";
sha256 = "sha256-HETD2+acxJf30iC6UwRXD/onFYo3ki4RwAAVs4NbSAw=";
};
patches = [
./polkit-dir.patch

View File

@ -7,13 +7,13 @@
buildGoModule rec {
pname = "cloudflared";
version = "2023.4.1";
version = "2023.4.2";
src = fetchFromGitHub {
owner = "cloudflare";
repo = "cloudflared";
rev = "refs/tags/${version}";
hash = "sha256-PG2+rEn3X1EdMUDbfrtfEjYclErMGAGTcP2g7Jz+s1A=";
hash = "sha256-oHiaRdTEiTcGQkYoGw8TT0KZMFR8Rkce/4+cxSXAHMM=";
};
vendorHash = null;

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "civo";
version = "1.0.49";
version = "1.0.50";
src = fetchFromGitHub {
owner = "civo";
repo = "cli";
rev = "v${version}";
sha256 = "sha256-j9fnOM7OLnu42LM/LaO/Sw9TJtPFHjAC+QzqywbxKKo=";
sha256 = "sha256-w1Ozj9zmeGzuokX0LgHab5TI0WcdtY29n7w4LfOWthI=";
};
vendorHash = "sha256-7I4V4DVdHSvr/1ic/YT+Vttreg0tFasRNT/aFe4/0OY=";

View File

@ -182,11 +182,11 @@
"vendorHash": "sha256-jOscYbwZ8m4smGiAy2vNhPMTAUnINkpuVRQ8E6LpWVw="
},
"buildkite": {
"hash": "sha256-/LTUDnE5XB8Gwbs+CroJW+3pM7opNSVQFWvRQWQjFqc=",
"hash": "sha256-nwGnt/+pSR1rGiXZ1RJIpekT+i0k4ZmMN27VpYCDVU0=",
"homepage": "https://registry.terraform.io/providers/buildkite/buildkite",
"owner": "buildkite",
"repo": "terraform-provider-buildkite",
"rev": "v0.16.0",
"rev": "v0.17.0",
"spdx": "MIT",
"vendorHash": "sha256-ZXjmR1maiiLeWipXGOAGfLEuot9TsrzAX4EPRNQ5Gbo="
},

View File

@ -2,11 +2,11 @@
let
pname = "rambox";
version = "2.1.2";
version = "2.1.3";
src = fetchurl {
url = "https://github.com/ramboxapp/download/releases/download/v${version}/Rambox-${version}-linux-x64.AppImage";
sha256 = "sha256-FeW11prM9wTYA6cELF/qcITbTqJ+B+VVvzcw2W6i/CY=";
sha256 = "sha256-wvjCr1U+/1/GtebMNWJjizzegqZ+wWXUrmOshYtMq6o=";
};
desktopItem = (makeDesktopItem {

View File

@ -8,6 +8,7 @@
, qtxmlpatterns
, qtwebengine
, qca-qt5
, qtnetworkauth
# KDE
, ki18n
, kxmlgui
@ -28,13 +29,13 @@
mkDerivation rec {
pname = "kbibtex";
version = "0.9.3.2";
version = "0.10.0";
src = let
majorMinorPatch = lib.concatStringsSep "." (lib.take 3 (lib.splitVersion version));
in fetchurl {
url = "mirror://kde/stable/KBibTeX/${majorMinorPatch}/kbibtex-${version}.tar.xz";
hash = "sha256-BzPCTKMiMnzz2S+jbk4ZbEudyJX5EaTDVY59te/AxFc=";
hash = "sha256-sSeyQKfNd8U4YZ3IgqOZs8bM13oEQopJevkG8U0JuMQ=";
};
nativeBuildInputs = [
@ -46,6 +47,7 @@ mkDerivation rec {
qtxmlpatterns
qtwebengine
qca-qt5
qtnetworkauth
# TODO qtoauth
ki18n
kxmlgui
@ -72,5 +74,6 @@ mkDerivation rec {
changelog = "https://invent.kde.org/office/kbibtex/-/raw/v${version}/ChangeLog";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ dotlambda ];
platforms = platforms.linux;
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "kitsas";
version = "4.0.3";
version = "4.0.5";
src = fetchFromGitHub {
owner = "artoh";
repo = "kitupiikki";
rev = "v${version}";
hash = "sha256-7s21++sA4enZFuDVUEAbn7InpyLx6BOwrFdsUzHWK0M=";
hash = "sha256-ODl1yrtrCVhuBWbA1AvHl22d+JSdySG/Gi2hlpVW3jg=";
};
postPatch = ''

View File

@ -8,12 +8,12 @@
}:
stdenv.mkDerivation rec {
version = "1.4.7";
version = "1.4.8";
pname = "flrig";
src = fetchurl {
url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
sha256 = "sha256-RzyeJf3T1vKTlyU/EMXFY+ObkqKq7wJyBB8ZeKMOO1M=";
sha256 = "sha256-7aqjNbcAE1ATb5Zl+ziVb7O86nqlFwdpsYm9RoX51rg=";
};
buildInputs = [

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "minimap2";
version = "2.24";
version = "2.25";
src = fetchFromGitHub {
repo = pname;
owner = "lh3";
rev = "v${version}";
sha256 = "sha256-sEp7/Y5ifV9LTqrkhlkfykTJYMMuc+VtF7PvmIpBxUw=";
sha256 = "sha256-9X2wYoUH11Ys4uPArwyGsXuQLQaAwtNV/pnO9yd7Oiw=";
};
buildInputs = [ zlib ];

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "amazon-ecs-agent";
version = "1.70.2";
version = "1.71.0";
src = fetchFromGitHub {
rev = "v${version}";
owner = "aws";
repo = pname;
hash = "sha256-52Ty7g8SnhYAgYsE9mpmRmg4T6QifjWDIwNnJZBSPMk=";
hash = "sha256-+/aeLI1+VE80NdeAqc7ctZsS6i0Ymj/GXssduP8X//c=";
};
vendorHash = null;

View File

@ -0,0 +1,57 @@
{ lib
, stdenv
, runCommand
, glib
, gtk3
, dtkcommon
, dde-dock
, startdde
, dde-launcher
, dde-session-shell
, dde-session-ui
, dde-control-center
, dde-file-manager
, deepin-desktop-schemas
, deepin-movie-reborn
, deepin-screen-recorder
, deepin-system-monitor
, extraGSettingsOverrides ? ""
, extraGSettingsOverridePackages ? [ ]
}:
let
gsettingsOverridePackages = [
dtkcommon
dde-dock
startdde
dde-launcher
dde-session-shell
dde-session-ui
dde-control-center
dde-file-manager
deepin-desktop-schemas
deepin-movie-reborn
deepin-screen-recorder
deepin-system-monitor
] ++ extraGSettingsOverridePackages;
in
with lib;
# TODO: Having https://github.com/NixOS/nixpkgs/issues/54150 would supersede this
runCommand "nixos-gsettings-desktop-schemas" { }
''
schema_dir=$out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
mkdir -p $schema_dir
${concatMapStrings (pkg: "cp -rvf ${glib.getSchemaPath pkg}/* $schema_dir\n") gsettingsOverridePackages}
chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
cat - > $schema_dir/nixos-defaults.gschema.override <<- EOF
${extraGSettingsOverrides}
EOF
${glib.dev}/bin/glib-compile-schemas $schema_dir
''

View File

@ -37,6 +37,7 @@ let
dde-session-ui = callPackage ./core/dde-session-ui { };
dde-polkit-agent = callPackage ./core/dde-polkit-agent { };
dpa-ext-gnomekeyring = callPackage ./core/dpa-ext-gnomekeyring { };
dde-gsettings-schemas = callPackage ./core/dde-gsettings-schemas { };
#### Dtk Application
deepin-album = callPackage ./apps/deepin-album { };

View File

@ -3,14 +3,7 @@
}:
let
version = "3.3.1";
fullMaude = fetchurl {
url = "https://maude.cs.illinois.edu/w/images/b/bc/Full-Maude-3.2.1.zip";
sha256 = "0751b3c4619283b3f0adf1c3aac113f1d4334a3ca859ed00d66de5f5857563ec";
};
in
stdenv.mkDerivation {
@ -51,8 +44,6 @@ stdenv.mkDerivation {
postInstall = ''
for n in "$out/bin/"*; do wrapProgram "$n" --suffix MAUDE_LIB ':' "$out/share/maude"; done
unzip ${fullMaude}
install -D -m 444 full-maude.maude $out/share/maude/full-maude.maude
'';
enableParallelBuilding = true;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "libudev-zero";
version = "1.0.1";
version = "1.0.2";
src = fetchFromGitHub {
owner = "illiliti";
repo = "libudev-zero";
rev = version;
sha256 = "1dg6zqy8w3gxca8clz6hhv4jyvz8jdwvpmn9y289nrms1zx1jcs5";
sha256 = "sha256-SU1pPmLLeTWZe5ybhmDplFw6O/vpEjFAKgfKDl0RS4U=";
};
makeFlags = [ "PREFIX=$(out)" ];

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "sqlcipher";
version = "4.5.3";
version = "4.5.4";
src = fetchFromGitHub {
owner = "sqlcipher";
repo = "sqlcipher";
rev = "v${version}";
hash = "sha256-yo7bB6xgF23Hdur25fprSFgbuxNclseUCdq3DFAfIK8=";
hash = "sha256-n9KPtTj/mHXrnFJnbWPO3H+Vol3Z2mg7XLl55ynyLwY=";
};
nativeBuildInputs = [

View File

@ -154,7 +154,6 @@
, "git-ssb"
, "git-standup"
, "@gitbeaker/cli"
, "@githubnext/github-copilot-cli"
, "gitmoji-cli"
, "glob"
, "gramma"

File diff suppressed because it is too large Load Diff

View File

@ -39,6 +39,8 @@ final: prev: {
];
};
"@githubnext/github-copilot-cli" = pkgs.github-copilot-cli;
"@medable/mdctl-cli" = prev."@medable/mdctl-cli".override (oldAttrs: {
nativeBuildInputs = with pkgs; with darwin.apple_sdk.frameworks; [
glib

View File

@ -22,14 +22,14 @@
buildPythonPackage rec {
pname = "ansible-lint";
version = "6.14.3";
version = "6.15.0";
format = "pyproject";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-c+xZkptiFPbSzlhYwixk46HaunuM3BJxgzu208cVVEk=";
hash = "sha256-TOeQzwAGdgugHYuUbYAwNwL8dFS9GcazB53ZjUBRfm8=";
};
postPatch = ''

View File

@ -10,7 +10,7 @@
let
pname = "gptcommit";
version = "0.5.7";
version = "0.5.8";
in
rustPlatform.buildRustPackage {
inherit pname version;
@ -19,10 +19,10 @@ rustPlatform.buildRustPackage {
owner = "zurawiki";
repo = pname;
rev = "v${version}";
sha256 = "sha256-ymG0D/geYH0o4fBzggeJH41fwZnO3THUV8ipk5GfwQc=";
sha256 = "sha256-K4A0np8+gpFpSU4jBv6PAw4RyUWmIB7dTgWvpy36CYY=";
};
cargoSha256 = "sha256-OiKuMbczyZ92x2rketRWNdYO2dTsJJo0cioKpxB9aAc=";
cargoSha256 = "sha256-awztElsrJCUGUn2HcGpCkxUO/nEy8iZO22/fQtwAKdg=";
nativeBuildInputs = [ pkg-config ];

View File

@ -2,11 +2,11 @@
buildGraalvmNativeImage rec {
pname = "jet";
version = "0.4.24";
version = "0.5.25";
src = fetchurl {
url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
sha256 = "sha256-8UIPDq+POe5Ss4H8ecHkheYKul4FpGzQgWGQ0N7h41M=";
sha256 = "sha256-4uXK9MRBXLjfHDNl6KJY1n9b02uXg+BlIr/q1DGeRKU=";
};
extraNativeImageBuildArgs = [

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "opengrok";
version = "1.12.0";
version = "1.12.3";
# binary distribution
src = fetchurl {
url = "https://github.com/oracle/opengrok/releases/download/${version}/${pname}-${version}.tar.gz";
hash = "sha256-a+iDY00cqtDm1Bm4nclbW/vRpeqWVAjAlBbKS+SC9Us=";
hash = "sha256-GHSsfsEhBYeUbSKZfve3O2Z+bL3e7dqpl4sQKrQgWDE=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -7,13 +7,13 @@
buildGoModule rec {
pname = "operator-sdk";
version = "1.28.0";
version = "1.28.1";
src = fetchFromGitHub {
owner = "operator-framework";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-n7lJnTeMZQVSNG98WPlqjFD0cJfMr1zRh8uAie2JiRM=";
hash = "sha256-YzkPAKwkV8io0lz7JxIX4lciv85iqldkyitrLicbFJc=";
};
vendorHash = "sha256-ZWOIF3vmtoXzdGHHzjPy/351bHzMTTXcgSRBso+ixyM=";

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "protoc-gen-validate";
version = "0.10.1";
version = "1.0.0";
src = fetchFromGitHub {
owner = "bufbuild";
repo = "protoc-gen-validate";
rev = "v${version}";
sha256 = "sha256-yo0/RhUs9KUdY0l0qqRs3eGWr4y183ZNSCsWihFK++4=";
sha256 = "sha256-tYdWXioiPF1S5lpAipm3UN9NUjXo1/8nx22q28UQFDY=";
};
vendorHash = "sha256-yGQO5vTdkAr6bKnpaQz//n7r07NGyQg+vQ2BqPGe8Nk=";
vendorHash = "sha256-OOjVlRHaOLIJVg3r97qZ3lPv8ANYY2HSn7hUJhg3Cfs=";
excludedPackages = [ "tests" ];

View File

@ -13,14 +13,14 @@
rustPlatform.buildRustPackage rec {
pname = "rust-analyzer-unwrapped";
version = "2023-04-17";
cargoSha256 = "sha256-vO7ay79PkSYjovzi/hqkS2pMBfMcJLOUZn5eTya7h/U=";
version = "2023-04-24";
cargoSha256 = "sha256-VLN4VNq1ogh0gdeqiFagdFgMOpg28WACHn1hxMYoBjo=";
src = fetchFromGitHub {
owner = "rust-lang";
repo = "rust-analyzer";
rev = version;
sha256 = "sha256-bijdVXzzfVSMHCjRuQ+PysNJt0Ei2mIhs+CPnR6yP4w=";
sha256 = "sha256-Z07/byuJdxLK6E8Yb9qNvUMhUCOWEgYAriojU/wZHu8=";
};
cargoBuildFlags = [ "--bin" "rust-analyzer" "--bin" "rust-analyzer-proc-macro-srv" ];

View File

@ -1,29 +1,29 @@
{ lib
, stdenv
, bc
, bind # host and dig binary
, coreutils # date and timeout binary
, curl
, fetchFromGitHub
, file
, openssl
, makeWrapper
, which
, curl
, bc
, coreutils # date and timeout binary
, bind # host and dig binary
, nmap
, iproute2
, makeWrapper
, netcat-gnu
, nmap
, openssl
, python3
, which
}:
stdenv.mkDerivation rec {
pname = "check_ssl_cert";
version = "2.66.0";
version = "2.68.0";
src = fetchFromGitHub {
owner = "matteocorti";
repo = "check_ssl_cert";
rev = "v${version}";
hash = "sha256-sk0t/oy8YsTcYSMKtSsC3apGp8LNa9AUggHrHKd75pw=";
rev = "refs/tags/v${version}";
hash = "sha256-yigg2C1FkdS/O+GCAkbQhXwARO0583V8MREzVCNsoGA=";
};
nativeBuildInputs = [

View File

@ -2,9 +2,9 @@
{
tlpdb-nix = runCommand "texlive-test-tlpdb-nix" {
tlpdbNix = runCommand "texlive-test-tlpdb-nix" {
nixpkgsTlpdbNix = ../../tools/typesetting/tex/texlive/tlpdb.nix;
tlpdbNix = texlive.tlpdb-nix;
tlpdbNix = texlive.tlpdb.nix;
}
''
mkdir -p "$out"

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "credhub-cli";
version = "2.9.13";
version = "2.9.14";
src = fetchFromGitHub {
owner = "cloudfoundry-incubator";
repo = "credhub-cli";
rev = version;
sha256 = "sha256-6ZTuWlF+yPDfvCLJpfOyRgikCzG1vcMP983/MWZdchM=";
sha256 = "sha256-3RVVbZ3UvtM9JSGbjzC6bLq2DwQAOzF/lMaE74Cft2g=";
};
# these tests require network access that we're not going to give them

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "fluent-bit";
version = "2.1.1";
version = "2.1.2";
src = fetchFromGitHub {
owner = "fluent";
repo = "fluent-bit";
rev = "v${version}";
sha256 = "sha256-l0kl+4ISrfT9rQlvCs3GSJfQAqGwxhYmcqn3USl9Ewo=";
sha256 = "sha256-AdIK1qNM2mUC/dLNN5GqYzi9ulqViqsyyd1mvHRfeIM=";
};
nativeBuildInputs = [ cmake flex bison ];

View File

@ -0,0 +1,28 @@
{ lib, buildNpmPackage, fetchzip }:
buildNpmPackage rec {
pname = "github-copilot-cli";
version = "0.1.33";
src = fetchzip {
url = "https://registry.npmjs.org/@githubnext/${pname}/-/${pname}-${version}.tgz";
hash = "sha256-uTv6Z/AzvINinMiIfaaqRZDCmsAQ7tOE5SpuecpzGug=";
};
npmDepsHash = "sha256-VIg9a63GH246SbmK4Q8CwA2jdaaOwNUXoJkuDVwy5jE=";
postPatch = ''
cp ${./package-lock.json} package-lock.json
'';
dontNpmBuild = true;
meta = with lib; {
description = "A CLI experience for letting GitHub Copilot help you on the command line";
homepage = "https://githubnext.com/projects/copilot-cli/";
license = licenses.free;
maintainers = [ maintainers.malo ];
platforms = platforms.all;
};
}

File diff suppressed because it is too large Load Diff

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "papeer";
version = "0.7.0";
version = "0.7.1";
src = fetchFromGitHub {
owner = "lapwat";
repo = pname;
rev = "v${version}";
hash = "sha256-MhErx/Sjz9DUBZb39pQNVf4V+cRdGxerSOj8alsEaPc=";
hash = "sha256-oXhAiw2oYefmF+a8DqjP2f3AY0+WZ1ZdiNG9bEhSQ84=";
};
vendorHash = "sha256-3QRSdkx9p0H+zPB//bpWCBKKjKjrx0lHMk5lFm+U7pA=";

View File

@ -1,62 +1,46 @@
# Notes on maintaining/upgrading
## Upgrading texlive.bin
## Upgrading `texlive.bin`
texlive contains a few binaries, defined in bin.nix and released once a year.
`texlive` contains a few binaries, defined in `bin.nix` and released once a year.
In order to reduce closure size for users who just need a few of them, we split it into
packages such as core, core-big, xvdi, etc. This requires making assumptions
packages such as `core`, `core-big`, `xdvi`, etc. This requires making assumptions
about dependencies between the projects that may change between releases; if
you upgrade you may have to do some work here.
## Updating the package set
texlive contains several thousand packages from CTAN, defined in pkgs.nix.
`texlive` contains several thousand packages from CTAN, defined in `tlpdb.nix`.
The CTAN mirrors are not version-controlled and continuously moving,
with more than 100 updates per month.
To create a consistent and reproducible package set in nixpkgs, we snapshot CTAN
and generate nix expressions for all packages in texlive at that point.
We mirror CTAN sources of this snapshot on community-operated servers and on IPFS.
To upgrade the package snapshot, follow this process:
### Snapshot sources and texlive package database
Mirror the current CTAN archive to our mirror(s) and IPFS (URLs in `default.nix`).
See https://tug.org/texlive/acquire-mirror.html for instructions.
To create a consistent and reproducible package set in nixpkgs, we generate nix
expressions for all packages in TeX Live at a certain day.
To upgrade the package snapshot, follow this process.
### Upgrade package information from texlive package database
First, edit `default.nix` as follows.
If upgrading to a daily snapshot:
- change `snapshot.year`, `snapshot.month`, `snapshot.day`;
- ensure `urlPrefixes` uses the https://texlive.info/tlnet-archive mirror;
- ensure `texlive.extraVersion` uses the `snapshot` info.
If upgrading to a final release:
- upgrade `texlive.bin` first;
- ensure `urlPrefixes` uses the historic mirrors;
- ensure `texlive.extraVersion` is `"-final"`.
Then upgrade `tlpdb.hash` to match the new hash of `texlive.tlpdb.xz` and run
Update `version` in `default.nix` with the day of the new snapshot, the new TeX
Live year, and the final status of the snapshot. Then update
`texlive.tlpdbxz.hash` to match the new hash of `texlive.tlpdb.xz` and run
```bash
nix-build ../../../../.. -A texlive.tlpdb-nix --no-out-link
nix-build ../../../../.. -A texlive.tlpdb.nix --no-out-link
```
This will download the daily snapshot of the CTAN package database
`texlive.tlpdb.xz` and extract the relevant package info (including version
numbers and sha512 hashes) for the selected upstream distribution. Then replace
`tlpdb.nix` with the generated file.
This will download either the daily or the final snapshot of the TeX Live
package database `texlive.tlpdb.xz` and extract the relevant package info
(including version numbers and sha512 hashes) for the selected upstream
distribution.
The test `pkgs.tests.texlive.tlpdb-nix` verifies that the file `tlpdb.nix`
Finally, replace `tlpdb.nix` with the generated file. Note that if the
`version` info does not match the metadata of `tlpdb.nix` (as found in the
`00texlive.config` package), TeX Live packages will not evaluate.
The test `pkgs.tests.texlive.tlpdbNix` verifies that the file `tlpdb.nix`
in Nixpkgs matches the one that generated from `texlive.tlpdb.xz`.
### Build packages locally and generate fix hashes
@ -81,4 +65,4 @@ mv fixedHashes-new.nix fixedHashes.nix
### Commit changes
Commit the updated `pkgs.nix` and `fixedHashes.nix` to the repository.
Commit the updated `tlpdb.nix` and `fixedHashes.nix` to the repository.

View File

@ -14,7 +14,7 @@
let
withSystemLibs = map (libname: "--with-system-${libname}");
year = "2022";
year = toString ((import ./tlpdb.nix)."00texlive.config").year;
version = year; # keep names simple for now
common = {

View File

@ -10,8 +10,8 @@ let
pkgSet = removeAttrs args [ "pkgFilter" "extraName" "extraVersion" ] // {
# include a fake "core" package
core.pkgs = [
(bin.core.out // { pname = "core"; version = "0"; tlType = "bin"; })
(bin.core.doc // { pname = "core"; version = "0"; tlType = "doc"; })
(bin.core.out // { pname = "core"; tlType = "bin"; })
(bin.core.doc // { pname = "core"; tlType = "doc"; })
];
};
pkgList = rec {

View File

@ -28,9 +28,13 @@ let
ghostscript = ghostscript_headless;
};
tlpdb = import ./tlpdb.nix;
tlpdbVersion = tlpdb."00texlive.config";
# the set of TeX Live packages, collections, and schemes; using upstream naming
tl = let
orig = import ./tlpdb.nix;
orig = removeAttrs tlpdb [ "00texlive.config" ];
overridden = orig // {
# overrides of texlive.tlpdb
@ -56,10 +60,12 @@ let
};
texdoc = orig.texdoc // {
version = orig.texdoc.version + "-tlpdb-" + (toString tlpdbVersion.revision);
# build Data.tlpdb.lua (part of the 'tlType == "run"' package)
postUnpack = ''
if [[ -f "$out"/scripts/texdoc/texdoc.tlu ]]; then
unxz --stdout "${tlpdb}" > texlive.tlpdb
unxz --stdout "${tlpdbxz}" > texlive.tlpdb
# create dummy doc file to ensure that texdoc does not return an error
mkdir -p support/texdoc
@ -109,11 +115,15 @@ let
( bin.${pname} // { tlType = "bin"; } );
};
# for daily snapshots
snapshot = {
year = "2022";
month = "12";
day = "27";
version = {
# day of the snapshot being taken
year = "2023";
month = "03";
day = "19";
# TeX Live version
texliveYear = 2022;
# final (historic) release or snapshot
final = true;
};
# The tarballs on CTAN mirrors for the current release are constantly
@ -121,27 +131,30 @@ let
# need to be used instead. Ideally, for the release branches of NixOS we
# should be switching to the tlnet-final versions
# (https://tug.org/historic/).
urlPrefixes = [
# tlnet-final snapshot
"http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${bin.texliveYear}/tlnet-final/archive"
"ftp://tug.org/texlive/historic/${bin.texliveYear}/tlnet-final/archive"
# Daily snapshots hosted by one of the texlive release managers
#"https://texlive.info/tlnet-archive/${snapshot.year}/${snapshot.month}/${snapshot.day}/tlnet/archive"
urlPrefixes = with version; lib.optionals final [
# tlnet-final snapshot; used when texlive.tlpdb is frozen
# the TeX Live yearly freeze typically happens in mid-March
"http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${toString texliveYear}/tlnet-final"
"ftp://tug.org/texlive/historic/${toString texliveYear}/tlnet-final"
] ++ [
# daily snapshots hosted by one of the texlive release managers;
# used for non-final snapshots and as fallback for final snapshots that have not reached yet the historic mirrors
# please note that this server is not meant for large scale deployment and should be avoided on release branches
# https://tug.org/pipermail/tex-live/2019-November/044456.html
"https://texlive.info/tlnet-archive/${year}/${month}/${day}/tlnet"
];
tlpdb = fetchurl {
# use the same mirror(s) as urlPrefixes above
urls = map (up: "${up}/../tlpkg/texlive.tlpdb.xz") urlPrefixes;
tlpdbxz = fetchurl {
urls = map (up: "${up}/tlpkg/texlive.tlpdb.xz") urlPrefixes;
hash = "sha256-vm7DmkH/h183pN+qt1p1wZ6peT2TcMk/ae0nCXsCoMw=";
};
tlpdb-nix = runCommand "tlpdb.nix" {
inherit tlpdb;
tlpdbNix = runCommand "tlpdb.nix" {
inherit tlpdbxz;
tl2nix = ./tl2nix.sed;
}
''
xzcat "$tlpdb" | sed -rn -f "$tl2nix" | uniq > "$out"
xzcat "$tlpdbxz" | sed -rn -f "$tl2nix" | uniq > "$out"
'';
# create a derivation that contains an unpacked upstream TL package
@ -153,7 +166,7 @@ let
fixedHash = fixedHashes.${tlName} or null; # be graceful about missing hashes
urls = args.urls or (if args ? url then [ args.url ] else
map (up: "${up}/${urlName}.r${toString revision}.tar.xz") (args.urlPrefixes or urlPrefixes));
map (up: "${up}/archive/${urlName}.r${toString revision}.tar.xz") (args.urlPrefixes or urlPrefixes));
in runCommand "texlive-${tlName}"
( {
@ -198,9 +211,21 @@ let
operator = { pkg, ... }: pkgListToSets (pkg.tlDeps or []);
});
assertions =
lib.assertMsg (tlpdbVersion.year == version.texliveYear) "TeX Live year in texlive does not match tlpdb.nix, refusing to evaluate" &&
lib.assertMsg (tlpdbVersion.frozen == version.final) "TeX Live final status in texlive does not match tlpdb.nix, refusing to evaluate";
in
tl // {
inherit bin combine tlpdb-nix;
tlpdb = {
# nested in an attribute set to prevent them from appearing in search
nix = tlpdbNix;
xz = tlpdbxz;
};
bin = assert assertions; bin;
combine = assert assertions; combine;
# Pre-defined combined packages for TeX Live schemes,
# to make nix-env usage more comfortable and build selected on Hydra.
@ -215,8 +240,7 @@ in
(combine {
${pname} = attrs;
extraName = "combined" + lib.removePrefix "scheme" pname;
#extraVersion = "-final";
extraVersion = ".${snapshot.year}${snapshot.month}${snapshot.day}";
extraVersion = with version; if final then "-final" else ".${year}${month}${day}";
})
)
{ inherit (tl)

View File

@ -797,8 +797,8 @@
"texdiff.doc-0.4"="0f7q7cszy6ca6fmwzi7fn6p72szgzyj9fldvzz1rk3ywkhsnpakr";
"texdirflatten-1.3"="0q2m138gpk9cvfp19jvsw746mkxa613c2204qfxw1bxw8b454d7m";
"texdirflatten.doc-1.3"="19iiznql82a34d2yhzqcp339zszbhfz9fh0h4mb11696mj8rx3v7";
"texdoc-4.0.1"="1ph4mzrlri8daxg7j4n15s3b9dj58ni4fdqhpvqxwy6736fiw130";
"texdoc.doc-4.0.1"="1dpz5ni9xdbwfy4m12j3v407ywbddmy3j2dhzwrdsyj7wq3impmg";
"texdoc-4.0.1-tlpdb-66590"="1ph4mzrlri8daxg7j4n15s3b9dj58ni4fdqhpvqxwy6736fiw130";
"texdoc.doc-4.0.1-tlpdb-66590"="1dpz5ni9xdbwfy4m12j3v407ywbddmy3j2dhzwrdsyj7wq3impmg";
"texdoctk-0.6.0"="13j0c5m12if8jx8sp7hlirz33y6l2jk8lvnms7dalz52mxz8kq4h";
"texdoctk.doc-0.6.0"="1k41z2lbfjsar5rl47xnk1adbcnnb4w97bzbgf2rnjhimd1gn9hq";
"texfot-1.48"="19aswiyr722n9misvg9ajdsgpn1ghmic2xfmr4w0w00sai5sh5rx";

View File

@ -2,6 +2,17 @@
1i{ # no indentation
$a}
# extract repository metadata
/^name 00texlive\.config$/,/^$/{
s/^name (.*)$/"\1" = {/p
/^$/,1i};
s!^depend frozen/0$! frozen = false;!p
s!^depend frozen/1$! frozen = true;!p
s!^depend release/(.*)$! year = \1;!p
s!^depend revision/(.*)$! revision = \1;!p
}
# form an attrmap per package
# ignore packages whose name contains "." (such as binaries)
/^name ([^.]+)$/,/^$/{

View File

@ -1,4 +1,9 @@
{ # no indentation
"00texlive.config" = {
frozen = true;
year = 2022;
revision = 66590;
};
"12many" = {
revision = 15878;
stripPrefix = 0;

View File

@ -1520,6 +1520,8 @@ with pkgs;
gen6dns = callPackage ../tools/networking/gen6dns { };
github-copilot-cli = callPackage ../tools/misc/github-copilot-cli { };
gfshare = callPackage ../tools/security/gfshare { };
gh-actions-cache = callPackage ../tools/misc/gh-actions-cache { };
@ -17555,6 +17557,8 @@ with pkgs;
bam = callPackage ../development/tools/build-managers/bam { };
bandit = with python3Packages; toPythonApplication bandit;
bazel = bazel_6;
bazel_4 = callPackage ../development/tools/build-managers/bazel/bazel_4 {