diff --git a/pkgs/applications/networking/browsers/offpunk/default.nix b/pkgs/applications/networking/browsers/offpunk/default.nix new file mode 100644 index 000000000000..dcfe1d4b6570 --- /dev/null +++ b/pkgs/applications/networking/browsers/offpunk/default.nix @@ -0,0 +1,67 @@ +{ + fetchFromGitea, + less, + lib, + makeWrapper, + offpunk, + python3, + ripgrep, + stdenv, + testVersion, + timg, + xdg-utils, + xsel, +}: + +let + pythonDependencies = with python3.pkgs; [ + beautifulsoup4 + cryptography + feedparser + pillow + readability-lxml + requests + setproctitle + ]; + otherDependencies = [ + less + ripgrep + timg + xdg-utils + xsel + ]; +in +stdenv.mkDerivation (finalAttrs: { + pname = "offpunk"; + version = "1.4"; + + src = fetchFromGitea { + domain = "notabug.org"; + owner = "ploum"; + repo = "offpunk"; + rev = "v${finalAttrs.version}"; + sha256 = "04dzkzsan1cnrslsvfgn1whpwald8xy34wqzvq81hd2mvw9a2n69"; + }; + + buildInputs = [ makeWrapper ] ++ otherDependencies ++ pythonDependencies; + + installPhase = '' + runHook preInstall + + install -D ./offpunk.py $out/bin/offpunk + + wrapProgram $out/bin/offpunk \ + --set PYTHONPATH "$PYTHONPATH" \ + --set PATH ${lib.makeBinPath otherDependencies} + + runHook postInstall + ''; + + meta = with lib; { + description = "An Offline-First browser for the smolnet "; + homepage = "https://notabug.org/ploum/offpunk"; + maintainers = with maintainers; [ DamienCassou ]; + platforms = platforms.linux; + license = licenses.bsd2; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f4e2b90833b9..56374dd2157b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27516,6 +27516,8 @@ with pkgs; mt32emu-smf2wav = callPackage ../applications/audio/munt/mt32emu-smf2wav.nix { }; + offpunk = callPackage ../applications/networking/browsers/offpunk { }; + p2pool = callPackage ../applications/misc/p2pool { }; pass2csv = python3Packages.callPackage ../tools/security/pass2csv {};