From b1d1679d5c0d3eed2c99822525da50ea1a0bec0f Mon Sep 17 00:00:00 2001 From: Tyler Compton Date: Sun, 31 Dec 2017 03:28:06 -0700 Subject: [PATCH 1/2] lxterminal: init at 0.3.1 --- lib/maintainers.nix | 1 + pkgs/applications/misc/lxterminal/default.nix | 44 +++++++++++++++++++ .../setup-hooks/build-single-xml-catalog.sh | 21 +++++++++ pkgs/top-level/all-packages.nix | 8 ++++ 4 files changed, 74 insertions(+) create mode 100644 pkgs/applications/misc/lxterminal/default.nix create mode 100644 pkgs/build-support/setup-hooks/build-single-xml-catalog.sh diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 684bb3489b94..6afa27e979d9 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -693,6 +693,7 @@ vbmithr = "Vincent Bernardoff "; vcunat = "Vladimír Čunát "; vdemeester = "Vincent Demeester "; + velovix = "Tyler Compton "; veprbl = "Dmitry Kalinkin "; vidbina = "David Asabina "; vifino = "Adrian Pistol "; diff --git a/pkgs/applications/misc/lxterminal/default.nix b/pkgs/applications/misc/lxterminal/default.nix new file mode 100644 index 000000000000..15cb5ea61cce --- /dev/null +++ b/pkgs/applications/misc/lxterminal/default.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchurl, automake, autoconf, intltool, pkgconfig, gtk2, vte +, libxslt, docbook_xml_dtd_412, docbook_xml_xslt, libxml2, findXMLCatalogs +, buildSingleXMLCatalog +}: + +let version = "0.3.1"; in + +stdenv.mkDerivation rec { + name = "lxterminal-${version}"; + + src = fetchurl { + url = "https://github.com/lxde/lxterminal/archive/${version}.tar.gz"; + sha256 = "e91f15c8a726d5c13227263476583137a2639d4799c021ca0726c9805021b54c"; + }; + + configureFlags = [ + "--enable-man" + "--with-xml-catalog=../catalog.xml" # Generated by buildSingleXMLCatalog + ]; + + buildInputs = [ + automake autoconf intltool pkgconfig gtk2 vte libxslt docbook_xml_dtd_412 + docbook_xml_xslt libxml2 findXMLCatalogs buildSingleXMLCatalog + ]; + + preConfigure = '' + ./autogen.sh + ''; + + doCheck = true; + + meta = { + description = "The standard terminal emulator of LXDE"; + longDescription = '' + LXTerminal is the standard terminal emulator of LXDE. The terminal is a + desktop-independent VTE-based terminal emulator for LXDE without any + unnecessary dependencies. + ''; + homepage = https://wiki.lxde.org/en/LXTerminal; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.velovix ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/build-support/setup-hooks/build-single-xml-catalog.sh b/pkgs/build-support/setup-hooks/build-single-xml-catalog.sh new file mode 100644 index 000000000000..1545b229f038 --- /dev/null +++ b/pkgs/build-support/setup-hooks/build-single-xml-catalog.sh @@ -0,0 +1,21 @@ +# Creates a single XML catalog that references the catalogs found by +# findXMLCatalogs. +# Useful for situations where only one catalog is expected. +buildSingleXMLCatalog() { + echo '' > catalog.xml + echo '' >> catalog.xml + + catalogs=$(echo $XML_CATALOG_FILES | tr " " "\n") + for x in $catalogs + do + echo ' ' >> catalog.xml + done + + echo '' >> catalog.xml +} + +if [ -z "$buildSingleXMLCatalogHookDone" ]; then + buildSingleXMLCatalogHookDone=1 + + envHooks+=(buildSingleXMLCatalog) +fi diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9a30baab0754..8a4707bf1354 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -359,6 +359,10 @@ with pkgs; findXMLCatalogs = makeSetupHook { } ../build-support/setup-hooks/find-xml-catalogs.sh; + buildSingleXMLCatalog = makeSetupHook { + deps = [ findXMLCatalogs ]; + } ../build-support/setup-hooks/build-single-xml-catalog.sh; + wrapGAppsHook = makeSetupHook { deps = [ gnome3.dconf.lib gnome3.gtk librsvg makeWrapper ]; } ../build-support/setup-hooks/wrap-gapps-hook.sh; @@ -17091,6 +17095,10 @@ with pkgs; vte = gnome2.vte.override { pythonSupport = true; }; }; + lxterminal = callPackage ../applications/misc/lxterminal { + vte = gnome2.vte; + }; + deepin-terminal = callPackage ../applications/misc/deepin-terminal { inherit (gnome3) libgee vte; wnck = libwnck3; From a5880ace7fbc4359d3f0d8621fff16a0977283a1 Mon Sep 17 00:00:00 2001 From: Tyler Compton Date: Tue, 2 Jan 2018 00:58:20 -0700 Subject: [PATCH 2/2] lxterminal: patch m4 to respect XML_CATALOG_FILES The patch removes the need for a separate script to combine existing catalog files, making the package simpler. --- pkgs/applications/misc/lxterminal/default.nix | 8 ++++--- .../respect-xml-catalog-files-var.patch | 15 +++++++++++++ .../setup-hooks/build-single-xml-catalog.sh | 21 ------------------- pkgs/top-level/all-packages.nix | 4 ---- 4 files changed, 20 insertions(+), 28 deletions(-) create mode 100644 pkgs/applications/misc/lxterminal/respect-xml-catalog-files-var.patch delete mode 100644 pkgs/build-support/setup-hooks/build-single-xml-catalog.sh diff --git a/pkgs/applications/misc/lxterminal/default.nix b/pkgs/applications/misc/lxterminal/default.nix index 15cb5ea61cce..145672cad380 100644 --- a/pkgs/applications/misc/lxterminal/default.nix +++ b/pkgs/applications/misc/lxterminal/default.nix @@ -1,6 +1,5 @@ { stdenv, fetchurl, automake, autoconf, intltool, pkgconfig, gtk2, vte , libxslt, docbook_xml_dtd_412, docbook_xml_xslt, libxml2, findXMLCatalogs -, buildSingleXMLCatalog }: let version = "0.3.1"; in @@ -15,12 +14,15 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-man" - "--with-xml-catalog=../catalog.xml" # Generated by buildSingleXMLCatalog ]; buildInputs = [ automake autoconf intltool pkgconfig gtk2 vte libxslt docbook_xml_dtd_412 - docbook_xml_xslt libxml2 findXMLCatalogs buildSingleXMLCatalog + docbook_xml_xslt libxml2 findXMLCatalogs + ]; + + patches = [ + ./respect-xml-catalog-files-var.patch ]; preConfigure = '' diff --git a/pkgs/applications/misc/lxterminal/respect-xml-catalog-files-var.patch b/pkgs/applications/misc/lxterminal/respect-xml-catalog-files-var.patch new file mode 100644 index 000000000000..598f506118f2 --- /dev/null +++ b/pkgs/applications/misc/lxterminal/respect-xml-catalog-files-var.patch @@ -0,0 +1,15 @@ +diff --git a/acinclude.m4 b/acinclude.m4 +index be626c5..b449b1b 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -40,8 +40,8 @@ AC_DEFUN([JH_CHECK_XML_CATALOG], + [ + AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl + AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog]) +- if $jh_found_xmlcatalog && \ +- AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then ++ # empty argument forces libxml to use XML_CATALOG_FILES variable ++ if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then + AC_MSG_RESULT([found]) + ifelse([$3],,,[$3 + ])dnl diff --git a/pkgs/build-support/setup-hooks/build-single-xml-catalog.sh b/pkgs/build-support/setup-hooks/build-single-xml-catalog.sh deleted file mode 100644 index 1545b229f038..000000000000 --- a/pkgs/build-support/setup-hooks/build-single-xml-catalog.sh +++ /dev/null @@ -1,21 +0,0 @@ -# Creates a single XML catalog that references the catalogs found by -# findXMLCatalogs. -# Useful for situations where only one catalog is expected. -buildSingleXMLCatalog() { - echo '' > catalog.xml - echo '' >> catalog.xml - - catalogs=$(echo $XML_CATALOG_FILES | tr " " "\n") - for x in $catalogs - do - echo ' ' >> catalog.xml - done - - echo '' >> catalog.xml -} - -if [ -z "$buildSingleXMLCatalogHookDone" ]; then - buildSingleXMLCatalogHookDone=1 - - envHooks+=(buildSingleXMLCatalog) -fi diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8a4707bf1354..875419fbd1fd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -359,10 +359,6 @@ with pkgs; findXMLCatalogs = makeSetupHook { } ../build-support/setup-hooks/find-xml-catalogs.sh; - buildSingleXMLCatalog = makeSetupHook { - deps = [ findXMLCatalogs ]; - } ../build-support/setup-hooks/build-single-xml-catalog.sh; - wrapGAppsHook = makeSetupHook { deps = [ gnome3.dconf.lib gnome3.gtk librsvg makeWrapper ]; } ../build-support/setup-hooks/wrap-gapps-hook.sh;