Compare commits
11 Commits
dependabot
...
init-slipp
| Author | SHA1 | Date | |
|---|---|---|---|
| f3c9ec6a58 | |||
| c339d99d51 | |||
| 4e6643fc53 | |||
| 5507ea916d | |||
| 296c97ce00 | |||
| e6d1bd3b64 | |||
| c9b9c00793 | |||
| cc994b2230 | |||
| ea8b5c2838 | |||
| 3b3f00fa6b | |||
| 1390585d71 |
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
@@ -9,7 +9,7 @@ on:
|
|||||||
# rebuild everyday at 2:51
|
# rebuild everyday at 2:51
|
||||||
# TIP: Choose a random time here so not all repositories are build at once:
|
# TIP: Choose a random time here so not all repositories are build at once:
|
||||||
# https://www.random.org/clock-times/?num=1&earliest=01%3A00&latest=08%3A00&interval=5&format=html&rnd=new
|
# https://www.random.org/clock-times/?num=1&earliest=01%3A00&latest=08%3A00&interval=5&format=html&rnd=new
|
||||||
- cron: '51 2 * * *'
|
- cron: '55 3 * * *'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
jobs:
|
jobs:
|
||||||
tests:
|
tests:
|
||||||
@@ -52,7 +52,7 @@ jobs:
|
|||||||
- name: Show nixpkgs version
|
- name: Show nixpkgs version
|
||||||
run: nix-instantiate --eval -E '(import <nixpkgs> {}).lib.version'
|
run: nix-instantiate --eval -E '(import <nixpkgs> {}).lib.version'
|
||||||
- name: Setup cachix
|
- name: Setup cachix
|
||||||
uses: cachix/cachix-action@v16
|
uses: cachix/cachix-action@v15
|
||||||
# Don't replace <YOUR_CACHIX_NAME> here!
|
# Don't replace <YOUR_CACHIX_NAME> here!
|
||||||
if: ${{ matrix.cachixName != '<YOUR_CACHIX_NAME>' }}
|
if: ${{ matrix.cachixName != '<YOUR_CACHIX_NAME>' }}
|
||||||
with:
|
with:
|
||||||
|
|||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,3 +1,5 @@
|
|||||||
result
|
result
|
||||||
result-*
|
result-*
|
||||||
|
|
||||||
|
|
||||||
|
slippi-ld-log.*
|
||||||
6
flake.lock
generated
6
flake.lock
generated
@@ -2,11 +2,11 @@
|
|||||||
"nodes": {
|
"nodes": {
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1712449641,
|
"lastModified": 1750386251,
|
||||||
"narHash": "sha256-U9DDWMexN6o5Td2DznEgguh8TRIUnIl9levmit43GcI=",
|
"narHash": "sha256-1ovgdmuDYVo5OUC5NzdF+V4zx2uT8RtsgZahxidBTyw=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "600b15aea1b36eeb43833a50b0e96579147099ff",
|
"rev": "076e8c6678d8c54204abcb4b1b14c366835a58bb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
31
flake.nix
31
flake.nix
@@ -5,19 +5,36 @@
|
|||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs }:
|
outputs = inputs@{ self, ... }:
|
||||||
let
|
let
|
||||||
forAllSystems = nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed;
|
lib = inputs.nixpkgs.lib;
|
||||||
in
|
forAllSystems = lib.genAttrs lib.systems.flakeExposed;
|
||||||
{
|
in {
|
||||||
legacyPackages = forAllSystems (system: import ./default.nix {
|
legacyPackages = forAllSystems (system: import ./default.nix {
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import inputs.nixpkgs { inherit system; };
|
||||||
});
|
});
|
||||||
|
|
||||||
packages =
|
packages =
|
||||||
forAllSystems (system:
|
forAllSystems (system:
|
||||||
nixpkgs.lib.filterAttrs
|
lib.filterAttrs
|
||||||
(_: v: nixpkgs.lib.isDerivation v)
|
(_: v: lib.isDerivation v)
|
||||||
self.legacyPackages.${system});
|
self.legacyPackages.${system});
|
||||||
|
|
||||||
|
devShells.x86_64-linux.slippi =
|
||||||
|
let
|
||||||
|
pkgs = import inputs.nixpkgs { system = "x86_64-linux"; };
|
||||||
|
in self.packages.x86_64-linux.slippi-launcher.env.overrideAttrs
|
||||||
|
(final: prev: {
|
||||||
|
shellHook =
|
||||||
|
builtins.replaceStrings
|
||||||
|
["exec \"\${cmd[@]}\""]
|
||||||
|
[''
|
||||||
|
echo "''${cmd[-1]}"
|
||||||
|
unset cmd[-1]
|
||||||
|
cmd+=("$SHELL")
|
||||||
|
exec "''${cmd[@]}"
|
||||||
|
'']
|
||||||
|
prev.shellHook;
|
||||||
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
14
pkgs/dolphin-mpn/default.nix
Normal file
14
pkgs/dolphin-mpn/default.nix
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{ dolphin-emu, fetchFromGitHub }:
|
||||||
|
|
||||||
|
dolphin-emu.overrideAttrs (prev: final: {
|
||||||
|
pname = "Dolphin-MPN";
|
||||||
|
version = "0712d84";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "MarioPartyNetplay";
|
||||||
|
repo = "Dolphin-MPN";
|
||||||
|
rev = "0712d84c74f696791acf02df4c22e88741665da6";
|
||||||
|
hash = "sha256-dhcLJCQzd7a0l3AVFFVxfQ95sVql5N4e63xdvl7h9uc=";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
meta.broken = true;
|
||||||
|
})
|
||||||
@@ -6,9 +6,11 @@
|
|||||||
, ansilove
|
, ansilove
|
||||||
}:
|
}:
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
let
|
||||||
pname = "durdraw";
|
|
||||||
version = "0.29.0";
|
version = "0.29.0";
|
||||||
|
in python3Packages.buildPythonApplication {
|
||||||
|
pname = "durdraw";
|
||||||
|
inherit version;
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
@@ -18,8 +20,8 @@ python3Packages.buildPythonApplication rec {
|
|||||||
hash = "sha256-a+4DGWBD5XLaNAfTN/fmI/gALe76SCoWrnjyglNhVPY=";
|
hash = "sha256-a+4DGWBD5XLaNAfTN/fmI/gALe76SCoWrnjyglNhVPY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = with python3Packages; [
|
build-system = [
|
||||||
setuptools
|
python3Packages.setuptools
|
||||||
];
|
];
|
||||||
|
|
||||||
dependencies = [];
|
dependencies = [];
|
||||||
@@ -34,7 +36,8 @@ python3Packages.buildPythonApplication rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
changelog = "https://github.com/cmang/durdraw/releases/tag/${version}";
|
changelog =
|
||||||
|
"https://github.com/cmang/durdraw/releases/tag/${version}";
|
||||||
description = ''
|
description = ''
|
||||||
Versatile ASCII and ANSI Art text editor for drawing in the
|
Versatile ASCII and ANSI Art text editor for drawing in the
|
||||||
Linux/Unix/macOS terminal, with animation, 256 and 16 colors, Unicode and
|
Linux/Unix/macOS terminal, with animation, 256 and 16 colors, Unicode and
|
||||||
|
|||||||
51
pkgs/slippi-launcher/default.nix
Normal file
51
pkgs/slippi-launcher/default.nix
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
{ lib
|
||||||
|
, appimageTools
|
||||||
|
, fetchurl
|
||||||
|
, fuse
|
||||||
|
, bash
|
||||||
|
, breakpointHook
|
||||||
|
, makeWrapper
|
||||||
|
}:
|
||||||
|
|
||||||
|
appimageTools.wrapType2 rec {
|
||||||
|
pname = "slippi-launcher";
|
||||||
|
version = "2.11.10";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/project-slippi/slippi-launcher/releases/download/v${version}/Slippi-Launcher-${version}-x86_64.AppImage";
|
||||||
|
hash = "sha256-OrWd0jVqe6CzNbVRNlm2alt2NZ8uBYeHiASaB74ouW4=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
breakpointHook
|
||||||
|
makeWrapper
|
||||||
|
];
|
||||||
|
|
||||||
|
extraPkgs = pkgs: [
|
||||||
|
pkgs.fuse
|
||||||
|
pkgs.bintools
|
||||||
|
pkgs.patchelf
|
||||||
|
((pkgs.curl.override {
|
||||||
|
opensslSupport = true;
|
||||||
|
gnutlsSupport = false;
|
||||||
|
}).overrideAttrs (final: prev: {
|
||||||
|
meta.prio = lib.highPrio;
|
||||||
|
}))
|
||||||
|
pkgs.openssl
|
||||||
|
];
|
||||||
|
|
||||||
|
extraInstallCommands = ''
|
||||||
|
wrapProgram $out/bin/slippi-launcher \
|
||||||
|
--set FUSERMOUNT_PROG "${fuse}/bin/fusermount"
|
||||||
|
'';
|
||||||
|
|
||||||
|
# note to madddy./.. DELETE "ubuntu is stupid" LINE FROM ~/.cache/appimage-run/XXXXX/shell-hooks/a
|
||||||
|
meta = {
|
||||||
|
description = "The way to play Slippi Online and watch replays.";
|
||||||
|
homepage = "https://github.com/project-slippi/slippi-launcher";
|
||||||
|
downloadPage = "https://github.com/project-slippi/slippi-launcher/releases";
|
||||||
|
license = lib.licenses.gpl3;
|
||||||
|
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||||
|
platforms = [ "x86_64-linux" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
109
pkgs/venmic-server/default.nix
Normal file
109
pkgs/venmic-server/default.nix
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
{ cmake
|
||||||
|
, cacert
|
||||||
|
, cpm-cmake
|
||||||
|
, git
|
||||||
|
, pkg-config
|
||||||
|
, pulseaudio
|
||||||
|
, pipewire
|
||||||
|
, fetchFromGitHub
|
||||||
|
, stdenv
|
||||||
|
}:
|
||||||
|
|
||||||
|
# See
|
||||||
|
# https://github.com/NixOS/nixpkgs/blob/nixos-25.05/pkgs/development/compilers/codon/default.nix#L136
|
||||||
|
# for an example of an CPM/CMake project built with Nix.
|
||||||
|
|
||||||
|
let
|
||||||
|
version = "6.1.0";
|
||||||
|
depsDir = "deps";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Vencord";
|
||||||
|
repo = "venmic";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-0UP8a2bfhWGsB2Lg/GeIBu4zw1zHnXbitT8vU+DLeEY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
venmicDeps = stdenv.mkDerivation {
|
||||||
|
name = "venmic-deps-${version}.tar.gz";
|
||||||
|
|
||||||
|
inherit src;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
cacert
|
||||||
|
cpm-cmake
|
||||||
|
git
|
||||||
|
# Pkg-config is implicitly used by CMake and will fail to find libs
|
||||||
|
# without it.
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
pulseaudio
|
||||||
|
pipewire
|
||||||
|
];
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DCPM_DOWNLOAD_ALL=ON"
|
||||||
|
"-DCPM_SOURCE_CACHE=${depsDir}"
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
# Remove .git directories. For reasons unknown to me, they are a source
|
||||||
|
# of indeterminism.
|
||||||
|
find "${depsDir}" -type d -name '.git' -exec rm -rf {} +
|
||||||
|
|
||||||
|
# Build a reproducible tarball, per
|
||||||
|
# https://reproducible-builds.org/docs/archives.
|
||||||
|
tar --owner=0 --group=0 --numeric-owner --format=gnu \
|
||||||
|
--sort=name --mtime="@$SOURCE_DATE_EPOCH" \
|
||||||
|
-czf $out \
|
||||||
|
"${depsDir}"
|
||||||
|
'';
|
||||||
|
|
||||||
|
outputHashAlgo = "sha256";
|
||||||
|
outputHash = "sha256-cnkqZbSnxFFwDy0zNo4QuQQCaT0dav3V8TDjzZ4mMFA=";
|
||||||
|
};
|
||||||
|
|
||||||
|
venmic-server = stdenv.mkDerivation {
|
||||||
|
pname = "venmic-server";
|
||||||
|
inherit version src venmicDeps;
|
||||||
|
|
||||||
|
postUnpack = ''
|
||||||
|
# Bring in the cached CPM deps.
|
||||||
|
mkdir -p $sourceRoot/build
|
||||||
|
tar xzf "$venmicDeps" -C $sourceRoot/build
|
||||||
|
|
||||||
|
# Bring in CPM itself — Venmic tries to download it itself.
|
||||||
|
rm $sourceRoot/cmake/cpm.cmake
|
||||||
|
ln -s ${cpm-cmake}/share/cpm/CPM.cmake $sourceRoot/cmake/cpm.cmake
|
||||||
|
'';
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DCPM_SOURCE_CACHE=${depsDir}"
|
||||||
|
"-Dvenmic_prefer_remote=OFF"
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
cpm-cmake
|
||||||
|
git
|
||||||
|
# Pkg-config is implicitly used by CMake and will fail to find libs
|
||||||
|
# without it.
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
pulseaudio
|
||||||
|
pipewire
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
mv server/venmic-server $out/bin
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in venmic-server
|
||||||
31
pkgs/wii-u-gc-adapter/default.nix
Normal file
31
pkgs/wii-u-gc-adapter/default.nix
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
{ stdenv, pkg-config, udev, libusb1, fetchFromGitHub }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "wii-u-gc-adapter";
|
||||||
|
version = "fa098ef";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ToadKing";
|
||||||
|
repo = "wii-u-gc-adapter";
|
||||||
|
rev = "fa098efa7f6b34f8cd82e2c249c81c629901976c";
|
||||||
|
hash = "sha256-wm0vDU7QckFvpgI50PG4/elgPEkfr8xTmroz8kE6QMo=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
udev
|
||||||
|
libusb1
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./remove-Wformat.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
mv wii-u-gc-adapter $out/bin
|
||||||
|
'';
|
||||||
|
}
|
||||||
10
pkgs/wii-u-gc-adapter/remove-Wformat.patch
Normal file
10
pkgs/wii-u-gc-adapter/remove-Wformat.patch
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index a00f13a..f13d0c2 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-CFLAGS += -Wall -Wextra -pedantic -Wno-format -std=c99 $(shell pkg-config --cflags libusb-1.0) $(shell pkg-config --cflags udev)
|
||||||
|
+CFLAGS += -Wall -Wextra -Wformat -std=c99 $(shell pkg-config --cflags libusb-1.0) $(shell pkg-config --cflags udev)
|
||||||
|
LDFLAGS += -lpthread -ludev $(shell pkg-config --libs libusb-1.0) $(shell pkg-config --libs udev)
|
||||||
|
|
||||||
|
ifeq ($(DEBUG), 1)
|
||||||
0
slippi-ld-log
Normal file
0
slippi-ld-log
Normal file
30
slippi-log
Normal file
30
slippi-log
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
20:37:29.048 (dolphin/ishiiInstallation) › Found existing netplay Dolphin executable.
|
||||||
|
20:37:29.048 (dolphin/ishiiInstallation) › Checking if we need to update netplay Dolphin
|
||||||
|
20:37:30.446 (dolphin/ishiiInstallation) › netplay Dolphin installation is outdated. Downloading latest...
|
||||||
|
20:37:30.447 › Downloading https://github.com/project-slippi/Ishiiruka/releases/download/v3.4.6/FM-Slippi-3.4.6-Linux.zip to /home/crumb/.config/Slippi Launcher/temp/FM-Slippi-3.4.6-Linux.zip
|
||||||
|
20:37:30.453 (dolphin/ishiiInstallation) › Found existing playback Dolphin executable.
|
||||||
|
20:37:30.453 (dolphin/ishiiInstallation) › Checking if we need to update playback Dolphin
|
||||||
|
20:37:31.131 (dolphin/ishiiInstallation) › playback Dolphin installation is outdated. Downloading latest...
|
||||||
|
20:37:31.132 › Downloading https://github.com/project-slippi/Ishiiruka-Playback/releases/download/v3.4.6/playback-3.4.6-Linux.zip to /home/crumb/.config/Slippi Launcher/temp/playback-3.4.6-Linux.zip
|
||||||
|
20:37:31.985 (main/github) › Checking cache for: https://api.github.com/repos/project-slippi/Ishiiruka/releases
|
||||||
|
20:37:31.986 (main/github) › Fetching: https://api.github.com/repos/project-slippi/Ishiiruka/releases
|
||||||
|
20:37:31.988 (main/github) › Checking cache for: https://api.github.com/repos/project-slippi/slippi-launcher/releases
|
||||||
|
20:37:31.988 (main/github) › Fetching: https://api.github.com/repos/project-slippi/slippi-launcher/releases
|
||||||
|
20:37:31.988 (main/github) › Checking cache for: https://api.github.com/repos/project-slippi/dolphin/releases
|
||||||
|
20:37:31.988 (main/github) › Fetching: https://api.github.com/repos/project-slippi/dolphin/releases
|
||||||
|
20:37:31.989 (main/bluesky) › Checking cache for: https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed?actor=did%3Aplc%3A6xwud4csg7p7243ptrc5sa5y
|
||||||
|
20:37:31.990 (main/bluesky) › Fetching: https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed?actor=did%3Aplc%3A6xwud4csg7p7243ptrc5sa5y
|
||||||
|
20:39:20.482 › Successfully downloaded https://github.com/project-slippi/Ishiiruka-Playback/releases/download/v3.4.6/playback-3.4.6-Linux.zip to /home/crumb/.config/Slippi Launcher/temp/playback-3.4.6-Linux.zip
|
||||||
|
20:39:20.483 (dolphin/ishiiInstallation) › Installing v3.4.6 playback Dolphin...
|
||||||
|
No existing AppImage found
|
||||||
|
Setting executable permissions...
|
||||||
|
20:39:21.943 (dolphin/ishiiInstallation) › Finished v3.4.6 playback Dolphin install
|
||||||
|
20:40:01.361 › Successfully downloaded https://github.com/project-slippi/Ishiiruka/releases/download/v3.4.6/FM-Slippi-3.4.6-Linux.zip to /home/crumb/.config/Slippi Launcher/temp/FM-Slippi-3.4.6-Linux.zip
|
||||||
|
20:40:01.361 (dolphin/ishiiInstallation) › Installing v3.4.6 netplay Dolphin...
|
||||||
|
No existing AppImage found
|
||||||
|
Setting executable permissions...
|
||||||
|
20:40:02.970 (dolphin/ishiiInstallation) › Finished v3.4.6 netplay Dolphin install
|
||||||
|
20:41:19.468 (dolphin/manager) › Launching dolphin at path: /home/crumb/.config/Slippi Launcher/netplay/Slippi_Online-x86_64.AppImage
|
||||||
|
20:41:20.049 (dolphin/manager) › Dolphin exit code: 1
|
||||||
|
20:41:20.051 (dolphin/manager) › Dolphin exit signal: undefined
|
||||||
|
20:41:20.546 (dolphin/instance) › Received Dolphin stderr message: /home/crumb/.cache/appimage-run/f81347d3673372b3a06916cd7412c77faac6a150f71d60a972351fa56ed52521/AppRun.wrapped: /usr/lib/libcurl.so.4: version `CURL_OPENSSL_4' not found (required by /home/crumb/.cache/appimage-run/f81347d3673372b3a06916cd7412c77faac6a150f71d60a972351fa56ed52521/AppRun.wrapped)
|
||||||
Reference in New Issue
Block a user