summary refs log tree commit diff
path: root/pkgs/misc
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-06-25 18:42:56 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-06-25 18:42:56 +0200
commit552fd3d599851336aa21ef073d1f7836566e454f (patch)
treeb2ebdeaa32426d12e21020410a0eb1a12881f8f6 /pkgs/misc
parentcc61d31902d67b94333f53a5ab5772330bbc21cc (diff)
parent9dc35999602bc3bf2d7358a9ff79b9530e8d1975 (diff)
downloadnixpkgs-552fd3d599851336aa21ef073d1f7836566e454f.tar
nixpkgs-552fd3d599851336aa21ef073d1f7836566e454f.tar.gz
nixpkgs-552fd3d599851336aa21ef073d1f7836566e454f.tar.bz2
nixpkgs-552fd3d599851336aa21ef073d1f7836566e454f.tar.lz
nixpkgs-552fd3d599851336aa21ef073d1f7836566e454f.tar.xz
nixpkgs-552fd3d599851336aa21ef073d1f7836566e454f.tar.zst
nixpkgs-552fd3d599851336aa21ef073d1f7836566e454f.zip
Merge remote-tracking branch 'origin/master' into multiple-outputs
Conflicts:
	pkgs/development/libraries/atk/default.nix
	pkgs/development/libraries/cairo/default.nix
	pkgs/development/libraries/freetype/default.nix
	pkgs/development/libraries/glib/default.nix
	pkgs/development/libraries/gmime/default.nix
	pkgs/development/libraries/pango/default.nix
	pkgs/servers/x11/xorg/default.nix
	pkgs/top-level/all-packages.nix
Diffstat (limited to 'pkgs/misc')
-rw-r--r--pkgs/misc/cups/default.nix2
-rw-r--r--pkgs/misc/emulators/wine/default.nix11
-rw-r--r--pkgs/misc/ghostscript/default.nix42
-rw-r--r--pkgs/misc/ghostscript/purity-9.05.patch27
-rw-r--r--pkgs/misc/themes/gnome-themes-standard/default.nix15
-rw-r--r--pkgs/misc/vim-plugins/default.nix170
6 files changed, 219 insertions, 48 deletions
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix
index be442fd22a6..471fbcdc464 100644
--- a/pkgs/misc/cups/default.nix
+++ b/pkgs/misc/cups/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   outputs = [ "dev" "out" "doc" "man" ];
 
   buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb1 ]
-    ++ stdenv.lib.optionals stdenv.isLinux [ pam dbus acl ] ;
+    ++ stdenv.lib.optionals stdenv.isLinux [ pam dbus.libs acl ] ;
 
   propagatedBuildInputs = [ openssl ];
 
diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix
index 31ed420fe56..69bcea87f6a 100644
--- a/pkgs/misc/emulators/wine/default.nix
+++ b/pkgs/misc/emulators/wine/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, xlibs, flex, bison, mesa, alsaLib
 , ncurses, libpng, libjpeg, lcms, freetype, fontconfig, fontforge
-, libxml2, libxslt, openssl, gnutls, cups
+, libxml2, libxslt, openssl, gnutls, cups, libdrm, makeWrapper
 }:
 
 assert stdenv.isLinux;
@@ -25,14 +25,14 @@ stdenv.mkDerivation rec {
     xlibs.libXcursor xlibs.libXinerama xlibs.libXrandr
     xlibs.libXrender xlibs.libXxf86vm xlibs.libXcomposite
     alsaLib ncurses libpng libjpeg lcms fontforge
-    libxml2 libxslt openssl gnutls cups
+    libxml2 libxslt openssl gnutls cups makeWrapper
   ];
 
   # Wine locates a lot of libraries dynamically through dlopen().  Add
   # them to the RPATH so that the user doesn't have to set them in
   # LD_LIBRARY_PATH.
   NIX_LDFLAGS = map (path: "-rpath ${path}/lib ") [
-    freetype fontconfig stdenv.gcc.gcc mesa mesa.libdrm
+    freetype fontconfig stdenv.gcc.gcc mesa libdrm
     xlibs.libXinerama xlibs.libXrender xlibs.libXrandr
     xlibs.libXcursor xlibs.libXcomposite libpng libjpeg
     openssl gnutls cups
@@ -42,7 +42,10 @@ stdenv.mkDerivation rec {
   # elements specified above.
   dontPatchELF = true;
 
-  postInstall = "install -D ${gecko} $out/share/wine/gecko/${gecko.name}";
+  postInstall = ''
+    install -D ${gecko} $out/share/wine/gecko/${gecko.name}
+    wrapProgram $out/bin/wine --prefix LD_LIBRARY_PATH : ${stdenv.gcc.gcc}/lib
+  '';
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix
index ac171b2ff81..79f36744603 100644
--- a/pkgs/misc/ghostscript/default.nix
+++ b/pkgs/misc/ghostscript/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, libjpeg, libpng, libtiff, zlib, pkgconfig, fontconfig, openssl, lcms, freetype
+{ stdenv, fetchurl, libjpeg, libpng, libtiff, zlib, pkgconfig, fontconfig, openssl
+, lcms2, freetype, libpaper, jbig2dec, expat, libiconvOrEmpty
 , x11Support, x11 ? null
 , cupsSupport ? false, cups ? null
 , gnuFork ? true
@@ -8,7 +9,7 @@ assert x11Support -> x11 != null;
 assert cupsSupport -> cups != null;
 
 let
-  meta = {
+  meta_common = {
     homepage = "http://www.gnu.org/software/ghostscript/";
     description = "GNU Ghostscript, a PostScript interpreter";
 
@@ -34,25 +35,28 @@ let
       sha256 = "0zqa6ggbkdqiszsywgrra4ij0sddlmrfa50bx2mh568qid4ga0a2";
     };
 
-    inherit meta;
+    meta = meta_common;
     patches = [ ./purity.patch ];
   };
 
-  mainlineSrc = {
-    name = "ghostscript-9.05";
+  mainlineSrc = rec {
+    name = "ghostscript-9.06";
     src = fetchurl {
-      url = "http://downloads.ghostscript.com/public/ghostscript-9.05.tar.bz2";
-      sha256 = "1b6fi76x6pn9dmr9k9lh8kimn968dmh91k824fmm59d5ycm22h8g";
+      url = "http://downloads.ghostscript.com/public/${name}.tar.bz2";
+      sha256 = "014f10rxn4ihvcr1frby4szd1jvkrwvmdhnbivpp55c9fssx3b05";
     };
-    meta = meta // {
+    meta = meta_common // {
       homepage = "http://www.ghostscript.com/";
       description = "GPL Ghostscript, a PostScript interpreter";
     };
 
     preConfigure = ''
-      rm -R libpng jpeg lcms tiff freetype
+      rm -R libpng jpeg lcms{,2} tiff freetype jbig2dec expat jasper openjpeg
+
+      substituteInPlace base/unix-aux.mak --replace "INCLUDE=/usr/include" "INCLUDE=/no-such-path"
+      sed "s@if ( test -f \$(INCLUDE)[^ ]* )@if ( true )@" -i base/unix-aux.mak
     '';
-    patches = [ ./purity-9.05.patch ];
+    patches = [];
   };
 
   variant = if gnuFork then gnuForkSrc else mainlineSrc;
@@ -64,8 +68,8 @@ stdenv.mkDerivation rec {
 
   fonts = [
     (fetchurl {
-      url = "mirror://gnu/ghostscript/gnu-gs-fonts-std-6.0.tar.gz";
-      sha256 = "1lxr1y52r26qjif8kdqkfhsb5llakdcx3f5b9ppdyn59bb83ivsc";
+      url = "mirror://sourceforge/gs-fonts/ghostscript-fonts-std-8.11.tar.gz";
+      sha256 = "00f4l10xd826kak51wsmaz69szzm2wp8a41jasr4jblz25bg7dhf";
     })
     (fetchurl {
       url = "mirror://gnu/ghostscript/gnu-gs-fonts-other-6.0.tar.gz";
@@ -74,9 +78,14 @@ stdenv.mkDerivation rec {
     # ... add other fonts here
   ];
 
-  buildInputs = [libjpeg libpng libtiff zlib pkgconfig fontconfig openssl lcms]
-    ++ stdenv.lib.optionals x11Support [x11 freetype]
-    ++ stdenv.lib.optional cupsSupport cups;
+  buildInputs = [
+    libjpeg libpng libtiff zlib pkgconfig fontconfig openssl lcms2
+    libpaper jbig2dec expat
+  ] ++ stdenv.lib.optionals x11Support [x11 freetype]
+    ++ stdenv.lib.optional cupsSupport cups
+    ++ libiconvOrEmpty
+    # [] # maybe sometimes jpeg2000 support
+    ;
 
   CFLAGS = "-fPIC";
   NIX_LDFLAGS =
@@ -92,7 +101,7 @@ stdenv.mkDerivation rec {
     makeFlagsArray=(CUPSSERVERBIN=$out/lib/cups CUPSSERVERROOT=$out/etc/cups CUPSDATA=$out/share/cups)
   '' + stdenv.lib.optionalString (variant ? preConfigure) variant.preConfigure;
 
-  configureFlags =
+  configureFlags = [ "--with-system-libtiff" ] ++
     (if x11Support then [ "--with-x" ] else [ "--without-x" ]) ++
     (if cupsSupport then [ "--enable-cups" "--with-install-cups" ] else [ "--disable-cups" ]);
 
@@ -100,6 +109,7 @@ stdenv.mkDerivation rec {
 
   installTargets="install soinstall";
 
+  # ToDo: web says the fonts should be already included
   postInstall = ''
     for i in $fonts; do
       (cd $out/share/ghostscript && tar xvfz $i)
diff --git a/pkgs/misc/ghostscript/purity-9.05.patch b/pkgs/misc/ghostscript/purity-9.05.patch
deleted file mode 100644
index cae9df7110b..00000000000
--- a/pkgs/misc/ghostscript/purity-9.05.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/base/unix-aux.mak b/base/unix-aux.mak
-index 18745bc..0a67942 100644
---- a/base/unix-aux.mak
-+++ b/base/unix-aux.mak
-@@ -111,15 +111,15 @@ $(MKROMFS_XE): $(MKROMFS_XE)_$(SHARE_ZLIB) $(MAKEDIRS)
- # The "else true;" is required because Ultrix's implementation of sh -e
- # terminates execution of a command if any error occurs, even if the command
- # traps the error with ||.
--INCLUDE=/usr/include
-+INCLUDE=/no-such-path
- $(gconfig__h): $(UNIX_AUX_MAK) $(ECHOGS_XE)
- 	$(ECHOGS_XE) -w $(gconfig__h) -x 2f2a -s This file was generated automatically by unix-aux.mak. -s -x 2a2f
--	if ( test -f $(INCLUDE)/dirent.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_DIRENT_H; else true; fi
--	if ( test -f $(INCLUDE)/ndir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_NDIR_H; else true; fi
--	if ( test -f $(INCLUDE)/sys/dir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_DIR_H; else true; fi
--	if ( test -f $(INCLUDE)/sys/ndir.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_NDIR_H; else true; fi
--	if ( test -f $(INCLUDE)/sys/time.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 ifndef HAVE_SYS_TIME_H ; \
-+	if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_DIRENT_H; else true; fi
-+	if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_NDIR_H; else true; fi
-+	if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_DIR_H; else true; fi
-+	if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_NDIR_H; else true; fi
-+	if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 ifndef HAVE_SYS_TIME_H ; \
-              $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIME_H ; \
-              $(ECHOGS_XE) -a $(gconfig__h) -x 23 endif; else true; fi
--	if ( test -f $(INCLUDE)/sys/times.h ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIMES_H; else true; fi
-+	if ( true ); then $(ECHOGS_XE) -a $(gconfig__h) -x 23 define HAVE_SYS_TIMES_H; else true; fi
- 	if ( test -f $(JSRCDIR)/jmemsys.h); then true; else $(ECHOGS_XE) -a $(gconfig__h) -x 23 define DONT_HAVE_JMEMSYS_H; fi
diff --git a/pkgs/misc/themes/gnome-themes-standard/default.nix b/pkgs/misc/themes/gnome-themes-standard/default.nix
new file mode 100644
index 00000000000..f52b94138a4
--- /dev/null
+++ b/pkgs/misc/themes/gnome-themes-standard/default.nix
@@ -0,0 +1,15 @@
+{ stdenv, fetchurl, intltool, gtk3, librsvg, pkgconfig, pango, atk, gtk2, gdk_pixbuf }:
+stdenv.mkDerivation {
+  name = "gnome-themes-standard";
+  src = fetchurl {
+    url = "http://ftp.gnome.org/pub/GNOME/sources/gnome-themes-standard/3.7/gnome-themes-standard-3.7.92.tar.xz";
+    sha256 = "0a1ed83c07f57b5b45b8f3817ca0ca14feecb56de505243c086fb306c88da8de";
+  };
+  
+  buildInputs = [ intltool gtk3 librsvg pkgconfig pango atk gtk2 gdk_pixbuf ];
+
+  preConfigure = ''
+    cat ${gdk_pixbuf}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache ${librsvg}/lib/gdk-pixbuf/loaders.cache > loaders.cache
+    export GDK_PIXBUF_MODULE_FILE=`readlink -e loaders.cache`
+  '';
+}
\ No newline at end of file
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
new file mode 100644
index 00000000000..da06eaec35c
--- /dev/null
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -0,0 +1,170 @@
+{fetchurl, stdenv, python, cmake, vim}:
+
+/*
+About Vim and plugins
+=====================
+Let me tell you how Vim plugins work, so that you can decide on how to orginize
+your setup.
+
+typical plugin files:
+
+  plugin/P1.vim
+  autoload/P1.vim
+  ftplugin/xyz.vim
+  doc/plugin-documentation.txt
+  README(.md) (nowadays thanks to github)
+
+Traditionally plugins were installed into ~/.vim/* so it was your task to keep track
+of which files belong to what plugin. Now this problem is "fixed" by nix which
+assembles your profile for you.
+
+
+Vim offers the :h rtp setting which works for most plugins. Thus adding adding
+this to your .vimrc should make most plugins work:
+
+  set rtp+=~/.nix-profile/vim-plugins/YouCompleteMe
+  " or for p in ["YouCompleteMe"] | exec 'set rtp+=~/.nix-profile/vim-plugins/'.p | endfor
+
+Its what
+pathogen, vundle, vim-addon-manager (VAM) use.
+
+VAM's benefits:
+- works around after/* directories if they are used in non ~/.vim locations
+- allows activating plugins at runtime, eg when you need them. (works around
+  some au command hooks, eg required for TheNerdTree plugin)
+- VAM checkous out all sources (vim.sf.net, git, mercurial, ...)
+- runs :helptags on update/installation only. Obviously it cannot do that on
+  store paths.
+
+VAM is made up of
+- the code loading plugins
+- an optional pool (github.com/MarcWeber/vim-addon-manager-known-repositories)
+
+That pool probably is the best source to automatically derive plugin
+information from or to lookup about how to get data from www.vim.org.
+
+I'm not sure we should package them all. Most of them are not used much.
+You need your .vimrc anyway, and then VAM gets the job done ?
+
+How to install VAM? eg provide such a bash function:
+
+    vim-install-vam () {
+    mkdir -p ~/.vim/vim-addons && git clone --depth=1 git://github.com/MarcWeber/vim-addon-manager.git ~/.vim/vim-addons/vim-addon-manager && cat >> ~/.vimrc <<EOF
+    set nocompatible
+    set hidden
+    filetype indent plugin on | syn on
+    fun ActivateAddons()
+      let g:vim_addon_manager = {}
+      let g:vim_addon_manager.log_to_buf =1
+      set runtimepath+=~/.vim/vim-addons/vim-addon-manager
+      call vam#ActivateAddons([])
+    endf
+    call ActivateAddons()
+    EOF
+    }
+
+IMHO having no plugins listed might be better than having outdated ones.
+
+So which plugins to add here according to what Marc Weber thinks is best?
+complicated plugins requiring dependencies, such as YouCompleteMe.
+Then its best to symlink ~/.nix-profile/vim-plugins/YouCompleteMe to
+~/.vim/{vim-addons,bundle} or whatever plugin management solution you use.
+
+If you feel differently change the comments and proceed.
+*/
+
+let vimHelptags = path: ''
+  ${vim}/bin/vim -N -u NONE -i NONE -n -e -s -c "helptags ${path}" +quit!
+'';
+
+in
+
+{
+
+  #TODO :helptags should be run
+
+  vimAddonNix = {
+    # github.com/MarcWeber/vim-addon-nix provides some additional support for
+    # editing .nix files
+
+    # This is a placeholder, because I think you always should be using latest git version
+  };
+
+  YouCompleteMe = stdenv.mkDerivation {
+    # REGION AUTO UPDATE: { name="youcompleteme"; type="git"; url="git://github.com/Valloric/YouCompleteMe"; }
+    src = (fetchurl { url = "http://mawercer.de/~nix/repos/youcompleteme-git-97306.tar.bz2"; sha256 = "b9b892f5a723370c2034491dc72a4ca722c6cf1e5de4d60501141bba151bc719"; });
+    name = "youcompleteme-git-97306";
+    # END
+    buildInputs = [ python cmake ];
+
+    configurePhase = ":";
+
+    buildPhase = ''
+      set -x
+      target=$out/vim-plugins/YouCompleteMe
+      mkdir -p $target
+      cp -a ./ $target
+
+      mkdir $target/build
+      cd $target/build
+      cmake -G "Unix Makefiles" . $target/cpp -DPYTHON_LIBRARIES:PATH=${python}/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR:PATH=${python}/include/python2.7
+      make -j -j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}}
+
+      ${vimHelptags "$out/vim-plugins/YouCompleteMe/doc"}
+    '';
+
+    # TODO: implement proper install phase rather than keeping everything in store
+    # TODO: support llvm based C completion, See README of git repository
+    installPhase = ":";
+
+    meta = {
+      description = "fastest non utf-8 aware word and C completion engine for Vim";
+      homepage = http://github.com/Valloric/YouCompleteMe;
+      license = stdenv.lib.licenses.gpl3;
+      maintainers = [stdenv.lib.maintainers.marcweber];
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+
+  syntastic = stdenv.mkDerivation {
+    name = "vim-syntastic-3.0.0";
+   
+    src = fetchurl {
+      url = "https://github.com/scrooloose/syntastic/archive/3.0.0.tar.gz";
+      sha256 = "0nf69wpa8qa7xcfvywy2khmazs4dn1i2nal9qwjh2bzrbwbbkdyl";
+    };
+
+    buildPhase = "";
+
+    installPhase = ''
+      mkdir -p "$out/vim-plugins"
+      cp -R autoload "$out/vim-plugins"
+      cp -R doc "$out/vim-plugins"
+      cp -R plugin "$out/vim-plugins"
+      cp -R syntax_checkers "$out/vim-plugins"
+    '';
+  };
+
+  coffeeScript = stdenv.mkDerivation {
+    name = "vim-coffee-script-v002";
+
+    src = fetchurl {
+      url = "https://github.com/vim-scripts/vim-coffee-script/archive/v002.tar.gz";
+      sha256 = "1xln6i6jbbihcyp5bsdylr2146y41hmp2xf7wi001g2ymj1zdsc0";
+    };
+
+    buildPhase = "";
+
+    installPhase = ''
+      mkdir -p "$out/vim-plugins"
+      cp -R after "$out/vim-plugins"
+      cp -R compiler "$out/vim-plugins"
+      cp -R doc "$out/vim-plugins"
+      cp -R ftdetect "$out/vim-plugins"
+      cp -R ftplugin "$out/vim-plugins"
+      cp -R indent "$out/vim-plugins"
+      cp -R syntax "$out/vim-plugins"
+    '';
+  };
+}
+