about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/documentation
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:36 +0000
committerAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:47 +0000
commit36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch)
treeb3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/development/tools/documentation
parent4e31070265257dc67d120c27e0f75c2344fdfa9a (diff)
parentabf060725d7614bd3b9f96764262dfbc2f9c2199 (diff)
downloadnixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs
git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a
git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/development/tools/documentation')
-rw-r--r--nixpkgs/pkgs/development/tools/documentation/doxygen/default.nix45
-rw-r--r--nixpkgs/pkgs/development/tools/documentation/gnome-doc-utils/default.nix23
-rw-r--r--nixpkgs/pkgs/development/tools/documentation/gtk-doc/default.nix49
-rw-r--r--nixpkgs/pkgs/development/tools/documentation/gtk-doc/respect-xml-catalog-files-var.patch13
-rw-r--r--nixpkgs/pkgs/development/tools/documentation/mkdocs/default.nix43
5 files changed, 173 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/documentation/doxygen/default.nix b/nixpkgs/pkgs/development/tools/documentation/doxygen/default.nix
new file mode 100644
index 000000000000..d25f00276f62
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/documentation/doxygen/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, cmake, fetchurl, perl, python, flex, bison, qt4, CoreServices, libiconv }:
+
+stdenv.mkDerivation rec {
+
+  name = "doxygen-1.8.14";
+
+  src = fetchurl {
+    url = "ftp://ftp.stack.nl/pub/users/dimitri/${name}.src.tar.gz";
+    sha256 = "d1757e02755ef6f56fd45f1f4398598b920381948d6fcfa58f5ca6aa56f59d4d";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs =
+    [ perl python flex bison ]
+    ++ stdenv.lib.optional (qt4 != null) qt4
+    ++ stdenv.lib.optional stdenv.isSunOS libiconv
+    ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices libiconv ];
+
+  cmakeFlags =
+    [ "-DICONV_INCLUDE_DIR=${libiconv}/include" ] ++
+    stdenv.lib.optional (qt4 != null) "-Dbuild_wizard=YES";
+
+  NIX_CFLAGS_COMPILE =
+    stdenv.lib.optional stdenv.isDarwin "-mmacosx-version-min=10.9";
+
+  enableParallelBuilding = true;
+  doCheck = false; # fails
+
+  meta = {
+    license = stdenv.lib.licenses.gpl2Plus;
+    homepage = http://doxygen.org/;
+    description = "Source code documentation generator tool";
+
+    longDescription = ''
+      Doxygen is a documentation system for C++, C, Java, Objective-C,
+      Python, IDL (CORBA and Microsoft flavors), Fortran, VHDL, PHP,
+      C\#, and to some extent D.  It can generate an on-line
+      documentation browser (in HTML) and/or an off-line reference
+      manual (in LaTeX) from a set of documented source files.
+    '';
+
+    platforms = if qt4 != null then stdenv.lib.platforms.linux else stdenv.lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/documentation/gnome-doc-utils/default.nix b/nixpkgs/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
new file mode 100644
index 000000000000..9b16d55d4138
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
@@ -0,0 +1,23 @@
+{fetchurl, pkgconfig, libxml2Python, libxslt, intltool
+, python2Packages }:
+
+python2Packages.buildPythonApplication {
+  name = "gnome-doc-utils-0.20.10";
+  format = "other";
+
+  src = fetchurl {
+    url = mirror://gnome/sources/gnome-doc-utils/0.20/gnome-doc-utils-0.20.10.tar.xz;
+    sha256 = "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb";
+  };
+
+  nativeBuildInputs = [ intltool pkgconfig ];
+  buildInputs = [ libxslt ];
+
+  configureFlags = [ "--disable-scrollkeeper" ];
+
+  preBuild = ''
+    substituteInPlace xml2po/xml2po/Makefile --replace '-e "s+^#!.*python.*+#!$(PYTHON)+"' '-e "s\"^#!.*python.*\"#!$(PYTHON)\""'
+  '';
+
+  propagatedBuildInputs = [ libxml2Python ];
+}
diff --git a/nixpkgs/pkgs/development/tools/documentation/gtk-doc/default.nix b/nixpkgs/pkgs/development/tools/documentation/gtk-doc/default.nix
new file mode 100644
index 000000000000..0213eca30d22
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/documentation/gtk-doc/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, perl, python, libxml2Python, libxslt, which
+, docbook_xml_dtd_43, docbook_xsl, gnome-doc-utils, gettext, itstool
+, withDblatex ? false, dblatex
+}:
+
+stdenv.mkDerivation rec {
+  name = "gtk-doc-${version}";
+  version = "1.28";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gtk-doc/${version}/${name}.tar.xz";
+    sha256 = "05apmwibkmn1icx05l8aw241lhymcx01zvk5i499cb150bijj7li";
+  };
+
+  patches = [
+    passthru.respect_xml_catalog_files_var_patch
+  ];
+
+  outputDevdoc = "out";
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs =
+    [ pkgconfig perl python libxml2Python libxslt docbook_xml_dtd_43 docbook_xsl
+      gnome-doc-utils gettext which itstool
+    ] ++ stdenv.lib.optional withDblatex dblatex;
+
+  configureFlags = [ "--disable-scrollkeeper" ];
+
+  # Make six available for binaries, python.withPackages creates a wrapper
+  # but scripts are not allowed in shebangs so we link it into sys.path.
+  postInstall = ''
+    ln -s ${python.pkgs.six}/${python.sitePackages}/* $out/share/gtk-doc/python/
+  '';
+
+  doCheck = false; # requires a lot of stuff
+  doInstallCheck = false; # fails
+
+  passthru = {
+    # Consumers are expected to copy the m4 files to their source tree, let them reuse the patch
+    respect_xml_catalog_files_var_patch = ./respect-xml-catalog-files-var.patch;
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://www.gtk.org/gtk-doc;
+    description = "Tools to extract documentation embedded in GTK+ and GNOME source code";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pSub ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/documentation/gtk-doc/respect-xml-catalog-files-var.patch b/nixpkgs/pkgs/development/tools/documentation/gtk-doc/respect-xml-catalog-files-var.patch
new file mode 100644
index 000000000000..95f6879a0069
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/documentation/gtk-doc/respect-xml-catalog-files-var.patch
@@ -0,0 +1,13 @@
+--- a/m4/gtkdoc_jh_check_xml_catalog.m4
++++ b/m4/gtkdoc_jh_check_xml_catalog.m4
+@@ -5,8 +5,8 @@
+ [
+ 	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])
+ 	else
diff --git a/nixpkgs/pkgs/development/tools/documentation/mkdocs/default.nix b/nixpkgs/pkgs/development/tools/documentation/mkdocs/default.nix
new file mode 100644
index 000000000000..5f3dff95e358
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/documentation/mkdocs/default.nix
@@ -0,0 +1,43 @@
+{ lib, python, fetchFromGitHub }:
+
+with python.pkgs;
+
+buildPythonApplication rec {
+  pname = "mkdocs";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "mkdocs";
+    repo = "mkdocs";
+    rev = version;
+    sha256 = "1x35vgiskgz4wwrvi4m1mri5wlphf15p90fr3rxsy5bf19v3s9hs";
+  };
+
+  checkInputs = [
+    nose nose-exclude mock
+  ];
+
+  NOSE_EXCLUDE_TESTS = lib.concatStringsSep ";" [
+    "mkdocs.tests.gh_deploy_tests.TestGitHubDeploy"
+    "mkdocs.tests.config.config_tests.ConfigTests"
+    "mkdocs.tests.config.config_options_tests.DirTest"
+  ];
+
+  checkPhase = "nosetests mkdocs";
+
+  propagatedBuildInputs = [
+    tornado
+    livereload
+    click
+    pyyaml
+    markdown
+    jinja2
+    backports_tempfile
+  ];
+
+  meta = {
+    homepage = http://mkdocs.org/;
+    description = "Project documentation with Markdown";
+    license = lib.licenses.bsd2;
+  };
+}