Merge pull request #64236 from NixOS/staging-next

Staging next
This commit is contained in:
Frederik Rietdijk 2019-07-10 08:52:04 +02:00 committed by GitHub
commit fb6260fcf7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
203 changed files with 5311 additions and 3760 deletions

View File

@ -987,6 +987,17 @@ passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ]
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>
<varname>dontUnpack</varname>
</term>
<listitem>
<para>
Set to true to skip the unpack phase.
</para>
</listitem>
</varlistentry>
<varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<varname>dontMakeSourcesWritable</varname> <varname>dontMakeSourcesWritable</varname>
@ -1109,6 +1120,16 @@ passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ]
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>
<varname>dontConfigure</varname>
</term>
<listitem>
<para>
Set to true to skip the configure phase.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<varname>configureFlagsArray</varname> <varname>configureFlagsArray</varname>

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation {
buildInputs = [ makeWrapper perl perlPackages.XMLSimple ]; buildInputs = [ makeWrapper perl perlPackages.XMLSimple ];
unpackPhase = "true"; dontUnpack = true;
buildPhase = "true"; buildPhase = "true";
installPhase = installPhase =

View File

@ -24,7 +24,7 @@ in rec {
buildInputs = [ makeWrapper perl ]; buildInputs = [ makeWrapper perl ];
unpackPhase = "true"; dontUnpack = true;
preferLocalBuild = true; preferLocalBuild = true;

View File

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
sha256 = "1v956yf5spw0156rni5z77hzqwmby7ajwdcd6mkhb6zvl36awr90"; sha256 = "1v956yf5spw0156rni5z77hzqwmby7ajwdcd6mkhb6zvl36awr90";
}; };
unpackPhase = "true"; dontUnpack = true;
installPhase = installPhase =
'' ''

View File

@ -196,7 +196,6 @@ in
system = mkOption { system = mkOption {
type = types.str; type = types.str;
example = "i686-linux"; example = "i686-linux";
default = { system = builtins.currentSystem; };
description = '' description = ''
Specifies the Nix platform type on which NixOS should be built. Specifies the Nix platform type on which NixOS should be built.
It is better to specify <code>nixpkgs.localSystem</code> instead. It is better to specify <code>nixpkgs.localSystem</code> instead.

View File

@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ brscan4 ]; nativeBuildInputs = [ brscan4 ];
configurePhase = ":"; dontConfigure = true;
buildPhase = '' buildPhase = ''
TARGET_DIR="$out/etc/opt/brother/scanner/brscan4" TARGET_DIR="$out/etc/opt/brother/scanner/brscan4"

View File

@ -149,7 +149,7 @@ let
name = "gitlab-rake"; name = "gitlab-rake";
buildInputs = [ pkgs.makeWrapper ]; buildInputs = [ pkgs.makeWrapper ];
dontBuild = true; dontBuild = true;
unpackPhase = ":"; dontUnpack = true;
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rake $out/bin/gitlab-rake \ makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rake $out/bin/gitlab-rake \
@ -164,7 +164,7 @@ let
name = "gitlab-rails"; name = "gitlab-rails";
buildInputs = [ pkgs.makeWrapper ]; buildInputs = [ pkgs.makeWrapper ];
dontBuild = true; dontBuild = true;
unpackPhase = ":"; dontUnpack = true;
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rails $out/bin/gitlab-rails \ makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rails $out/bin/gitlab-rails \

View File

@ -12,7 +12,7 @@ let
defaultCollectionCgi = config.services.collectd.package.overrideDerivation(old: { defaultCollectionCgi = config.services.collectd.package.overrideDerivation(old: {
name = "collection.cgi"; name = "collection.cgi";
configurePhase = "true"; dontConfigure = true;
buildPhase = "true"; buildPhase = "true";
installPhase = '' installPhase = ''
substituteInPlace contrib/collection.cgi --replace '"/etc/collection.conf"' '$ENV{COLLECTION_CONF}' substituteInPlace contrib/collection.cgi --replace '"/etc/collection.conf"' '$ENV{COLLECTION_CONF}'

View File

@ -54,7 +54,7 @@ in {
# The path to the an initialized version of the database # The path to the an initialized version of the database
db = pkgs.stdenv.mkDerivation { db = pkgs.stdenv.mkDerivation {
name = "vswitch.db"; name = "vswitch.db";
unpackPhase = "true"; dontUnpack = true;
buildPhase = "true"; buildPhase = "true";
buildInputs = with pkgs; [ buildInputs = with pkgs; [
cfg.package cfg.package

View File

@ -11,7 +11,7 @@ let
nixpkgsSrc = nixpkgs; # urgh nixpkgsSrc = nixpkgs; # urgh
pkgs = import ./.. {}; pkgs = import ./.. { system = "x86_64-linux"; };
lib = pkgs.lib; lib = pkgs.lib;

View File

@ -17,7 +17,7 @@ let
createTrivialProject = pkgs.stdenv.mkDerivation { createTrivialProject = pkgs.stdenv.mkDerivation {
name = "create-trivial-project"; name = "create-trivial-project";
unpackPhase = ":"; dontUnpack = true;
buildInputs = [ pkgs.makeWrapper ]; buildInputs = [ pkgs.makeWrapper ];
installPhase = "install -m755 -D ${./create-trivial-project.sh} $out/bin/create-trivial-project.sh"; installPhase = "install -m755 -D ${./create-trivial-project.sh} $out/bin/create-trivial-project.sh";
postFixup = '' postFixup = ''

View File

@ -15,6 +15,12 @@ stdenv.mkDerivation rec {
buildInputs = [ glib ncurses mpd_clientlib boost ]; buildInputs = [ glib ncurses mpd_clientlib boost ];
nativeBuildInputs = [ meson ninja pkgconfig gettext ]; nativeBuildInputs = [ meson ninja pkgconfig gettext ];
mesonFlags = [
"-Dlirc=disabled"
"-Dregex=disabled"
"-Ddocumentation=disabled"
];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Curses-based interface for MPD (music player daemon)"; description = "Curses-based interface for MPD (music player daemon)";
homepage = https://www.musicpd.org/clients/ncmpc/; homepage = https://www.musicpd.org/clients/ncmpc/;

View File

@ -5,7 +5,7 @@ let
name = emacs.name + "-sources"; name = emacs.name + "-sources";
src = emacs.src; src = emacs.src;
configurePhase = ":"; dontConfigure = true;
dontBuild = true; dontBuild = true;
doCheck = false; doCheck = false;
fixupPhase = ":"; fixupPhase = ":";

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
buildInputs = [ emacs ]; buildInputs = [ emacs ];
unpackPhase = ":"; dontUnpack = true;
installPhase = '' installPhase = ''
mkdir -p "$out/share/emacs/site-lisp" mkdir -p "$out/share/emacs/site-lisp"

View File

@ -11,8 +11,8 @@ stdenv.mkDerivation {
buildInputs = [ emacs ]; buildInputs = [ emacs ];
unpackPhase = "true"; dontUnpack = true;
configurePhase = "true"; dontConfigure = true;
installPhase = "true"; installPhase = "true";
buildPhase = '' buildPhase = ''

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
pname = "stgit"; pname = "stgit";
name = "${pname}-2009-10-28"; name = "${pname}-2009-10-28";
unpackPhase = "true"; dontUnpack = true;
src = fetchurl { src = fetchurl {
url = "https://raw.githubusercontent.com/miracle2k/stgit/master/contrib/stgit.el"; url = "https://raw.githubusercontent.com/miracle2k/stgit/master/contrib/stgit.el";

View File

@ -3,7 +3,7 @@
stdenv.mkDerivation { stdenv.mkDerivation {
name = "zeitgeist-20120221"; name = "zeitgeist-20120221";
unpackPhase = "true"; dontUnpack = true;
src = fetchurl { src = fetchurl {
url = "https://raw.githubusercontent.com/alexmurray/dotfiles/master/.emacs.d/vendor/zeitgeist.el"; url = "https://raw.githubusercontent.com/alexmurray/dotfiles/master/.emacs.d/vendor/zeitgeist.el";

View File

@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
buildInputs = [ appimage-run ]; buildInputs = [ appimage-run ];
unpackPhase = ":"; dontUnpack = true;
installPhase = '' installPhase = ''
mkdir -p $out/{bin,share} mkdir -p $out/{bin,share}

View File

@ -11,7 +11,7 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "yi-custom-${version}"; name = "yi-custom-${version}";
version = "0.0.0.1"; version = "0.0.0.1";
unpackPhase = "true"; dontUnpack = true;
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
buildCommand = '' buildCommand = ''

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
name = "graphicsmagick-imagemagick-compat-${version}"; name = "graphicsmagick-imagemagick-compat-${version}";
inherit (graphicsmagick) version; inherit (graphicsmagick) version;
unpackPhase = "true"; dontUnpack = true;
buildPhase = "true"; buildPhase = "true";
utils = [ utils = [

View File

@ -6,11 +6,11 @@
with stdenv.lib; with stdenv.lib;
perlPackages.buildPerlPackage rec { perlPackages.buildPerlPackage rec {
name = "gscan2pdf-${version}"; pname = "gscan2pdf";
version = "2.3.0"; version = "2.3.0";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/gscan2pdf/${version}/${name}.tar.xz"; url = "mirror://sourceforge/gscan2pdf/${version}/${pname}-${version}.tar.xz";
sha256 = "0mcsmly0j9pmyzh6py8r6sfa30hc6gv300hqq3dxj4hv653vhkk9"; sha256 = "0mcsmly0j9pmyzh6py8r6sfa30hc6gv300hqq3dxj4hv653vhkk9";
}; };

View File

@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
buildInputs = with stdenv.lib; buildInputs = with stdenv.lib;
[ pkgconfig gettext python gtk2 pygtk dbus-python gdk_pixbuf upower makeWrapper ]; [ pkgconfig gettext python gtk2 pygtk dbus-python gdk_pixbuf upower makeWrapper ];
configurePhase = "true"; dontConfigure = true;
buildPhase = '' buildPhase = ''
python setup.py build python setup.py build

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
substituteInPlace man/Makefile --replace "man4" "" substituteInPlace man/Makefile --replace "man4" ""
''; '';
configurePhase = "true"; dontConfigure = true;
GMAKE_NOWARN = true; GMAKE_NOWARN = true;

View File

@ -3,7 +3,7 @@
with stdenv.lib; with stdenv.lib;
perlPackages.buildPerlPackage rec { perlPackages.buildPerlPackage rec {
name = "get_iplayer-${version}"; pname = "get_iplayer";
version = "2.99"; version = "2.99";
src = fetchFromGitHub { src = fetchFromGitHub {

View File

@ -1,19 +1,34 @@
{ stdenv, fetchurl, meson, ninja, pkgconfig, glib, gtk, gettext, libiconv, libintl { stdenv, fetchurl, meson, ninja, pkgconfig, check, dbus, xvfb_run, glib, gtk, gettext, libiconv, json_c, libintl
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "girara-${version}"; pname = "girara";
version = "0.3.2"; version = "0.3.2";
outputs = [ "out" "dev" ];
src = fetchurl { src = fetchurl {
url = "https://pwmt.org/projects/girara/download/${name}.tar.xz"; url = "https://pwmt.org/projects/girara/download/${pname}-${version}.tar.xz";
sha256 = "1kc6n1mxjxa7wvwnqy94qfg8l9jvx9qrvrr2kc7m4g0z20x3a00p"; sha256 = "1kc6n1mxjxa7wvwnqy94qfg8l9jvx9qrvrr2kc7m4g0z20x3a00p";
}; };
nativeBuildInputs = [ meson ninja pkgconfig gettext ]; nativeBuildInputs = [ meson ninja pkgconfig gettext check dbus xvfb_run ];
buildInputs = [ libintl libiconv ]; buildInputs = [ libintl libiconv json_c ];
propagatedBuildInputs = [ glib gtk ]; propagatedBuildInputs = [ glib gtk ];
doCheck = true;
mesonFlags = [
"-Ddocs=disabled" # docs do not seem to be installed
];
checkPhase = ''
export NO_AT_BRIDGE=1
xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
--config-file=${dbus.daemon}/share/dbus-1/session.conf \
meson test --print-errorlogs
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://pwmt.org/projects/girara/; homepage = https://pwmt.org/projects/girara/;
description = "User interface library"; description = "User interface library";

View File

@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
jarfile = "$out/share/java/${pname}/JBidwatcher.jar"; jarfile = "$out/share/java/${pname}/JBidwatcher.jar";
unpackPhase = "true"; dontUnpack = true;
dontBuild = true; dontBuild = true;

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ perl ]; # for pod2man nativeBuildInputs = [ perl ]; # for pod2man
unpackPhase = ":"; dontUnpack = true;
dontBuild = true; dontBuild = true;
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, meson, ninja, wrapGAppsHook, pkgconfig { stdenv, fetchurl, meson, ninja, wrapGAppsHook, pkgconfig
, appstream-glib, desktop-file-utils, python3 , appstream-glib, desktop-file-utils, python3
, gtk, girara, gettext, libxml2 , gtk, girara, gettext, libxml2, check
, sqlite, glib, texlive, libintl, libseccomp , sqlite, glib, texlive, libintl, libseccomp
, file, librsvg , file, librsvg
, gtk-mac-integration, synctexSupport ? true , gtk-mac-integration, synctexSupport ? true
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ nativeBuildInputs = [
meson ninja pkgconfig desktop-file-utils python3.pkgs.sphinx meson ninja pkgconfig desktop-file-utils python3.pkgs.sphinx
gettext wrapGAppsHook libxml2 gettext wrapGAppsHook libxml2 check
] ++ optional stdenv.isLinux appstream-glib; ] ++ optional stdenv.isLinux appstream-glib;
buildInputs = [ buildInputs = [
@ -42,6 +42,8 @@ stdenv.mkDerivation rec {
++ optional stdenv.isLinux libseccomp ++ optional stdenv.isLinux libseccomp
++ optional stdenv.isDarwin gtk-mac-integration; ++ optional stdenv.isDarwin gtk-mac-integration;
doCheck = true;
meta = { meta = {
homepage = https://pwmt.org/projects/zathura/; homepage = https://pwmt.org/projects/zathura/;
description = "A core component for zathura PDF viewer"; description = "A core component for zathura PDF viewer";

View File

@ -77,7 +77,7 @@ stdenv.mkDerivation rec {
buildInputs = [ tor-browser-unwrapped tor ]; buildInputs = [ tor-browser-unwrapped tor ];
unpackPhase = ":"; dontUnpack = true;
buildPhase = ":"; buildPhase = ":";

View File

@ -56,7 +56,7 @@
sha256 = "1fzspdiwhjabwz1yxb3gzj7giz9jbc1xxm65i93rvhzcp537cs42"; sha256 = "1fzspdiwhjabwz1yxb3gzj7giz9jbc1xxm65i93rvhzcp537cs42";
}; };
unpackPhase = ":"; dontUnpack = true;
installPhase = '' installPhase = ''
install -m 444 -D $src "$out/$extid.xpi" install -m 444 -D $src "$out/$extid.xpi"

View File

@ -19,7 +19,7 @@ let
# perform fake build to make a fixed-output derivation of dependencies downloaded from maven central (~100Mb in ~3000 files) # perform fake build to make a fixed-output derivation of dependencies downloaded from maven central (~100Mb in ~3000 files)
fetched-maven-deps = stdenv.mkDerivation { fetched-maven-deps = stdenv.mkDerivation {
name = "hadoop-${version}-maven-deps"; name = "hadoop-${version}-maven-deps";
inherit src postUnpack nativeBuildInputs buildInputs configurePhase; inherit src postUnpack nativeBuildInputs buildInputs;
buildPhase = '' buildPhase = ''
while mvn package -Dmaven.repo.local=$out/.m2 ${mavenFlags} -Dmaven.wagon.rto=5000; [ $? = 1 ]; do while mvn package -Dmaven.repo.local=$out/.m2 ${mavenFlags} -Dmaven.wagon.rto=5000; [ $? = 1 ]; do
echo "timeout, restart maven to continue downloading" echo "timeout, restart maven to continue downloading"
@ -51,7 +51,7 @@ let
fi fi
done done
''; '';
configurePhase = "true"; # do not trigger cmake hook dontConfigure = true; # do not trigger cmake hook
mavenFlags = "-Drequire.snappy -Drequire.bzip2 -DskipTests -Pdist,native -e"; mavenFlags = "-Drequire.snappy -Drequire.bzip2 -DskipTests -Pdist,native -e";
buildPhase = '' buildPhase = ''
# 'maven.repo.local' must be writable # 'maven.repo.local' must be writable

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
unpackPhase = ":"; dontUnpack = true;
dontWrapGApps = true; # we only want $gappsWrapperArgs here dontWrapGApps = true; # we only want $gappsWrapperArgs here

View File

@ -9,7 +9,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
unpackPhase = ":"; dontUnpack = true;
installPhase = '' installPhase = ''
makeWrapper ${sencha-bare}/sencha $out/bin/sencha makeWrapper ${sencha-bare}/sencha $out/bin/sencha

View File

@ -77,7 +77,7 @@ in stdenv.mkDerivation {
buildInputs = [ dpkg ]; buildInputs = [ dpkg ];
unpackPhase = "true"; dontUnpack = true;
installPhase = '' installPhase = ''
mkdir -p $out mkdir -p $out
dpkg -x $src $out dpkg -x $src $out

View File

@ -13,7 +13,7 @@ in stdenv.mkDerivation {
inherit sha256; inherit sha256;
}; };
unpackPhase = "true"; dontUnpack = true;
buildCommand = '' buildCommand = ''
mkdir $out mkdir $out

View File

@ -68,7 +68,7 @@ in stdenv.mkDerivation {
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
unpackPhase = "true"; dontUnpack = true;
buildCommand = '' buildCommand = ''
mkdir -p $out mkdir -p $out
dpkg -x $src $out dpkg -x $src $out

View File

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
buildInputs = [ dpkg makeWrapper ]; buildInputs = [ dpkg makeWrapper ];
unpackPhase = "true"; dontUnpack = true;
libPath = stdenv.lib.makeLibraryPath [ libPath = stdenv.lib.makeLibraryPath [
alsaLib alsaLib

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
buildInputs = [ jre makeWrapper ]; buildInputs = [ jre makeWrapper ];
unpackPhase = ":"; dontUnpack = true;
installPhase = '' installPhase = ''
mkdir -p "$out/bin" mkdir -p "$out/bin"

View File

@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
# Skip configure and build phases. # Skip configure and build phases.
# We just want something from the support directory # We just want something from the support directory
configurePhase = "true"; dontConfigure = true;
dontBuild = true; dontBuild = true;
postPatch = '' postPatch = ''

View File

@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
buildInputs = [ makeWrapper jdk wrapGAppsHook gtk3 gsettings-desktop-schemas ]; buildInputs = [ makeWrapper jdk wrapGAppsHook gtk3 gsettings-desktop-schemas ];
unpackPhase = "#"; dontUnpack = true;
installPhase = '' installPhase = ''
mkdir -p $out/bin $out/share/java $out/share/icons mkdir -p $out/bin $out/share/java $out/share/icons

View File

@ -103,7 +103,7 @@ stdenv.mkDerivation {
propagatedUserEnvPkgs = [ gconf ]; propagatedUserEnvPkgs = [ gconf ];
unpackPhase = "true"; dontUnpack = true;
installPhase = '' installPhase = ''
dpkg-deb -x $src $out dpkg-deb -x $src $out

View File

@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
sage-with-env sage-with-env
]; ];
unpackPhase = "#do nothing"; dontUnpack = true;
configurePhase = "#do nothing"; configurePhase = "#do nothing";
buildPhase = "#do nothing"; buildPhase = "#do nothing";

View File

@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
sage-tests sage-tests
]; ];
unpackPhase = "#do nothing"; dontUnpack = true;
configurePhase = "#do nothing"; configurePhase = "#do nothing";
buildPhase = "#do nothing"; buildPhase = "#do nothing";

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation {
buildInputs = [ perl ]; buildInputs = [ perl ];
configurePhase = "true"; # skip configure dontConfigure = true; # skip configure
installPhase = "make prefix=$out install"; installPhase = "make prefix=$out install";

View File

@ -1,4 +1,5 @@
{ stdenv, fetchurl, meson, ninja, pkgconfig, wayland, libGL, mesa, libxkbcommon, cairo, libxcb { stdenv, fetchurl, meson, ninja, pkgconfig
, wayland, libGL, mesa, libxkbcommon, cairo, libxcb
, libXcursor, xlibsWrapper, udev, libdrm, mtdev, libjpeg, pam, dbus, libinput, libevdev , libXcursor, xlibsWrapper, udev, libdrm, mtdev, libjpeg, pam, dbus, libinput, libevdev
, colord, lcms2 , colord, lcms2
, pango ? null, libunwind ? null, freerdp ? null, vaapi ? null, libva ? null , pango ? null, libunwind ? null, freerdp ? null, vaapi ? null, libva ? null

View File

@ -7,7 +7,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
unpackPhase = ":"; dontUnpack = true;
installPhase = '' installPhase = ''
install -vD ${./nix-prefetch-docker} $out/bin/$name; install -vD ${./nix-prefetch-docker} $out/bin/$name;

View File

@ -3,7 +3,7 @@ let cargo-vendor-normalise = stdenv.mkDerivation {
name = "cargo-vendor-normalise"; name = "cargo-vendor-normalise";
src = ./cargo-vendor-normalise.py; src = ./cargo-vendor-normalise.py;
nativeBuildInputs = [ python3.pkgs.wrapPython ]; nativeBuildInputs = [ python3.pkgs.wrapPython ];
unpackPhase = ":"; dontUnpack = true;
installPhase = "install -D $src $out/bin/cargo-vendor-normalise"; installPhase = "install -D $src $out/bin/cargo-vendor-normalise";
pythonPath = [ python3.pkgs.toml ]; pythonPath = [ python3.pkgs.toml ];
postFixup = "wrapPythonPrograms"; postFixup = "wrapPythonPrograms";

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation {
buildInputs = [ makeWrapper ]; buildInputs = [ makeWrapper ];
unpackPhase = "true"; dontUnpack = true;
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin

View File

@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
}) })
]; ];
unpackPhase = ":"; dontUnpack = true;
installPhase = '' installPhase = ''
find $srcs -name '*.ttf' -exec install -m644 -Dt $out/share/fonts/truetype/migmix {} \; find $srcs -name '*.ttf' -exec install -m644 -Dt $out/share/fonts/truetype/migmix {} \;

View File

@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
}) })
]; ];
unpackPhase = ":"; dontUnpack = true;
installPhase = '' installPhase = ''
find $srcs -name '*.ttf' | xargs install -m644 --target $out/share/fonts/truetype/migu -D find $srcs -name '*.ttf' | xargs install -m644 --target $out/share/fonts/truetype/migu -D

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
sourceRoot = "."; sourceRoot = ".";
unpackPhase = "true"; dontUnpack = true;
installPhase = '' installPhase = ''
mkdir -p $out/share/fonts/opentype mkdir -p $out/share/fonts/opentype

View File

@ -6,7 +6,7 @@ let
stdenv.mkDerivation { stdenv.mkDerivation {
inherit name src; inherit name src;
unpackPhase = "true"; dontUnpack = true;
installPhase = '' installPhase = ''
mkdir -p $out/share/artwork/gnome mkdir -p $out/share/artwork/gnome

View File

@ -17,7 +17,7 @@ in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "docbook-sgml-3.1"; name = "docbook-sgml-3.1";
unpackPhase = "true"; dontUnpack = true;
nativeBuildInputs = [ unzip ]; nativeBuildInputs = [ unzip ];

View File

@ -17,7 +17,7 @@ in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "docbook-sgml-4.1"; name = "docbook-sgml-4.1";
unpackPhase = "true"; dontUnpack = true;
nativeBuildInputs = [ unzip ]; nativeBuildInputs = [ unzip ];

View File

@ -32,10 +32,6 @@ stdenv.mkDerivation rec {
patchShebangs plugins/externaltools/scripts/gedit-tool-merge.pl patchShebangs plugins/externaltools/scripts/gedit-tool-merge.pl
''; '';
mesonFlags = [
"--buildtype=plain" # don't require git
];
# Reliably fails to generate gedit-file-browser-enum-types.h in time # Reliably fails to generate gedit-file-browser-enum-types.h in time
enableParallelBuilding = false; enableParallelBuilding = false;

View File

@ -14,10 +14,6 @@ stdenv.mkDerivation rec {
sha256 = "1wkcywcwwszj9mldr0lngczqdz7hys08rr1nd2k6rs8ykzs2z7m4"; sha256 = "1wkcywcwwszj9mldr0lngczqdz7hys08rr1nd2k6rs8ykzs2z7m4";
}; };
mesonFlags = [
"--buildtype=plain"
];
nativeBuildInputs = [ nativeBuildInputs = [
meson ninja pkgconfig gettext libxslt desktop-file-utils meson ninja pkgconfig gettext libxslt desktop-file-utils
docbook_xsl docbook_xml_dtd_42 wrapGAppsHook python3 docbook_xsl docbook_xml_dtd_42 wrapGAppsHook python3

View File

@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
mesonFlags = [ mesonFlags = [
"-Dgetting-started=true" "-Dgetting-started=true"
"--buildtype=plain"
]; ];
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -34,10 +34,6 @@ in stdenv.mkDerivation rec {
dbus dbus
]; ];
mesonFlags = [
"--buildtype=plain" # don't do any git commands
];
postPatch = '' postPatch = ''
chmod +x meson_post_install.py chmod +x meson_post_install.py
patchShebangs meson_post_install.py patchShebangs meson_post_install.py

View File

@ -104,7 +104,6 @@ stdenv.mkDerivation rec {
gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ]); gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ]);
mesonFlags = [ mesonFlags = [
"-Dauto_features=enabled"
"-Dnautilus=false" "-Dnautilus=false"
"-Dps=enabled" "-Dps=enabled"
"-Dgtk_doc=false" "-Dgtk_doc=false"

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, substituteAll, pkgconfig, libxslt, ninja, libX11, gnome3, gtk3, glib { stdenv, fetchurl, substituteAll, pkgconfig, libxslt, ninja, libX11, gnome3, gtk3, glib
, gettext, libxml2, xkeyboard_config, isocodes, meson, wayland , gettext, libxml2, xkeyboard_config, isocodes, meson, wayland
, libseccomp, bubblewrap, gobject-introspection, gtk-doc, docbook_xsl, gsettings-desktop-schemas }: , libseccomp, systemd, bubblewrap, gobject-introspection, gtk-doc, docbook_xsl, gsettings-desktop-schemas }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gnome-desktop-${version}"; name = "gnome-desktop-${version}";
@ -13,15 +13,13 @@ stdenv.mkDerivation rec {
sha256 = "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9"; sha256 = "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9";
}; };
enableParallelBuilding = true;
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig meson ninja gettext libxslt libxml2 gobject-introspection pkgconfig meson ninja gettext libxslt libxml2 gobject-introspection
gtk-doc docbook_xsl gtk-doc docbook_xsl
]; ];
buildInputs = [ buildInputs = [
libX11 bubblewrap xkeyboard_config isocodes wayland libX11 bubblewrap xkeyboard_config isocodes wayland
gtk3 glib libseccomp gtk3 glib libseccomp systemd
]; ];
propagatedBuildInputs = [ gsettings-desktop-schemas ]; propagatedBuildInputs = [ gsettings-desktop-schemas ];

View File

@ -104,7 +104,6 @@ stdenv.mkDerivation rec {
"-Dfunctional_tests=false" "-Dfunctional_tests=false"
"-Ddbus_services=${placeholder "out"}/share/dbus-1/services" "-Ddbus_services=${placeholder "out"}/share/dbus-1/services"
"-Dsystemd_user_services=${placeholder "out"}/lib/systemd/user" "-Dsystemd_user_services=${placeholder "out"}/lib/systemd/user"
"-Dauto_features=enabled"
]; ];
patches = [ patches = [

View File

@ -9,7 +9,7 @@ in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "dotty-${dotty-bare.version}"; name = "dotty-${dotty-bare.version}";
unpackPhase = ":"; dontUnpack = true;
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin

View File

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
buildInputs = [ makeWrapper ]; buildInputs = [ makeWrapper ];
unpackPhase = ":"; dontUnpack = true;
installPhase = '' installPhase = ''
mkdir -pv $out/bin mkdir -pv $out/bin

View File

@ -0,0 +1,41 @@
diff --git a/Lib/py_compile.py b/Lib/py_compile.py
index 978da73..3559eb9 100644
--- a/Lib/py_compile.py
+++ b/Lib/py_compile.py
@@ -120,16 +120,27 @@ def compile(file, cfile=None, dfile=None, doraise=False):
return
if cfile is None:
cfile = file + (__debug__ and 'c' or 'o')
- with open(cfile, 'wb') as fc:
- fc.write('\0\0\0\0')
- if "DETERMINISTIC_BUILD" in os.environ:
+ # Atomically write the pyc/pyo file. Issue #13146.
+ # id() is used to generate a pseudo-random filename.
+ path_tmp = '{}.{}'.format(cfile, id(cfile))
+ try:
+ with open(path_tmp, 'wb') as fc:
fc.write('\0\0\0\0')
- else:
- wr_long(fc, timestamp)
- marshal.dump(codeobject, fc)
- fc.flush()
- fc.seek(0, 0)
- fc.write(MAGIC)
+ if "DETERMINISTIC_BUILD" in os.environ:
+ fc.write('\0\0\0\0')
+ else:
+ wr_long(fc, timestamp)
+ marshal.dump(codeobject, fc)
+ fc.flush()
+ fc.seek(0, 0)
+ fc.write(MAGIC)
+ os.rename(path_tmp, cfile)
+ except OSError:
+ try:
+ os.unlink(path_tmp)
+ except OSError:
+ pass
+ raise
def main(args=None):
"""Compile several source files.

View File

@ -79,6 +79,12 @@ let
sha256 = "0l9rw6r5r90iybdkp3hhl2pf0h0s1izc68h5d3ywrm92pq32wz57"; sha256 = "0l9rw6r5r90iybdkp3hhl2pf0h0s1izc68h5d3ywrm92pq32wz57";
}) })
# Fix race-condition during pyc creation. Has a slight backwards
# incompatible effect: pyc symlinks will now be overridden
# (https://bugs.python.org/issue17222). Included in python >= 3.4,
# backported in debian since 2013.
# https://bugs.python.org/issue13146
./atomic_pyc.patch
] ++ optionals (x11Support && stdenv.isDarwin) [ ] ++ optionals (x11Support && stdenv.isDarwin) [
./use-correct-tcl-tk-on-darwin.patch ./use-correct-tcl-tk-on-darwin.patch
] ++ optionals stdenv.isLinux [ ] ++ optionals stdenv.isLinux [

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
buildInputs = [ makeWrapper jdk ]; buildInputs = [ makeWrapper jdk ];
unpackPhase = "true"; dontUnpack = true;
installPhase = installPhase =
'' ''

View File

@ -17,7 +17,7 @@ stdenvNoCC.mkDerivation {
src = null; src = null;
unpackPhase = "true"; dontUnpack = true;
dontBuild = true; dontBuild = true;

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "expat-2.2.6"; name = "expat-2.2.7";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/expat/${name}.tar.bz2"; url = "mirror://sourceforge/expat/${name}.tar.bz2";
sha256 = "1wl1x93b5w457ddsdgj0lh7yjq4q6l7wfbgwhagkc8fm2qkkrd0p"; sha256 = "067cfhqwiswm4zynw7xaxl59mrrimaiyjhnn8byxma1i98pi1jfb";
}; };
outputs = [ "out" "dev" ]; # TODO: fix referrers outputs = [ "out" "dev" ]; # TODO: fix referrers

View File

@ -3,14 +3,14 @@
let let
pname = "glib-networking"; pname = "glib-networking";
version = "2.60.2"; version = "2.60.3";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "0cl74q7hvq4xqqc88vlzmfw1sh5n9hdh1yvn2v1vg9am1z8z68n0"; sha256 = "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm";
}; };
outputs = [ "out" "dev" ]; # to deal with propagatedBuildInputs outputs = [ "out" "dev" ]; # to deal with propagatedBuildInputs

View File

@ -13,11 +13,11 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gpgme-${version}"; name = "gpgme-${version}";
version = "1.13.0"; version = "1.13.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnupg/gpgme/${name}.tar.bz2"; url = "mirror://gnupg/gpgme/${name}.tar.bz2";
sha256 = "0c6676g0yhfsmy32i1dgwh5cx0ja8vhcqf4k08zad177m53kxcnl"; sha256 = "0imyjfryvvjdbai454p70zcr95m94j9xnzywrlilqdw2fqi0pqy4";
}; };
outputs = [ "out" "dev" "info" ]; outputs = [ "out" "dev" "info" ];

View File

@ -53,8 +53,9 @@ stdenv.mkDerivation rec {
++ optional cupsSupport cups; ++ optional cupsSupport cups;
#TODO: colord? #TODO: colord?
# demos fail to install, no idea where's the problem ## (2019-06-12) Demos seem to install fine now. Keeping this around in case it fails again.
preConfigure = "sed '/^SRC_SUBDIRS /s/demos//' -i Makefile.in"; ## (2014-03-27) demos fail to install, no idea where's the problem
#preConfigure = "sed '/^SRC_SUBDIRS /s/demos//' -i Makefile.in";
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }: { stdenv, fetchurl, pkgconfig, meson, ninja, libpthreadstubs, libpciaccess, valgrind-light }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libdrm-2.4.98"; name = "libdrm-2.4.98";
@ -10,9 +10,8 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" "bin" ]; outputs = [ "out" "dev" "bin" ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig meson ninja ];
buildInputs = [ libpthreadstubs libpciaccess valgrind-light ]; buildInputs = [ libpthreadstubs libpciaccess valgrind-light ];
# libdrm as of 2.4.70 does not actually do anything with udev.
postPatch = '' postPatch = ''
for a in */*-symbol-check ; do for a in */*-symbol-check ; do
@ -20,13 +19,15 @@ stdenv.mkDerivation rec {
done done
''; '';
configureFlags = [ "--enable-install-test-programs" ] mesonFlags =
[ "-Dinstall-test-programs=true" ]
++ stdenv.lib.optionals (stdenv.isAarch32 || stdenv.isAarch64) ++ stdenv.lib.optionals (stdenv.isAarch32 || stdenv.isAarch64)
[ "--enable-tegra-experimental-api" "--enable-etnaviv-experimental-api" ] [ "-Dtegra=true" "-Detnaviv=true" ]
++ stdenv.lib.optional stdenv.isDarwin "-C" ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "-Dintel=false"
++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--disable-intel"
; ;
enableParallelBuilding = true;
meta = { meta = {
homepage = https://dri.freedesktop.org/libdrm/; homepage = https://dri.freedesktop.org/libdrm/;
description = "Library for accessing the kernel's Direct Rendering Manager"; description = "Library for accessing the kernel's Direct Rendering Manager";

View File

@ -12,6 +12,9 @@ stdenv.mkDerivation rec {
patches = [ patches = [
./dont-hardcode-ar.patch ./dont-hardcode-ar.patch
# Fix warnings from preprocessor instructions.
# https://github.com/NixOS/nixpkgs/issues/59929
./preprocessor-warnings.patch
]; ];
doCheck = true; doCheck = true;

View File

@ -0,0 +1,264 @@
diff --git a/lib/elf_repl.h b/lib/elf_repl.h
index c5cf90f..7e1e8df 100644
--- a/lib/elf_repl.h
+++ b/lib/elf_repl.h
@@ -45,7 +45,7 @@ typedef __libelf_u32_t Elf32_Word;
#define ELF32_FSZ_SWORD 4
#define ELF32_FSZ_WORD 4
-#if __LIBELF64
+#if defined(__LIBELF64)
typedef __libelf_u64_t Elf64_Addr;
typedef __libelf_u16_t Elf64_Half;
@@ -93,7 +93,7 @@ typedef struct {
Elf32_Half e_shstrndx;
} Elf32_Ehdr;
-#if __LIBELF64
+#if defined(__LIBELF64)
typedef struct {
unsigned char e_ident[EI_NIDENT];
Elf64_Half e_type;
@@ -307,7 +307,7 @@ typedef struct {
Elf32_Word sh_entsize;
} Elf32_Shdr;
-#if __LIBELF64
+#if defined(__LIBELF64)
typedef struct {
Elf64_Word sh_name;
Elf64_Word sh_type;
@@ -434,7 +434,7 @@ typedef struct {
Elf32_Half st_shndx;
} Elf32_Sym;
-#if __LIBELF64
+#if defined(__LIBELF64)
typedef struct {
Elf64_Word st_name;
unsigned char st_info;
@@ -457,7 +457,7 @@ typedef struct {
#define ELF32_ST_TYPE(i) ((i)&0xf)
#define ELF32_ST_INFO(b,t) (((b)<<4)+((t)&0xf))
-#if __LIBELF64
+#if defined(__LIBELF64)
#define ELF64_ST_BIND(i) ((i)>>4)
#define ELF64_ST_TYPE(i) ((i)&0xf)
#define ELF64_ST_INFO(b,t) (((b)<<4)+((t)&0xf))
@@ -495,7 +495,7 @@ typedef struct {
* Macros for manipulating st_other
*/
#define ELF32_ST_VISIBILITY(o) ((o)&0x3)
-#if __LIBELF64
+#if defined(__LIBELF64)
#define ELF64_ST_VISIBILITY(o) ((o)&0x3)
#endif /* __LIBELF64 */
@@ -521,7 +521,7 @@ typedef struct {
Elf32_Sword r_addend;
} Elf32_Rela;
-#if __LIBELF64
+#if defined(__LIBELF64)
typedef struct {
Elf64_Addr r_offset;
Elf64_Xword r_info;
@@ -541,7 +541,7 @@ typedef struct {
#define ELF32_R_TYPE(i) ((unsigned char)(i))
#define ELF32_R_INFO(s,t) (((s)<<8)+(unsigned char)(t))
-#if __LIBELF64
+#if defined(__LIBELF64)
#define ELF64_R_SYM(i) ((Elf64_Xword)(i)>>32)
#define ELF64_R_TYPE(i) ((i)&0xffffffffL)
#define ELF64_R_INFO(s,t) (((Elf64_Xword)(s)<<32)+((t)&0xffffffffL))
@@ -556,7 +556,7 @@ typedef struct {
Elf32_Word n_type; /* descriptor type */
} Elf32_Nhdr;
-#if __LIBELF64
+#if defined(__LIBELF64)
/* Solaris and GNU use this layout. Be compatible. */
/* XXX: Latest ELF specs say it's 64-bit!!! */
typedef struct {
@@ -587,7 +587,7 @@ typedef struct {
Elf32_Word p_align;
} Elf32_Phdr;
-#if __LIBELF64
+#if defined(__LIBELF64)
typedef struct {
Elf64_Word p_type;
Elf64_Word p_flags;
@@ -654,7 +654,7 @@ typedef struct {
} d_un;
} Elf32_Dyn;
-#if __LIBELF64
+#if defined(__LIBELF64)
typedef struct {
Elf64_Sxword d_tag;
union {
@@ -798,7 +798,7 @@ typedef struct {
Elf32_Half si_flags;
} Elf32_Syminfo;
-#if __LIBELF64
+#if defined(__LIBELF64)
typedef struct {
Elf64_Half si_boundto;
Elf64_Half si_flags;
@@ -863,7 +863,7 @@ typedef struct {
typedef Elf32_Half Elf32_Versym;
-#if __LIBELF64
+#if defined(__LIBELF64)
typedef struct {
Elf64_Half vd_version;
@@ -933,7 +933,7 @@ typedef Elf64_Half Elf64_Versym;
/*
* Move section
*/
-#if __LIBELF64
+#if defined(__LIBELF64)
typedef struct {
Elf32_Lword m_value;
@@ -973,7 +973,7 @@ typedef struct {
} c_un;
} Elf32_Cap;
-#if __LIBELF64
+#if defined(__LIBELF64)
typedef struct {
Elf64_Xword c_tag;
diff --git a/lib/gelf.h b/lib/gelf.h
index 5af0558..98a759c 100644
--- a/lib/gelf.h
+++ b/lib/gelf.h
@@ -22,15 +22,15 @@
#ifndef _GELF_H
#define _GELF_H
-#if __LIBELF_INTERNAL__
+#if defined(__LIBELF_INTERNAL__)
#include <libelf.h>
#else /* __LIBELF_INTERNAL__ */
#include <libelf/libelf.h>
#endif /* __LIBELF_INTERNAL__ */
-#if __LIBELF_NEED_LINK_H
+#if defined(__LIBELF_NEED_LINK_H)
#include <link.h>
-#elif __LIBELF_NEED_SYS_LINK_H
+#elif defined(__LIBELF_NEED_SYS_LINK_H)
#include <sys/link.h>
#endif /* __LIBELF_NEED_LINK_H */
@@ -46,7 +46,7 @@ extern "C" {
# endif /* __STDC__ || defined(__cplusplus) */
#endif /* __P */
-#if !__LIBELF64
+#if !defined(__LIBELF64)
#error "GElf is not supported on this system."
@@ -71,7 +71,7 @@ typedef Elf64_Sym GElf_Sym;
/*
* Symbol versioning
*/
-#if __LIBELF_SYMBOL_VERSIONS
+#if defined(__LIBELF_SYMBOL_VERSIONS)
typedef Elf64_Verdef GElf_Verdef;
typedef Elf64_Verneed GElf_Verneed;
typedef Elf64_Verdaux GElf_Verdaux;
diff --git a/lib/libelf.h b/lib/libelf.h
index 3ebd0f3..788482d 100644
--- a/lib/libelf.h
+++ b/lib/libelf.h
@@ -25,7 +25,7 @@
#include <stddef.h> /* for size_t */
#include <sys/types.h>
-#if __LIBELF_INTERNAL__
+#if defined(__LIBELF_INTERNAL__)
#include <sys_elf.h>
#else /* __LIBELF_INTERNAL__ */
#include <libelf/sys_elf.h>
@@ -224,7 +224,7 @@ extern Elf_Data *elf32_xlatetom __P((Elf_Data *__dst, const Elf_Data *__src,
*/
extern long elf32_checksum __P((Elf *__elf));
-#if __LIBELF64
+#if defined(__LIBELF64)
/*
* 64-bit ELF functions
* Not available on all platforms
diff --git a/lib/sys_elf.h.in b/lib/sys_elf.h.in
index b71a20d..722051b 100644
--- a/lib/sys_elf.h.in
+++ b/lib/sys_elf.h.in
@@ -68,7 +68,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
#ifdef __LIBELF_HEADER_ELF_H
# include __LIBELF_HEADER_ELF_H
#else /* __LIBELF_HEADER_ELF_H */
-# if __LIBELF_INTERNAL__
+# if defined(__LIBELF_INTERNAL__)
# include <elf_repl.h>
# else /* __LIBELF_INTERNAL__ */
# include <libelf/elf_repl.h>
@@ -92,7 +92,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
# define STN_UNDEF 0
# endif /* STN_UNDEF */
-# if __LIBELF64
+# if defined(__LIBELF64)
# ifndef ELF64_FSZ_ADDR
# define ELF64_FSZ_ADDR 8
@@ -116,7 +116,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
# define ELF64_R_INFO(s,t) (((Elf64_Xword)(s)<<32)+((t)&0xffffffffL))
# endif /* ELF64_R_SYM */
-# if __LIBELF64_LINUX
+# if defined(__LIBELF64_LINUX)
typedef __libelf_u64_t Elf64_Addr;
typedef __libelf_u16_t Elf64_Half;
typedef __libelf_u64_t Elf64_Off;
diff --git a/lib/sys_elf.h.w32 b/lib/sys_elf.h.w32
index 0f93c55..7360104 100644
--- a/lib/sys_elf.h.w32
+++ b/lib/sys_elf.h.w32
@@ -68,7 +68,7 @@
#ifdef __LIBELF_HEADER_ELF_H
# include __LIBELF_HEADER_ELF_H
#else /* __LIBELF_HEADER_ELF_H */
-# if __LIBELF_INTERNAL__
+# if defined(__LIBELF_INTERNAL__)
# include <elf_repl.h>
# else /* __LIBELF_INTERNAL__ */
# include <libelf/elf_repl.h>
@@ -92,7 +92,7 @@
# define STN_UNDEF 0
# endif /* STN_UNDEF */
-# if __LIBELF64
+# if defined(__LIBELF64)
# ifndef ELF64_FSZ_ADDR
# define ELF64_FSZ_ADDR 8
@@ -116,7 +116,7 @@
# define ELF64_R_INFO(s,t) (((Elf64_Xword)(s)<<32)+((t)&0xffffffffL))
# endif /* ELF64_R_SYM */
-# if __LIBELF64_LINUX
+# if defined(__LIBELF64_LINUX)
typedef __libelf_u64_t Elf64_Addr;
typedef __libelf_u16_t Elf64_Half;
typedef __libelf_u64_t Elf64_Off;

View File

@ -27,11 +27,11 @@ in
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libinput-${version}"; name = "libinput-${version}";
version = "1.13.2"; version = "1.13.4";
src = fetchurl { src = fetchurl {
url = "https://www.freedesktop.org/software/libinput/${name}.tar.xz"; url = "https://www.freedesktop.org/software/libinput/${name}.tar.xz";
sha256 = "0vbapc90m49n0z8w8w4v0qf1iiwaixw9h79jfmps9pj8hdls17qx"; sha256 = "07a0w7rak7rvnh6g4j0akwjxwinxfszc1xi9mrx12fv82k3mgsyk";
}; };
outputs = [ "bin" "out" "dev" ]; outputs = [ "bin" "out" "dev" ];

View File

@ -4,11 +4,11 @@
# need pkgconfig so that libshout installs ${out}/lib/pkgconfig/shout.pc # need pkgconfig so that libshout installs ${out}/lib/pkgconfig/shout.pc
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libshout-2.4.2"; name = "libshout-2.4.3";
src = fetchurl { src = fetchurl {
url = "http://downloads.xiph.org/releases/libshout/${name}.tar.gz"; url = "http://downloads.xiph.org/releases/libshout/${name}.tar.gz";
sha256 = "0qgwarqp2p6jy3zadds6dzj8z1jfb2mbwc3lsdlidf527h0a86ym"; sha256 = "1zhdshas539cs8fsz8022ljxnnncr5lafhfd1dqr1gs125fzb2hd";
}; };
outputs = [ "out" "dev" "doc" ]; outputs = [ "out" "dev" "doc" ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libssh2"; pname = "libssh2";
version = "1.8.2"; version = "1.9.0";
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/download/${pname}-${version}.tar.gz"; url = "${meta.homepage}/download/${pname}-${version}.tar.gz";
sha256 = "0rqd37pc80nm2pz4sa2m9pfc48axys7jwq1l7z0vii5nyvchg0q8"; sha256 = "1zfsz9nldakfz61d2j70pk29zlmj7w2vv46s9l3x2prhcgaqpyym";
}; };
outputs = [ "out" "dev" "devdoc" ]; outputs = [ "out" "dev" "devdoc" ];

View File

@ -1,14 +1,14 @@
{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, ApplicationServices, CoreServices }: { stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, ApplicationServices, CoreServices }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.29.1"; version = "1.30.0";
pname = "libuv"; pname = "libuv";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0scnircr6khgh7l3bw9zyfzdgx2c11mpfhd9d8qlw47arrvqg7l8"; sha256 = "0j26nh799962l1gn3v3sw1x6fnia2dx5irhl33nc77gy2gzayv07";
}; };
postPatch = let postPatch = let

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, lib { stdenv, lib, fetchurl, fetchpatch
, pkgconfig, intltool, autoreconfHook , pkgconfig, intltool, ninja, meson
, file, expat, libdrm, xorg, wayland, wayland-protocols, openssl , file, flex, bison, expat, libdrm, xorg, wayland, wayland-protocols, openssl
, llvmPackages, libffi, libomxil-bellagio, libva-minimal , llvmPackages, libffi, libomxil-bellagio, libva-minimal
, libelf, libvdpau, python2, python2Packages , libelf, libvdpau, python3Packages
, libglvnd , libglvnd
, enableRadv ? true , enableRadv ? true
, galliumDrivers ? null , galliumDrivers ? ["auto"]
, driDrivers ? null , driDrivers ? ["auto"]
, vulkanDrivers ? null , vulkanDrivers ? ["auto"]
, eglPlatforms ? [ "x11" ] ++ lib.optionals stdenv.isLinux [ "wayland" "drm" ] , eglPlatforms ? [ "x11" ] ++ lib.optionals stdenv.isLinux [ "wayland" "drm" ]
, OpenGL, Xplugin , OpenGL, Xplugin
, withValgrind ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32, valgrind-light , withValgrind ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32, valgrind-light
@ -27,49 +27,13 @@
with stdenv.lib; with stdenv.lib;
let let
# platforms that have PCIe slots and thus can use most non-integrated GPUs version = "19.1.1";
pciePlatform = !stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64;
defaultGalliumDrivers = optionals (elem "drm" eglPlatforms) ([ "virgl" ]
++ lib.optionals pciePlatform [ "r300" "r600" "radeonsi" ]
++ lib.optionals (pciePlatform || stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) [ "nouveau" ]
++ lib.optionals stdenv.hostPlatform.isx86 [ "i915" "svga" ]
++ lib.optionals (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) [ "vc4" ]
++ lib.optionals stdenv.hostPlatform.isAarch64 [ "freedreno" "etnaviv" "imx" ]
);
defaultDriDrivers = optionals (elem "drm" eglPlatforms) ([ ]
++ lib.optionals pciePlatform [ "radeon" "r200" ]
++ lib.optionals (pciePlatform || stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) [ "nouveau" ]
++ lib.optionals stdenv.hostPlatform.isx86 [ "i915" "i965" ]);
defaultVulkanDrivers = optionals stdenv.hostPlatform.isLinux ([ ]
++ lib.optional stdenv.hostPlatform.isx86 "intel"
++ lib.optional enableRadv "radeon");
in
let gallium_ = galliumDrivers; dri_ = driDrivers; vulkan_ = vulkanDrivers; in
let
galliumDrivers =
(if gallium_ == null
then defaultGalliumDrivers
else gallium_)
++ lib.optional stdenv.isLinux "swrast";
driDrivers =
(if dri_ == null
then optionals (elem "drm" eglPlatforms) defaultDriDrivers
else dri_) ++ lib.optional stdenv.isLinux "swrast";
vulkanDrivers =
if vulkan_ == null
then defaultVulkanDrivers
else vulkan_;
in
let
version = "18.3.4";
branch = head (splitString "." version); branch = head (splitString "." version);
in in
let self = stdenv.mkDerivation { stdenv.mkDerivation rec {
name = "mesa-${version}"; pname = "mesa";
inherit version;
src = fetchurl { src = fetchurl {
urls = [ urls = [
@ -78,7 +42,7 @@ let self = stdenv.mkDerivation {
"ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
"https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz" "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
]; ];
sha256 = "01xv03ah4l5lcfx015n3fg1620dh4nbbv6gmhh6zhdsx6sj4sc9j"; sha256 = "10amy5sdmpjbskr3xazgk0jyli8xpgi0y1nsmjr76hx8nhb4n4bj";
}; };
prePatch = "patchShebangs ."; prePatch = "patchShebangs .";
@ -87,59 +51,57 @@ let self = stdenv.mkDerivation {
# revive ./dricore-gallium.patch when it gets ported (from Ubuntu), as it saved # revive ./dricore-gallium.patch when it gets ported (from Ubuntu), as it saved
# ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog # ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog
patches = [ patches = [
./symlink-drivers.patch
./missing-includes.patch # dev_t needs sys/stat.h, time_t needs time.h, etc.-- fixes build w/musl ./missing-includes.patch # dev_t needs sys/stat.h, time_t needs time.h, etc.-- fixes build w/musl
./opencl-install-dir.patch
./disk_cache-include-dri-driver-path-in-cache-key.patch ./disk_cache-include-dri-driver-path-in-cache-key.patch
]; ] # do not prefix user provided dri-drivers-path
++ lib.optional (lib.versionOlder version "19.0.0") (fetchpatch {
url = "https://gitlab.freedesktop.org/mesa/mesa/commit/f6556ec7d126b31da37c08d7cb657250505e01a0.patch";
sha256 = "0z6phi8hbrbb32kkp1js7ggzviq7faz1ria36wi4jbc4in2392d9";
})
++ lib.optionals (lib.versionOlder version "19.1.0") [
# do not prefix user provided d3d-drivers-path
(fetchpatch {
url = "https://gitlab.freedesktop.org/mesa/mesa/commit/dcc48664197c7e44684ccfb970a4ae083974d145.patch";
sha256 = "1nhs0xpx3hiy8zfb5gx1zd7j7xha6h0hr7yingm93130a5902lkb";
})
outputs = [ "out" "dev" "drivers" ] # don't build libGLES*.so with GLVND
++ lib.optional (elem "swrast" galliumDrivers) "osmesa"; (fetchpatch {
url = "https://gitlab.freedesktop.org/mesa/mesa/commit/b01524fff05eef66e8cd24f1c5aacefed4209f03.patch";
sha256 = "1pszr6acx2xw469zq89n156p3bf3xf84qpbjw5fr1sj642lbyh7c";
})
];
outputs = [ "out" "dev" "drivers" "osmesa" ];
# TODO: Figure out how to enable opencl without having a runtime dependency on clang # TODO: Figure out how to enable opencl without having a runtime dependency on clang
configureFlags = [ mesonFlags = [
"--sysconfdir=${libglvnd.driverLink}/etc" "--sysconfdir=/etc"
"--localstatedir=/var"
"--with-dri-driverdir=$(drivers)/lib/dri"
"--with-dri-searchpath=${libglvnd.driverLink}/lib/dri"
"--with-platforms=${concatStringsSep "," eglPlatforms}"
"--with-gallium-drivers=${concatStringsSep "," galliumDrivers}"
"--with-dri-drivers=${concatStringsSep "," driDrivers}"
"--with-vulkan-drivers=${concatStringsSep "," vulkanDrivers}"
"--enable-texture-float"
(enableFeature stdenv.isLinux "dri3")
(enableFeature stdenv.isLinux "nine") # Direct3D in Wine
(enableFeature stdenv.isLinux "libglvnd")
"--enable-dri"
"--enable-driglx-direct"
"--enable-gles1"
"--enable-gles2"
"--enable-glx"
# https://bugs.freedesktop.org/show_bug.cgi?id=35268
(enableFeature (!stdenv.hostPlatform.isMusl) "glx-tls")
# used by wine
(enableFeature (elem "swrast" galliumDrivers) "gallium-osmesa")
"--enable-llvm"
(enableFeature stdenv.isLinux "egl")
(enableFeature stdenv.isLinux "xa") # used in vmware driver
(enableFeature stdenv.isLinux "gbm")
"--enable-xvmc"
"--enable-vdpau"
"--enable-shared-glapi"
"--enable-llvm-shared-libs"
(enableFeature stdenv.isLinux "omx-bellagio")
(enableFeature stdenv.isLinux "va")
"--disable-opencl"
];
nativeBuildInputs = [ # Don't build in debug mode
autoreconfHook intltool pkgconfig file # https://gitlab.freedesktop.org/mesa/mesa/blob/master/docs/meson.html#L327
python2 python2Packages.Mako "-Db_ndebug=true"
];
propagatedBuildInputs = with xorg; [ "-Ddisk-cache-key=${placeholder "drivers"}"
libXdamage libXxf86vm "-Ddri-search-path=${libglvnd.driverLink}/lib/dri"
] ++ optional stdenv.isLinux libdrm
++ optionals stdenv.isDarwin [ OpenGL Xplugin ]; "-Dplatforms=${concatStringsSep "," eglPlatforms}"
"-Ddri-drivers=${concatStringsSep "," driDrivers}"
"-Dgallium-drivers=${concatStringsSep "," galliumDrivers}"
"-Dvulkan-drivers=${concatStringsSep "," vulkanDrivers}"
"-Ddri-drivers-path=${placeholder "drivers"}/lib/dri"
"-Dvdpau-libs-path=${placeholder "drivers"}/lib/vdpau"
"-Dxvmc-libs-path=${placeholder "drivers"}/lib"
"-Domx-libs-path=${placeholder "drivers"}/lib/bellagio"
"-Dva-libs-path=${placeholder "drivers"}/lib/dri"
"-Dd3d-drivers-path=${placeholder "drivers"}/lib/d3d"
] ++ optionals stdenv.isLinux [
"-Dglvnd=true"
"-Dosmesa=gallium" # used by wine
"-Dgallium-nine=true" # Direct3D in Wine
];
buildInputs = with xorg; [ buildInputs = with xorg; [
expat llvmPackages.llvm libglvnd xorgproto expat llvmPackages.llvm libglvnd xorgproto
@ -150,50 +112,38 @@ let self = stdenv.mkDerivation {
++ lib.optionals stdenv.isLinux [ libomxil-bellagio libva-minimal ] ++ lib.optionals stdenv.isLinux [ libomxil-bellagio libva-minimal ]
++ lib.optional withValgrind valgrind-light; ++ lib.optional withValgrind valgrind-light;
nativeBuildInputs = [
pkgconfig meson ninja
intltool bison flex file
python3Packages.python python3Packages.Mako
];
propagatedBuildInputs = with xorg; [
libXdamage libXxf86vm
] ++ optional stdenv.isLinux libdrm
++ optionals stdenv.isDarwin [ OpenGL Xplugin ];
enableParallelBuilding = true; enableParallelBuilding = true;
doCheck = false; doCheck = false;
installFlags = [
"sysconfdir=\${drivers}/etc"
"localstatedir=\${TMPDIR}"
"vendorjsondir=\${out}/share/glvnd/egl_vendor.d"
];
# TODO: probably not all .la files are completely fixed, but it shouldn't matter;
postInstall = '' postInstall = ''
# Some installs don't have any drivers so this directory is never created. # Some installs don't have any drivers so this directory is never created.
mkdir -p $drivers mkdir -p $drivers $osmesa
'' + optionalString (galliumDrivers != []) '' '' + optionalString stdenv.isLinux ''
mkdir -p $drivers/lib
# move gallium-related stuff to $drivers, so $out doesn't depend on LLVM # move gallium-related stuff to $drivers, so $out doesn't depend on LLVM
mv -t "$drivers/lib/" \ mv -t $drivers/lib \
$out/lib/libXvMC* \
$out/lib/d3d \
$out/lib/vdpau \
$out/lib/bellagio \
$out/lib/libxatracker* \ $out/lib/libxatracker* \
$out/lib/libvulkan_* $out/lib/libvulkan_*
# Move other drivers to a separate output # Move other drivers to a separate output
mv $out/lib/dri/* $drivers/lib/dri # */
rmdir "$out/lib/dri"
mv $out/lib/lib*_mesa* $drivers/lib mv $out/lib/lib*_mesa* $drivers/lib
# move libOSMesa to $osmesa, as it's relatively big # move libOSMesa to $osmesa, as it's relatively big
mkdir -p {$osmesa,$drivers}/lib/ mkdir -p $osmesa/lib
mv -t $osmesa/lib/ $out/lib/libOSMesa* mv -t $osmesa/lib/ $out/lib/libOSMesa*
# now fix references in .la files
sed "/^libdir=/s,$out,$osmesa," -i $osmesa/lib/libOSMesa*.la
# set the default search path for DRI drivers; used e.g. by X server
substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${libglvnd.driverLink}"
# remove GLES libraries; they are provided by libglvnd
rm $out/lib/lib{GLESv1_CM,GLESv2}.*
# remove pkgconfig files for GL/GLES/EGL; they are provided by libGL.
rm $dev/lib/pkgconfig/{gl,egl,glesv1_cm,glesv2}.pc
# move vendor files # move vendor files
mv $out/share/ $drivers/ mv $out/share/ $drivers/
@ -202,11 +152,6 @@ let self = stdenv.mkDerivation {
substituteInPlace "$js" --replace '"libEGL_' '"'"$drivers/lib/libEGL_" substituteInPlace "$js" --replace '"libEGL_' '"'"$drivers/lib/libEGL_"
done done
# Update search path used by pkg-config
for pc in $dev/lib/pkgconfig/{d3d,dri,xatracker}.pc; do
substituteInPlace "$pc" --replace $out $drivers
done
'' + optionalString (vulkanDrivers != []) ''
# Update search path used by Vulkan (it's pointing to $out but # Update search path used by Vulkan (it's pointing to $out but
# drivers are in $drivers) # drivers are in $drivers)
for js in $drivers/share/vulkan/icd.d/*.json; do for js in $drivers/share/vulkan/icd.d/*.json; do
@ -217,7 +162,18 @@ let self = stdenv.mkDerivation {
# TODO: # TODO:
# check $out doesn't depend on llvm: builder failures are ignored # check $out doesn't depend on llvm: builder failures are ignored
# for some reason grep -qv '${llvmPackages.llvm}' -R "$out"; # for some reason grep -qv '${llvmPackages.llvm}' -R "$out";
postFixup = optionalString (galliumDrivers != []) '' postFixup = optionalString stdenv.isLinux ''
# set the default search path for DRI drivers; used e.g. by X server
substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace "$drivers" "${libglvnd.driverLink}"
# remove pkgconfig files for GL/EGL; they are provided by libGL.
rm $dev/lib/pkgconfig/{gl,egl}.pc
# Update search path used by pkg-config
for pc in $dev/lib/pkgconfig/{d3d,dri,xatracker}.pc; do
substituteInPlace "$pc" --replace $out $drivers
done
# add RPATH so the drivers can find the moved libgallium and libdricore9 # add RPATH so the drivers can find the moved libgallium and libdricore9
# moved here to avoid problems with stripping patchelfed files # moved here to avoid problems with stripping patchelfed files
for lib in $drivers/lib/*.so* $drivers/lib/*/*.so*; do for lib in $drivers/lib/*.so* $drivers/lib/*/*.so*; do
@ -227,81 +183,11 @@ let self = stdenv.mkDerivation {
done done
''; '';
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-fno-common";
passthru = { passthru = {
inherit libdrm version; inherit libdrm;
inherit (libglvnd) driverLink; inherit (libglvnd) driverLink;
# Use stub libraries from libglvnd and headers from Mesa.
stubs = stdenv.mkDerivation {
name = "libGL-${libglvnd.version}";
outputs = [ "out" "dev" ];
# On macOS, libglvnd is not supported, so we just use what mesa
# build. We need to also include OpenGL.framework, and some
# extra tricks to go along with. We add mesas libGLX to support
# the X extensions to OpenGL.
buildCommand = if stdenv.hostPlatform.isDarwin then ''
mkdir -p $out/nix-support $dev
echo ${OpenGL} >> $out/nix-support/propagated-build-inputs
ln -s ${self.out}/lib $out/lib
mkdir -p $dev/lib/pkgconfig $dev/nix-support
echo "$out" > $dev/nix-support/propagated-build-inputs
ln -s ${self.dev}/include $dev/include
cat <<EOF >$dev/lib/pkgconfig/gl.pc
Name: gl
Description: gl library
Version: ${self.version}
Libs: -L${self.out}/lib -lGL
Cflags: -I${self.dev}/include
EOF
cat <<EOF >$dev/lib/pkgconfig/glesv1_cm.pc
Name: glesv1_cm
Description: glesv1_cm library
Version: ${self.version}
Libs: -L${self.out}/lib -lGLESv1_CM
Cflags: -I${self.dev}/include
EOF
cat <<EOF >$dev/lib/pkgconfig/glesv2.pc
Name: glesv2
Description: glesv2 library
Version: ${self.version}
Libs: -L${self.out}/lib -lGLESv2
Cflags: -I${self.dev}/include
EOF
''
# Otherwise, setup gl stubs to use libglvnd.
else ''
mkdir -p $out/nix-support
ln -s ${libglvnd.out}/lib $out/lib
mkdir -p $dev/{,lib/pkgconfig,nix-support}
echo "$out" > $dev/nix-support/propagated-build-inputs
ln -s ${self.dev}/include $dev/include
genPkgConfig() {
local name="$1"
local lib="$2"
cat <<EOF >$dev/lib/pkgconfig/$name.pc
Name: $name
Description: $lib library
Version: ${self.version}
Libs: -L${libglvnd.out}/lib -l$lib
Cflags: -I${self.dev}/include
EOF
}
genPkgConfig gl GL
genPkgConfig egl EGL
genPkgConfig glesv1_cm GLESv1_CM
genPkgConfig glesv2 GLESv2
'';
};
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
@ -311,5 +197,4 @@ let self = stdenv.mkDerivation {
platforms = platforms.mesaPlatforms; platforms = platforms.mesaPlatforms;
maintainers = with maintainers; [ vcunat ]; maintainers = with maintainers; [ vcunat ];
}; };
}; }
in self

View File

@ -6,29 +6,30 @@ Subject: [PATCH] disk_cache: include dri driver path in cache key
This fixes invalid cache hits on NixOS where all shared library This fixes invalid cache hits on NixOS where all shared library
timestamps in /nix/store are zero. timestamps in /nix/store are zero.
--- ---
src/util/Makefile.am | 3 +++ meson_options.txt | 6 ++++++
src/util/disk_cache.c | 3 +++ src/util/disk_cache.c | 3 +++
2 files changed, 6 insertions(+) src/util/meson.build | 7 ++++++-
3 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/util/Makefile.am b/src/util/Makefile.am diff --git a/meson_options.txt b/meson_options.txt
index bafb57439a..a22e2e41eb 100644 index a723b5406cf..65a8954291f 100644
--- a/src/util/Makefile.am --- a/meson_options.txt
+++ b/src/util/Makefile.am +++ b/meson_options.txt
@@ -35,6 +35,9 @@ noinst_LTLIBRARIES = \ @@ -330,3 +330,9 @@ option(
libmesautil.la \ value : true,
libxmlconfig.la description : 'Enable direct rendering in GLX and EGL for DRI',
)
+AM_CFLAGS = \ +option(
+ -DDISK_CACHE_KEY=\"$(drivers)\" + 'disk-cache-key',
+ + type : 'string',
AM_CPPFLAGS = \ + value : '',
$(PTHREAD_CFLAGS) \ + description : 'Mesa cache key.'
-I$(top_srcdir)/include +)
diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c
index 368ec41792..071220b2ba 100644 index 0aa2646a9bb..bd784d38e21 100644
--- a/src/util/disk_cache.c --- a/src/util/disk_cache.c
+++ b/src/util/disk_cache.c +++ b/src/util/disk_cache.c
@@ -388,8 +388,10 @@ disk_cache_create(const char *gpu_name, const char *driver_id, @@ -389,8 +389,10 @@ disk_cache_create(const char *gpu_name, const char *driver_id,
/* Create driver id keys */ /* Create driver id keys */
size_t id_size = strlen(driver_id) + 1; size_t id_size = strlen(driver_id) + 1;
@ -39,7 +40,7 @@ index 368ec41792..071220b2ba 100644
cache->driver_keys_blob_size += gpu_name_size; cache->driver_keys_blob_size += gpu_name_size;
/* We sometimes store entire structs that contains a pointers in the cache, /* We sometimes store entire structs that contains a pointers in the cache,
@@ -410,6 +412,7 @@ disk_cache_create(const char *gpu_name, const char *driver_id, @@ -411,6 +413,7 @@ disk_cache_create(const char *gpu_name, const char *driver_id,
uint8_t *drv_key_blob = cache->driver_keys_blob; uint8_t *drv_key_blob = cache->driver_keys_blob;
DRV_KEY_CPY(drv_key_blob, &cache_version, cv_size) DRV_KEY_CPY(drv_key_blob, &cache_version, cv_size)
DRV_KEY_CPY(drv_key_blob, driver_id, id_size) DRV_KEY_CPY(drv_key_blob, driver_id, id_size)
@ -47,6 +48,24 @@ index 368ec41792..071220b2ba 100644
DRV_KEY_CPY(drv_key_blob, gpu_name, gpu_name_size) DRV_KEY_CPY(drv_key_blob, gpu_name, gpu_name_size)
DRV_KEY_CPY(drv_key_blob, &ptr_size, ptr_size_size) DRV_KEY_CPY(drv_key_blob, &ptr_size, ptr_size_size)
DRV_KEY_CPY(drv_key_blob, &driver_flags, driver_flags_size) DRV_KEY_CPY(drv_key_blob, &driver_flags, driver_flags_size)
-- diff --git a/src/util/meson.build b/src/util/meson.build
2.19.1 index 397c2228129..77013563e5d 100644
--- a/src/util/meson.build
+++ b/src/util/meson.build
@@ -120,7 +120,12 @@ libmesa_util = static_library(
[files_mesa_util, format_srgb],
include_directories : inc_common,
dependencies : [dep_zlib, dep_clock, dep_thread, dep_atomic, dep_m],
- c_args : [c_msvc_compat_args, c_vis_args],
+ c_args : [
+ c_msvc_compat_args, c_vis_args,
+ '-DDISK_CACHE_KEY="@0@"'.format(
+ get_option('disk-cache-key')
+ ),
+ ],
build_by_default : false
)
--
2.19.2

View File

@ -0,0 +1,12 @@
diff --git a/src/gallium/targets/opencl/meson.build b/src/gallium/targets/opencl/meson.build
index 317ad8dab4a..5567308caf0 100644
--- a/src/gallium/targets/opencl/meson.build
+++ b/src/gallium/targets/opencl/meson.build
@@ -68,6 +68,6 @@ if with_opencl_icd
input : 'mesa.icd.in',
output : 'mesa.icd',
install : true,
- install_dir : join_paths(get_option('sysconfdir'), 'OpenCL', 'vendors'),
+ install_dir : join_paths(get_option('prefix'), 'etc', 'OpenCL', 'vendors'),
)
endif

View File

@ -0,0 +1,75 @@
{ stdenv
, libglvnd, mesa
, OpenGL }:
stdenv.mkDerivation {
inherit (libglvnd) version;
pname = "libGL";
outputs = [ "out" "dev" ];
# On macOS, libglvnd is not supported, so we just use what mesa
# build. We need to also include OpenGL.framework, and some
# extra tricks to go along with. We add mesas libGLX to support
# the X extensions to OpenGL.
buildCommand = if stdenv.hostPlatform.isDarwin then ''
mkdir -p $out/nix-support $dev
echo ${OpenGL} >> $out/nix-support/propagated-build-inputs
ln -s ${mesa.out}/lib $out/lib
mkdir -p $dev/lib/pkgconfig $dev/nix-support
echo "$out" > $dev/nix-support/propagated-build-inputs
ln -s ${mesa.dev}/include $dev/include
cat <<EOF >$dev/lib/pkgconfig/gl.pc
Name: gl
Description: gl library
Version: ${mesa.version}
Libs: -L${mesa.out}/lib -lGL
Cflags: -I${mesa.dev}/include
EOF
cat <<EOF >$dev/lib/pkgconfig/glesv1_cm.pc
Name: glesv1_cm
Description: glesv1_cm library
Version: ${mesa.version}
Libs: -L${mesa.out}/lib -lGLESv1_CM
Cflags: -I${mesa.dev}/include
EOF
cat <<EOF >$dev/lib/pkgconfig/glesv2.pc
Name: glesv2
Description: glesv2 library
Version: ${mesa.version}
Libs: -L${mesa.out}/lib -lGLESv2
Cflags: -I${mesa.dev}/include
EOF
''
# Otherwise, setup gl stubs to use libglvnd.
else ''
mkdir -p $out/nix-support
ln -s ${libglvnd.out}/lib $out/lib
mkdir -p $dev/{,lib/pkgconfig,nix-support}
echo "$out" > $dev/nix-support/propagated-build-inputs
ln -s ${mesa.dev}/include $dev/include
genPkgConfig() {
local name="$1"
local lib="$2"
cat <<EOF >$dev/lib/pkgconfig/$name.pc
Name: $name
Description: $lib library
Version: ${mesa.version}
Libs: -L${libglvnd.out}/lib -l$lib
Cflags: -I${mesa.dev}/include
EOF
}
genPkgConfig gl GL
genPkgConfig egl EGL
genPkgConfig glesv1_cm GLESv1_CM
genPkgConfig glesv2 GLESv2
'';
}

View File

@ -1,112 +0,0 @@
diff -ru -x '*~' mesa-12.0.3-orig/src/gallium/targets/dri/Makefile.am mesa-12.0.3/src/gallium/targets/dri/Makefile.am
--- mesa-12.0.3-orig/src/gallium/targets/dri/Makefile.am 2016-09-08 18:57:48.000000000 +0200
+++ mesa-12.0.3/src/gallium/targets/dri/Makefile.am 2016-09-22 14:42:19.173575498 +0200
@@ -134,14 +134,13 @@
done;
endif
-# hardlink each megadriver instance, but don't actually have
-# gallium_dri.so in the set of final installed files.
+# symlink each megadriver instance.
install-data-hook:
for i in $(TARGET_DRIVERS); do \
- ln -f $(DESTDIR)$(dridir)/gallium_dri.so \
+ ln -srf $(DESTDIR)$(dridir)/gallium_dri.so \
$(DESTDIR)$(dridir)/$${i}_dri.so; \
done; \
- $(RM) $(DESTDIR)$(dridir)/gallium_dri.*; \
+ $(RM) $(DESTDIR)$(dridir)/gallium_dri.la \
$(RM) -d $(DESTDIR)$(dridir) &>/dev/null || true
uninstall-hook:
for i in $(TARGET_DRIVERS); do \
diff -ru -x '*~' mesa-12.0.3-orig/src/gallium/targets/va/Makefile.am mesa-12.0.3/src/gallium/targets/va/Makefile.am
--- mesa-12.0.3-orig/src/gallium/targets/va/Makefile.am 2016-09-08 18:57:48.000000000 +0200
+++ mesa-12.0.3/src/gallium/targets/va/Makefile.am 2016-09-22 14:45:39.635963339 +0200
@@ -71,10 +71,10 @@
# gallium_drv_video.so in the set of final installed files.
install-data-hook:
for i in $(TARGET_DRIVERS); do \
- ln -f $(DESTDIR)$(vadir)/gallium_drv_video.so \
+ ln -srf $(DESTDIR)$(vadir)/gallium_drv_video.so \
$(DESTDIR)$(vadir)/$${i}_drv_video.so; \
done; \
- $(RM) $(DESTDIR)$(vadir)/gallium_drv_video.*
+ $(RM) $(DESTDIR)$(vadir)/gallium_drv_video.la
uninstall-hook:
for i in $(TARGET_DRIVERS); do \
diff -ru -x '*~' mesa-12.0.3-orig/src/gallium/targets/vdpau/Makefile.am mesa-12.0.3/src/gallium/targets/vdpau/Makefile.am
--- mesa-12.0.3-orig/src/gallium/targets/vdpau/Makefile.am 2016-05-24 21:19:37.000000000 +0200
+++ mesa-12.0.3/src/gallium/targets/vdpau/Makefile.am 2016-09-22 14:42:19.173575498 +0200
@@ -103,15 +103,14 @@
done;
endif
-# hardlink each megadriver instance, but don't actually have
-# libvdpau_gallium.so in the set of final installed files.
+# symlink each megadriver instance.
install-data-hook:
$(AM_V_GEN)dest_dir=$(DESTDIR)/$(vdpaudir); \
for i in $(TARGET_DRIVERS); do \
j=libvdpau_gallium.$(LIB_EXT); \
k=libvdpau_$${i}.$(LIB_EXT); \
l=$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0; \
- ln -f $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
+ ln -srf $${dest_dir}/$${j}.$(VDPAU_MAJOR).$(VDPAU_MINOR).0 \
$${dest_dir}/$${l}; \
ln -sf $${l} \
$${dest_dir}/$${k}.$(VDPAU_MAJOR).$(VDPAU_MINOR); \
@@ -120,7 +119,7 @@
ln -sf $${l} \
$${dest_dir}/$${k}; \
done; \
- $(RM) $${dest_dir}/libvdpau_gallium.*; \
+ $(RM) $${dest_dir}/libvdpau_gallium.la \
$(RM) -d $${dest_dir} &>/dev/null || true
uninstall-hook:
for i in $(TARGET_DRIVERS); do \
diff -ru -x '*~' mesa-12.0.3-orig/src/gallium/targets/xvmc/Makefile.am mesa-12.0.3/src/gallium/targets/xvmc/Makefile.am
--- mesa-12.0.3-orig/src/gallium/targets/xvmc/Makefile.am 2016-05-24 21:19:37.000000000 +0200
+++ mesa-12.0.3/src/gallium/targets/xvmc/Makefile.am 2016-09-22 14:54:22.291014543 +0200
@@ -73,7 +73,7 @@
j=libXvMCgallium.$(LIB_EXT); \
k=libXvMC$${i}.$(LIB_EXT); \
l=$${k}.$(XVMC_MAJOR).$(XVMC_MINOR).0; \
- ln -f $${dest_dir}/$${j}.$(XVMC_MAJOR).$(XVMC_MINOR).0 \
+ ln -srf $${dest_dir}/$${j}.$(XVMC_MAJOR).$(XVMC_MINOR).0 \
$${dest_dir}/$${l}; \
ln -sf $${l} \
$${dest_dir}/$${k}.$(XVMC_MAJOR).$(XVMC_MINOR); \
@@ -82,7 +82,7 @@
ln -sf $${l} \
$${dest_dir}/$${k}; \
done; \
- $(RM) $${dest_dir}/libXvMCgallium.*; \
+ $(RM) $${dest_dir}/libXvMCgallium.la \
$(RM) -d $${dest_dir} &>/dev/null || true
uninstall-hook:
for i in $(TARGET_DRIVERS); do \
diff -ru -x '*~' mesa-12.0.3-orig/src/mesa/drivers/dri/Makefile.am mesa-12.0.3/src/mesa/drivers/dri/Makefile.am
--- mesa-12.0.3-orig/src/mesa/drivers/dri/Makefile.am 2016-09-08 18:57:48.000000000 +0200
+++ mesa-12.0.3/src/mesa/drivers/dri/Makefile.am 2016-09-22 14:42:19.173575498 +0200
@@ -94,14 +94,13 @@
done;
endif
-# hardlink each megadriver instance, but don't actually have
-# mesa_dri_drivers.so in the set of final installed files.
+# symink each megadriver instance.
install-data-hook:
for i in $(MEGADRIVERS); do \
- ln -f $(DESTDIR)$(dridir)/mesa_dri_drivers.so \
+ ln -srf $(DESTDIR)$(dridir)/mesa_dri_drivers.so \
$(DESTDIR)$(dridir)/$$i; \
done;
- $(RM) $(DESTDIR)$(dridir)/mesa_dri_drivers.*
+ $(RM) $(DESTDIR)$(dridir)/mesa_dri_drivers.la
uninstall-hook:
for i in $(MEGADRIVERS); do \

View File

@ -1,6 +0,0 @@
{ callPackage, lib, ... }:
lib.overrideDerivation (callPackage ./generic-v3.nix {
version = "3.4.1";
sha256 = "1lzxmbqlnmi34kymnf399azv86gmdbrf71xiad6wc24bzpkzqybb";
}) (attrs: { NIX_CFLAGS_COMPILE = "-Wno-error"; })

View File

@ -1,6 +0,0 @@
{ callPackage, lib, ... }:
lib.overrideDerivation (callPackage ./generic-v3.nix {
version = "3.5.1.1";
sha256 = "1h4xydr5j2zg1888ncn8a1jvqq8fgpgckrmjg6lqzy9jpkvqvfdk";
}) (attrs: { NIX_CFLAGS_COMPILE = "-Wno-error"; })

View File

@ -40,10 +40,6 @@ mkProtobufDerivation = buildProtobuf: stdenv: stdenv.mkDerivation rec {
dontDisableStatic = true; dontDisableStatic = true;
NIX_CFLAGS_COMPILE = with stdenv.lib;
# gcc before 6 doesn't know this option
optionalString (hasPrefix "gcc-6" stdenv.cc.cc.name) "-Wno-error=misleading-indentation";
meta = { meta = {
description = "Google's data interchange format"; description = "Google's data interchange format";
longDescription = longDescription =

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, autoreconfHook, pkgconfig, fftw }: { stdenv, fetchurl, autoreconfHook, pkgconfig, fftw }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "speexdsp-1.2rc3"; name = "speexdsp-1.2.0";
src = fetchurl { src = fetchurl {
url = "http://downloads.us.xiph.org/releases/speex/${name}.tar.gz"; url = "http://downloads.us.xiph.org/releases/speex/${name}.tar.gz";
sha256 = "1wcjyrnwlkayb20zdhp48y260rfyzg925qpjpljd5x9r01h8irja"; sha256 = "0wa7sqpk3x61zz99m7lwkgr6yv62ml6lfgs5xja65vlvdzy44838";
}; };
patches = [ ./build-fix.patch ]; patches = [ ./build-fix.patch ];

View File

@ -109,7 +109,6 @@ stdenv.mkDerivation rec {
PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions"; PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions";
mesonFlags = [ mesonFlags = [
"-Dauto_features=enabled"
"-Dcelt051=disabled" "-Dcelt051=disabled"
"-Dpulse=disabled" # is deprecated upstream "-Dpulse=disabled" # is deprecated upstream
]; ];

View File

@ -77,7 +77,6 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = "-fno-stack-protector"; NIX_CFLAGS_COMPILE = "-fno-stack-protector";
mesonFlags = [ mesonFlags = [
"-Dauto_features=enabled"
"-Dgstreamer=1.0" "-Dgstreamer=1.0"
"-Dcelt051=disabled" "-Dcelt051=disabled"
]; ];

View File

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig { stdenv, fetchFromGitHub, meson, ninja, pkgconfig
, wayland, libGL, wayland-protocols, libinput, libxkbcommon, pixman , wayland, libGL, wayland-protocols, libinput, libxkbcommon, pixman
, xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa , xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa
, libpng, ffmpeg_4 , libpng, ffmpeg_4, freerdp
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
wayland libGL wayland-protocols libinput libxkbcommon pixman wayland libGL wayland-protocols libinput libxkbcommon pixman
xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa
libpng ffmpeg_4 libpng ffmpeg_4 freerdp
]; ];
mesonFlags = [ mesonFlags = [

View File

@ -86,5 +86,5 @@ stdenv.mkDerivation (rec {
export CHOST=${stdenv.hostPlatform.config} export CHOST=${stdenv.hostPlatform.config}
''; '';
} // stdenv.lib.optionalAttrs (stdenv.hostPlatform.libc == "msvcrt") { } // stdenv.lib.optionalAttrs (stdenv.hostPlatform.libc == "msvcrt") {
configurePhase = ":"; dontConfigure = true;
}) })

View File

@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
buildInputs = [ocaml findlib]; buildInputs = [ocaml findlib];
configurePhase = "true"; # Skip configure phase dontConfigure = true; # Skip configure phase
createFindlibDestdir = true; createFindlibDestdir = true;

View File

@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
--replace "gcc" "\$(CC)" --replace "gcc" "\$(CC)"
''; '';
configurePhase = "true"; # Skip configure dontConfigure = true; # Skip configure
buildPhase = '' buildPhase = ''
make all allopt make all allopt

View File

@ -14,7 +14,7 @@ stdenv.mkDerivation {
createFindlibDestdir = true; createFindlibDestdir = true;
configurePhase = "true"; # Skip configure dontConfigure = true; # Skip configure
# De facto, option minimal=1 seems to be the default. See the README. # De facto, option minimal=1 seems to be the default. See the README.
buildPhase = "make ${if minimal then "minimal=1" else ""} build"; buildPhase = "make ${if minimal then "minimal=1" else ""} build";
installPhase = "make ${if minimal then "minimal=1" else ""} install"; installPhase = "make ${if minimal then "minimal=1" else ""} install";

View File

@ -23,7 +23,7 @@ stdenv.mkDerivation {
substituteInPlace Makefile --replace "SHELL=/bin/bash" "SHELL=$BASH" substituteInPlace Makefile --replace "SHELL=/bin/bash" "SHELL=$BASH"
''; '';
configurePhase = "true"; # Skip configure phase dontConfigure = true; # Skip configure phase
buildPhase = '' buildPhase = ''
make all opt make all opt

View File

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
createFindlibDestdir = true; createFindlibDestdir = true;
configurePhase = "true"; # Skip configure phase dontConfigure = true; # Skip configure phase
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://bitbucket.org/mmottl/pcre-ocaml; homepage = https://bitbucket.org/mmottl/pcre-ocaml;

View File

@ -1,10 +1,11 @@
{buildPerlPackage, fetchurl, db}: {buildPerlPackage, fetchurl, db}:
buildPerlPackage rec { buildPerlPackage {
name = "BerkeleyDB-0.61"; pname = "BerkeleyDB";
version = "0.61";
src = fetchurl { src = fetchurl {
url = "mirror://cpan/authors/id/P/PM/PMQS/${name}.tar.gz"; url = "mirror://cpan/authors/id/P/PM/PMQS/BerkeleyDB-0.61.tar.gz";
sha256 = "0l65v301cz6a9dxcw6a4ps2mnr5zq358yn81favap6i092krggiz"; sha256 = "0l65v301cz6a9dxcw6a4ps2mnr5zq358yn81favap6i092krggiz";
}; };

View File

@ -1,10 +1,11 @@
{ fetchurl, buildPerlPackage, zlib, stdenv }: { fetchurl, buildPerlPackage, zlib, stdenv }:
buildPerlPackage rec { buildPerlPackage {
name = "Compress-Raw-Zlib-2.086"; pname = "Compress-Raw-Zlib";
version = "2.086";
src = fetchurl { src = fetchurl {
url = "mirror://cpan/authors/id/P/PM/PMQS/${name}.tar.gz"; url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.086.tar.gz;
sha256 = "0va93wc968p4l2ql0k349bz189l2vbs09bpn865cvc36amqxwv9z"; sha256 = "0va93wc968p4l2ql0k349bz189l2vbs09bpn865cvc36amqxwv9z";
}; };

View File

@ -1,10 +1,11 @@
{ fetchurl, buildPerlPackage, DBI, TestNoWarnings, oracle-instantclient }: { fetchurl, buildPerlPackage, DBI, TestNoWarnings, oracle-instantclient }:
buildPerlPackage rec { buildPerlPackage {
name = "DBD-Oracle-1.76"; pname = "DBD-Oracle";
version = "1.76";
src = fetchurl { src = fetchurl {
url = "mirror://cpan/authors/id/Z/ZA/ZARQUON/${name}.tar.gz"; url = mirror://cpan/authors/id/Z/ZA/ZARQUON/DBD-Oracle-1.76.tar.gz;
sha256 = "b6db7f43c6252179274cfe99c1950b93e248f8f0fe35b07e50388c85d814d5f3"; sha256 = "b6db7f43c6252179274cfe99c1950b93e248f8f0fe35b07e50388c85d814d5f3";
}; };

View File

@ -1,10 +1,11 @@
{ stdenv, fetchurl, buildPerlPackage, DBI, postgresql }: { stdenv, fetchurl, buildPerlPackage, DBI, postgresql }:
buildPerlPackage rec { buildPerlPackage {
name = "DBD-Pg-3.7.4"; pname = "DBD-Pg";
version = "3.7.4";
src = fetchurl { src = fetchurl {
url = "mirror://cpan/authors/id/T/TU/TURNSTEP/${name}.tar.gz"; url = "mirror://cpan/authors/id/T/TU/TURNSTEP/DBD-Pg-3.7.4.tar.gz";
sha256 = "0gkqlvbmzbdm0g4k328nlkjdg3wrjm5i2n9jxj1i8sqxkm79rylz"; sha256 = "0gkqlvbmzbdm0g4k328nlkjdg3wrjm5i2n9jxj1i8sqxkm79rylz";
}; };

Some files were not shown because too many files have changed in this diff Show More