Merge commit 'refs/pull/14891/head' of git://github.com/NixOS/nixpkgs

This commit is contained in:
Nikolay Amiantov 2016-04-22 17:40:06 +03:00
commit 071663c1da
6 changed files with 72 additions and 92 deletions

View File

@ -1,20 +1,6 @@
{ stdenv, fetchurl, lib, makeDesktopItem, makeWrapper, zlib, glib, alsaLib { stdenv, fetchurl, lib, makeWrapper, gvfs, atomEnv }:
, dbus, gtk, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf
, gvfs, cairo, cups, expat, libgpgerror, nspr, gconf, nss, xorg, libcap, systemd
}:
let stdenv.mkDerivation rec {
atomPkgs = [
stdenv.cc.cc zlib glib dbus gtk atk pango freetype libgnome_keyring3
fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr gconf nss
xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst
xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr
xorg.libXcursor libcap systemd
];
atomLib = lib.makeLibraryPath atomPkgs;
atomLib64 = lib.makeSearchPathOutputs "lib64" ["lib"] atomPkgs;
in stdenv.mkDerivation rec {
name = "atom-${version}"; name = "atom-${version}";
version = "1.6.2"; version = "1.6.2";
@ -26,25 +12,23 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
phases = [ "installPhase" "fixupPhase" ]; buildCommand = ''
mkdir -p $out/usr/
installPhase = ''
mkdir -p $out
ar p $src data.tar.gz | tar -C $out -xz ./usr ar p $src data.tar.gz | tar -C $out -xz ./usr
substituteInPlace $out/usr/share/applications/atom.desktop \ substituteInPlace $out/usr/share/applications/atom.desktop \
--replace /usr/share/atom $out/bin --replace /usr/share/atom $out/bin
mv $out/usr/* $out/ mv $out/usr/* $out/
rm -r $out/share/lintian rm -r $out/share/lintian
rm -r $out/usr/ rm -r $out/usr/
wrapProgram $out/bin/atom \
--prefix "PATH" : "${gvfs}/bin"
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${atomEnv.libPath}:$out/share/atom" \
$out/share/atom/atom $out/share/atom/atom
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${atomEnv.libPath}" \
$out/share/atom/resources/app/apm/bin/node $out/share/atom/resources/app/apm/bin/node
wrapProgram $out/bin/atom \
--prefix "LD_LIBRARY_PATH" : "${atomLib}:${atomLib64}" \
--prefix "PATH" : "${gvfs}/bin"
wrapProgram $out/bin/apm \
--prefix "LD_LIBRARY_PATH" : "${atomLib}:${atomLib64}"
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -0,0 +1,19 @@
{ stdenv, lib, zlib, glib, alsaLib, dbus, gtk, atk, pango, freetype, fontconfig
, libgnome_keyring3, gdk_pixbuf, gvfs, cairo, cups, expat, libgpgerror, nspr
, gconf, nss, xorg, libcap, systemd, libnotify
}:
let
packages = [
stdenv.cc.cc zlib glib dbus gtk atk pango freetype libgnome_keyring3
fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr gconf nss
xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst
xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr
xorg.libXcursor libcap systemd libnotify
];
libPathNative = lib.makeLibraryPath packages;
libPath64 = lib.makeSearchPathOutputs "lib64" ["lib"] packages;
libPath = "${libPathNative}:${libPath64}";
in { inherit packages libPath; }

View File

@ -1,22 +1,18 @@
{ stdenv, callPackage, fetchurl, unzip { stdenv, lib, callPackage, fetchurl, unzip, atomEnv, makeDesktopItem }:
, ...
} @ args:
let let
atomEnv = callPackage ../../../development/tools/electron/env-atom.nix (args); version = "1.0.0";
rev = "fa6d0f03813dfb9df4589c30121e9fcffa8a8ec8";
version = "0.10.10"; sha256 = if stdenv.system == "i686-linux" then "1nnsvr51k8cmq8rccksylam4ww40pdn9dnhnp9096z5ccrf4qa1b"
rev = "5b5f4db87c10345b9d5c8d0bed745bcad4533135"; else if stdenv.system == "x86_64-linux" then "0p408pp2il6kawfsql8n5dvl75kmf2n2p0r266mjnww6vprmq4gw"
sha256 = if stdenv.system == "i686-linux" then "1mmgq4fxi2h4hvz7yxgzzyvlznkb42qwr8i1g2b1akdlgnrvvpby" else if stdenv.system == "x86_64-darwin" then "06k41ljfvgyxbl364jlkdjk8lkwr6bpq2r051vin93cnqfxridkq"
else if stdenv.system == "x86_64-linux" then "1zjb6mys5qs9mb21rpgpnbgq4gpnw6gsgfn5imf7ca7myk1bxnvk"
else if stdenv.system == "x86_64-darwin" then "0y1as2s6nhicyvdfszphhqp76iv9wcygglrl2f0jamm98g9qp66p"
else throw "Unsupported system: ${stdenv.system}"; else throw "Unsupported system: ${stdenv.system}";
urlMod = if stdenv.system == "i686-linux" then "linux-ia32" urlMod = if stdenv.system == "i686-linux" then "linux-ia32"
else if stdenv.system == "x86_64-linux" then "linux-x64" else if stdenv.system == "x86_64-linux" then "linux-x64"
else if stdenv.system == "x86_64-darwin" then "darwin" else if stdenv.system == "x86_64-darwin" then "darwin"
else throw "Unsupported system: ${stdenv.system}"; else throw "Unsupported system: ${stdenv.system}";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "vscode-${version}"; name = "vscode-${version}";
@ -27,24 +23,35 @@ in
inherit sha256; inherit sha256;
}; };
desktopItem = makeDesktopItem {
name = "code";
exec = "code";
icon = "code";
comment = "Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications";
desktopName = "Visual Studio Code";
genericName = "Text Editor";
categories = "GNOME;GTK;Utility;TextEditor;Development;";
};
buildInputs = [ unzip ]; buildInputs = [ unzip ];
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/lib/vscode $out/bin
cp -r ./* $out/bin cp -r ./* $out/lib/vscode
ln -s $out/lib/vscode/code $out/bin
${if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then '' mkdir -p $out/share/applications
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ cp $desktopItem/share/applications/* $out/share/applications
$out/bin/code
'' else ""} mkdir -p $out/share/pixmaps
cp $out/lib/vscode/resources/app/resources/linux/code.png $out/share/pixmaps/code.png
''; '';
postFixup = '' fixupPhase = lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") ''
${if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then '' patchelf \
patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${atomEnv}/lib:${atomEnv}/lib64:$out/bin:$(patchelf --print-rpath $out/bin/code)" \ --set-rpath "${atomEnv.libPath}:$out/lib/vscode" \
$out/bin/code $out/lib/vscode/code
'' else ""}
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -1,10 +1,6 @@
{ stdenv, callPackage, fetchurl, unzip { stdenv, lib, callPackage, fetchurl, unzip, atomEnv }:
, ...
} @ args:
let stdenv.mkDerivation rec {
atomEnv = callPackage ./env-atom.nix (args);
in stdenv.mkDerivation rec {
name = "electron-${version}"; name = "electron-${version}";
version = "0.36.2"; version = "0.36.2";
@ -14,23 +10,17 @@ in stdenv.mkDerivation rec {
name = "${name}.zip"; name = "${name}.zip";
}; };
buildInputs = [ atomEnv unzip ]; buildInputs = [ unzip ];
phases = [ "installPhase" "fixupPhase" ]; buildCommand = ''
mkdir -p $out/lib/electron $out/bin
unzip -d $out/lib/electron $src
ln -s $out/lib/electron/electron $out/bin
unpackCmd = "unzip";
installPhase = ''
mkdir -p $out/bin
unzip -d $out/bin $src
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$out/bin/electron
'';
postFixup = ''
patchelf \ patchelf \
--set-rpath "${atomEnv}/lib:${atomEnv}/lib64:$out/bin:$(patchelf --print-rpath $out/bin/electron)" \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$out/bin/electron --set-rpath "${atomEnv.libPath}:$out/lib/electron" \
$out/lib/electron/electron
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -1,17 +0,0 @@
{ stdenv, buildEnv, zlib, glib, alsaLib
, dbus, gtk, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf
, cairo, cups, expat, libgpgerror, nspr, gconf, nss, xorg, libcap
, systemd, libnotify
, ...
}:
buildEnv {
name = "env-atom";
paths = [
stdenv.cc.cc zlib glib dbus gtk atk pango freetype libgnome_keyring3
fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr gconf nss
xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst
xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr
xorg.libXcursor libcap systemd libnotify
];
}

View File

@ -5700,10 +5700,7 @@ in
astyle = callPackage ../development/tools/misc/astyle { }; astyle = callPackage ../development/tools/misc/astyle { };
electron = callPackage ../development/tools/electron { electron = callPackage ../development/tools/electron { };
gconf = pkgs.gnome.GConf;
};
autobuild = callPackage ../development/tools/misc/autobuild { }; autobuild = callPackage ../development/tools/misc/autobuild { };
@ -11647,10 +11644,12 @@ in
artha = callPackage ../applications/misc/artha { }; artha = callPackage ../applications/misc/artha { };
atom = callPackage ../applications/editors/atom { atomEnv = callPackage ../applications/editors/atom/env.nix {
gconf = gnome.GConf; gconf = gnome.GConf;
}; };
atom = callPackage ../applications/editors/atom { };
aseprite = callPackage ../applications/editors/aseprite { aseprite = callPackage ../applications/editors/aseprite {
giflib = giflib_4_1; giflib = giflib_4_1;
}; };
@ -14253,9 +14252,7 @@ in
vorbis-tools = callPackage ../applications/audio/vorbis-tools { }; vorbis-tools = callPackage ../applications/audio/vorbis-tools { };
vscode = callPackage ../applications/editors/vscode { vscode = callPackage ../applications/editors/vscode { };
gconf = pkgs.gnome.GConf;
};
vue = callPackage ../applications/misc/vue { }; vue = callPackage ../applications/misc/vue { };