nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 buildPackages,
5 fetchurl,
6 pkg-config,
7 ncurses,
8 gzip,
9 sslSupport ? true,
10 openssl,
11 nukeReferences,
12}:
13
14stdenv.mkDerivation (finalAttrs: {
15 pname = "lynx";
16 version = "2.9.2";
17
18 src = fetchurl {
19 urls = [
20 "https://invisible-island.net/archives/lynx/tarballs/lynx${finalAttrs.version}.tar.bz2"
21 "https://invisible-mirror.net/archives/lynx/tarballs/lynx${finalAttrs.version}.tar.bz2"
22 ];
23 hash = "sha256-c3S4mTbZkWaeEB9Ol/LJWSA24ejNqnuvwlmnerb7B84=";
24 };
25
26 enableParallelBuilding = true;
27
28 configureFlags = [
29 "--enable-default-colors"
30 "--enable-widec"
31 "--enable-ipv6"
32 ]
33 ++ lib.optional sslSupport "--with-ssl";
34
35 depsBuildBuild = [ buildPackages.stdenv.cc ];
36 nativeBuildInputs = [ nukeReferences ] ++ lib.optional sslSupport pkg-config;
37
38 buildInputs = [
39 ncurses
40 gzip
41 ]
42 ++ lib.optional sslSupport openssl;
43
44 # cfg_defs.h captures lots of references to build-only dependencies, derived
45 # from config.cache.
46 postConfigure = ''
47 make cfg_defs.h
48 nuke-refs cfg_defs.h
49 '';
50
51 env = lib.optionalAttrs stdenv.cc.isGNU {
52 NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
53 };
54
55 meta = {
56 description = "Text-mode web browser";
57 homepage = "https://lynx.invisible-island.net/";
58 mainProgram = "lynx";
59 maintainers = [ ];
60 license = lib.licenses.gpl2Plus;
61 platforms = lib.platforms.unix;
62 };
63})