|
|
|
@ -1,20 +1,39 @@ |
|
|
|
|
{ fetchurl, lib, stdenv, glib, libgee, pkg-config, ncurses, boehmgc, perl, help2man, vala }: |
|
|
|
|
{ lib |
|
|
|
|
, stdenv |
|
|
|
|
, fetchurl |
|
|
|
|
, boehmgc |
|
|
|
|
, glib |
|
|
|
|
, help2man |
|
|
|
|
, libgee |
|
|
|
|
, ncurses |
|
|
|
|
, perl |
|
|
|
|
, pkg-config |
|
|
|
|
, vala |
|
|
|
|
}: |
|
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec { |
|
|
|
|
name = "zile-2.6.0.90"; |
|
|
|
|
pname = "zile"; |
|
|
|
|
version = "2.6.1"; |
|
|
|
|
|
|
|
|
|
src = fetchurl { |
|
|
|
|
url = "mirror://gnu/zile/${name}.tar.gz"; |
|
|
|
|
sha256 = "1bhdwnasmqhy0hi3fqmpzr8xkw5zlqjpmf1cj42h4cg3fnamp6r3"; |
|
|
|
|
url = "mirror://gnu/zile/${pname}-${version}.tar.gz"; |
|
|
|
|
hash = "sha256-v7rN33aOORc6J0Z5JP5AmZCj6XvjYyoCl5hl+7mvAnc="; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
buildInputs = [ glib libgee ncurses boehmgc vala ]; |
|
|
|
|
nativeBuildInputs = [ perl pkg-config ] |
|
|
|
|
# `help2man' wants to run Zile, which won't work when the |
|
|
|
|
# newly-produced binary can't be run at build-time. |
|
|
|
|
++ lib.optional |
|
|
|
|
(stdenv.hostPlatform == stdenv.buildPlatform) |
|
|
|
|
help2man; |
|
|
|
|
buildInputs = [ |
|
|
|
|
boehmgc |
|
|
|
|
glib |
|
|
|
|
libgee |
|
|
|
|
ncurses |
|
|
|
|
]; |
|
|
|
|
nativeBuildInputs = [ |
|
|
|
|
perl |
|
|
|
|
pkg-config |
|
|
|
|
vala |
|
|
|
|
] |
|
|
|
|
# `help2man' wants to run Zile, which won't work when the |
|
|
|
|
# newly-produced binary can't be run at build-time. |
|
|
|
|
++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) help2man; |
|
|
|
|
|
|
|
|
|
# Tests can't be run because most of them rely on the ability to |
|
|
|
|
# fiddle with the terminal. |
|
|
|
@ -24,33 +43,38 @@ stdenv.mkDerivation rec { |
|
|
|
|
gl_cv_func_fstatat_zero_flag="yes"; |
|
|
|
|
|
|
|
|
|
meta = with lib; { |
|
|
|
|
description = "Lightweight Emacs clone"; |
|
|
|
|
|
|
|
|
|
homepage = "https://www.gnu.org/software/zile/"; |
|
|
|
|
description = "Zile Implements Lua Editors"; |
|
|
|
|
longDescription = '' |
|
|
|
|
GNU Zile, which is a lightweight Emacs clone. Zile is short |
|
|
|
|
for Zile Is Lossy Emacs. Zile has been written to be as |
|
|
|
|
similar as possible to Emacs; every Emacs user should feel at |
|
|
|
|
home. |
|
|
|
|
|
|
|
|
|
Zile has all of Emacs's basic editing features: it is 8-bit |
|
|
|
|
clean (though it currently lacks Unicode support), and the |
|
|
|
|
number of editing buffers and windows is only limited by |
|
|
|
|
available memory and screen space respectively. Registers, |
|
|
|
|
minibuffer completion and auto fill are available. Function |
|
|
|
|
and variable names are identical with Emacs's (except those |
|
|
|
|
containing the word "emacs", which instead contain the word |
|
|
|
|
"zile"!). |
|
|
|
|
|
|
|
|
|
However, all of this is packed into a program which typically |
|
|
|
|
compiles to about 130Kb. |
|
|
|
|
''; |
|
|
|
|
GNU Zile is a text editor development kit, so that you can (relatively) |
|
|
|
|
quickly develop your own ideal text editor without reinventing the wheel |
|
|
|
|
for many of the common algorithms and data-structures needed to do so. |
|
|
|
|
|
|
|
|
|
homepage = "https://www.gnu.org/software/zile/"; |
|
|
|
|
It comes with an example implementation of a lightweight Emacs clone, |
|
|
|
|
called Zemacs. Every Emacs user should feel at home with Zemacs. Zemacs is |
|
|
|
|
aimed at small footprint systems and quick editing sessions (it starts up |
|
|
|
|
and shuts down instantly). |
|
|
|
|
|
|
|
|
|
license = licenses.gpl3Plus; |
|
|
|
|
More editors implemented over the Zile frameworks are forthcoming as the |
|
|
|
|
data-structures and interfaces improve: Zz an emacs inspired editor using |
|
|
|
|
Lua as an extension language; Zee a minimalist non-modal editor; Zi a |
|
|
|
|
lightweight vi clone; and more... |
|
|
|
|
|
|
|
|
|
maintainers = with maintainers; [ pSub ]; |
|
|
|
|
Zile is a collection of algorithms and data-structures that currently |
|
|
|
|
support all basic Emacs-like editing features: it is 8-bit clean (though |
|
|
|
|
Unicode support is not ready yet), and the number of editing buffers and |
|
|
|
|
windows is only limited by available memoryand screen space |
|
|
|
|
respectively. Registers, minibuffer completion and auto fill are |
|
|
|
|
available. |
|
|
|
|
|
|
|
|
|
Zemacs implements a subset of Emacs with identical function and variable |
|
|
|
|
names, continuing the spirit of the earlier Zile editor implemented in C. |
|
|
|
|
GNU Zile, which is a lightweight Emacs clone. Zile is short for Zile Is |
|
|
|
|
Lossy Emacs. Zile has been written to be as similar as possible to Emacs; |
|
|
|
|
every Emacs user should feel at home. |
|
|
|
|
''; |
|
|
|
|
license = licenses.gpl3Plus; |
|
|
|
|
maintainers = with maintainers; [ pSub AndersonTorres ]; |
|
|
|
|
platforms = platforms.unix; |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|