about summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/core/vte
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/gnome-3/core/vte')
-rw-r--r--pkgs/desktops/gnome-3/core/vte/2.90.nix40
-rw-r--r--pkgs/desktops/gnome-3/core/vte/default.nix36
-rw-r--r--pkgs/desktops/gnome-3/core/vte/fix_g_test_init_calls.patch26
-rw-r--r--pkgs/desktops/gnome-3/core/vte/fix_vteseq_n_lookup_declaration.patch13
-rw-r--r--pkgs/desktops/gnome-3/core/vte/ng.nix24
-rw-r--r--pkgs/desktops/gnome-3/core/vte/src.nix10
6 files changed, 149 insertions, 0 deletions
diff --git a/pkgs/desktops/gnome-3/core/vte/2.90.nix b/pkgs/desktops/gnome-3/core/vte/2.90.nix
new file mode 100644
index 000000000000..4f56439311ec
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/vte/2.90.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection }:
+
+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";
+  };
+
+  buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses ];
+
+  configureFlags = [ "--enable-introspection" ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses.out}/lib -lncurses"
+  '';
+
+  meta = with stdenv.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 lethalman ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/vte/default.nix b/pkgs/desktops/gnome-3/core/vte/default.nix
new file mode 100644
index 000000000000..7eabe6ad9d4d
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/vte/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, intltool, pkgconfig
+, gnome3, ncurses, gobjectIntrospection, vala_0_32, libxml2, gnutls
+, fetchFromGitHub, autoconf, automake, libtool, gtk_doc, gperf, pcre2
+}:
+
+stdenv.mkDerivation rec {
+  inherit (import ./src.nix fetchurl) name src;
+
+  buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib
+                  gnome3.gtk3 ncurses vala_0_32 libxml2 gperf ];
+
+  propagatedBuildInputs = [ gnutls pcre2 ];
+
+  preConfigure = "patchShebangs .";
+
+  configureFlags = [ "--enable-introspection" "--disable-Bsymbolic" ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.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 lethalman ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
+
diff --git a/pkgs/desktops/gnome-3/core/vte/fix_g_test_init_calls.patch b/pkgs/desktops/gnome-3/core/vte/fix_g_test_init_calls.patch
new file mode 100644
index 000000000000..4c5696d4e17b
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/vte/fix_g_test_init_calls.patch
@@ -0,0 +1,26 @@
+diff --git a/src/vteconv.cc b/src/vteconv.cc
+index b78d3928..5cb63e7e 100644
+--- a/src/vteconv.cc
++++ b/src/vteconv.cc
+@@ -771,7 +771,7 @@ int
+ main (int argc,
+       char *argv[])
+ {
+-        g_test_init (&argc, &argv, NULL);
++        g_test_init (&argc, &argv, (char *)NULL);
+ 
+         g_test_add_func ("/vte/conv/utf8/strlen", test_utf8_strlen);
+         g_test_add_func ("/vte/conv/utf8/validate", test_utf8_validate);
+diff --git a/src/vtetypes.cc b/src/vtetypes.cc
+index 1365a295..8f38c9d9 100644
+--- a/src/vtetypes.cc
++++ b/src/vtetypes.cc
+@@ -407,7 +407,7 @@ test_util_smart_fd(void)
+ int
+ main(int argc, char *argv[])
+ {
+-        g_test_init (&argc, &argv, NULL);
++        g_test_init (&argc, &argv, (char *)NULL);
+ 
+         g_test_add_func("/vte/c++/grid/coords", test_grid_coords);
+         g_test_add_func("/vte/c++/grid/span", test_grid_span);
diff --git a/pkgs/desktops/gnome-3/core/vte/fix_vteseq_n_lookup_declaration.patch b/pkgs/desktops/gnome-3/core/vte/fix_vteseq_n_lookup_declaration.patch
new file mode 100644
index 000000000000..70ef7faa782e
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/vte/fix_vteseq_n_lookup_declaration.patch
@@ -0,0 +1,13 @@
+diff --git a/src/vteseq.cc b/src/vteseq.cc
+index 2330939d..e0ac14eb 100644
+--- a/src/vteseq.cc
++++ b/src/vteseq.cc
+@@ -3409,7 +3409,7 @@ vte_sequence_handler_iterm2_1337(VteTerminalPrivate *that, GValueArray *params)
+ #define VTE_SEQUENCE_HANDLER(name) name
+ 
+ static const struct vteseq_n_struct *
+-vteseq_n_lookup (register const char *str, register unsigned int len);
++vteseq_n_lookup (register const char *str, register size_t len);
+ #include"vteseq-n.cc"
+ 
+ #undef VTE_SEQUENCE_HANDLER
diff --git a/pkgs/desktops/gnome-3/core/vte/ng.nix b/pkgs/desktops/gnome-3/core/vte/ng.nix
new file mode 100644
index 000000000000..ad0188b0053b
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/vte/ng.nix
@@ -0,0 +1,24 @@
+{ gnome3, fetchFromGitHub, autoconf, automake, gtk_doc, gettext, libtool, gperf }:
+
+gnome3.vte.overrideAttrs (oldAttrs: rec {
+  name = "vte-ng-${version}";
+  version = "0.46.1.a";
+
+  src = fetchFromGitHub {
+    owner = "thestinger";
+    repo = "vte-ng";
+    rev = version;
+    sha256 = "125fpibid1liz50d7vbxy71pnm8b01x90xnkr4z3419b90lybr0a";
+  };
+
+  # The patches apply the changes from https://github.com/GNOME/vte/pull/7 and
+  # can be removed once the commits are merged into vte-ng.
+  patches = [
+    ./fix_g_test_init_calls.patch
+    ./fix_vteseq_n_lookup_declaration.patch
+  ];
+
+  preConfigure = oldAttrs.preConfigure + "; ./autogen.sh";
+
+  nativeBuildInputs = [ gtk_doc autoconf automake gettext libtool gperf ];
+})
diff --git a/pkgs/desktops/gnome-3/core/vte/src.nix b/pkgs/desktops/gnome-3/core/vte/src.nix
new file mode 100644
index 000000000000..841798848e60
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/vte/src.nix
@@ -0,0 +1,10 @@
+# Autogenerated by maintainers/scripts/gnome.sh update
+
+fetchurl: {
+  name = "vte-0.48.3";
+
+  src = fetchurl {
+    url = mirror://gnome/sources/vte/0.48/vte-0.48.3.tar.xz;
+    sha256 = "a3a9fb182740b392a45cd3f46fa61a985f68bb6b1817b52daec22034c46158c3";
+  };
+}