110 lines
2.8 KiB
Nix
110 lines
2.8 KiB
Nix
|
{
|
||
|
lib,
|
||
|
fetchFromGitHub,
|
||
|
flutter,
|
||
|
stdenv,
|
||
|
webkitgtk_4_1,
|
||
|
alsa-lib,
|
||
|
libayatana-appindicator,
|
||
|
libepoxy,
|
||
|
autoPatchelfHook,
|
||
|
wrapGAppsHook3,
|
||
|
gst_all_1,
|
||
|
at-spi2-atk,
|
||
|
fetchurl,
|
||
|
}:
|
||
|
let
|
||
|
version = "1.4.1";
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "Predidit";
|
||
|
repo = "Kazumi";
|
||
|
rev = version;
|
||
|
hash = "sha256-LRlJo2zuE3Y3i4vBcjxIYQEDVJ2x85Fn77K4LVtTlg8=";
|
||
|
};
|
||
|
mdk-sdk = fetchurl {
|
||
|
url = "https://github.com/wang-bin/mdk-sdk/releases/download/v0.29.1/mdk-sdk-linux-x64.tar.xz";
|
||
|
hash = "sha256-7dkvm5kP3gcQwXOE9DrjoOTzKRiwk/PVeRr7poLdCU0=";
|
||
|
};
|
||
|
in
|
||
|
flutter.buildFlutterApplication {
|
||
|
pname = "kazumi";
|
||
|
|
||
|
inherit version src;
|
||
|
|
||
|
pubspecLock = lib.importJSON ./pubspec.lock.json;
|
||
|
|
||
|
nativeBuildInputs = [
|
||
|
wrapGAppsHook3
|
||
|
autoPatchelfHook
|
||
|
];
|
||
|
|
||
|
buildInputs = [
|
||
|
webkitgtk_4_1
|
||
|
alsa-lib
|
||
|
at-spi2-atk
|
||
|
libayatana-appindicator
|
||
|
libepoxy
|
||
|
gst_all_1.gstreamer
|
||
|
gst_all_1.gst-vaapi
|
||
|
gst_all_1.gst-libav
|
||
|
gst_all_1.gst-plugins-good
|
||
|
gst_all_1.gst-plugins-bad
|
||
|
gst_all_1.gst-plugins-base
|
||
|
];
|
||
|
|
||
|
customSourceBuilders = {
|
||
|
flutter_volume_controller =
|
||
|
{ version, src, ... }:
|
||
|
stdenv.mkDerivation rec {
|
||
|
pname = "flutter_volume_controller";
|
||
|
inherit version src;
|
||
|
inherit (src) passthru;
|
||
|
postPatch = ''
|
||
|
substituteInPlace linux/CMakeLists.txt \
|
||
|
--replace-fail '# Include ALSA' 'find_package(PkgConfig REQUIRED)' \
|
||
|
--replace-fail 'find_package(ALSA REQUIRED)' 'pkg_check_modules(ALSA REQUIRED alsa)'
|
||
|
'';
|
||
|
installPhase = ''
|
||
|
runHook preInstall
|
||
|
mkdir $out
|
||
|
cp -r ./* $out/
|
||
|
runHook postInstall
|
||
|
'';
|
||
|
};
|
||
|
fvp =
|
||
|
{ version, src, ... }:
|
||
|
stdenv.mkDerivation rec {
|
||
|
pname = "fvp";
|
||
|
inherit version src;
|
||
|
inherit (src) passthru;
|
||
|
installPhase = ''
|
||
|
runHook preInstall
|
||
|
tar -xf ${mdk-sdk} -C ./linux
|
||
|
mkdir $out
|
||
|
cp -r ./* $out/
|
||
|
runHook postInstall
|
||
|
'';
|
||
|
};
|
||
|
};
|
||
|
|
||
|
gitHashes = {
|
||
|
desktop_webview_window = "sha256-Z9ehzDKe1W3wGa2AcZoP73hlSwydggO6DaXd9mop+cM=";
|
||
|
webview_windows = "sha256-9oWTvEoFeF7djEVA3PSM72rOmOMUhV8ZYuV6+RreNzE=";
|
||
|
};
|
||
|
|
||
|
postInstall = ''
|
||
|
mkdir -p $out/share/applications/ $out/share/icons/hicolor/512x512/apps/
|
||
|
cp ./assets/linux/io.github.Predidit.Kazumi.desktop $out/share/applications
|
||
|
cp ./assets/images/logo/logo_linux.png $out/share/icons/hicolor/512x512/apps/io.github.Predidit.Kazumi.png
|
||
|
'';
|
||
|
|
||
|
meta = {
|
||
|
description = "Watch Animes online with danmaku support";
|
||
|
homepage = "https://github.com/Predidit/Kazumi";
|
||
|
mainProgram = "kazumi";
|
||
|
license = with lib.licenses; [ gpl3Plus ];
|
||
|
maintainers = with lib.maintainers; [ aucub ];
|
||
|
platforms = lib.platforms.linux;
|
||
|
};
|
||
|
}
|