Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2024-02-05 06:01:29 +00:00 committed by GitHub
commit e961538e53
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
43 changed files with 824 additions and 681 deletions

View File

@ -14631,6 +14631,11 @@
github = "pennae";
githubId = 82953136;
};
peret = {
name = "Peter Retzlaff";
github = "peret";
githubId = 617977;
};
periklis = {
email = "theopompos@gmail.com";
github = "periklis";

View File

@ -20,10 +20,11 @@ let
mkBot = n: c:
format.generate "${n}.json" (c.settings // {
SteamLogin = if c.username == "" then n else c.username;
Enabled = c.enabled;
} // lib.optionalAttrs (c.passwordFile != null) {
SteamPassword = c.passwordFile;
# sets the password format to file (https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Security#file)
PasswordFormat = 4;
Enabled = c.enabled;
});
in
{
@ -127,8 +128,12 @@ in
default = "";
};
passwordFile = lib.mkOption {
type = lib.types.path;
description = lib.mdDoc "Path to a file containing the password. The file must be readable by the `archisteamfarm` user/group.";
type = with lib.types; nullOr path;
default = null;
description = lib.mdDoc ''
Path to a file containing the password. The file must be readable by the `archisteamfarm` user/group.
Omit or set to null to provide the password a different way, such as through the web-ui.
'';
};
enabled = lib.mkOption {
type = lib.types.bool;

View File

@ -934,6 +934,7 @@ in {
upnp.nftables = handleTest ./upnp.nix { useNftables = true; };
uptermd = handleTest ./uptermd.nix {};
uptime-kuma = handleTest ./uptime-kuma.nix {};
urn-timer = handleTest ./urn-timer.nix {};
usbguard = handleTest ./usbguard.nix {};
user-activation-scripts = handleTest ./user-activation-scripts.nix {};
user-expiry = runTest ./user-expiry.nix;

26
nixos/tests/urn-timer.nix Normal file
View File

@ -0,0 +1,26 @@
import ./make-test-python.nix ({ pkgs, ... }: {
name = "urn-timer";
meta = with pkgs.lib.maintainers; {
maintainers = [ fgaz ];
};
nodes.machine = { config, pkgs, ... }: {
imports = [
./common/x11.nix
];
services.xserver.enable = true;
environment.systemPackages = [ pkgs.urn-timer ];
};
enableOCR = true;
testScript =
''
machine.wait_for_x()
machine.execute("urn-gtk ${pkgs.urn-timer.src}/splits_examples/sotn.json >&2 &")
machine.wait_for_window("urn")
machine.wait_for_text(r"(Mist|Bat|Reverse|Dracula)")
machine.screenshot("screen")
'';
})

View File

@ -3850,8 +3850,8 @@ let
mktplcRef = {
name = "vscode-gradle";
publisher = "vscjava";
version = "3.12.6";
sha256 = "sha256-j4JyhNGsRlJmS8Wj38gLpC1gXVvdPx10cgzP8dXmmNo=";
version = "3.13.2024011802";
sha256 = "sha256-TCYGL2GZCb1UFvJEoACPHg+DxTmDu0E8lvyNiy95bRw=";
};
meta = {
@ -3868,8 +3868,8 @@ let
mktplcRef = {
name = "vscode-java-debug";
publisher = "vscjava";
version = "0.49.2023032407";
sha256 = "sha256-ZxJ6BM3rt98HPSyL0hDiyCGIBS7YtF/OuzlTvw7Bp1w=";
version = "0.55.2023121302";
sha256 = "sha256-8kwV5LsAoad+16/PAVFqF5Nh6TbrLezuRS+buh/wFFo=";
};
meta = {
license = lib.licenses.mit;
@ -3880,8 +3880,8 @@ let
mktplcRef = {
name = "vscode-java-dependency";
publisher = "vscjava";
version = "0.21.2023032400";
sha256 = "sha256-lG04Yu8exMcMvupqasUrbZS4CkSggQeJKtkm9iyKL5U=";
version = "0.23.2024010506";
sha256 = "sha256-kP5NTj1gGSNRiiT6cgBLsgUhBmBEULQGm7bqebRH+/w=";
};
meta = {
license = lib.licenses.mit;
@ -3892,8 +3892,8 @@ let
mktplcRef = {
name = "vscode-java-test";
publisher = "vscjava";
version = "0.38.2023032402";
sha256 = "sha256-4WKsw+iuONaGQRMNN2TGd3zIYonHgOzvNleVhCyYFes=";
version = "0.40.2024011806";
sha256 = "sha256-ynl+94g34UdVFpl+q1XOFOLfNsz/HMOWeudL8VNG2bo=";
};
meta = {
license = lib.licenses.mit;
@ -3904,8 +3904,8 @@ let
mktplcRef = {
name = "vscode-maven";
publisher = "vscjava";
version = "0.41.2023032403";
sha256 = "sha256-VeN4q6pEaLPQVYleLCDkDCv2Gr8QdHVPjpwSuo3mBuE=";
version = "0.43.2024011905";
sha256 = "sha256-75pttt0nCuZNP+1e9lmsAqLSDHdca3o+K1E5h0Y9u0I=";
};
meta = {
license = lib.licenses.mit;
@ -3916,8 +3916,8 @@ let
mktplcRef = {
name = "vscode-spring-initializr";
publisher = "vscjava";
version = "0.11.2023031603";
sha256 = "sha256-MSyVLSjaiH+FaeGn/5Y+IWRJmNpAx3UPGpY4VmsiCD8=";
version = "0.11.2023070103";
sha256 = "sha256-EwUwMCaaW9vhrW3wl0Q7T25Ysm0c35ZNOkJ+mnRXA8Y=";
};
meta = {
license = lib.licenses.mit;

View File

@ -1,18 +0,0 @@
diff -wbBur rdanbrook-nestopia-f1dde9b/Makefile rdanbrook-nestopia-f1dde9b.my/Makefile
--- rdanbrook-nestopia-f1dde9b/Makefile 2013-01-20 20:10:25.000000000 +0400
+++ rdanbrook-nestopia-f1dde9b.my/Makefile 2013-01-21 15:18:54.727577673 +0400
@@ -197,11 +197,11 @@
install -m 0644 NstDatabase.xml $(DATADIR)
install -m 0644 source/unix/icons/*.png $(DATADIR)/icons
install -m 0644 source/unix/icons/*.svg $(DATADIR)/icons
- install -m 0644 source/unix/icons/nestopia.svg $(PREFIX)/share/pixmaps
- xdg-desktop-menu install --novendor $(DATADIR)/nestopia.desktop
+ install -m 0644 source/unix/icons/nestopia.svg $(PREFIX)/share/pixmaps/nestopia.svg
+ install -Dm0644 $(DATADIR)/nestopia.desktop $(PREFIX)/share/applications/nestopia.desktop
uninstall:
- xdg-desktop-menu uninstall $(DATADIR)/nestopia.desktop
+ rm $(PREFIX)/share/applications/nestopia.desktop
rm $(PREFIX)/share/pixmaps/nestopia.svg
rm $(BINDIR)/$(BIN)
rm -rf $(DATADIR)

View File

@ -1,73 +0,0 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, SDL2, alsa-lib, gtk3
, makeWrapper, libGLU, libGL, libarchive, libao, unzip, xdg-utils
, libepoxy, gdk-pixbuf, gnome, wrapGAppsHook
}:
stdenv.mkDerivation rec {
version = "1.47";
pname = "nestopia";
src = fetchFromGitHub {
owner = "rdanbrook";
repo = "nestopia";
rev = version;
sha256 = "0frr0gvjh5mxzdhj0ii3sh671slgnzlm8naqlc4h87rx4p4sz2y2";
};
# nondeterministic failures when creating directories
enableParallelBuilding = false;
hardeningDisable = [ "format" ];
buildInputs = [
SDL2
alsa-lib
libepoxy
gtk3
gdk-pixbuf
libGLU libGL
libarchive
libao
xdg-utils
gnome.adwaita-icon-theme
];
nativeBuildInputs = [
pkg-config
makeWrapper
wrapGAppsHook
unzip
];
installPhase = ''
mkdir -p $out/{bin,share/nestopia}
make install PREFIX=$out
'';
preFixup = ''
for f in $out/bin/*; do
wrapProgram $f \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
done
'';
patches = [
#(fetchpatch {
# url = "https://github.com/rdanbrook/nestopia/commit/f4bc74ac4954328b25e961e7afb7337377084079.patch";
# name = "gcc6.patch";
# sha256 = "1jy0c85xsfk9hrv5a6v0kk48d94864qb62yyni9fp93kyl33y2p4";
#})
./gcc6.patch
./build-fix.patch
];
meta = {
homepage = "http://0ldsk00l.ca/nestopia/";
description = "NES emulator with a focus on accuracy";
license = lib.licenses.gpl2;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ MP2E ];
mainProgram = "nestopia";
};
}

View File

@ -1,92 +0,0 @@
From f4bc74ac4954328b25e961e7afb7337377084079 Mon Sep 17 00:00:00 2001
From: David Seifert <soap@gentoo.org>
Date: Sat, 31 Dec 2016 18:21:18 +0200
Subject: [PATCH] Fix compiling in C++14 mode
* Left shifting a negative signed is undefined behaviour
* Fix incorrect printf() specifiers found with -Wformat
---
source/core/NstCore.hpp | 4 ++--
source/unix/gtkui/gtkui.cpp | 2 +-
source/unix/gtkui/gtkui.h | 1 -
source/unix/gtkui/gtkui_cheats.cpp | 8 ++++----
source/unix/video.cpp | 2 +-
5 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/source/core/NstCore.hpp b/source/core/NstCore.hpp
index 50e20f6..420cc4a 100644
--- a/source/core/NstCore.hpp
+++ b/source/core/NstCore.hpp
@@ -279,14 +279,14 @@ namespace Nes
template<typename T>
inline long signed_shl(T v,uint c)
{
- enum {NATIVE = T(-7) << 1 == -14};
+ enum {NATIVE = -(T(7) << 1) == -14};
return Helper::ShiftSigned<T,NATIVE>::Left( v, c );
}
template<typename T>
inline long signed_shr(T v,uint c)
{
- enum {NATIVE = T(-7) >> 1 == -4 || T(-7) >> 1 == -3};
+ enum {NATIVE = -(T(7) >> 1) == -4 || -(T(7) >> 1) == -3};
return Helper::ShiftSigned<T,NATIVE>::Right( v, c );
}
diff --git a/source/unix/gtkui/gtkui.cpp b/source/unix/gtkui/gtkui.cpp
index 3cfeeab..d4a5e2d 100644
--- a/source/unix/gtkui/gtkui.cpp
+++ b/source/unix/gtkui/gtkui.cpp
@@ -438,7 +438,7 @@ void gtkui_message(const char* message) {
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_OK,
- message);
+ "%s", message);
gtk_dialog_run(GTK_DIALOG(messagewindow));
gtk_widget_destroy(messagewindow);
}
diff --git a/source/unix/gtkui/gtkui_cheats.cpp b/source/unix/gtkui/gtkui_cheats.cpp
index afc01b0..e7b691a 100644
--- a/source/unix/gtkui/gtkui_cheats.cpp
+++ b/source/unix/gtkui/gtkui_cheats.cpp
@@ -373,7 +373,7 @@ void gtkui_cheats_fill_tree(char *filename) {
else if (node.GetChild(L"address")) { // Raw
char rawbuf[11];
snprintf(rawbuf, sizeof(rawbuf),
- "%04x %02x %02x",
+ "%04lu %02lu %02lu",
node.GetChild(L"address").GetUnsignedValue(),
node.GetChild(L"value").GetUnsignedValue(),
node.GetChild(L"compare").GetUnsignedValue());
@@ -545,13 +545,13 @@ gboolean gtkui_cheats_scan_list(GtkTreeModel *model, GtkTreePath *path, GtkTreeI
int addr, value, compare;
char buf[5];
- snprintf(buf, sizeof(buf), "%c%c%c%c\0", rawcode[0], rawcode[1], rawcode[2], rawcode[3]);
+ snprintf(buf, sizeof(buf), "%c%c%c%c", rawcode[0], rawcode[1], rawcode[2], rawcode[3]);
sscanf(buf, "%x", &addr);
- snprintf(buf, sizeof(buf), "%c%c\0", rawcode[5], rawcode[6]);
+ snprintf(buf, sizeof(buf), "%c%c", rawcode[5], rawcode[6]);
sscanf(buf, "%x", &value);
- snprintf(buf, sizeof(buf), "%c%c\0", rawcode[8], rawcode[9]);
+ snprintf(buf, sizeof(buf), "%c%c", rawcode[8], rawcode[9]);
sscanf(buf, "%x", &compare);
code.address = addr;
diff --git a/source/unix/video.cpp b/source/unix/video.cpp
index 3eff19d..c34bb22 100644
--- a/source/unix/video.cpp
+++ b/source/unix/video.cpp
@@ -757,7 +757,7 @@ void video_screenshot(const char* filename) {
if (filename == NULL) {
// Set the filename
char sshotpath[512];
- snprintf(sshotpath, sizeof(sshotpath), "%sscreenshots/%s-%d-%d.png", nstpaths.nstdir, nstpaths.gamename, time(NULL), rand() % 899 + 100);
+ snprintf(sshotpath, sizeof(sshotpath), "%sscreenshots/%s-%ld-%d.png", nstpaths.nstdir, nstpaths.gamename, time(NULL), rand() % 899 + 100);
// Save the file
lodepng_encode32_file(sshotpath, (const unsigned char*)pixels, rendersize.w, rendersize.h);

View File

@ -1,5 +1,6 @@
{ lib
, stdenv
, gcc12Stdenv
, alsa-lib
, boost
, bzip2
@ -44,17 +45,33 @@
let
hashesFile = lib.importJSON ./hashes.json;
getCoreSrc = core:
fetchFromGitHub (builtins.getAttr core hashesFile);
getCore = repo: (lib.getAttr repo hashesFile);
getCoreSrc = repo:
(lib.pipe repo [
getCore
(x: builtins.removeAttrs x [ "date" ])
fetchFromGitHub
]);
getCoreDate = repo: (getCore repo).date or "unstable-1970-01-01";
mkLibretroCore =
# Sometimes core name != repo name, so you may need to set them differently
# when necessary:
# - core: used by the resulting core library name, e.g.:
# `${core}_libretro.so`. Needs to match their respectful core info file
# (see https://github.com/libretro/libretro-core-info/)
# - repo: the repository name on GitHub
# See `update_cores.py` for instruction on how to add a new core.
{ core
, src ? (getCoreSrc core)
, version ? "unstable-2023-09-24"
, repo ? core
, src ? (getCoreSrc repo)
, version ? (getCoreDate repo)
, ...
}@args:
import ./mkLibretroCore.nix ({
inherit lib stdenv core src version makeWrapper retroarch zlib;
inherit lib stdenv core repo src version makeWrapper retroarch zlib;
} // args);
in
{
@ -72,7 +89,7 @@ in
beetle-gba = mkLibretroCore {
core = "mednafen-gba";
src = getCoreSrc "beetle-gba";
repo = "beetle-gba";
makefile = "Makefile";
meta = {
description = "Port of Mednafen's GameBoy Advance core to libretro";
@ -82,7 +99,7 @@ in
beetle-lynx = mkLibretroCore {
core = "mednafen-lynx";
src = getCoreSrc "beetle-lynx";
repo = "beetle-lynx";
makefile = "Makefile";
meta = {
description = "Port of Mednafen's Lynx core to libretro";
@ -92,7 +109,7 @@ in
beetle-ngp = mkLibretroCore {
core = "mednafen-ngp";
src = getCoreSrc "beetle-ngp";
repo = "beetle-ngp";
makefile = "Makefile";
meta = {
description = "Port of Mednafen's NeoGeo Pocket core to libretro";
@ -102,7 +119,7 @@ in
beetle-pce = mkLibretroCore {
core = "mednafen-pce";
src = getCoreSrc "beetle-pce";
repo = "beetle-pce";
makefile = "Makefile";
meta = {
description = "Port of Mednafen's PC Engine core to libretro";
@ -112,7 +129,7 @@ in
beetle-pce-fast = mkLibretroCore {
core = "mednafen-pce-fast";
src = getCoreSrc "beetle-pce-fast";
repo = "beetle-pce-fast";
makefile = "Makefile";
meta = {
description = "Port of Mednafen's PC Engine fast core to libretro";
@ -122,7 +139,7 @@ in
beetle-pcfx = mkLibretroCore {
core = "mednafen-pcfx";
src = getCoreSrc "beetle-pcfx";
repo = "beetle-pcfx";
makefile = "Makefile";
meta = {
description = "Port of Mednafen's PCFX core to libretro";
@ -132,7 +149,7 @@ in
beetle-psx = mkLibretroCore {
core = "mednafen-psx";
src = getCoreSrc "beetle-psx";
repo = "beetle-psx";
makefile = "Makefile";
makeFlags = [ "HAVE_HW=0" "HAVE_LIGHTREC=1" ];
meta = {
@ -143,7 +160,7 @@ in
beetle-psx-hw = mkLibretroCore {
core = "mednafen-psx-hw";
src = getCoreSrc "beetle-psx";
repo = "beetle-psx";
extraBuildInputs = [ libGL libGLU ];
makefile = "Makefile";
makeFlags = [ "HAVE_VULKAN=1" "HAVE_OPENGL=1" "HAVE_HW=1" "HAVE_LIGHTREC=1" ];
@ -155,7 +172,7 @@ in
beetle-saturn = mkLibretroCore {
core = "mednafen-saturn";
src = getCoreSrc "beetle-saturn";
repo = "beetle-saturn";
makefile = "Makefile";
meta = {
description = "Port of Mednafen's Saturn core to libretro";
@ -166,7 +183,7 @@ in
beetle-supafaust = mkLibretroCore {
core = "mednafen-supafaust";
src = getCoreSrc "beetle-supafaust";
repo = "beetle-supafaust";
makefile = "Makefile";
meta = {
description = "Port of Mednafen's experimental snes_faust core to libretro";
@ -176,7 +193,7 @@ in
beetle-supergrafx = mkLibretroCore {
core = "mednafen-supergrafx";
src = getCoreSrc "beetle-supergrafx";
repo = "beetle-supergrafx";
makefile = "Makefile";
meta = {
description = "Port of Mednafen's SuperGrafx core to libretro";
@ -186,7 +203,7 @@ in
beetle-vb = mkLibretroCore {
core = "mednafen-vb";
src = getCoreSrc "beetle-vb";
repo = "beetle-vb";
makefile = "Makefile";
meta = {
description = "Port of Mednafen's VirtualBoy core to libretro";
@ -196,7 +213,7 @@ in
beetle-wswan = mkLibretroCore {
core = "mednafen-wswan";
src = getCoreSrc "beetle-wswan";
repo = "beetle-wswan";
makefile = "Makefile";
meta = {
description = "Port of Mednafen's WonderSwan core to libretro";
@ -232,7 +249,7 @@ in
bsnes-hd = mkLibretroCore {
core = "bsnes-hd-beta";
src = getCoreSrc "bsnes-hd";
repo = "bsnes-hd";
makefile = "GNUmakefile";
makeFlags =
let
@ -256,7 +273,7 @@ in
bsnes-mercury = mkLibretroCore {
core = "bsnes-mercury-accuracy";
src = getCoreSrc "bsnes-mercury";
repo = "bsnes-mercury";
makefile = "Makefile";
makeFlags = [ "PROFILE=accuracy" ];
meta = {
@ -267,7 +284,7 @@ in
bsnes-mercury-balanced = mkLibretroCore {
core = "bsnes-mercury-balanced";
src = getCoreSrc "bsnes-mercury";
repo = "bsnes-mercury";
makefile = "Makefile";
makeFlags = [ "PROFILE=balanced" ];
meta = {
@ -278,7 +295,7 @@ in
bsnes-mercury-performance = mkLibretroCore {
core = "bsnes-mercury-performance";
src = getCoreSrc "bsnes-mercury";
repo = "bsnes-mercury";
makefile = "Makefile";
makeFlags = [ "PROFILE=performance" ];
meta = {
@ -287,15 +304,21 @@ in
};
};
citra = mkLibretroCore {
citra = mkLibretroCore rec {
core = "citra";
extraBuildInputs = [ libGLU libGL boost ffmpeg nasm ];
makefile = "Makefile";
makeFlags = [
"HAVE_FFMPEG_STATIC=0"
# https://github.com/libretro/citra/blob/1a66174355b5ed948de48ef13c0ed508b6d6169f/Makefile#L90
# https://github.com/libretro/citra/blob/1a66174355b5ed948de48ef13c0ed508b6d6169f/Makefile#L87-L90
"GIT_REV=${(getCoreSrc core).rev}"
"GIT_DESC=${lib.substring 0 8 (getCoreSrc core).rev}"
"GIT_BRANCH=master"
"BUILD_DATE=01/01/1970_00:00"
];
# FIXME: build fail with GCC13:
# error: 'mic_device_name' has incomplete type
stdenv = gcc12Stdenv;
meta = {
description = "Port of Citra to libretro";
license = lib.licenses.gpl2Plus;
@ -377,7 +400,7 @@ in
eightyone = mkLibretroCore {
core = "81";
src = getCoreSrc "eightyone";
repo = "eightyone";
meta = {
description = "Port of EightyOne to libretro";
license = lib.licenses.gpl3Only;
@ -571,7 +594,8 @@ in
extraNativeBuildInputs = [ python3 ];
extraBuildInputs = [ alsa-lib ];
makefile = "Makefile";
enableParallelBuilding = false;
# Build failures when this is set to a bigger number
NIX_BUILD_CORES = 8;
meta = {
description = "Port of MAME ~2015 to libretro, compatible with MAME 0.160 sets";
# MAME license, non-commercial clause
@ -585,7 +609,10 @@ in
extraNativeBuildInputs = [ python3 ];
extraBuildInputs = [ alsa-lib ];
makeFlags = [ "PYTHON_EXECUTABLE=python3" ];
enableParallelBuilding = false;
# Build failures when this is set to a bigger number
NIX_BUILD_CORES = 8;
# Fix build errors in GCC13
NIX_CFLAGS_COMPILE = "-Wno-error -fpermissive";
meta = {
description = "Port of MAME ~2016 to libretro, compatible with MAME 0.174 sets";
license = with lib.licenses; [ bsd3 gpl2Plus ];
@ -652,7 +679,7 @@ in
mupen64plus = mkLibretroCore {
core = "mupen64plus-next";
src = getCoreSrc "mupen64plus";
repo = "mupen64plus";
extraBuildInputs = [ libGLU libGL libpng nasm xorg.libX11 ];
makefile = "Makefile";
makeFlags = [
@ -662,11 +689,6 @@ in
"LLE=1"
"WITH_DYNAREC=${stdenv.hostPlatform.parsed.cpu.name}"
];
# This CXXFLAGS hack works around the GCC 13 error:
# 'uint32_t' was not declared in this scope
# It can be removed if the issue filed upstream is resolved:
# https://github.com/libretro/mupen64plus-libretro-nx/issues/515
env.CXXFLAGS = "-include cstdint";
meta = {
description = "Libretro port of Mupen64 Plus, GL only";
license = lib.licenses.gpl3Only;
@ -703,11 +725,10 @@ in
np2kai = mkLibretroCore rec {
core = "np2kai";
src = getCoreSrc core;
makeFlags = [
# See https://github.com/AZO234/NP2kai/tags
"NP2KAI_VERSION=rev.22"
"NP2KAI_HASH=${src.rev}"
"NP2KAI_HASH=${(getCoreSrc core).rev}"
];
preBuild = "cd sdl";
meta = {
@ -773,18 +794,18 @@ in
xxd
];
makefile = "Makefile";
cmakeFlags = [
"-DLIBRETRO=ON"
];
cmakeFlags = [ "-DLIBRETRO=ON" ];
# remove ccache
postPatch = ''
# remove ccache
substituteInPlace CMakeLists.txt --replace "ccache" ""
'';
postBuild = "cd pcsx2";
# causes redefinition of _FORTIFY_SOURCE
hardeningDisable = [ "fortify3" ];
postBuild = "cd pcsx2";
# FIXME: multiple build errors with GCC13.
# Unlikely to be fixed until we switch to libretro/pcsx2 that is a more
# up-to-date port (but still WIP).
stdenv = gcc12Stdenv;
meta = {
description = "Port of PCSX2 to libretro";
license = lib.licenses.gpl3Plus;
@ -818,6 +839,9 @@ in
makefile = "Makefile";
cmakeFlags = [ "-DBUILD_PLAY=OFF" "-DBUILD_LIBRETRO_CORE=ON" ];
postBuild = "cd Source/ui_libretro";
# FIXME: workaround the following GCC 13 error:
# error: 'printf' was not declared in this scop
CXXFLAGS = "-include cstdio";
meta = {
description = "Port of Play! to libretro";
license = lib.licenses.bsd2;
@ -894,6 +918,9 @@ in
core = "same_cdi";
extraNativeBuildInputs = [ python3 ];
extraBuildInputs = [ alsa-lib libGLU libGL portaudio xorg.libX11 ];
# FIXME: build fail with GCC13:
# error: 'uint8_t' in namespace 'std' does not name a type; did you mean 'wint_t'?
stdenv = gcc12Stdenv;
meta = {
description = "SAME_CDI is a libretro core to play CD-i games";
license = with lib.licenses; [ bsd3 gpl2Plus ];
@ -913,7 +940,7 @@ in
smsplus-gx = mkLibretroCore {
core = "smsplus";
src = getCoreSrc "smsplus-gx";
repo = "smsplus-gx";
meta = {
description = "SMS Plus GX libretro port";
license = lib.licenses.gpl2Plus;
@ -953,7 +980,7 @@ in
snes9x2005-plus = mkLibretroCore {
core = "snes9x2005-plus";
src = getCoreSrc "snes9x2005";
repo = "snes9x2005";
makefile = "Makefile";
makeFlags = [ "USE_BLARGG_APU=1" ];
meta = {
@ -1055,7 +1082,7 @@ in
vba-m = mkLibretroCore {
core = "vbam";
src = getCoreSrc "vba-m";
repo = "vba-m";
makefile = "Makefile";
preBuild = "cd src/libretro";
meta = {

View File

@ -12,6 +12,7 @@
, flac
, freetype
, gamemode
, gitUpdater
, libdrm
, libGL
, libGLU
@ -46,12 +47,12 @@ let
in
stdenv.mkDerivation rec {
pname = "retroarch-bare";
version = "1.16.0.3";
version = "1.17.0";
src = fetchFromGitHub {
owner = "libretro";
repo = "RetroArch";
hash = "sha256-BT+LzRDoQF03aNT2Kg7YaSWhK74CvOOiHUeHDtFpe9s=";
hash = "sha256-8Y8ZYZFNK7zk0bQRiWwoQbu6q3r25bN3EvLOA3kIxdU=";
rev = "v${version}";
};
@ -122,7 +123,12 @@ stdenv.mkDerivation rec {
rm $out/share/man/man6/retroarch-cg2glsl.6*
'';
passthru.tests = nixosTests.retroarch;
passthru = {
tests = nixosTests.retroarch;
updateScript = gitUpdater {
rev-prefix = "v";
};
};
meta = with lib; {
homepage = "https://libretro.com";

View File

@ -3,536 +3,624 @@
"owner": "libretro",
"repo": "libretro-2048",
"rev": "331c1de588ed8f8c370dcbc488e5434a3c09f0f2",
"hash": "sha256-gPrAmoBnfuTnW6t699pqS43vE6t0ca3jZcqTNRaJipA="
"hash": "sha256-gPrAmoBnfuTnW6t699pqS43vE6t0ca3jZcqTNRaJipA=",
"date": "unstable-2023-02-20"
},
"atari800": {
"owner": "libretro",
"repo": "libretro-atari800",
"rev": "20d59afb3f19065749549732f20845c3be82e68c",
"hash": "sha256-5cxBubhw60Jmp1p5TQ/L6RLaLANctG0TdpzGnpCadIM="
"rev": "410d7bf0c215f3444793a9cec51c129e7b67c400",
"hash": "sha256-mUhAraZrmElB6rxQziQG6I2sCdkiX5wYBJhkZgpMSa0=",
"date": "unstable-2023-11-14"
},
"beetle-gba": {
"owner": "libretro",
"repo": "beetle-gba-libretro",
"rev": "38182572571a48cb58057cde64b915237c4e2d58",
"hash": "sha256-4xnXWswozlcXBNI1lbGSNW/gAdIeLLO9Bf1SxOFLhSo="
"hash": "sha256-4xnXWswozlcXBNI1lbGSNW/gAdIeLLO9Bf1SxOFLhSo=",
"date": "unstable-2021-09-18"
},
"beetle-lynx": {
"owner": "libretro",
"repo": "beetle-lynx-libretro",
"rev": "fab3ac02d5622eb53a707bd392cc037282e9d8b4",
"hash": "sha256-+MKH8LmqDqznDIca/Q129zIXYI23V7s38sCD6rKiZlk="
"rev": "48909ddd1aba4de034d9c1da70c460b1724daa3b",
"hash": "sha256-aAS9N54kA2st1+3BodiXDR4sbUDSvoFHpa28D9sohx4=",
"date": "unstable-2023-11-01"
},
"beetle-ngp": {
"owner": "libretro",
"repo": "beetle-ngp-libretro",
"rev": "65460e3a9ad529f6901caf669abbda11f437ab55",
"hash": "sha256-+xfD1ZMKtbv5Lp12+5RM7Vl3eEF38kykKW8wj/2EN5w="
"rev": "673c3d924ff33d71c6a342b170eff5359244df1f",
"hash": "sha256-V3zcbEwqay3eXwXzXZkmHj3+rx9KY4r0WkzAYFZXlgY=",
"date": "unstable-2023-11-01"
},
"beetle-pce": {
"owner": "libretro",
"repo": "beetle-pce-libretro",
"rev": "541463bd937dad175aec09c2a0c8d6a52d175386",
"hash": "sha256-wWS9reb6aN71Q7OlGst+32T8XX1yMCSOHUKHkXht3hg="
"rev": "e8870b170ad4135bf5738c7206d7a27488d388ab",
"hash": "sha256-c+LsfuX/3HxJTaIlZeGkGif+D1c7OpIhRUVbWuT8Kc0=",
"date": "unstable-2024-02-02"
},
"beetle-pce-fast": {
"owner": "libretro",
"repo": "beetle-pce-fast-libretro",
"rev": "f2ff19e56fb33361793f9fdaf44c1ea28bce1da3",
"hash": "sha256-w7weSz8HR4YNPiBPqa81s3/8b9oFijr6DxNeQ/+I9OE="
"rev": "cfb9362fd0de38141d40266725829f25f574162a",
"hash": "sha256-D/qAFFKe0mI/W4RnLwcB5lpwI+AlPjTfyo0SH6IZZkU=",
"date": "unstable-2024-02-02"
},
"beetle-pcfx": {
"owner": "libretro",
"repo": "beetle-pcfx-libretro",
"rev": "47c355b6a515aef6dc57f57df1535570108a0e21",
"hash": "sha256-ylFo/wmLQpQGYSrv9PF2DBmr/8rklmHF9R+3y8v93Rs="
"hash": "sha256-ylFo/wmLQpQGYSrv9PF2DBmr/8rklmHF9R+3y8v93Rs=",
"date": "unstable-2023-05-28"
},
"beetle-psx": {
"owner": "libretro",
"repo": "beetle-psx-libretro",
"rev": "f256cc3dc3ec2f6017f7088f056996f8f155db64",
"hash": "sha256-McMV5p1qEvqkeTjqOaD+xHNRQly+CNen9YUJxqLpJzk="
"rev": "fb579de80d7b9ca09940602c14e657f6317dd046",
"hash": "sha256-NRnznhvmgOQdNuEYyi0HIeVPzPz7ILEQ3vsYTZY8AbE=",
"date": "unstable-2024-02-02"
},
"beetle-saturn": {
"owner": "libretro",
"repo": "beetle-saturn-libretro",
"rev": "cd395e9e3ee407608450ebc565e871b24e7ffed6",
"hash": "sha256-EIZRv1EydfLWFoBb8TzvAY3kkL9Qr2OrwrljOnnM92A="
"hash": "sha256-EIZRv1EydfLWFoBb8TzvAY3kkL9Qr2OrwrljOnnM92A=",
"date": "unstable-2023-05-28"
},
"beetle-supafaust": {
"owner": "libretro",
"repo": "supafaust",
"rev": "6b639c98372d1c9bac885c55d772c812d2a9d525",
"hash": "sha256-EVXwjrxooZm1JqG4HswUe8zwN81Rm7SPB5Fr4WfpTnc="
"hash": "sha256-EVXwjrxooZm1JqG4HswUe8zwN81Rm7SPB5Fr4WfpTnc=",
"date": "unstable-2023-06-19"
},
"beetle-supergrafx": {
"owner": "libretro",
"repo": "beetle-supergrafx-libretro",
"rev": "56261ccd56f576a42a2d22190c09eb326a4331da",
"hash": "sha256-aoEq4o9uZIAsjQQsN+tJNhOuFA9SNb7RKIUwqUGPhJQ="
"rev": "d24d383f88ff892e9f8dce7c1f3ce491f2f7731a",
"hash": "sha256-Cbol57jpDpkMnfKCULw6DgJwcnfTNexZ1hSw817z+E8=",
"date": "unstable-2024-02-02"
},
"beetle-vb": {
"owner": "libretro",
"repo": "beetle-vb-libretro",
"rev": "732a8f701e671bf032165730fdf8bd96fb5ca7bb",
"hash": "sha256-M19+ZidqqDdohuAVPxGVFQDQqoMl2QYM+K1WToqeOWM="
"rev": "9d1bd03f21dac7897f65269e1095496331efce8b",
"hash": "sha256-CT6CfRe8TOgXuJoUA0TKl71m10XeocUCTUjh88eCenU=",
"date": "unstable-2023-11-01"
},
"beetle-wswan": {
"owner": "libretro",
"repo": "beetle-wswan-libretro",
"rev": "a0ddcd3f084f5b4eb06acb6e03b8c4707a2f6123",
"hash": "sha256-FJfznSo/3YKecVSU9mZW6yzd4/8vf2qrX4xhWjptd+A="
"rev": "32bf70a3032a138baa969c22445f4b7821632c30",
"hash": "sha256-dDph7LNlvzVMVTzkUfGErMEb/tALpCADgTjnzjUHYJU=",
"date": "unstable-2023-11-01"
},
"blastem": {
"owner": "libretro",
"repo": "blastem",
"rev": "277e4a62668597d4f59cadda1cbafb844f981d45",
"hash": "sha256-EHvKElPw8V5Z6LnMaQXBCdM4niLIlF3aBm8dRbeYXHs="
"hash": "sha256-EHvKElPw8V5Z6LnMaQXBCdM4niLIlF3aBm8dRbeYXHs=",
"date": "unstable-2022-07-26"
},
"bluemsx": {
"owner": "libretro",
"repo": "bluemsx-libretro",
"rev": "e21bf74bddb79ad1bbe20b4d964e7515269c669b",
"hash": "sha256-U58zJd7txOyd9jymVmogQMIH5Av2kjO5MOn49T2FmqQ="
"rev": "e8a4280bcbd149d1e020adcd9469ad9d8bd67412",
"hash": "sha256-uh4lMOCN1WXKVJybFkkGxIRWAlde74yPH5eaB1/1qsk=",
"date": "unstable-2023-11-10"
},
"bsnes": {
"owner": "libretro",
"repo": "bsnes-libretro",
"rev": "3fe4f9049f99ac71d038b3cb684ebfc8e6cef15a",
"hash": "sha256-fUcJQGkLGTgxEGwWVoZ4Hys9kOKAft7CDTTdQ8j4+Do="
"rev": "dda5b43ed6a552310528509af59bed26af2527f5",
"hash": "sha256-7AXHq6ASQ+42yef/jQ74kZtpW9SUuXpmWZbtO84/COg=",
"date": "unstable-2024-02-02"
},
"bsnes-hd": {
"owner": "DerKoun",
"repo": "bsnes-hd",
"rev": "f46b6d6368ea93943a30b5d4e79e8ed51c2da5e8",
"hash": "sha256-Y3FhGtcz7BzwUSBy1SGMuylJdZti/JB8qQnabIkG/dI="
"hash": "sha256-Y3FhGtcz7BzwUSBy1SGMuylJdZti/JB8qQnabIkG/dI=",
"date": "unstable-2023-04-26"
},
"bsnes-mercury": {
"owner": "libretro",
"repo": "bsnes-mercury",
"rev": "fb9a41fe9bc230a07c4506cad3cbf21d3fa635b4",
"hash": "sha256-gBOxKSv3j229IVdtffqFV/zSSacEs8UsBERnQgdFw4Y="
"rev": "60c204ca17941704110885a815a65c740572326f",
"hash": "sha256-eJ0lac1I7E4YdsVVrIuXx31UL9w3OR6QTVHq5YBgnJU=",
"date": "unstable-2023-11-01"
},
"citra": {
"owner": "libretro",
"repo": "citra",
"rev": "d7e1612c17b1acb5d5eb68bb046820db49aeea5e",
"rev": "2d67658e85de4767c0eefeb2829d710401c5c802",
"hash": "sha256-u2XwAudFgI7j/k6Bq5fk874aI6KpZawlBoIs2+M+eZY=",
"fetchSubmodules": true
"fetchSubmodules": true,
"date": "unstable-2024-01-24"
},
"desmume": {
"owner": "libretro",
"repo": "desmume",
"rev": "cf0fcc6ea4a85b7491bdf9adc7bf09748b4be7da",
"hash": "sha256-ne4Tu8U/WSB4vlwBQMK7Ss3UEpDxsOFltpMk2hIx23M="
"rev": "b518fec54b79f2f71a7536715efcdcd7f60638a8",
"hash": "sha256-X6ZL+XdsrdPoOU5zqNsUraMrlPU/HmKWUolrWjFcbDQ=",
"date": "unstable-2024-01-11"
},
"desmume2015": {
"owner": "libretro",
"repo": "desmume2015",
"rev": "af397ff3d1f208c27f3922cc8f2b8e08884ba893",
"hash": "sha256-kEb+og4g7rJvCinBZKcb42geZO6W8ynGsTG9yqYgI+U="
"hash": "sha256-kEb+og4g7rJvCinBZKcb42geZO6W8ynGsTG9yqYgI+U=",
"date": "unstable-2022-04-05"
},
"dolphin": {
"owner": "libretro",
"repo": "dolphin",
"rev": "2f4b0f7902257d40a054f60b2c670d6e314f2a04",
"hash": "sha256-9WYWbLehExYbPmGJpguhVFXqFJ9aR6VxzFVChd4QOEg="
"hash": "sha256-9WYWbLehExYbPmGJpguhVFXqFJ9aR6VxzFVChd4QOEg=",
"date": "unstable-2022-12-17"
},
"dosbox": {
"owner": "libretro",
"repo": "dosbox-libretro",
"rev": "b7b24262c282c0caef2368c87323ff8c381b3102",
"hash": "sha256-PG2eElenlEpu0U/NIh53p0uLqewnEdaq6Aoak5E1P3I="
"hash": "sha256-PG2eElenlEpu0U/NIh53p0uLqewnEdaq6Aoak5E1P3I=",
"date": "unstable-2022-07-18"
},
"dosbox-pure": {
"owner": "schellingb",
"repo": "dosbox-pure",
"rev": "e8396b8564ed88d87702ee40b935dec6384c0e5a",
"hash": "sha256-rD7b1uX/Wsu2ik06IiHKbUHT05IllCoBcPMN9OJ0+X4="
"rev": "87bf6365158325b76ff238c1ad8daf16a859bbe8",
"hash": "sha256-IU5AnOEuwZm/bJ9NuxhTQ8Tb5ngmjysLj/om/6P730s=",
"date": "unstable-2023-12-29"
},
"eightyone": {
"owner": "libretro",
"repo": "81-libretro",
"rev": "6d1b4d26aa9870133616fcfb5a763ca138ae25d1",
"hash": "sha256-KCtJvYWcS3DjAZfyP4sG496X9fOHji/ZwpjiZD0OFDY="
"rev": "525d5c18f1ff3fc54c37e083a475225d9179d59d",
"hash": "sha256-H0w9hcAUVOGr0PtNLVdFQScxd3ildZZ68w+TL7vG4jk=",
"date": "unstable-2023-11-01"
},
"fbalpha2012": {
"owner": "libretro",
"repo": "fbalpha2012",
"rev": "7f8860543a81ba79c0e1ce1aa219af44568c628a",
"hash": "sha256-r1lH+CR+nVRCPkVo0XwLi35/ven/FEkNhWUTA6cUVxc="
"rev": "b7ac554c53561d41640372f23dab15cd6fc4f0c4",
"hash": "sha256-BaeMLej2MLc4uipqTD2z2sHUeOsc50Q1c+PEiPD1cks=",
"date": "unstable-2023-11-01"
},
"fbneo": {
"owner": "libretro",
"repo": "fbneo",
"rev": "9e22c4c7ac42d5f1e5ffacdecb26acae60c663eb",
"hash": "sha256-obzPz5lPqcQzLbB7cFGI50W1rFnF8tqZkpocETSAH0Q="
"rev": "e8cd9f81bc974f7427d9cff9ffc1d2f3a8d15f1f",
"hash": "sha256-XR/pLOvQ8L2dLguC1I2C7z8FoBid6oFSudnQNY3ub7c=",
"date": "unstable-2024-01-30"
},
"fceumm": {
"owner": "libretro",
"repo": "libretro-fceumm",
"rev": "7fad08e5522e5396a1196055fc106be9b5d5de77",
"hash": "sha256-XHutsAc2PD8INP2u8WTmr2+rxuklXjBruH/mNl5Ro34="
"rev": "63643ba02c8eaea15dbe167ef907f3da7a3e6fd7",
"hash": "sha256-xy8hzZ7nt2hHjRJmsty/w/cPzEtdlSkmNAsog3+h5YU=",
"date": "unstable-2024-01-25"
},
"flycast": {
"owner": "flyinghead",
"repo": "flycast",
"rev": "39a212140a159e7e7a183a40a201863c0560a945",
"hash": "sha256-lvagJRedkh9m48yHo7ErsIyW9W2QXs6wnEjSgtrHE74=",
"fetchSubmodules": true
"rev": "c146a92f83ae2cba8df8970e21efc54301b9ade1",
"hash": "sha256-+ZED9pLfPr4uNNMNTmsrQWUgbKLW3DnPBdniwQ1fr9U=",
"fetchSubmodules": true,
"date": "unstable-2024-02-03"
},
"fmsx": {
"owner": "libretro",
"repo": "fmsx-libretro",
"rev": "1806eed4376fbe2fad82fa19271ea298cfbb7795",
"hash": "sha256-nX0H/+iEq7eBN4tm1+dT6/3BYLCpoyiE/L6waDPmUZI="
"hash": "sha256-nX0H/+iEq7eBN4tm1+dT6/3BYLCpoyiE/L6waDPmUZI=",
"date": "unstable-2023-04-17"
},
"freeintv": {
"owner": "libretro",
"repo": "freeintv",
"rev": "85bf25a39a34bbc39fe36677175d87c2b597dbe7",
"hash": "sha256-4cU/YRZZb7EWNBJX8M91Lb+bCCIlks6xX2Cf6Iq/g9g="
"hash": "sha256-4cU/YRZZb7EWNBJX8M91Lb+bCCIlks6xX2Cf6Iq/g9g=",
"date": "unstable-2023-04-17"
},
"fuse": {
"owner": "libretro",
"repo": "fuse-libretro",
"rev": "847dbbd6f787823ac9a5dfacdd68ab181063374e",
"hash": "sha256-jzS7SFALV/YjI77ST+IWHwUsuhT+Zr5w4t6C7O8yzFM="
"hash": "sha256-jzS7SFALV/YjI77ST+IWHwUsuhT+Zr5w4t6C7O8yzFM=",
"date": "unstable-2023-06-23"
},
"gambatte": {
"owner": "libretro",
"repo": "gambatte-libretro",
"rev": "64561b7e1b21dfa42eecb94963c1c495ba332466",
"hash": "sha256-BRh357MGHlglGSs48LhhRNTTyAUD9O0QmGeqLnyYap0="
"rev": "c9a07107f121498a158762116d47d7068a247d3c",
"hash": "sha256-U4FR794/hB3tHsdbtnC7qL0qr1oi1ZF4PYFTu+sVMVI=",
"date": "unstable-2024-02-02"
},
"genesis-plus-gx": {
"owner": "libretro",
"repo": "Genesis-Plus-GX",
"rev": "141257e1e2104c4e4a49dc771d9f3c06e00292ec",
"hash": "sha256-voNDwfwBIzuq9peNJ2CtF6UBnaJCDpiWmqPgtrPZplU="
"rev": "59cdc560e21eeddfa4d5a5c935413cdaa9d660f3",
"hash": "sha256-FB0znNFG6T67V63jm7WprhGRw9rHNJgH4SZ/BtgAyFg=",
"date": "unstable-2024-02-02"
},
"gpsp": {
"owner": "libretro",
"repo": "gpsp",
"rev": "c0d8ffaa384f724e1a0743e18cb042c29dd48f7f",
"hash": "sha256-KKO0bBV+5+8UcSspZHfinntp/mxukcf6/P4kIi6doUs="
"rev": "9fc117ef5c719047818513c7e394c24371cb1dbd",
"hash": "sha256-6dPuj+uzqSYA2+Jm+G3u0HEeBFW2i+KmWd3PYbSxBu8=",
"date": "unstable-2024-01-15"
},
"gw": {
"owner": "libretro",
"repo": "gw-libretro",
"rev": "0ecff52b11c327af52b22ea94b268c90472b6732",
"hash": "sha256-N/nZoo+duk7XhRtNdV1paWzxYUhv8nLUcnnOs2gbZuQ="
"hash": "sha256-N/nZoo+duk7XhRtNdV1paWzxYUhv8nLUcnnOs2gbZuQ=",
"date": "unstable-2023-05-28"
},
"handy": {
"owner": "libretro",
"repo": "libretro-handy",
"rev": "0559d3397f689ea453b986311aeac8dbd33afb0b",
"hash": "sha256-Nsp0jiOLWjTGJRURkwx8mj7bBG8nM5fRqE93Lo9n4ac="
"rev": "65d6b865544cd441ef2bd18cde7bd834c23d0e48",
"hash": "sha256-F4WyiZBNTh8hjuCooZXQkzov0vcHNni6d5mbAMgzAiA=",
"date": "unstable-2024-01-01"
},
"hatari": {
"owner": "libretro",
"repo": "hatari",
"rev": "d0903a9447323e647ed9756238ba1550cac92940",
"hash": "sha256-kSdK7rkORgTkMg8kL56pNb+wU+m2413shEt7UQ9SCjM="
"rev": "a4c9eb0bb79e47a2870c12b04566c1f8d25e4bf3",
"hash": "sha256-mHz2nB9Vr/PVifd6w+kz7ZCH+N8igmcS8InvevZoSpE=",
"date": "unstable-2023-09-29"
},
"mame": {
"owner": "libretro",
"repo": "mame",
"rev": "3d612fb19eb95c0ae322c3cab343857b14a65a9c",
"hash": "sha256-ibd8HEKQJo7hrhzqYDu6LzMmIFncXCafod9VXBx9OU0="
"rev": "68520cf9defd1c2762bca7f266f13ad593b7b3f3",
"hash": "sha256-moYxyoa6QUCvxVPTr4NpRiEC+7bPETohVSYu4EYegFA=",
"date": "unstable-2024-01-03"
},
"mame2000": {
"owner": "libretro",
"repo": "mame2000-libretro",
"rev": "720b8ad4cbd76abd57b9aeced9ba541dc8476f7f",
"hash": "sha256-3HnDsZQRjp7PqUdYTAEGsroP1paoTAcTBb1fd7/LBJA="
"rev": "1472da3a39ab14fff8325b1f51a1dfdb8eabb5c8",
"hash": "sha256-Nd5OqkoMJZ8TzEZGqDT0YX6lHK/H3I5EqJ841PteLi8=",
"date": "unstable-2023-10-31"
},
"mame2003": {
"owner": "libretro",
"repo": "mame2003-libretro",
"rev": "105ca02fb85e92b9dd5d6ee43f7152d1199eb149",
"hash": "sha256-zYv3OIgapglsyjWs69IhSJGVQ7CkviKJjKnVom5f9/c="
"rev": "be247427a8a68f8401ce40c830e2d8767d000f84",
"hash": "sha256-ZQ0DWok6EmVEDOhcN7LsK5T4XXHpH9Cyd22KP/UjMok=",
"date": "unstable-2023-11-22"
},
"mame2003-plus": {
"owner": "libretro",
"repo": "mame2003-plus-libretro",
"rev": "a1ff7485de011926ab21309ad1766f9cad3af58e",
"hash": "sha256-Amp+Fcl2dWS1qDMaa/QL0X5loXRYmnByUjUzliQmLvY="
"rev": "53c6083a2044c3529a436b51c5206cd9a896d12c",
"hash": "sha256-k4jl3cN18HQya3F4DXHN/Hoq7UXKVmJg5Lgp08n6M/M=",
"date": "unstable-2024-02-03"
},
"mame2010": {
"owner": "libretro",
"repo": "mame2010-libretro",
"rev": "5f524dd5fca63ec1dcf5cca63885286109937587",
"hash": "sha256-OmJgDdlan/niGQfajv0KNG8NJfEKn7Nfe6GRQD+TZ8M="
"hash": "sha256-OmJgDdlan/niGQfajv0KNG8NJfEKn7Nfe6GRQD+TZ8M=",
"date": "unstable-2022-06-14"
},
"mame2015": {
"owner": "libretro",
"repo": "mame2015-libretro",
"rev": "2599c8aeaf84f62fe16ea00daa460a19298c121c",
"hash": "sha256-TURTX0XrvqwqKG3O3aCttDAdicBdge5F1thVvYgEHaw="
"rev": "316cd06349f2b34b4719f04f7c0d07569a74c764",
"hash": "sha256-CBN04Jf26SIk8mKWlui5spQGokBvgFUCvFiC8NoBGw0=",
"date": "unstable-2023-11-01"
},
"mame2016": {
"owner": "libretro",
"repo": "mame2016-libretro",
"rev": "01058613a0109424c4e7211e49ed83ac950d3993",
"hash": "sha256-IsM7f/zlzvomVOYlinJVqZllUhDfy4NNTeTPtNmdVak="
"hash": "sha256-IsM7f/zlzvomVOYlinJVqZllUhDfy4NNTeTPtNmdVak=",
"date": "unstable-2022-04-06"
},
"melonds": {
"owner": "libretro",
"repo": "melonds",
"rev": "c6488c88cb4c7583dbcd61609e0eef441572fae8",
"hash": "sha256-kU0xPM6WBqK6UpMNMotHc3jRFTodahPJRrfbcjdCJTI="
"hash": "sha256-kU0xPM6WBqK6UpMNMotHc3jRFTodahPJRrfbcjdCJTI=",
"date": "unstable-2023-04-13"
},
"mesen": {
"owner": "libretro",
"repo": "mesen",
"rev": "d25d60fc190f3f7603a1113ef1e11d9da65b7583",
"hash": "sha256-C/05mkPHJ8Bsj+uZOqY6rhMc0qx33kSxAT5SNDUPRUU="
"rev": "d6f2f1797694f87e698c737b068f621889e96fa9",
"hash": "sha256-iLX9UvrjYjGjyaLD4sC10gntWUvgZrwiUqTS7S7YDdc=",
"date": "unstable-2024-01-30"
},
"mesen-s": {
"owner": "libretro",
"repo": "mesen-s",
"rev": "32a7adfb4edb029324253cb3632dfc6599ad1aa8",
"hash": "sha256-/OOMH7kt9Pmkdmy5m+I8FMvog5mqZHyrZvfjHccz8oo="
"hash": "sha256-/OOMH7kt9Pmkdmy5m+I8FMvog5mqZHyrZvfjHccz8oo=",
"date": "unstable-2022-07-25"
},
"meteor": {
"owner": "libretro",
"repo": "meteor-libretro",
"rev": "e533d300d0561564451bde55a2b73119c768453c",
"hash": "sha256-zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ="
"hash": "sha256-zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ=",
"date": "unstable-2020-12-28"
},
"mgba": {
"owner": "libretro",
"repo": "mgba",
"rev": "314bf7b676f5b820f396209eb0c7d6fbe8103486",
"hash": "sha256-Rk+glDgSa1J1IIe5NrJElX9zr59+LQynfDXuHWyZcEM="
"hash": "sha256-Rk+glDgSa1J1IIe5NrJElX9zr59+LQynfDXuHWyZcEM=",
"date": "unstable-2023-05-28"
},
"mrboom": {
"owner": "Javanaise",
"repo": "mrboom-libretro",
"rev": "c4ec620424fe79f0d6db719d73628f23ae285ada",
"hash": "sha256-twocTyayV79a4757Yfoz/P3wnQPgiwsbrBbLmT4EZKQ=",
"fetchSubmodules": true
"fetchSubmodules": true,
"date": "unstable-2024-01-23"
},
"mupen64plus": {
"owner": "libretro",
"repo": "mupen64plus-libretro-nx",
"rev": "26fd1edd640ff3db49dd5ebb7e54f0de6600fc45",
"hash": "sha256-JueRR2PheAz8sPG8OIpjp1Xih6z2Xp8f7WD+2MuBPo4="
"rev": "0e1dc5abacf91f1640206d32d18735e82071681e",
"hash": "sha256-gt9oVJunDCdhHbaqL9xaGlztxdT1D2UvYETqCXogIwU=",
"date": "unstable-2024-01-30"
},
"neocd": {
"owner": "libretro",
"repo": "neocd_libretro",
"rev": "2070f5258c9d3feee15962f9db8c8ef20072ece8",
"hash": "sha256-X+lS1zW5oTzp7wwurM5xjVqIBwEOCIdj/NX/+33K2qg="
"rev": "71ebe5044639b825e5bd1bd590fef3e918133b80",
"hash": "sha256-YVxt3bJ54DD91VHkeQyYdo/BEq//lnBKd9Y42Vby3qc=",
"date": "unstable-2024-02-01"
},
"nestopia": {
"owner": "libretro",
"repo": "nestopia",
"rev": "3dcbec4682e079312d6943e1357487645ec608c7",
"hash": "sha256-+jWedFwuFwZzdYEyKR77AhEBoW6ecY7HAIYEKt9PRg8="
"rev": "8050c38e5a1db6927b03510651809e8ef932b888",
"hash": "sha256-Vlz69ZpXwawdE+bfjlKNrQNmFHhB53FOKhfMgq4viE0=",
"date": "unstable-2024-02-03"
},
"np2kai": {
"owner": "AZO234",
"repo": "NP2kai",
"rev": "6089943a80a45b6c18d765765f7f31d7a5c0d9c6",
"hash": "sha256-tdF0Qb+smWAVoPmI0dd5s51cnYxMmqM36rQNMiEjU9A=",
"fetchSubmodules": true
"rev": "c2ca4046860264cb307e768f529f180caee5e224",
"hash": "sha256-RizN+NpVp0paXvdt7OudX9/5GJms1YvJ+NVe9iV3nnw=",
"fetchSubmodules": true,
"date": "unstable-2024-01-10"
},
"nxengine": {
"owner": "libretro",
"repo": "nxengine-libretro",
"rev": "1f371e51c7a19049e00f4364cbe9c68ca08b303a",
"hash": "sha256-4XBNTzgN8pLyrK9KsVxTRR1I8CQaZCnVR4gMryYpWW0="
"hash": "sha256-4XBNTzgN8pLyrK9KsVxTRR1I8CQaZCnVR4gMryYpWW0=",
"date": "unstable-2023-02-21"
},
"o2em": {
"owner": "libretro",
"repo": "libretro-o2em",
"rev": "a2a12472fde910b6089ac3ca6de805bd58a9c999",
"hash": "sha256-0cZYw3rrnaR+PfwReRXadLV8RVLblYqlZxJue6OZncg="
"rev": "44fe5f306033242f7d74144105e19a7d4939477e",
"hash": "sha256-zg8wplVTKRzqa47mmWlqribg+JU4Nap4Ar/iR7y87xs=",
"date": "unstable-2023-10-19"
},
"opera": {
"owner": "libretro",
"repo": "opera-libretro",
"rev": "100ae1e7decefe1f17d98cfcb9f2af4ff8452691",
"hash": "sha256-GOabGs5JP4hg4y5xEATZMEWuqQxFxdc6ZMnO4oLC2yk="
"rev": "35e16483be900ea8aa20e87d2710b677437f73ce",
"hash": "sha256-ZNHSxI8l0KGJ6uAvOsEhNpB0IkBxtb9Imj3tA/LiOto=",
"date": "unstable-2024-01-13"
},
"parallel-n64": {
"owner": "libretro",
"repo": "parallel-n64",
"rev": "49eadb4da85f7e3bd59b60f61e8fd5dbfb9f07d5",
"hash": "sha256-S8gsPOgxdq0SwoYFua4ouT7XjT45d/mwCYmI3VVahdI="
"rev": "1b57f9199b1f8a4510f7f89f14afa9cabf9b3bdd",
"hash": "sha256-L20RGav0FJfydOICCNhAMGxIuIvPABDtCs5tWzrh768=",
"date": "unstable-2024-01-15"
},
"pcsx2": {
"owner": "libretro",
"repo": "lrps2",
"rev": "f3c8743d6a42fe429f703b476fecfdb5655a98a9",
"hash": "sha256-0piCNWX7QbZ58KyTlWp4h1qLxXpi1z6ML8sBHMTvCY4="
"hash": "sha256-0piCNWX7QbZ58KyTlWp4h1qLxXpi1z6ML8sBHMTvCY4=",
"date": "unstable-2023-01-30"
},
"pcsx_rearmed": {
"owner": "libretro",
"repo": "pcsx_rearmed",
"rev": "ead6fd751369f6fe50cb5092ab5530fbf1d66b67",
"hash": "sha256-JzvcM8T/xMP7MDn/58TDNrHN8bjU63/PBtj7JJYYiVo="
"rev": "06cdf83a3a30bfb8cafee768dbe83bbaef6c8ddd",
"hash": "sha256-E/+dAcJwfaUMjYJUjfAcn98SIh61BiS5YpcZg99lg+Q=",
"date": "unstable-2024-02-04"
},
"picodrive": {
"owner": "libretro",
"repo": "picodrive",
"rev": "570319349588288f64c676123244acdb0be33881",
"hash": "sha256-KG5A5NBWi5jKpJOSdSQxjn+wm2F198AINKIU+figoqs=",
"fetchSubmodules": true
"rev": "d907d65692a45e126d0c7d6685cc8792b52bc577",
"hash": "sha256-CJJcWVueg3dbBT4r6W1y8Qj7iRwH7PupvFp+CKEII7o=",
"fetchSubmodules": true,
"date": "unstable-2024-01-23"
},
"play": {
"owner": "jpd002",
"repo": "Play-",
"rev": "f50566ffdf6a2f1d0cedfb900f1ee24b9c80fd8e",
"hash": "sha256-G45UMzNh5I7beO8sBtwc80HPioB907UEPtfB1NSS4OY=",
"fetchSubmodules": true
"rev": "c0da95cf596834620169173dc12b3f32ca092404",
"hash": "sha256-q6ApOsyNS5to+KBYgz+CZJOfNAcII6Eyv0MhcB4Q1bU=",
"fetchSubmodules": true,
"date": "unstable-2024-01-26"
},
"ppsspp": {
"owner": "hrydgard",
"repo": "ppsspp",
"rev": "638192b0245e73a602c5f0d60e80dc7b78ff0793",
"hash": "sha256-Ls9k563j8yEasu6dBs2cmWR+9twBKTolqTLkr3Nt7Uk=",
"fetchSubmodules": true
"rev": "d479b74ed9c3e321bc3735da29bc125a2ac3b9b2",
"hash": "sha256-I84zJqEE1X/eo/ukeGA2iZe3lWKvilk+RNGUzl2wZXY=",
"fetchSubmodules": true,
"date": "unstable-2024-02-04"
},
"prboom": {
"owner": "libretro",
"repo": "libretro-prboom",
"rev": "6ec854969fd9dec33bb2cab350f05675d1158969",
"hash": "sha256-y0qZwYNwcO4ofWDZ7UXN9ZVMPFxjCnLDDZKBMdZLxEY="
"hash": "sha256-y0qZwYNwcO4ofWDZ7UXN9ZVMPFxjCnLDDZKBMdZLxEY=",
"date": "unstable-2023-05-28"
},
"prosystem": {
"owner": "libretro",
"repo": "prosystem-libretro",
"rev": "4202ac5bdb2ce1a21f84efc0e26d75bb5aa7e248",
"hash": "sha256-BR0DTWcB5g0rEoNSxBx+OxBmLELjdR2fgsmdPU7cK68="
"hash": "sha256-BR0DTWcB5g0rEoNSxBx+OxBmLELjdR2fgsmdPU7cK68=",
"date": "unstable-2023-08-17"
},
"puae": {
"owner": "libretro",
"repo": "libretro-uae",
"rev": "7bdd798ef14dccafe283588cbf8eb303832a1858",
"hash": "sha256-ML3hRYujyh7WPm9Sx6RzQAxaTqlhneVLDi6qcNJ+hi8="
"rev": "2cad13f98aa4df272decf2ab99d95aa582cd4cfb",
"hash": "sha256-8iGsQJcImL7hUK14X+u2BSq4W9BkosiLImCmzf63o4Q=",
"date": "unstable-2024-02-03"
},
"quicknes": {
"owner": "libretro",
"repo": "QuickNES_Core",
"rev": "058d66516ed3f1260b69e5b71cd454eb7e9234a3",
"hash": "sha256-eWnbx4NsxanvSls8lguKBijYZ4+uF97d9es9Yn+3PKs="
"rev": "cd73f021be7dd5b1a21b71155a320364c02de4ac",
"hash": "sha256-fmTAK32ASA8M5nxUUUilm/yMNkmqSAG/gauB7fy1Kbc=",
"date": "unstable-2024-02-01"
},
"same_cdi": {
"owner": "libretro",
"repo": "same_cdi",
"rev": "54cf493c2dee4c46666059c452f8aaaa0bd7c8e0",
"hash": "sha256-/+4coMzj/o82Q04Z65DQiPaykK6N56W6PRQLtyJOd8E="
"hash": "sha256-/+4coMzj/o82Q04Z65DQiPaykK6N56W6PRQLtyJOd8E=",
"date": "unstable-2023-02-28"
},
"sameboy": {
"owner": "libretro",
"repo": "sameboy",
"rev": "09138330990da32362246c7034cf4de2ea0a2a2b",
"hash": "sha256-hQWIuNwCykkJR+6naNarR50kUvIFNny+bbZHR6/GA/4="
"hash": "sha256-hQWIuNwCykkJR+6naNarR50kUvIFNny+bbZHR6/GA/4=",
"date": "unstable-2022-08-19"
},
"scummvm": {
"owner": "libretro-mirrors",
"repo": "scummvm",
"rev": "2fb2e4c551c9c1510c56f6e890ee0300b7b3fca3",
"hash": "sha256-wrlFqu+ONbYH4xMFDByOgySobGrkhVc7kYWI4JzA4ew="
"hash": "sha256-wrlFqu+ONbYH4xMFDByOgySobGrkhVc7kYWI4JzA4ew=",
"date": "unstable-2022-04-06"
},
"smsplus-gx": {
"owner": "libretro",
"repo": "smsplus-gx",
"rev": "60af17ddb2231ba98f4ed1203e2a2f58d08ea088",
"hash": "sha256-2SZR9BOTYLmtjEF4Bdl49H2pFNEIaU68VqlA7ll5TqU="
"rev": "96fa9bc65aa27a5ab2779f9f2ff0439fec7cf513",
"hash": "sha256-tlxlI0+5QFgu2IRB4Cpz9XItbhprLNlq1YdCFGXGyIE=",
"date": "unstable-2023-10-31"
},
"snes9x": {
"owner": "snes9xgit",
"repo": "snes9x",
"rev": "0e03a36847c2ab14d84963b0263e653aa4087ff4",
"hash": "sha256-wRkBT80HBE1JXqNSvm0LhhUSjHe1DP3uMy3fKW71uZA="
"rev": "e76abdc4ef8f961ea0f8e87c160cf59cc6d44e42",
"hash": "sha256-JERfp69UB/PC2iIjbepOKpPdmZJbrzWbXhaLMJfOaXY=",
"date": "unstable-2024-01-28"
},
"snes9x2002": {
"owner": "libretro",
"repo": "snes9x2002",
"rev": "540baad622d9833bba7e0696193cb06f5f02f564",
"hash": "sha256-WJh8Qf1/uFaL9f9d28qXsbpeAZfYGPgjoty3G6XAKSs="
"hash": "sha256-WJh8Qf1/uFaL9f9d28qXsbpeAZfYGPgjoty3G6XAKSs=",
"date": "unstable-2022-08-06"
},
"snes9x2005": {
"owner": "libretro",
"repo": "snes9x2005",
"rev": "fd45b0e055bce6cff3acde77414558784e93e7d0",
"hash": "sha256-zjA/G62V38/hj+WjJDGAs48AcTUIiMWL8feCqLsCRnI="
"hash": "sha256-zjA/G62V38/hj+WjJDGAs48AcTUIiMWL8feCqLsCRnI=",
"date": "unstable-2022-07-25"
},
"snes9x2010": {
"owner": "libretro",
"repo": "snes9x2010",
"rev": "d8b10c4cd7606ed58f9c562864c986bc960faaaf",
"hash": "sha256-7FmteYrAYr+pGNXGg9CBC4NFlijGRf7GdtJfiNjmonU="
"hash": "sha256-7FmteYrAYr+pGNXGg9CBC4NFlijGRf7GdtJfiNjmonU=",
"date": "unstable-2023-02-20"
},
"stella": {
"owner": "stella-emu",
"repo": "stella",
"rev": "85f23044437a5da35d68f96045d363d0e339f872",
"hash": "sha256-b/3cq+CdQ6MLFzzF/cFTbL0XCSqZFc0Rj9e+bNiN3WY="
"rev": "4557099e5d7a0c0b02424ea85d2a4b093911e048",
"hash": "sha256-wyJExpIIScgLTALgvqW5f/QgIsMC19JU8Meh3mV4d2c=",
"date": "unstable-2024-02-02"
},
"stella2014": {
"owner": "libretro",
"repo": "stella2014-libretro",
"rev": "8ab051edd4816f33a5631d230d54059eeed52c5f",
"hash": "sha256-wqssB8WXXF2Lu9heII8nWLLOvI38cIfHSMA7OOd6jx0="
"hash": "sha256-wqssB8WXXF2Lu9heII8nWLLOvI38cIfHSMA7OOd6jx0=",
"date": "unstable-2023-02-20"
},
"swanstation": {
"owner": "libretro",
"repo": "swanstation",
"rev": "376744746a6880b5eec7ac48b5c006c9ae8c6770",
"hash": "sha256-5mKNypA0x/FkDZvWhuEr/J5WP7saR7cKo0DQ2DZ36ZE="
"rev": "77aeeea58a45cccae7a8be37645f8f5a27ff101b",
"hash": "sha256-z+9Y9hoQ832caip5U+siQXh9GFxLMnX0HcmLa93B/lc=",
"date": "unstable-2024-01-26"
},
"tgbdual": {
"owner": "libretro",
"repo": "tgbdual-libretro",
"rev": "a6f3018e6a23030afc1873845ee54d4b2d8ec9d3",
"hash": "sha256-MBUgYXX/Pc+TkwoS7OwbXSPssKUf6lwWx/bKhvwDkHs="
"hash": "sha256-MBUgYXX/Pc+TkwoS7OwbXSPssKUf6lwWx/bKhvwDkHs=",
"date": "unstable-2022-08-06"
},
"thepowdertoy": {
"owner": "libretro",
"repo": "ThePowderToy",
"rev": "f644498193c4c8be689d8a1d2a70e37e4eff4243",
"hash": "sha256-aPUqrrrH2Ia56A3Kx6ClMcZO9nbHGJIcEQ6nFyIMamo="
"hash": "sha256-aPUqrrrH2Ia56A3Kx6ClMcZO9nbHGJIcEQ6nFyIMamo=",
"date": "unstable-2023-01-17"
},
"tic80": {
"owner": "libretro",
"repo": "tic-80",
"rev": "bd6ce86174fc7c9d7d3a86263acf3a7de1b62c11",
"hash": "sha256-RFp8sTSRwD+cgW3EYk3nBeY+zVKgZVQI5mjtfe2a64Q=",
"fetchSubmodules": true
"fetchSubmodules": true,
"date": "unstable-2022-06-11"
},
"vba-m": {
"owner": "libretro",
"repo": "vbam-libretro",
"rev": "a2378f05f600a5a9cf450c60a87976b80d6a895a",
"hash": "sha256-vWm28cSEGex5h7JkJjzNPqEGtQWHK0dpK2gVDlQ3NbM="
"hash": "sha256-vWm28cSEGex5h7JkJjzNPqEGtQWHK0dpK2gVDlQ3NbM=",
"date": "unstable-2023-08-18"
},
"vba-next": {
"owner": "libretro",
"repo": "vba-next",
"rev": "ee92625d2f1666496be4f5662508a2430e846b00",
"hash": "sha256-r3FKBD4GUUkobMJ33VceseyTyqxm/Wsa5Er6XcfGL2Q="
"hash": "sha256-r3FKBD4GUUkobMJ33VceseyTyqxm/Wsa5Er6XcfGL2Q=",
"date": "unstable-2023-06-03"
},
"vecx": {
"owner": "libretro",
"repo": "libretro-vecx",
"rev": "a401c268e425dc8ae6a301e7fdb9a9e96f39b8ea",
"hash": "sha256-24/bcQ5mgLl7zKvpnnSYr5SoLG02al6dP27KoOtnua4="
"hash": "sha256-24/bcQ5mgLl7zKvpnnSYr5SoLG02al6dP27KoOtnua4=",
"date": "unstable-2023-06-01"
},
"virtualjaguar": {
"owner": "libretro",
"repo": "virtualjaguar-libretro",
"rev": "8126e5c504ac7217a638f38e4cd9190822c8abdd",
"hash": "sha256-U/qdKApE0OU3jc6ekfgEZ7VCaIqCc2h+Y+IHe7PIRY0="
"hash": "sha256-U/qdKApE0OU3jc6ekfgEZ7VCaIqCc2h+Y+IHe7PIRY0=",
"date": "unstable-2023-06-01"
},
"yabause": {
"owner": "libretro",
"repo": "yabause",
"rev": "4c96b96f7fbe07223627c469ff33376b2a634748",
"hash": "sha256-7hEpGh2EcrlUoRiUNntaMZEQtStglYAY1MeCub5p8f8="
"hash": "sha256-7hEpGh2EcrlUoRiUNntaMZEQtStglYAY1MeCub5p8f8=",
"date": "unstable-2023-01-03"
}
}

View File

@ -1,17 +1,18 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, gitUpdater
}:
stdenvNoCC.mkDerivation rec {
pname = "libretro-core-info";
version = "unstable-2023-07-31";
version = "1.17.0";
src = fetchFromGitHub {
owner = "libretro";
repo = "libretro-core-info";
hash = "sha256-VdFsrLiJ+Wu1OKvwX9fMI96CxTareOTK8x6OfksBuYs=";
rev = "dacae85b406131feb12395a415fdf57fc4745201";
rev = "v${version}";
hash = "sha256-iJteyqD7hUtBxj+Y2nQZXDJVM4k+TDIKLaLP3IFDOGo=";
};
makeFlags = [
@ -23,6 +24,10 @@ stdenvNoCC.mkDerivation rec {
dontBuild = true;
passthru.updateScript = gitUpdater {
rev-prefix = "v";
};
meta = with lib; {
description = "Libretro's core info files";
homepage = "https://libretro.com";

View File

@ -1,6 +1,7 @@
{ lib
, stdenv
, core
, repo
, makeWrapper
, retroarch
, zlib
@ -70,7 +71,10 @@ stdenv.mkDerivation ({
enableParallelBuilding = true;
passthru = { inherit core libretroCore; };
passthru = {
inherit core libretroCore;
updateScript = [ ./update_cores.py repo ];
};
meta = with lib; {
inherit mainProgram;

View File

@ -1,17 +1,18 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, unstableGitUpdater
}:
stdenvNoCC.mkDerivation rec {
stdenvNoCC.mkDerivation {
pname = "retroarch-assets";
version = "unstable-2023-09-11";
version = "unstable-2024-01-02";
src = fetchFromGitHub {
owner = "libretro";
repo = "retroarch-assets";
rev = "7b735ef18bcc6508b1c9a626eb237779ff787179";
hash = "sha256-S9wWag9fNpCTMKY8yQaF7jFuX1P5XLy/Z4vjtVDK7lg=";
rev = "923b711dc6772a168d83dc8915e9260730fcf3a1";
hash = "sha256-Hwgga2hCJEdf/j2mU+hLGAsWdYcfuzjCycxSF37I4qk=";
};
makeFlags = [
@ -23,6 +24,8 @@ stdenvNoCC.mkDerivation rec {
dontBuild = true;
passthru.updateScript = unstableGitUpdater { };
meta = with lib; {
description = "Assets needed for RetroArch";
homepage = "https://libretro.com";

View File

@ -1,23 +1,28 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, gitUpdater
}:
stdenvNoCC.mkDerivation rec {
pname = "retroarch-joypad-autoconfig";
version = "unstable-2023-08-01";
version = "1.17.0";
src = fetchFromGitHub {
owner = "libretro";
repo = "retroarch-joypad-autoconfig";
rev = "5666e46bb89caf4e9af358fdb97a2b384cb62f36";
hash = "sha256-5Po0v0E/dc+nVHnHlJRZzv66B/DKYarwqTkS9+/ktC4=";
rev = "v${version}";
hash = "sha256-rmbZxXxHwIPb/zVBQiWTRPLVS+DXTrsw8d6t9nTg/ng=";
};
makeFlags = [
"PREFIX=$(out)"
];
passthru.updateScript = gitUpdater {
rev-prefix = "v";
};
meta = with lib; {
description = "Joypad autoconfig files";
homepage = "https://www.libretro.com/";

View File

@ -1,16 +1,28 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=../../../../ -i python3 -p "python3.withPackages (ps: with ps; [ nix-prefetch-github ])" -p "git"
#!nix-shell -I nixpkgs=./ -i python3 -p "python3.withPackages (ps: with ps; [ requests ])" -p git -p nix-prefetch-github
import json
import os
import subprocess
import sys
from pathlib import Path
from concurrent.futures import ThreadPoolExecutor
from pathlib import Path
import requests
SCRIPT_PATH = Path(__file__).absolute().parent
HASHES_PATH = SCRIPT_PATH / "hashes.json"
GET_REPO_THREADS = int(os.environ.get("GET_REPO_THREADS", 8))
# To add a new core, add it to the dictionary below. You need to set at least
# `repo`, that is the repository name if the owner of the repository is
# `libretro` itself, otherwise also set `owner`.
# You may set `deep_clone`, `fetch_submodules` or `leave_dot_git` options to
# `True` and they're similar to `fetchgit` options. Also if for some reason you
# need to pin a specific revision, set `rev` to a commit.
# To generate the hash file for your new core, you can run `update_cores.py
# <core>`. The script needs to be run from the root of your `nixpkgs` clone.
# Do not forget to add your core to `cores.nix` file with the proper overrides
# so the core can be build.
CORES = {
"2048": {"repo": "libretro-2048"},
"atari800": {"repo": "libretro-atari800"},
@ -73,8 +85,9 @@ CORES = {
"opera": {"repo": "opera-libretro"},
"parallel-n64": {"repo": "parallel-n64"},
# libretro/lrps2 is a hard-fork of pcsx2 with simplified code to target
# only libretro, while libretro/pcsx2 is supposedly closer to upstream.
# TODO: switch to libretro/pcsx2 since this is more up-to-date
# only libretro, while libretro/pcsx2 is supposedly closer to upstream but
# it is a WIP.
# TODO: switch to libretro/pcsx2 when upstream switches to it.
"pcsx2": {"repo": "lrps2"},
"pcsx_rearmed": {"repo": "pcsx_rearmed"},
"picodrive": {"repo": "picodrive", "fetch_submodules": True},
@ -115,6 +128,30 @@ def info(*msg):
print(*msg, file=sys.stderr)
def get_rev_date_fetchFromGitHub(repo, owner, rev):
# https://docs.github.com/en/rest/commits/commits?apiVersion=2022-11-28#get-a-commit
url = f"https://api.github.com/repos/{owner}/{repo}/commits/{rev}"
headers = {
"Accept": "application/vnd.github+json",
"X-GitHub-Api-Version": "2022-11-28",
}
if token := os.environ.get("GITHUB_TOKEN"):
headers["Authorization"] = f"Bearer {token}"
r = requests.get(url, headers=headers)
try:
j = r.json()
except requests.exceptions.JSONDecodeError:
return None
date = j.get("commit", {}).get("committer", {}).get("date")
if date:
# Date format returned by API: 2023-01-30T06:29:13Z
return f"unstable-{date[:10]}"
else:
return None
def get_repo_hash_fetchFromGitHub(
repo,
owner="libretro",
@ -146,6 +183,9 @@ def get_repo_hash_fetchFromGitHub(
text=True,
)
j = json.loads(result.stdout)
date = get_rev_date_fetchFromGitHub(repo, owner, j["rev"])
if date:
j["date"] = date
# Remove False values
return {k: v for k, v in j.items() if v}

View File

@ -1,5 +1,4 @@
{ lib
, stdenv
, makeWrapper
, retroarch
, symlinkJoin

View File

@ -18,12 +18,12 @@
stdenv.mkDerivation rec {
pname = "visualboyadvance-m";
version = "2.1.8";
version = "2.1.9";
src = fetchFromGitHub {
owner = "visualboyadvance-m";
repo = "visualboyadvance-m";
rev = "v${version}";
sha256 = "sha256-r/LF9mYwKPwkIidMAb4k4B6Q2UYjW0TucKI5LJ2gjl0=";
sha256 = "sha256-t5/CM5KXDG0OCByu7mUyuC5NkYmB3BFmEHHgnMY05nE=";
};
nativeBuildInputs = [ cmake pkg-config ];

View File

@ -78,6 +78,7 @@ rustPlatform.buildRustPackage rec {
comment = meta.description;
genericName = "Remote Desktop";
categories = [ "Network" ];
mimeTypes = [ "x-scheme-handler/rustdesk" ];
})
];

View File

@ -30,13 +30,13 @@
stdenv.mkDerivation (final: {
pname = "contour";
version = "0.4.1.6292";
version = "0.4.2.6429";
src = fetchFromGitHub {
owner = "contour-terminal";
repo = "contour";
rev = "v${final.version}";
hash = "sha256-t1rZixjpwg2JDBESmymNwUlpQd1VLaECxvpPP94jvH0=";
hash = "sha256-MUgGNglPojFFlGlwrF8ivu18jAnjjfs9pMqu0jLAsYg=";
};
patches = [ ./dont-fix-app-bundle.diff ];

View File

@ -1,40 +0,0 @@
{ lib
, python3
, fetchFromGitHub
, mpv
}:
python3.pkgs.buildPythonPackage rec {
pname = "mov-cli";
version = "1.5.4";
format = "pyproject";
src = fetchFromGitHub {
owner = "mov-cli";
repo = "mov-cli";
rev = version;
sha256 = "sha256-WhoP4FcoO9+O9rfpC3oDQkVIpVOqxfdLRygHgf1O01g=";
};
makeWrapperArgs = [
"--prefix" "PATH" ":" "${lib.getBin mpv}/bin"
];
propagatedBuildInputs = with python3.pkgs; [
poetry-core
krfzf-py
pycrypto
setuptools
httpx
click
beautifulsoup4
colorama
];
meta = with lib; {
homepage = "https://github.com/mov-cli/mov-cli";
description = "A cli tool to browse and watch movies";
license = licenses.gpl3Only;
maintainers = with maintainers; [ baitinq ];
mainProgram = "mov-cli";
};
}

View File

@ -0,0 +1,50 @@
{ fetchFromGitHub
, lib
, stdenvNoCC
, # build deps
clickgen
, python3Packages
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "banana-cursor";
version = "1.0.0";
src = fetchFromGitHub {
owner = "ful1e5";
repo = "banana-cursor";
rev = "v${finalAttrs.version}";
sha256 = "sha256-PI7381xf/GctQTnfcE0W3M3z2kqbX4VexMf17C61hT8=";
};
nativeBuildInputs = [
clickgen
python3Packages.attrs
];
buildPhase = ''
runHook preBuild
ctgen build.toml -p x11 -o $out
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/icons
mv $out/Banana $out/share/icons
runHook postInstall
'';
meta = with lib; {
description = "The Banana Cursor";
homepage = "https://github.com/ful1e5/banana-cursor";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ getpsyched yrd ];
platforms = platforms.linux;
};
})

View File

@ -1,5 +1,5 @@
{ lib
, stdenv
, stdenvNoCC
, fetchFromGitHub
, makeBinaryWrapper
, bc
@ -10,11 +10,12 @@
, slurp
, wl-clipboard
, xcolor
, waylandSupport ? true
, x11Support ? true
}:
stdenv.mkDerivation (finalAttrs: {
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "farge";
version = "1.0.9";
@ -31,26 +32,28 @@ stdenv.mkDerivation (finalAttrs: {
wrapperPath = lib.makeBinPath ([
bc
feh
#Needed to fix convert: unable to read font `(null)' @ error/annotate.c/RenderFreetype issue
(imagemagick.override { ghostscriptSupport = true;})
libnotify #Needed for the notify-send function call from the script
] ++ lib.optionals waylandSupport [ grim slurp wl-clipboard ]
++ lib.optionals x11Support [ xcolor ]);
libnotify # notify-send
# Needed to fix font rendering issue in imagemagick
(imagemagick.override { ghostscriptSupport = true; })
] ++ lib.optionals waylandSupport [
grim
slurp
wl-clipboard
] ++ lib.optional x11Support xcolor);
installPhase = ''
runHook preInstall
mkdir -p $out/bin
install -m755 farge $out/bin
install -Dm755 farge $out/bin/farge
wrapProgram $out/bin/farge \
--prefix PATH : "${finalAttrs.wrapperPath}"
--prefix PATH : "${finalAttrs.wrapperPath}"
runHook postInstall
'';
meta = with lib; {
description = "A tool that shows the color value of a given pixel on your screen";
description = "View the color value of a specific pixel on your screen";
homepage = "https://github.com/sdushantha/farge";
license = licenses.mit;
platforms = platforms.all;
platforms = platforms.unix;
maintainers = with maintainers; [ jtbx justinlime ];
mainProgram = "farge";
};

View File

@ -0,0 +1,64 @@
{ lib
, fetchFromGitHub
, ffmpeg
, fzf
, mpv
, python3
}:
let
pname = "mov-cli";
version = "1.5.7";
in
python3.pkgs.buildPythonPackage {
inherit pname version;
pyproject = true;
src = fetchFromGitHub {
owner = "mov-cli";
repo = "mov-cli";
rev = version;
hash = "sha256-OJhZtrSB5rjPY80GkTSU82hkcBgFYpW7Rc24BlBH7CE=";
};
propagatedBuildInputs = with python3.pkgs; [
beautifulsoup4
click
colorama
httpx
krfzf-py
lxml
poetry-core
pycrypto
setuptools
six
tldextract
];
nativeBuildInputs = [
python3.pkgs.pythonRelaxDepsHook
];
pythonRelaxDeps = [
"httpx"
"tldextract"
];
makeWrapperArgs = let
binPath = lib.makeBinPath [
ffmpeg
fzf
mpv
];
in [
"--prefix PATH : ${binPath}"
];
meta = with lib; {
homepage = "https://github.com/mov-cli/mov-cli";
description = "A cli tool to browse and watch movies";
license = with lib.licenses; [ gpl3Only ];
mainProgram = "mov-cli";
maintainers = with lib.maintainers; [ baitinq ];
};
}

View File

@ -0,0 +1,78 @@
{ lib
, SDL2
, alsa-lib
, autoconf-archive
, autoreconfHook
, fetchFromGitHub
, fltk
, libGL
, libGLU
, libao
, libarchive
, libepoxy
, makeWrapper
, pkg-config
, stdenv
, unzip
, wrapGAppsHook
, xdg-utils
}:
stdenv.mkDerivation (finalAttrs: {
pname = "nestopia";
version = "1.52.0";
src = fetchFromGitHub {
owner = "0ldsk00l";
repo = "nestopia";
rev = finalAttrs.version;
hash = "sha256-kd5hZ88fCLL8ysGMj7HsrSA7eCI5SL2xxiRXJiZqBZ8=";
};
buildInputs = [
SDL2
alsa-lib
fltk
libepoxy
libGLU
libGL
libarchive
libao
xdg-utils
];
nativeBuildInputs = [
SDL2
autoconf-archive
autoreconfHook
fltk
pkg-config
makeWrapper
wrapGAppsHook
unzip
];
strictDeps = true;
preInstall = ''
mkdir -p $out/{bin,share/nestopia}
'';
preFixup = ''
for f in $out/bin/*; do
wrapProgram $f \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
done
'';
meta = {
homepage = "http://0ldsk00l.ca/nestopia/";
description = "Cross-platform Nestopia emulator core with a GUI";
changelog = "https://raw.githubusercontent.com/0ldsk00l/nestopia/${finalAttrs.src.rev}/ChangeLog";
license = lib.licenses.gpl2Plus;
mainProgram = "nestopia";
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.linux;
};
})

View File

@ -0,0 +1,30 @@
{
lib,
fetchFromGitHub,
rustPlatform,
stdenv,
}:
rustPlatform.buildRustPackage rec {
pname = "parallel-disk-usage";
version = "0.9.0";
src = fetchFromGitHub {
owner = "KSXGitHub";
repo = pname;
rev = version;
hash = "sha256-kOMbVKwnGh47zZkWAWkctfTIE5F8oeSnAgJEU/OdsQc=";
};
cargoHash = "sha256-Jk9sNvApq4t/FoEzfjlDT2Td5sr38Jbdo6RoaOVQJK8=";
meta = with lib; {
description = "Highly parallelized, blazing fast directory tree analyzer";
homepage = "https://github.com/KSXGitHub/parallel-disk-usage";
license = licenses.asl20;
maintainers = [maintainers.peret];
mainProgram = "pdu";
# broken due to unit test failure
# https://github.com/KSXGitHub/parallel-disk-usage/issues/251
broken = stdenv.isLinux && stdenv.isAarch64;
};
}

View File

@ -0,0 +1,58 @@
{ lib
, stdenv
, fetchurl
}:
stdenv.mkDerivation (finalAttrs: {
pname = "tecla";
version = "1.6.3";
src = fetchurl {
url = "https://www.astro.caltech.edu/~mcs/tecla/libtecla-${finalAttrs.version}.tar.gz";
hash = "sha256-8nV8xVBAhZ/Pj1mgt7JuAYSiK+zkTtlWikU0pHjB7ho=";
};
outputs = [ "out" "man" ];
postPatch = ''
substituteInPlace install-sh \
--replace "stripprog=" "stripprog=\$STRIP # "
'';
env = lib.optionalAttrs stdenv.cc.isClang {
NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
};
meta = {
homepage = "https://www.astro.caltech.edu/~mcs/tecla/";
description = "Command-line editing library";
longDescription = ''
The tecla library provides UNIX and LINUX programs with interactive
command line editing facilities, similar to those of the UNIX tcsh
shell. In addition to simple command-line editing, it supports recall of
previously entered command lines, TAB completion of file names or other
tokens, and in-line wild-card expansion of filenames. The internal
functions which perform file-name completion and wild-card expansion are
also available externally for optional use by programs.
In addition, the library includes a path-searching module. This allows an
application to provide completion and lookup of files located in UNIX
style paths. Although not built into the line editor by default, it can
easily be called from custom tab-completion callback functions. This was
originally conceived for completing the names of executables and
providing a way to look up their locations in the user's PATH environment
variable, but it can easily be asked to look up and complete other types
of files in any list of directories.
Note that special care has been taken to allow the use of this library in
threaded programs. The option to enable this is discussed in the
Makefile, and specific discussions of thread safety are presented in the
included man pages.
'';
changelog = "https://sites.astro.caltech.edu/~mcs/tecla/release.html";
license = with lib.licenses; [ mit ];
mainProgram = "enhance";
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.unix;
};
})

View File

@ -1,24 +1,34 @@
{ lib
, fetchFromGitHub
, buildGoModule
, installShellFiles
}:
buildGoModule rec {
pname = "uplosi";
version = "0.1.2";
version = "0.1.3";
src = fetchFromGitHub {
owner = "edgelesssys";
repo = pname;
rev = "v${version}";
hash = "sha256-9hOeKnjH6r3CPQSe6fQ6PXlVPEJ9NiyXvp5N1krG2XA=";
hash = "sha256-RqjaI/1Sx36JfpvnLblt8hPfgSral3Gvp8M6BshKVwo=";
};
vendorHash = "sha256-RsjUPLe8omoN+XGyNhHDxzNfZR7VVTkh/f/On1oCRqM=";
vendorHash = "sha256-eZ0/piSxMUC1ZM7qBhFW40l9p8ZPMIj1HyrS2Dy4wJQ=";
CGO_ENABLED = "0";
ldflags = [ "-s" "-w" "-X main.version=${version}" ];
flags = [ "-trimpath" ];
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installShellCompletion --cmd uplosi \
--bash <($out/bin/uplosi completion bash) \
--fish <($out/bin/uplosi completion fish) \
--zsh <($out/bin/uplosi completion zsh)
'';
meta = with lib; {
description = "Upload OS images to cloud provider";
homepage = "https://github.com/edgelesssys/uplosi";

View File

@ -1,31 +0,0 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
}:
stdenvNoCC.mkDerivation rec {
pname = "banana-cursor";
version = "1.0.0";
src = fetchFromGitHub {
owner = "ful1e5";
repo = "banana-cursor";
rev = "v${version}";
sha256 = "sha256-PI7381xf/GctQTnfcE0W3M3z2kqbX4VexMf17C61hT8=";
};
dontBuild = true;
installPhase = ''
mkdir -p $out/share/icons
mv themes/Banana $out/share/icons
'';
meta = with lib; {
homepage = "https://github.com/ful1e5/banana-cursor";
description = "The banana cursor theme";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ yrd ];
};
}

View File

@ -8,35 +8,35 @@ callPackage ./common.nix ({
# Note that the latest build may differ by platform
dists = {
x86_64-linux = {
zuluVersion = "17.44.53";
jdkVersion = "17.0.8.1";
zuluVersion = "17.48.15";
jdkVersion = "17.0.10";
hash =
if enableJavaFX then "sha256-R6VJcSjpKFfsO3l32+8s+wlcuAVoXcSsW5Dg2M/hjpI="
else "sha256-uUgvIwShpophTfrN3PKVaacvD6wy5sdPg9wbmhV7g0A=";
if enableJavaFX then "sha256-YvuD/n84+DARPm+38TxIUB727SIhASFo+WX9+PtJqyw="
else "sha256-VyhNob2G1Tq/WCKT0g0Y//f+JD2hWgj6QU9idfvUj+I=";
};
aarch64-linux = {
zuluVersion = "17.44.53";
jdkVersion = "17.0.8.1";
zuluVersion = "17.48.15";
jdkVersion = "17.0.10";
hash =
if enableJavaFX then throw "JavaFX is not available for aarch64-linux"
else "sha256-ZTHO9h5BbVp7aRVVyM8r3/aJIBuKAB/0WrZ0AGK0QxM=";
else "sha256-9OZl8ruaLvjdpg42fC3IM5mC/9lmshCppNfUuz/Sf8E=";
};
x86_64-darwin = {
zuluVersion = "17.44.53";
jdkVersion = "17.0.8.1";
zuluVersion = "17.48.15";
jdkVersion = "17.0.10";
hash =
if enableJavaFX then "sha256-9U0XYZRA+LZTQ7eHrT5SWhgcxv43ajC9n9Tj3qPPLWA="
else "sha256-ZART6K/o/+D7Tc60U1+1DbnCg8ZGZe67C6aLGeZfSx8=";
if enableJavaFX then "sha256-VOIcFtjQiYsA4AiP1TCa0Q76Ew5FdeJCICwsYGU+Dnw="
else "sha256-huSKGvOnrEUAiE2MJbdHWtF2saeLGaQkZllXzDo8o+g=";
};
aarch64-darwin = {
zuluVersion = "17.44.53";
jdkVersion = "17.0.8.1";
zuluVersion = "17.48.15";
jdkVersion = "17.0.10";
hash =
if enableJavaFX then "sha256-udYW3nOADclWqVcVtS9dgjSY0w6xf2nsBpLzPmQCYlI="
else "sha256-MUsEVo7Arps2ugPJy9Qq3J4SZfdGeJI7GSl9ZuuE3Mo=";
if enableJavaFX then "sha256-fxBDhHMeL5IP4eRw9ykXrRRh7Nl9DnvDB1YLaQwFHLg="
else "sha256-kuEiHSkb4WFtPB3m0A968LPZw7Wl0sKquhbzDF8vQS8=";
};
};
} // builtins.removeAttrs args [ "callPackage" ])

View File

@ -1,28 +0,0 @@
{ lib, stdenv, fetchurl }:
stdenv.mkDerivation rec {
pname = "tecla";
version = "1.6.3";
src = fetchurl {
url = "https://www.astro.caltech.edu/~mcs/tecla/libtecla-${version}.tar.gz";
sha256 = "06pfq5wa8d25i9bdjkp4xhms5101dsrbg82riz7rz1a0a32pqxgj";
};
postPatch = ''
substituteInPlace install-sh \
--replace "stripprog=" "stripprog=\$STRIP # "
'';
env = lib.optionalAttrs stdenv.cc.isClang {
NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
};
meta = {
description = "Command-line editing library";
homepage = "https://www.astro.caltech.edu/~mcs/tecla/";
license = "as-is";
mainProgram = "enhance";
platforms = lib.platforms.unix;
};
}

View File

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "scikit-hep-testdata";
version = "0.4.37";
version = "0.4.38";
format = "pyproject";
disabled = pythonOlder "3.6";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "scikit-hep";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-/zg6B1vBDaHXRSMo+Wy+CuQaBXP7v1hX2X2cK/7Djlk=";
hash = "sha256-/+1eENbpng/X1g108cEGiTZlIkdcqqnm9wyN9ECH5D4=";
};
nativeBuildInputs = [

View File

@ -5,6 +5,7 @@
, lib
, fetchFromGitHub
, fetchurl
, copyDesktopItems
, makeDesktopItem
, python3
, libX11
@ -21,87 +22,19 @@
, libpulseaudio
, libpng
, imagemagick
, requireFile
, oot ? rec {
enable = true;
variant = "debug";
rom = requireFile {
name = "oot-${variant}.z64";
message = ''
This nix expression requires that oot-${variant}.z64 is already part of the store.
To get this file you can dump your Ocarina of Time's cartridge to a file,
and add it to the nix store with nix-store --add-fixed sha1 <FILE>, or override the package:
shipwright.override { oot = { enable = true; variant = "debug"; rom = path/to/oot-debug-mq.z64; } }
The supported variants are:
- debug: Ocarina of Time Debug PAL GC (not Master Quest)
- pal-gc: Ocarina of Time PAL GameCube (may lead to crashes and instability)
This is optional if you have imported an Ocarina of Time Master Quest ROM.
If so, please set oot.enable to false and ootMq.enable to true.
If both are enabled, Ship of Harkinian will be built with both ROMs.
'';
# From upstream: https://github.com/HarbourMasters/Shipwright/blob/e46c60a7a1396374e23f7a1f7122ddf9efcadff7/README.md#1-check-your-sha1
sha1 = {
debug = "cee6bc3c2a634b41728f2af8da54d9bf8cc14099";
pal-gc = "0227d7c0074f2d0ac935631990da8ec5914597b4";
}.${variant} or (throw "Unsupported romVariant ${variant}. Valid options are 'debug' and 'pal-gc'.");
};
}
, ootMq ? rec {
enable = false;
variant = "debug-mq";
rom = requireFile {
name = "oot-${variant}.z64";
message = ''
This nix expression requires that oot-${variant}.z64 is already part of the store.
To get this file you can dump your Ocarina of Time Master Quest's cartridge to a file,
and add it to the nix store with nix-store --add-fixed sha1 <FILE>, or override the package:
shipwright.override { ootMq = { enable = true; variant = "debug-mq"; rom = path/to/oot-debug-mq.z64; } }
The supported variants are:
- debug-mq: Ocarina of Time Debug PAL GC MQ (Dungeons will be Master Quest)
- debug-mq-alt: Alternate ROM, not produced by decompilation.
This is optional if you have imported an Ocarina of Time ROM.
If so, please set oot.enable to true and ootMq.enable to false.
If both are enabled, Ship of Harkinian will be built with both ROMs.
'';
# From upstream: https://github.com/HarbourMasters/Shipwright/blob/e46c60a7a1396374e23f7a1f7122ddf9efcadff7/README.md#1-check-your-sha1
sha1 = {
debug-mq = "079b855b943d6ad8bd1eb026c0ed169ecbdac7da";
debug-mq-alt = "50bebedad9e0f10746a52b07239e47fa6c284d03";
}.${variant} or (throw "Unsupported mqRomVariant ${variant}. Valid options are 'debug-mq' and 'debug-mq-alt'.");
};
}
, gnome
, makeWrapper
}:
let
checkAttrs = attrs:
let
validAttrs = [ "enable" "rom" "variant" ];
in
lib.all (name: lib.elem name validAttrs) (lib.attrNames attrs);
in
assert (lib.assertMsg (checkAttrs oot) "oot must have the attributes 'enable' and 'rom', and none other");
assert (lib.assertMsg (checkAttrs ootMq) "ootMq must have the attributes 'enable' and 'rom', and none other");
assert (lib.assertMsg (oot.enable || ootMq.enable) "At least one of 'oot.enable' and 'ootMq.enable' must be true");
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "shipwright";
version = "7.1.1";
version = "8.0.4";
src = fetchFromGitHub {
owner = "harbourmasters";
repo = "shipwright";
rev = version;
hash = "sha256-zgxJj65wKsQWvVxeCspyHG9YqoYqZxd6GrYptOA8Byk=";
rev = finalAttrs.version;
hash = "sha256-OoDToHCVNzccbKdsmek1kqCsW2HmVzA2vy3BtVW1DuM=";
fetchSubmodules = true;
};
@ -109,8 +42,8 @@ stdenv.mkDerivation rec {
# https://github.com/HarbourMasters/Shipwright/blob/e46c60a7a1396374e23f7a1f7122ddf9efcadff7/soh/CMakeLists.txt#L736
gamecontrollerdb = fetchurl {
name = "gamecontrollerdb.txt";
url = "https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/c5b4df0e1061175cb11e3ebbf8045178339864a5/gamecontrollerdb.txt";
hash = "sha256-2VFCsaalXoe+JYWCH6IbgjnLXNKxe0UqSyJNGZMn5Ko=";
url = "https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/81d89fd1e2bd5878e57dfa629abeed3a8feea438/gamecontrollerdb.txt";
hash = "sha256-m1XzDc2dS0hkBTEGABgW4J/jjIw1TXtvHHtsvui6Bcc=";
};
nativeBuildInputs = [
@ -120,6 +53,8 @@ stdenv.mkDerivation rec {
lsb-release
python3
imagemagick
copyDesktopItems
makeWrapper
];
buildInputs = [
@ -135,10 +70,12 @@ stdenv.mkDerivation rec {
SDL2_net
libpulseaudio
libpng
gnome.zenity
];
cmakeFlags = [
"-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/lib"
(lib.cmakeBool "NON_PORTABLE" true)
];
dontAddPrefix = true;
@ -147,11 +84,9 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "format" ];
postBuild = ''
cp ${gamecontrollerdb} ${gamecontrollerdb.name}
cp ${finalAttrs.gamecontrollerdb} ${finalAttrs.gamecontrollerdb.name}
pushd ../OTRExporter
${lib.optionalString oot.enable "python3 ./extract_assets.py -z ../build/ZAPD/ZAPD.out ${oot.rom}"}
${lib.optionalString ootMq.enable "python3 ./extract_assets.py -z ../build/ZAPD/ZAPD.out ${ootMq.rom}"}
python3 ./extract_assets.py -z ../build/ZAPD/ZAPD.out --norom --xml-root ../soh/assets/xml --custom-assets-path ../soh/assets/custom --custom-otr-file soh.otr --port-ver ${finalAttrs.version}
popd
'';
@ -162,12 +97,12 @@ stdenv.mkDerivation rec {
postInstall = ''
mkdir -p $out/bin
# Copy the extracted assets, required to be in the same directory as the executable
${lib.optionalString oot.enable "cp ../OTRExporter/oot.otr $out/lib"}
${lib.optionalString ootMq.enable "cp ../OTRExporter/oot-mq.otr $out/lib"}
ln -s $out/lib/soh.elf $out/bin/soh
install -Dm644 ../soh/macosx/sohIcon.png $out/share/pixmaps/soh.png
'';
fixupPhase = ''
wrapProgram $out/lib/soh.elf --prefix PATH ":" ${lib.makeBinPath [ gnome.zenity ]}
'';
desktopItems = [
@ -175,42 +110,24 @@ stdenv.mkDerivation rec {
name = "soh";
icon = "soh";
exec = "soh";
comment = finalAttrs.meta.description;
genericName = "Ship of Harkinian";
desktopName = "soh";
categories = [ "Game" ];
})
];
meta = with lib; {
meta = {
homepage = "https://github.com/HarbourMasters/Shipwright";
description = "A PC port of Ocarina of Time with modern controls, widescreen, high-resolution, and more";
longDescription = ''
An PC port of Ocarina of Time with modern controls, widescreen, high-resolution and more, based off of decompilation.
Note that you must supply an OoT rom yourself to use this package because propietary assets are extracted from it.
You can change the game variant like this:
shipwright.override { oot.enable = false; ootMq.enable = true }
The default ROM variants for Oot and OotMq are debug and debug-mq respectively.
If you have a pal-gc rom, you should override like this:
shipwright.override { oot = { enable = true; variant = "pal-gc"; rom = path/to/oot-pal-gc.z64; } }
The supported Oot variants are:
- debug: Ocarina of Time Debug PAL GC (not Master Quest)
- pal-gc: Ocarina of Time PAL GameCube (may lead to crashes and instability)
The supported OotMq variants are:
- debug-mq: Ocarina of Time Debug PAL GC MQ (Dungeons will be Master Quest)
- debug-mq-alt: Alternate ROM, not produced by decompilation.
'';
mainProgram = "soh";
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ ivar j0lol ];
license = with licenses; [
maintainers = with lib.maintainers; [ ivar j0lol ];
license = with lib.licenses; [
# OTRExporter, OTRGui, ZAPDTR, libultraship
mit
# Ship of Harkinian itself
unfree
];
};
}
})

View File

@ -18,18 +18,18 @@ let
jinja2
dbus-next
apprise
python-periphery
]
++ (lib.optionals useGpiod [ libgpiod ])
);
in stdenvNoCC.mkDerivation rec {
pname = "moonraker";
version = "unstable-2023-12-16";
version = "unstable-2023-12-27";
src = fetchFromGitHub {
owner = "Arksine";
repo = "moonraker";
rev = "42357891a3716cd332ef60b28af09f8732dbf67a";
sha256 = "sha256-5w336GaHUkbmhAPvhOO3kNW5q7qTFVw3p0Q+Rv+YdYM=";
rev = "c226e9c1e44d65ff6ea400b81e3cedba7f637976";
sha256 = "sha256-wdf4uab8pJEWaX6PFN9Y9pykmylmxJ4Oo5pwSQcyjCc=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -9,13 +9,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "peering-manager";
version = "1.8.2";
version = "1.8.3";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-He1AXfNsjVHYt2cBDjObz6sRcPbtsMotAsw+hvMrWyA=";
rev = "refs/tags/v${version}";
sha256 = "sha256-UV1zSX9C9y5faOBUQ7bfj2DT6ffhMW28MIT7SaYjMgw=";
};
format = "other";

View File

@ -2,7 +2,7 @@
# docs deps
, libxslt, docbook_xml_dtd_412, docbook_xml_dtd_43, docbook_xsl, xmlto
# runtime deps
, resholve, bash, coreutils, dbus, file, gawk, gnugrep, gnused, jq, lockfileProgs, nettools, procmail, procps, xdg-user-dirs
, resholve, bash, coreutils, dbus, file, gawk, glib, gnugrep, gnused, jq, lockfileProgs, nettools, procmail, procps, xdg-user-dirs
, perl, perlPackages
, mimiSupport ? false
, withXdgOpenUsePortalPatch ? true }:
@ -61,7 +61,7 @@ let
{
scripts = [ "bin/xdg-email" ];
interpreter = "${bash}/bin/bash";
inputs = commonDeps ++ [ gawk "${placeholder "out"}/bin" ];
inputs = commonDeps ++ [ gawk glib.bin "${placeholder "out"}/bin" ];
execer = [
"cannot:${placeholder "out"}/bin/xdg-mime"
"cannot:${placeholder "out"}/bin/xdg-open"
@ -71,7 +71,6 @@ let
fake.external = commonFakes ++ [
"exo-open" # XFCE
"gconftool-2" # GNOME
"gdbus" # Flatpak (calls xdg-portal)
"gio" # GNOME (new)
"gnome-open" # GNOME (very old)
"gvfs-open" # GNOME (old)
@ -127,7 +126,7 @@ let
{
scripts = [ "bin/xdg-open" ];
interpreter = "${bash}/bin/bash";
inputs = commonDeps ++ [ nettools "${placeholder "out"}/bin" ];
inputs = commonDeps ++ [ nettools glib.bin "${placeholder "out"}/bin" ];
execer = [
"cannot:${placeholder "out"}/bin/xdg-mime"
];
@ -138,7 +137,6 @@ let
"dde-open" # Deepin
"enlightenment_open" # Enlightenment
"exo-open" # XFCE
"gdbus" # Flatpak (calls xdg-portal)
"gio" # GNOME (new)
"gnome-open" # GNOME (very old)
"gvfs-open" # GNOME (old)

View File

@ -3,13 +3,13 @@
buildGoModule rec {
pname = "restic";
version = "0.16.3";
version = "0.16.4";
src = fetchFromGitHub {
owner = "restic";
repo = "restic";
rev = "v${version}";
hash = "sha256-nPOCncqdnwhmWrT11evBD4r5hpRb3DTdRej4zh4Q8lg=";
hash = "sha256-TSUhrtSgGIPM/cUzA6WDtCpqCyjtnM5BZDhK6udR0Ek=";
};
patches = [
@ -17,7 +17,7 @@ buildGoModule rec {
./0001-Skip-testing-restore-with-permission-failure.patch
];
vendorHash = "sha256-stz76S2dwVlBuGW9R7+Uqs51Xsq7L/4pgTqUZnu7YCQ=";
vendorHash = "sha256-E+Erf8AdlMBdep1g2SpI8JKIdJuKqmyWEUmh8Rs5R/o=";
subPackages = [ "cmd/restic" ];

View File

@ -7,6 +7,7 @@
, wrapGAppsHook
, gtk3
, jansson
, nixosTests
}:
stdenv.mkDerivation {
@ -38,6 +39,8 @@ stdenv.mkDerivation {
url = "https://github.com/paoloose/urn.git";
};
passthru.tests.nixosTest = nixosTests.urn-timer;
meta = with lib; {
homepage = "https://github.com/paoloose/urn";
description = "Split tracker / timer for speedrunning with GTK+ frontend";

View File

@ -16,12 +16,12 @@
, openvpn
, electron
}: let
version = "1.3.3584.5";
version = "1.3.3785.81";
src = fetchFromGitHub {
owner = "pritunl";
repo = "pritunl-client-electron";
rev = version;
sha256 = "sha256-wWpP2u+oQSESjkRvAn5by7efvssYtKBYg2E+FZ/+tg0=";
sha256 = "sha256-0tlWX9vHiFHewiisI8lwsQdHyEhntu+x415hfbymhIo=";
};
cli = buildGoModule {
@ -29,7 +29,7 @@
inherit version src;
modRoot = "cli";
vendorHash = "sha256-miwGLWpoaavg/xcw/0pNBYCdovBnvjP5kdaaGPcRuWk=";
vendorHash = "sha256-1sAJbEZHagG6hnZBkb6EbQpSdNmTyTWfKpbektXSWYU=";
postInstall = ''
mv $out/bin/cli $out/bin/pritunl-client
@ -41,7 +41,7 @@
inherit version src;
modRoot = "service";
vendorHash = "sha256-9Fv8m3eWlxv4WWDSdI0VMavgy+0OSIVZ98dkDBwm4Gc=";
vendorHash = "sha256-QvuEQX1+sJOGB1AJNhnM3pVPxGmizDu8EN1yRspXjhU=";
nativeBuildInputs = [ makeWrapper ];

View File

@ -2,13 +2,13 @@
rustPlatform.buildRustPackage rec {
pname = "nix-doc";
version = "0.6.4";
version = "0.6.5";
src = fetchFromGitHub {
rev = "v${version}";
owner = "lf-";
repo = "nix-doc";
sha256 = "sha256-yL0oG0NiQ7OdGQ/kZxQbSbNphKapu5HBFNP5E2fVe+Y=";
sha256 = "sha256-9cuNzq+CBA2jz0LkZb7lh/WISIlKklfovGBAbSo1Mgk=";
};
doCheck = true;
@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
RUSTFLAGS = "-Z relro-level=partial";
};
cargoSha256 = "sha256-4bzLZt45ZLTZyZPZ4Nkvz7mNe4oqOIoaZUbCbNWBKG0=";
cargoSha256 = "sha256-CHagzXTG9AfrFd3WmHanQ+YddMgmVxSuB8vK98A1Mlw=";
meta = with lib; {
description = "An interactive Nix documentation tool";

View File

@ -45,7 +45,7 @@ let
in
buildPythonApplication rec {
pname = "mkosi";
version = "20.1";
version = "20.2";
format = "pyproject";
outputs = [ "out" "man" ];
@ -54,9 +54,18 @@ buildPythonApplication rec {
owner = "systemd";
repo = "mkosi";
rev = "v${version}";
hash = "sha256-gkn5d9ybfrV/QYKSUyzyHAouU++NCEBDT22zFMrEZt8=";
hash = "sha256-+mvepzoswDVIHzj+rEnlr0ouphGv5unpaNX3U8x517Y=";
};
patches = [
# sandbox: Deal correctly with unmerged-usr.
# Remove on next release after v20.2.
(fetchpatch {
url = "https://github.com/systemd/mkosi/commit/5a708efdb432dee9c6e5a9a4754752359cac8944.patch";
hash = "sha256-dXkY8Hha6y9CoZC1WdtZuI/YJsOQ1fOt4o4RsPkGWYQ=";
})
];
# Fix ctypes finding library
# https://github.com/NixOS/nixpkgs/issues/7307
postPatch = lib.optionalString stdenv.isLinux ''

View File

@ -705,7 +705,7 @@ mapAliases ({
### N ###
ncdu_2 = ncdu; # Added 2022-07-22
nestopia = throw "nestopia was forked; use nestopia-ue instead"; # Added 2024-01-24
net_snmp = throw "'net_snmp' has been renamed to/replaced by 'net-snmp'"; # Converted to throw 2023-09-10
netbox_3_3 = throw "netbox 3.3 series has been removed as it was EOL"; # Added 2023-09-02
netbox_3_5 = throw "netbox 3.5 series has been removed as it was EOL"; # Added 2024-01-22

View File

@ -258,8 +258,6 @@ with pkgs;
ariang = callPackage ../servers/ariang { };
mov-cli = callPackage ../applications/video/mov-cli { };
ani-cli = callPackage ../applications/video/ani-cli { };
dra-cla = callPackage ../applications/video/dra-cla { };
@ -2768,8 +2766,6 @@ with pkgs;
mupen64plus = callPackage ../applications/emulators/mupen64plus { };
nestopia = callPackage ../applications/emulators/nestopia { };
np2kai = callPackage ../applications/emulators/np2kai { };
nuked-md = callPackage ../applications/emulators/nuked-md { };
@ -8244,8 +8240,6 @@ with pkgs;
faraday-cli = callPackage ../tools/security/faraday-cli { };
farge = callPackage ../tools/misc/farge { };
fastlane = callPackage ../tools/admin/fastlane { };
fatresize = callPackage ../tools/filesystems/fatresize { };
@ -25214,8 +25208,6 @@ with pkgs;
tdlib = callPackage ../development/libraries/tdlib { };
tecla = callPackage ../development/libraries/tecla { };
tectonic = callPackage ../tools/typesetting/tectonic/wrapper.nix { };
tectonic-unwrapped = callPackage ../tools/typesetting/tectonic {
@ -28981,8 +28973,6 @@ with pkgs;
bakoma_ttf = callPackage ../data/fonts/bakoma-ttf { };
banana-cursor = callPackage ../data/icons/banana-cursor { };
barlow = callPackage ../data/fonts/barlow { };
base16-schemes = callPackage ../data/themes/base16-schemes { };