about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/editors/jed/default.nix
blob: 7b197be0e6fa6f371a0fcc37198eeeabbf01a6a2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
{ lib, stdenv, fetchzip
, pkg-config
, gpm
, libXext
, libXft
, libXt
, ncurses5
, slang
} :

stdenv.mkDerivation rec {
  pname = "jed";
  version = "0.99-19";

  src = fetchzip {
    url = "https://www.jedsoft.org/releases/${pname}/${pname}-${version}.tar.bz2";
    sha256 = "sha256-vzeX0P+2+IuKtrX+2lQDeJj7VMDS6XurD2pb2jhxy2Q=";
  };

  nativeBuildInputs = [ pkg-config ];
  buildInputs = [
    gpm
    libXext
    libXft
    libXt
    ncurses5
    slang
  ];

  configureFlags = [
    "CC=cc"
    "--with-slang=${slang}"
    "JED_ROOT=${placeholder "out"}/share/jed"
  ];

  makeFlags = [
    "jed" "xjed" "rgrep"
  ];

  postPatch = ''
    for i in autoconf/Makefile autoconf/Makefile.in \
             doc/tm/Makefile src/Makefile.in; do
      sed -e 's|/bin/cp|cp|' -i $i
    done
    for i in autoconf/aclocal.m4 configure; do
      sed -e 's|ncurses5|ncurses|' -i $i
    done
  '';

  postInstall = ''
    install -D src/objs/rgrep $out/bin
  '';

  meta = with lib; {
    description = "A programmable text editor written around S-Lang";
    longDescription = ''
      JED is a freely available text editor for Unix, VMS, MSDOS, OS/2, BeOS,
      QNX, and win9X/NT platforms. Although it is a powerful editor designed for
      use by programmers, its drop-down menu facility make it one of the
      friendliest text editors around. Hence it is ideal for composing simple
      email messages as well as editing complex programs in a variety of
      computer languages.

      JED makes extensive use of the S-Lang library, which endows it with the
      powerful S-Lang scripting language. Some of its features are:

      - Color syntax highlighting on color terminals, e.g., Linux console or a
        remote color terminal via dialup (as well as Xjed)
      - Folding support
      - Drop-down menus on _ALL_ terminals/platforms
      - Emulation of Emacs, EDT, Wordstar, Borland, and Brief editors
      - Extensible in the C-like S-Lang language making the editor completely
        customizable.
      - Capable of reading GNU info files from within JED's info browser
      - A variety of programming modes (with syntax highlighting) are available
        including C, C++, FORTRAN, TeX, HTML, SH, python, IDL, DCL, NROFF...
      - Edit TeX files with AUC-TeX style editing (BiBTeX support too)
      - Asynchronous subprocess support allowing one to compile from within the
        editor
      - Built-in support for the GPM mouse driver on Linux console
      - Abbreviation mode and Dynamic abbreviation mode
      - 8 bit clean with mute/dead key support
      - Supported on most Unix, VMS, OS/2, MSDOS (386+), win9X/NT, QNX, and BeOS
        systems
      - Rectangular cut/paste; regular expressions; incremental searches; search
        replace across multiple files; multiple windows; multiple buffers; shell
        modes; directory editor (dired); mail; rmail; ispell; and much, much
        more
    '';
    homepage = "https://www.jedsoft.org/jed/index.html";
    license = licenses.gpl2Plus;
    platforms = slang.meta.platforms;
  };
}
# TODO: build tex documentation