diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-06-25 18:42:56 +0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-06-25 18:42:56 +0200 |
commit | 552fd3d599851336aa21ef073d1f7836566e454f (patch) | |
tree | b2ebdeaa32426d12e21020410a0eb1a12881f8f6 /pkgs/misc | |
parent | cc61d31902d67b94333f53a5ab5772330bbc21cc (diff) | |
parent | 9dc35999602bc3bf2d7358a9ff79b9530e8d1975 (diff) | |
download | nixpkgs-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.nix | 2 | ||||
-rw-r--r-- | pkgs/misc/emulators/wine/default.nix | 11 | ||||
-rw-r--r-- | pkgs/misc/ghostscript/default.nix | 42 | ||||
-rw-r--r-- | pkgs/misc/ghostscript/purity-9.05.patch | 27 | ||||
-rw-r--r-- | pkgs/misc/themes/gnome-themes-standard/default.nix | 15 | ||||
-rw-r--r-- | pkgs/misc/vim-plugins/default.nix | 170 |
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" + ''; + }; +} + |