Skip to content

Commit

Permalink
Merge master into staging-next
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions[bot] authored Dec 13, 2024
2 parents 38e8dde + 035264b commit 2ec3c7e
Show file tree
Hide file tree
Showing 45 changed files with 566 additions and 7,524 deletions.
5 changes: 5 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,11 @@
github = "sledgehammervampire";
githubId = 47207223;
};
_13621 = {
name = "13621";
github = "13621";
githubId = 109436855;
};
_13r0ck = {
name = "Brock Szuszczewicz";
email = "[email protected]";
Expand Down
1 change: 1 addition & 0 deletions maintainers/team-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -457,6 +457,7 @@ with lib.maintainers;
aleksana
dawidd6
getchoo
michaelgrahamevans
];
scope = "Maintain GNOME Circle applications.";
shortName = "GNOME Circle";
Expand Down
1 change: 1 addition & 0 deletions nixos/doc/manual/installation/installing.chapter.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ To begin the installation, you have to boot your computer from the install drive

::: {.note}
If your computer supports both BIOS and UEFI boot, choose the UEFI option.
You will likely need to disable "Secure Boot" to use the UEFI option. The exact steps vary by device manufacturer but generally "Secure Boot" will be listed under "Boot", "Security" or "Advanced" in the BIOS/UEFI menu.
:::

::: {.note}
Expand Down
5 changes: 3 additions & 2 deletions nixos/modules/services/web-apps/bookstack.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ with lib;

let
cfg = config.services.bookstack;
bookstack = pkgs.bookstack.override {
bookstack = cfg.package.override {
dataDir = cfg.dataDir;
};
db = cfg.database;
Expand Down Expand Up @@ -33,9 +33,10 @@ in {
];

options.services.bookstack = {

enable = mkEnableOption "BookStack";

package = mkPackageOption pkgs "bookstack" { };

user = mkOption {
default = "bookstack";
description = "User bookstack runs as.";
Expand Down
1 change: 1 addition & 0 deletions nixos/tests/all-tests.nix
Original file line number Diff line number Diff line change
Expand Up @@ -926,6 +926,7 @@ in {
seatd = handleTest ./seatd.nix {};
send = runTest ./send.nix;
service-runner = handleTest ./service-runner.nix {};
shadps4 = runTest ./shadps4.nix;
sftpgo = runTest ./sftpgo.nix;
sfxr-qt = handleTest ./sfxr-qt.nix {};
sgt-puzzles = handleTest ./sgt-puzzles.nix {};
Expand Down
141 changes: 141 additions & 0 deletions nixos/tests/shadps4.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
{ pkgs, lib, ... }:
{
name = "shadps4-openorbis-example";
meta = {
inherit (pkgs.shadps4.meta) maintainers;
platforms = lib.intersectLists lib.platforms.linux pkgs.shadps4.meta.platforms;
};

nodes.machine =
{ config, pkgs, ... }:
{
imports = [ ./common/x11.nix ];

environment = {
# Samples from the OpenOrbis PS4 homebrew toolchain, gpl3Only
etc."openorbis-sample-packages".source =
let
sample-packages = pkgs.fetchurl {
url = "https://github.com/OpenOrbis/OpenOrbis-PS4-Toolchain/releases/download/v0.5.2/sample-packages.zip";
hash = "sha256-aWocIVpyMivA1vsUe9w97J3eMFANyXxyVLBxHGXIcEA=";
};
in
pkgs.runCommand "OpenOrbis-PNG-Sample"
{
nativeBuildInputs = with pkgs; [ unzip ];
meta.license = lib.licenses.gpl3Only;
}
''
unzip ${sample-packages} samples/IV0000-BREW00086_00-IPNGDRAWEX000000.pkg
mkdir $out
mv samples/IV0000-BREW00086_00-IPNGDRAWEX000000.pkg $out/OpenOrbis-PNG-Sample.pkg
'';

systemPackages = with pkgs; [
imagemagick # looking for colour on screen
shadps4
xdotool # move mouse
];

variables = {
# Emulated CPU doesn't support invariant TSC
TRACY_NO_INVARIANT_CHECK = "1";
};
};
};

enableOCR = true;

testScript = ''
from collections.abc import Callable
import tempfile
import subprocess
selectionColor: str = "#2A82DA"
openorbisColor: str = "#336081"
# Based on terminal-emulators.nix' check_for_pink
def check_for_color(color: str) -> Callable[[bool], bool]:
def check_for_color_retry(final=False) -> bool:
with tempfile.NamedTemporaryFile() as tmpin:
machine.send_monitor_command("screendump {}".format(tmpin.name))
cmd = 'convert {} -define histogram:unique-colors=true -format "%c" histogram:info:'.format(
tmpin.name
)
ret = subprocess.run(cmd, shell=True, capture_output=True)
if ret.returncode != 0:
raise Exception(
"image analysis failed with exit code {}".format(ret.returncode)
)
text = ret.stdout.decode("utf-8")
return color in text
return check_for_color_retry
machine.wait_for_x()
with subtest("starting shadps4 works"):
machine.succeed("shadps4 >&2 &")
machine.wait_for_text("Directory to install games")
machine.screenshot("0001-shadps4-dir-setup-prompt")
machine.send_chars("/root\n")
machine.wait_for_text("Game List")
# Make it fullscreen, so mouse coords are simpler & content isn't cut off
machine.send_key("alt-f10")
# Should now see the rest too
machine.wait_for_text("Play Time")
machine.screenshot("0002-shadps4-started")
with subtest("installing example works"):
machine.succeed("xdotool mousemove 20 30 click 1") # click on "File"
machine.wait_for_text("Install Packages")
machine.send_key("down")
machine.send_key("ret")
# Pick the PNG sample (hello world runs too, but text-only output is currently broken)
machine.wait_for_text("Look in")
machine.send_chars("/etc/openorbis-sample-packages/OpenOrbis-PNG-Sample.pkg\n")
# Install to default dir
machine.wait_for_text("which directory")
machine.send_key("ret")
# Wait for installation getting done & return to main window
machine.wait_for_text("successfully installed")
machine.send_key("ret")
# Sample should now be listed
machine.wait_for_text("OpenOrbis PNG Sample")
machine.screenshot("0003-shadps4-sample-installed")
with subtest("emulation works-ish"):
# Ensure that selection colours isn't present already
assert (
check_for_color(selectionColor)(True) == False
), "selectionColor {} was present on the screen before we selected anything!".format(selectionColor)
# Select first installed app
machine.succeed("xdotool mousemove 20 150 click 1")
# Waiting for selection to be confirmed
with machine.nested("Waiting for the screen to have selectionColor {} on it:".format(selectionColor)):
retry(check_for_color(selectionColor))
# Ensure that chosen openorbis logo colour isn't present already
assert (
check_for_color(openorbisColor)(True) == False
), "openorbisColor {} was present on the screen before we selected anything!".format(openorbisColor)
# Click launch button
machine.succeed("xdotool mousemove 40 60 click 1")
machine.wait_for_console_text("Entering draw loop...")
# Look for logo
with machine.nested("Waiting for the screen to have openorbisColor {} on it:".format(openorbisColor)):
retry(check_for_color(openorbisColor))
machine.screenshot("0004-shadps4-sample-running")
'';
}
5 changes: 3 additions & 2 deletions pkgs/by-name/ca/calibre/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@

stdenv.mkDerivation (finalAttrs: {
pname = "calibre";
version = "7.21.0";
version = "7.22.0";

src = fetchurl {
url = "https://download.calibre-ebook.com/${finalAttrs.version}/calibre-${finalAttrs.version}.tar.xz";
hash = "sha256-61Nbclkt59sh8VHh3uRw0GvlDjlyOz1jrsFMMIuzPLE=";
hash = "sha256-RmCte6tok0F/ts5cacAFBksNYfnLylY4JCmTyb+6IUk=";
};

patches = [
Expand Down Expand Up @@ -117,6 +117,7 @@ stdenv.mkDerivation (finalAttrs: {
netifaces
pillow
pychm
pykakasi
pyqt-builder
pyqt6
python
Expand Down
1 change: 1 addition & 0 deletions pkgs/by-name/ca/cardimpose/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ python3Packages }: python3Packages.toPythonApplication python3Packages.cardimpose
6 changes: 3 additions & 3 deletions pkgs/by-name/ch/chess-clock/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,11 @@ stdenv.mkDerivation rec {
))
];

meta = with lib; {
meta = {
description = "Time games of over-the-board chess";
homepage = "https://gitlab.gnome.org/World/chess-clock";
license = licenses.gpl3Plus;
license = lib.licenses.gpl3Plus;
mainProgram = "chess-clock";
maintainers = with maintainers; [ michaelgrahamevans ] ++ lib.teams.gnome-circle.members;
maintainers = lib.teams.gnome-circle.members;
};
}
6 changes: 3 additions & 3 deletions pkgs/by-name/cl/clairvoyant/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ stdenv.mkDerivation (finalAttrs: {
libportal
];

meta = with lib; {
meta = {
changelog = "https://github.com/cassidyjames/clairvoyant/releases/tag/${finalAttrs.version}";
description = "Ask questions, get psychic answers";
homepage = "https://github.com/cassidyjames/clairvoyant";
license = licenses.gpl3Plus;
license = lib.licenses.gpl3Plus;
mainProgram = "com.github.cassidyjames.clairvoyant";
maintainers = with maintainers; [ michaelgrahamevans ] ++ lib.teams.gnome-circle.members;
maintainers = lib.teams.gnome-circle.members;
};
})
6 changes: 3 additions & 3 deletions pkgs/by-name/cr/croc/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@

buildGoModule rec {
pname = "croc";
version = "10.1.1";
version = "10.1.3";

src = fetchFromGitHub {
owner = "schollz";
repo = pname;
rev = "v${version}";
hash = "sha256-+60s0NMSXRUlYDdoxPeEZYx1EMfMODNA/A7rkje5x7o=";
hash = "sha256-Zem1m2VU0Uc7TkG+BuHcW4hwWHB6FU9e905ZUjjwpK4=";
};

vendorHash = "sha256-/cTYfGpGbtPvIwriqemDatcMf+cP76eD6OV0oGQenAk=";
vendorHash = "sha256-lGKuJocZDYj4NSaf1Q0+tQ4ORZEpsdwpuztXPDCfPIA=";

subPackages = [ "." ];

Expand Down
8 changes: 4 additions & 4 deletions pkgs/by-name/fo/forge-sparks/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,13 @@ stdenv.mkDerivation (finalAttrs: {
libsoup_3
];

meta = with lib; {
meta = {
changelog = "https://github.com/rafaelmardojai/forge-sparks/releases/tag/${finalAttrs.version}";
description = "Get Git forges notifications";
homepage = "https://github.com/rafaelmardojai/forge-sparks";
license = licenses.mit;
license = lib.licenses.mit;
mainProgram = "forge-sparks";
maintainers = with maintainers; [ michaelgrahamevans ] ++ lib.teams.gnome-circle.members;
platforms = platforms.linux;
maintainers = lib.teams.gnome-circle.members;
platforms = lib.platforms.linux;
};
})
8 changes: 4 additions & 4 deletions pkgs/by-name/fr/fretboard/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,14 @@ stdenv.mkDerivation (finalAttrs: {
]
);

meta = with lib; {
meta = {
changelog = "https://github.com/bragefuglseth/fretboard/releases/tag/v${finalAttrs.version}";
description = "Look up guitar chords";
homepage = "https://apps.gnome.org/Fretboard/";
license = licenses.gpl3Plus;
license = lib.licenses.gpl3Plus;
mainProgram = "fretboard";
maintainers = with maintainers; [ michaelgrahamevans ] ++ lib.teams.gnome-circle.members;
platforms = platforms.unix;
maintainers = lib.teams.gnome-circle.members;
platforms = lib.platforms.unix;
broken = stdenv.hostPlatform.isDarwin;
};
})
15 changes: 6 additions & 9 deletions pkgs/by-name/is/isabelle/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,11 @@ let
hash = "sha256-DB/ETVZhbT82IMZA97TmHG6gJcGpFavxDKDTwPzIF80=";
};

buildPhase = (if stdenv.hostPlatform.isDarwin then ''
LDFLAGS="-dynamic -undefined dynamic_lookup -lSystem"
'' else ''
LDFLAGS="-fPIC -shared"
'') + ''
buildPhase = ''
CFLAGS="-fPIC -I."
LDFLAGS="-fPIC -shared"
$CC $CFLAGS -c sha1.c -o sha1.o
$LD $LDFLAGS sha1.o -o libsha1.so
$CC $LDFLAGS sha1.o -o libsha1.so
'';

installPhase = ''
Expand Down Expand Up @@ -73,8 +70,9 @@ in stdenv.mkDerivation (finalAttrs: rec {

nativeBuildInputs = [ java ];

buildInputs = [ polyml veriT vampire eprover-ho nettools ]
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ java procps ];
buildInputs = [ polyml veriT vampire eprover-ho nettools ];

propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ procps ];

sourceRoot = "${dirname}${lib.optionalString stdenv.hostPlatform.isDarwin ".app"}";

Expand Down Expand Up @@ -221,7 +219,6 @@ in stdenv.mkDerivation (finalAttrs: rec {
license = licenses.bsd3;
maintainers = [ maintainers.jwiegley maintainers.jvanbruegge ];
platforms = platforms.unix;
broken = stdenv.hostPlatform.isDarwin;
};

passthru.withComponents = f:
Expand Down
43 changes: 43 additions & 0 deletions pkgs/by-name/ks/ks/ks-completion.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#!/usr/bin/env bash

_ks_completions() {
local cur prev commands secrets
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
commands="add show cp rm ls rand init help version"

case "$prev" in
ks)
# Provide top-level command suggestions
COMPREPLY=($(compgen -W "$commands" -- "$cur"))
return 0
;;
show|cp|rm)
# Provide dynamic completion for secrets
if secrets=$(ks ls 2>/dev/null); then
COMPREPLY=($(compgen -W "$secrets" -- "$cur"))
fi
return 0
;;
add)
# For `ks add`, suggest options for adding secrets
COMPREPLY=($(compgen -W "-n" -- "$cur"))
return 0
;;
rand)
# No specific completions for `ks rand`
return 0
;;
esac

case "${COMP_WORDS[1]}" in
ls|init|help|version)
# No additional completions for these commands
return 0
;;
esac
}

# Register the completion function for the `ks` command
complete -F _ks_completions ks
Loading

0 comments on commit 2ec3c7e

Please sign in to comment.