diff --git a/TODO.md b/TODO.md index f3d6d8a4..2d131928 100644 --- a/TODO.md +++ b/TODO.md @@ -130,4 +130,3 @@ - migrate MAME cabinet to nix - boot it from PXE from servo? - enable IPv6 -- package lemonade lemmy app: diff --git a/pkgs/additional/lemonade/default.nix b/pkgs/additional/lemonade/default.nix new file mode 100644 index 00000000..7cb77564 --- /dev/null +++ b/pkgs/additional/lemonade/default.nix @@ -0,0 +1,69 @@ +# XXX: lemonade is ALPHA. literally unusable right now. it loads the top communities from lemmy.ml, but interacting with them in any form is completely unimplemented. +# my development fork: +# difference from tip: +# - flake.nix/default.nix +# - runs outside flatpak +# - more logging +{ lib, stdenv +, desktop-file-utils +, fetchFromGitHub +, gitUpdater +, gobject-introspection +, gtk4 +, libadwaita +, meson +, ninja +, python3 +, wrapGAppsHook4 +}: + +let + pyEnv = python3.withPackages (ps: with ps; [ + pygobject3 + requests + ]); +in +stdenv.mkDerivation (final: with final; { + pname = "lemonade"; + version = "2023.10.29"; + + src = fetchFromGitHub { + owner = "mdwalters"; + repo = "lemonade"; + rev = version; + hash = "sha256-E5NDkyChaH/iQSWxWuwNWQQtWELF9tPLMWiJB7j4F4Y="; + }; + + postPatch = '' + # see: + substituteInPlace src/main.py \ + --replace \ + "{os.environ['XDG_RUNTIME_DIR']}/app/ml.mdwalters.Lemonade/cache" \ + "{os.environ['HOME']}/.cache/ml.mdwalters.Lemonade" \ + --replace \ + 'os.path.join(f"{os.environ['"'"'XDG_RUNTIME_DIR'"'"']}/app/ml.mdwalters.Lemonade", "cache")' \ + 'os.path.join(f"{os.environ['"'"'HOME'"'"']}/.cache", "ml.mdwalters.Lemonade")' + ''; + + nativeBuildInputs = [ + desktop-file-utils + gobject-introspection + meson + ninja + wrapGAppsHook4 + ]; + buildInputs = [ + gtk4 + libadwaita + pyEnv + ]; + + passthru.updateScript = gitUpdater { }; + + meta = with lib; { + description = "🍋 Follow discussions on Lemmy"; + homepage = "https://github.com/mdwalters/lemonade"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ colinsane ]; + }; +}) diff --git a/pkgs/default.nix b/pkgs/default.nix index cf1f7ee7..8ac99377 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -43,6 +43,7 @@ let landlock-sandboxer = callPackage ./additional/landlock-sandboxer { }; ldd-aarch64 = callPackage ./additional/ldd-aarch64 { }; lemoa = callPackage ./additional/lemoa { }; + lemmy-lemonade = callPackage ./additional/lemonade { }; # XXX: nixpkgs already has a `lemonade` pkg lightdm-mobile-greeter = callPackage ./additional/lightdm-mobile-greeter { }; linux-firmware-megous = callPackage ./additional/linux-firmware-megous { }; # XXX: eval error: need to port past linux_6_4