diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix index 681de76dda3..1c573eb1a58 100644 --- a/pkgs/applications/networking/browsers/lagrange/default.nix +++ b/pkgs/applications/networking/browsers/lagrange/default.nix @@ -6,39 +6,45 @@ , pkg-config , fribidi , harfbuzz -, libunistring , libwebp , mpg123 -, openssl -, pcre , SDL2 +, the-foundation , AppKit , zip -, zlib +, enableTUI ? false, ncurses, sealcurses }: stdenv.mkDerivation rec { pname = "lagrange"; - version = "1.12.2"; + version = "1.13.3"; src = fetchFromGitHub { owner = "skyjake"; repo = "lagrange"; rev = "v${version}"; - sha256 = "sha256-AVitXfHIJmCBBkhg+DLkHeCSoyH6YMaTMaa4REDXEFg="; - fetchSubmodules = true; + sha256 = "sha256-ZCG7i5WmhONockaTt/YCww7N+WvxCX2DIwQIFjAk+K8="; }; - postPatch = '' - rm -r lib/fribidi lib/harfbuzz - ''; - nativeBuildInputs = [ cmake pkg-config zip ]; - buildInputs = [ fribidi harfbuzz libunistring libwebp mpg123 openssl pcre SDL2 zlib ] + buildInputs = [ the-foundation ] + ++ lib.optionals (!enableTUI) [ fribidi harfbuzz libwebp mpg123 SDL2 ] + ++ lib.optionals enableTUI [ ncurses sealcurses ] ++ lib.optional stdenv.isDarwin AppKit; - installPhase = lib.optionalString stdenv.isDarwin '' + cmakeFlags = lib.optionals enableTUI [ + "-DENABLE_TUI=YES" + "-DENABLE_MPG123=NO" + "-DENABLE_WEBP=NO" + "-DENABLE_FRIBIDI=NO" + "-DENABLE_HARFBUZZ=NO" + "-DENABLE_POPUP_MENUS=NO" + "-DENABLE_IDLE_SLEEP=NO" + "-DCMAKE_INSTALL_DATADIR=${placeholder "out"}/share" + ]; + + installPhase = lib.optionalString (stdenv.isDarwin && !enableTUI) '' mkdir -p $out/Applications mv Lagrange.app $out/Applications ''; diff --git a/pkgs/development/libraries/sealcurses/default.nix b/pkgs/development/libraries/sealcurses/default.nix new file mode 100644 index 00000000000..21ee2a782a2 --- /dev/null +++ b/pkgs/development/libraries/sealcurses/default.nix @@ -0,0 +1,28 @@ +{ lib, stdenv, fetchFromGitea, cmake, pkg-config, ncurses, the-foundation }: + +stdenv.mkDerivation rec { + pname = "sealcurses"; + version = "unstable-2022-04-28"; # No release yet + + src = fetchFromGitea { + domain = "git.skyjake.fi"; + owner = "skyjake"; + repo = pname; + rev = "abf27cfd2567a0765aaa115cabab0abb7f862253"; + hash = "sha256-c4zi/orHyr1hkuEisqZ9V8SaiH1IoxIbeGMrLBEkZ0A="; + }; + + nativeBuildInputs = [ cmake pkg-config ]; + + buildInputs = [ ncurses the-foundation ]; + + cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ]; + + meta = with lib; { + description = "SDL Emulation and Adaptation Layer for Curses (ncursesw)"; + homepage = "https://git.skyjake.fi/skyjake/sealcurses"; + license = licenses.bsd2; + maintainers = with maintainers; [ sikmir ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/libraries/the-foundation/default.nix b/pkgs/development/libraries/the-foundation/default.nix new file mode 100644 index 00000000000..012d13964c4 --- /dev/null +++ b/pkgs/development/libraries/the-foundation/default.nix @@ -0,0 +1,36 @@ +{ lib +, stdenv +, fetchFromGitea +, cmake +, pkg-config +, curl +, libunistring +, openssl +, pcre +, zlib +}: + +stdenv.mkDerivation rec { + pname = "the-foundation"; + version = "1.4.0"; + + src = fetchFromGitea { + domain = "git.skyjake.fi"; + owner = "skyjake"; + repo = "the_Foundation"; + rev = "v${version}"; + hash = "sha256-IHwWJryG4HcrW9Bf8KJrisCrbF86RBQj6Xl1HTmcr6k="; + }; + + nativeBuildInputs = [ cmake pkg-config ]; + + buildInputs = [ curl libunistring openssl pcre zlib ]; + + meta = with lib; { + description = "Opinionated C11 library for low-level functionality"; + homepage = "https://git.skyjake.fi/skyjake/the_Foundation"; + license = licenses.bsd2; + maintainers = with maintainers; [ sikmir ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 76c56740605..a9a103470ae 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7626,6 +7626,7 @@ with pkgs; lagrange = callPackage ../applications/networking/browsers/lagrange { inherit (darwin.apple_sdk.frameworks) AppKit; }; + lagrange-tui = lagrange.override { enableTUI = true; }; kzipmix = pkgsi686Linux.callPackage ../tools/compression/kzipmix { }; @@ -20453,6 +20454,8 @@ with pkgs; selinux-sandbox = callPackage ../os-specific/linux/selinux-sandbox { }; + sealcurses = callPackage ../development/libraries/sealcurses { }; + seasocks = callPackage ../development/libraries/seasocks { }; serd = callPackage ../development/libraries/serd {}; @@ -20805,6 +20808,8 @@ with pkgs; tet = callPackage ../development/tools/misc/tet { }; + the-foundation = callPackage ../development/libraries/the-foundation { }; + theft = callPackage ../development/libraries/theft { }; thrift = callPackage ../development/libraries/thrift { };