nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 ncurses,
6 libX11,
7 bzip2,
8 zlib,
9 brotli,
10 zstd,
11 xz,
12 openssl,
13 autoreconfHook,
14 gettext,
15 pkg-config,
16 libev,
17 gpm,
18 libidn,
19 tre,
20 expat,
21 # Incompatible licenses, LGPLv3 - GPLv2
22 enableGuile ? false,
23 guile ? null,
24 enablePython ? false,
25 python ? null,
26 enablePerl ? (!stdenv.hostPlatform.isDarwin) && (stdenv.hostPlatform == stdenv.buildPlatform),
27 perl ? null,
28 # re-add javascript support when upstream supports modern spidermonkey
29}:
30
31assert enableGuile -> guile != null;
32assert enablePython -> python != null;
33
34stdenv.mkDerivation rec {
35 pname = "elinks";
36 version = "0.18.0";
37
38 src = fetchFromGitHub {
39 owner = "rkd77";
40 repo = "elinks";
41 rev = "v${version}";
42 hash = "sha256-TTb/v24gIWKiCQCESHo0Pz6rvRtw5anoXK0b35dzfLM=";
43 };
44
45 buildInputs = [
46 ncurses
47 libX11
48 bzip2
49 zlib
50 brotli
51 zstd
52 xz
53 openssl
54 libidn
55 tre
56 expat
57 libev
58 ]
59 ++ lib.optional stdenv.hostPlatform.isLinux gpm
60 ++ lib.optional enableGuile guile
61 ++ lib.optional enablePython python
62 ++ lib.optional enablePerl perl;
63
64 nativeBuildInputs = [
65 autoreconfHook
66 gettext
67 pkg-config
68 ];
69
70 configureFlags = [
71 "--enable-finger"
72 "--enable-html-highlight"
73 "--enable-gopher"
74 "--enable-gemini"
75 "--enable-cgi"
76 "--enable-bittorrent"
77 "--enable-nntp"
78 "--enable-256-colors"
79 "--enable-true-color"
80 "--with-brotli"
81 "--with-lzma"
82 "--with-libev"
83 "--with-terminfo"
84 ]
85 ++ lib.optional enableGuile "--with-guile"
86 ++ lib.optional enablePython "--with-python"
87 ++ lib.optional enablePerl "--with-perl";
88
89 meta = {
90 description = "Full-featured text-mode web browser";
91 mainProgram = "elinks";
92 homepage = "https://github.com/rkd77/elinks";
93 license = lib.licenses.gpl2;
94 platforms = with lib.platforms; linux ++ darwin;
95 maintainers = with lib.maintainers; [
96 iblech
97 ];
98 };
99}