chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / ed / edbrowse / package.nix
blob154095e57cc8cd3e061e1555f7d75ddbb70fc529
1 { lib
2 , curl
3 , duktape
4 , fetchFromGitHub
5 , html-tidy
6 , openssl
7 , pcre
8 , perl
9 , pkg-config
10 , quickjs
11 , readline
12 , stdenv
13 , unixODBC
14 , which
15 , withODBC ? true
18 stdenv.mkDerivation (finalAttrs: {
19   pname = "edbrowse";
20   version = "3.8.0";
22   src = fetchFromGitHub {
23     owner = "CMB";
24     repo = "edbrowse";
25     rev = "v${finalAttrs.version}";
26     hash = "sha256-ZXxzQBAmu7kM3sjqg/rDLBXNucO8sFRFKXV8UxQVQZU=";
27   };
29   sourceRoot = "${finalAttrs.src.name}/src";
31   patches = [
32     # Fixes some small annoyances on src/makefile
33      ./0001-small-fixes.patch
34   ];
36   patchFlags =  [
37     "-p2"
38   ];
40   postPatch = ''
41     for file in $(find ./tools/ -type f ! -name '*.c'); do
42       patchShebangs $file
43     done
44   '';
46   nativeBuildInputs = [
47     pkg-config
48     which
49   ];
51   buildInputs = [
52     curl
53     duktape
54     html-tidy
55     openssl
56     pcre
57     perl
58     quickjs
59     readline
60   ] ++ lib.optionals withODBC [
61     unixODBC
62   ];
64   makeFlags = [
65     "PREFIX=${placeholder "out"}"
66   ];
68   preBuild = ''
69     buildFlagsArray+=(
70       BUILD_EDBR_ODBC=${if withODBC then "on" else "off"}
71       EBDEMIN=on
72       QUICKJS_LDFLAGS="-L${quickjs}/lib/quickjs -lquickjs -ldl -latomic"
73     )
74   '';
76   meta = {
77     homepage = "https://edbrowse.org/";
78     description = "Command Line Editor Browser";
79     longDescription = ''
80       Edbrowse is a combination editor, browser, and mail client that is 100%
81       text based. The interface is similar to /bin/ed, though there are many
82       more features, such as editing multiple files simultaneously, and
83       rendering html. This program was originally written for blind users, but
84       many sighted users have taken advantage of the unique scripting
85       capabilities of this program, which can be found nowhere else. A batch
86       job, or cron job, can access web pages on the internet, submit forms, and
87       send email, with no human intervention whatsoever. edbrowse can also tap
88       into databases through odbc. It was primarily written by Karl Dahlke.
89     '';
90     license = with lib.licenses; [ gpl1Plus ];
91     mainProgram = "edbrowse";
92     maintainers = with lib.maintainers; [
93       schmitthenner
94       equirosa
95       AndersonTorres
96     ];
97     platforms = lib.platforms.linux;
98   };
100 # TODO: send the patch to upstream developers