diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/vte')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/vte/2.90.nix | 41 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/vte/default.nix | 105 |
2 files changed, 146 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/vte/2.90.nix b/nixpkgs/pkgs/development/libraries/vte/2.90.nix new file mode 100644 index 000000000000..55ef86c88a0e --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/vte/2.90.nix @@ -0,0 +1,41 @@ +{ lib, stdenv, fetchurl, intltool, pkg-config, glib, gtk3, ncurses, gobject-introspection }: + +stdenv.mkDerivation rec { + versionMajor = "0.36"; + versionMinor = "3"; + moduleName = "vte"; + + name = "${moduleName}-${versionMajor}.${versionMinor}"; + + src = fetchurl { + url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; + sha256 = "54e5b07be3c0f7b158302f54ee79d4de1cb002f4259b6642b79b1e0e314a959c"; + }; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ gobject-introspection intltool glib gtk3 ncurses ]; + + configureFlags = [ "--enable-introspection" ]; + + enableParallelBuilding = true; + + postInstall = '' + substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses.out}/lib -lncurses" + ''; + + meta = with lib; { + homepage = "https://www.gnome.org/"; + description = "A library implementing a terminal emulator widget for GTK"; + longDescription = '' + VTE is a library (libvte) implementing a terminal emulator widget for + GTK, and a minimal sample application (vte) using that. Vte is + mainly used in gnome-terminal, but can also be used to embed a + console/terminal in games, editors, IDEs, etc. VTE supports Unicode and + character set conversion, as well as emulating any terminal known to + the system's terminfo database. + ''; + license = licenses.lgpl2; + maintainers = with maintainers; [ astsmtl antono ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/vte/default.nix b/nixpkgs/pkgs/development/libraries/vte/default.nix new file mode 100644 index 000000000000..c3631cccbe01 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/vte/default.nix @@ -0,0 +1,105 @@ +{ stdenv +, lib +, fetchurl +, fetchpatch +, gettext +, pkg-config +, meson +, ninja +, gnome +, glib +, gtk3 +, gobject-introspection +, vala +, python3 +, libxml2 +, gnutls +, gperf +, pango +, pcre2 +, fribidi +, zlib +, icu +, systemd +}: + +stdenv.mkDerivation rec { + pname = "vte"; + version = "0.64.1"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-EvtBqf+OA8XxcRtGVgkQpLmzECrsPp52Cc7vTfqYqio="; + }; + + patches = [ + # VTE needs a small patch to work with musl: + # https://gitlab.gnome.org/GNOME/vte/issues/72 + # Taken from https://git.alpinelinux.org/aports/tree/community/vte3 + (fetchpatch { + name = "0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch"; + url = "https://git.alpinelinux.org/aports/plain/community/vte3/fix-W_EXITCODE.patch?id=4d35c076ce77bfac7655f60c4c3e4c86933ab7dd"; + sha256 = "FkVyhsM0mRUzZmS2Gh172oqwcfXv6PyD6IEgjBhy2uU="; + }) + ]; + + nativeBuildInputs = [ + gettext + gobject-introspection + gperf + libxml2 + meson + ninja + pkg-config + vala + python3 + ]; + + buildInputs = [ + fribidi + gnutls + pcre2 + zlib + icu + systemd + ]; + + propagatedBuildInputs = [ + # Required by vte-2.91.pc. + gtk3 + glib + pango + ]; + + postPatch = '' + patchShebangs perf/* + patchShebangs src/box_drawing_generate.sh + patchShebangs src/parser-seq.py + patchShebangs src/modes.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + versionPolicy = "odd-unstable"; + }; + }; + + meta = with lib; { + homepage = "https://www.gnome.org/"; + description = "A library implementing a terminal emulator widget for GTK"; + longDescription = '' + VTE is a library (libvte) implementing a terminal emulator widget for + GTK, and a minimal sample application (vte) using that. Vte is + mainly used in gnome-terminal, but can also be used to embed a + console/terminal in games, editors, IDEs, etc. VTE supports Unicode and + character set conversion, as well as emulating any terminal known to + the system's terminfo database. + ''; + license = licenses.lgpl3Plus; + maintainers = with maintainers; [ astsmtl antono ] ++ teams.gnome.members; + platforms = platforms.unix; + }; +} |